diff --git a/Gemfile b/Gemfile index d50b6737da216bfa227fe05d3006fb171a6fe4d7..23465a86ffeefb627472ac9b39eade647a9a894c 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,6 @@ source 'https://rubygems.org' gem 'jekyll' gem 'neatjson' gem 'rake' -gem 'git' gem 'hive-ruby' gem 'html-proofer' diff --git a/Gemfile.lock b/Gemfile.lock index f4a7592a0c4bf1ccb3a1860ce56575d32e24c853..ff2f0c05ec7d74030e6b9eab87a89ac3b6ed054d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,39 +1,37 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) base58 (0.2.3) - bindata (2.4.8) + bindata (2.4.10) bitcoin-ruby (0.0.20) eventmachine ffi scrypt colorator (1.1.0) - concurrent-ruby (1.1.6) - em-websocket (0.5.1) + concurrent-ruby (1.1.9) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) - ethon (0.12.0) - ffi (>= 1.3.0) + ethon (0.14.0) + ffi (>= 1.15.0) eventmachine (1.2.7) - ffi (1.12.2) + ffi (1.15.3) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake forwardable-extended (2.6.0) - git (1.6.0) - rchardet (~> 1.8) - hashie (3.6.0) - hive-ruby (1.0.1) + hashie (4.1.0) + hive-ruby (1.0.3) base58 (~> 0.2, >= 0.2.3) bindata (~> 2.4, >= 2.4.4) bitcoin-ruby (~> 0.0, = 0.0.20) ffi (~> 1.9, >= 1.9.23) - hashie (~> 3.5, >= 3.5.7) + hashie (>= 3.5) json (~> 2.1, >= 2.1.0) logging (~> 2.2, >= 2.2.0) - html-proofer (3.15.1) + html-proofer (3.19.2) addressable (~> 2.3) mercenary (~> 0.3) nokogumbo (~> 2.0) @@ -42,70 +40,73 @@ GEM typhoeus (~> 1.3) yell (~> 2.0) http_parser.rb (0.6.0) - i18n (1.8.2) + i18n (1.8.10) concurrent-ruby (~> 1.0) - jekyll (4.0.0) + jekyll (4.2.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (>= 0.9.5, < 2) + i18n (~> 1.0) jekyll-sass-converter (~> 2.0) jekyll-watch (~> 2.0) - kramdown (~> 2.1) + kramdown (~> 2.3) kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (~> 0.4.0) pathutil (~> 0.9) rouge (~> 3.0) safe_yaml (~> 1.0) - terminal-table (~> 1.8) + terminal-table (~> 2.0) jekyll-sass-converter (2.1.0) sassc (> 2.0.1, < 3.0) - jekyll-seo-tag (2.6.1) - jekyll (>= 3.3, < 5.0) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - json (2.3.1) - kramdown (2.1.0) + json (2.5.1) + kramdown (2.3.1) + rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.2.1) + listen (3.5.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) little-plugger (1.1.4) logging (2.3.0) little-plugger (~> 1.1) multi_json (~> 1.14) - mercenary (0.3.6) - mini_portile2 (2.4.0) + mercenary (0.4.0) + mini_portile2 (2.5.3) multi_json (1.15.0) neatjson (0.9) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - nokogumbo (2.0.2) + nokogiri (1.11.7) + mini_portile2 (~> 2.5.0) + racc (~> 1.4) + nokogumbo (2.0.5) nokogiri (~> 1.8, >= 1.8.4) - parallel (1.19.1) + parallel (1.20.1) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.3) + public_suffix (4.0.6) + racc (1.5.2) rainbow (3.0.0) - rake (13.0.1) - rb-fsevent (0.10.3) + rake (13.0.6) + rb-fsevent (0.11.0) rb-inotify (0.10.1) ffi (~> 1.0) - rchardet (1.8.0) - rouge (3.17.0) + rexml (3.2.5) + rouge (3.26.0) safe_yaml (1.0.5) - sassc (2.2.1) + sassc (2.4.0) ffi (~> 1.9) scrypt (3.0.7) ffi-compiler (>= 1.0, < 2.0) - terminal-table (1.8.0) + terminal-table (2.0.0) unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.3.1) + typhoeus (1.4.0) ethon (>= 0.9.0) unicode-display_width (1.7.0) yell (2.2.2) @@ -114,7 +115,6 @@ PLATFORMS ruby DEPENDENCIES - git hive-ruby html-proofer jekyll @@ -124,4 +124,4 @@ DEPENDENCIES rake BUNDLED WITH - 2.1.4 + 2.2.23 diff --git a/Rakefile b/Rakefile index 1e03498db09a8065f8ea5a031383cea857e98002..0cc9bda105c430baf89156d28117d133be232ffe 100644 --- a/Rakefile +++ b/Rakefile @@ -179,7 +179,10 @@ namespace :test do blockchain_version = version['blockchain_version'] hive_rev = version['hive_revision'][0..5] fc_rev = version['fc_revision'][0..5] - puts "node: #{url}; blockchain_version: #{blockchain_version}; hive_rev: #{hive_rev}; fc_rev: #{fc_rev}" + chain_id = version['chain_id'] + mainnet = chain_id == 'beeab0de00000000000000000000000000000000000000000000000000000000' + + puts "node: #{url}; blockchain_version: #{blockchain_version}; hive_rev: #{hive_rev}; fc_rev: #{fc_rev}; mainnet: #{mainnet}" apis.each do |api| file_name = "_data/apidefinitions/#{api}.yml" @@ -191,6 +194,8 @@ namespace :test do yml = YAML.load_file(file_name) yml[0]['methods'].each do |method| + next if !!method['removed'] + print "Testing #{method['api_method']} ... " if method['curl_examples'].nil? @@ -199,6 +204,18 @@ namespace :test do end method['curl_examples'].each_with_index do |curl_example, index| + unless mainnet + # Replace key prefix, e.g.: + # STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH + # becomes: + # TST5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH + curl_example = curl_example.gsub(/"STM([^"]{50})"/) do |_| + match = Regexp.last_match + + "\"TST#{match[1]}\"" + end + end + response = `curl -s -w \"HTTP_CODE:%{http_code}\" --data '#{curl_example}' #{url}` response = response.split('HTTP_CODE:') json = response[0] @@ -281,7 +298,8 @@ namespace :test do # cache: { timeframe: '2w' } # Fails a link if it's not marked as https. - enforce_https: true + enforce_https: true, + url_ignore: ['http://localhost:3000/', 'http://0.0.0.0:8080'] } HTMLProofer.check_directory("./_site", options).run diff --git a/_data/apidefinitions/account_by_key_api.yml b/_data/apidefinitions/account_by_key_api.yml index 21380659b52b26f351730fba771153d036bd5e01..fa2426c2e9af3b5620a2400a0e5d4696826fa256 100644 --- a/_data/apidefinitions/account_by_key_api.yml +++ b/_data/apidefinitions/account_by_key_api.yml @@ -18,3 +18,6 @@ - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-key-references)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-key-references)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txaccountupdates)' + - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txaccountupdates2)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/accounts)' diff --git a/_data/apidefinitions/bridge.yml b/_data/apidefinitions/bridge.yml index cd0abe54cd3860ba4d46cfa4a61c4e258f6c12e5..c95063b54b856bcd5c93dbafb8d05ddbf7733fe6 100644 --- a/_data/apidefinitions/bridge.yml +++ b/_data/apidefinitions/bridge.yml @@ -339,6 +339,7 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_get_profile)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/accounts)' - api_method: bridge.list_communities purpose: | Gets community @@ -379,6 +380,7 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_list_communities)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/communities)' - api_method: bridge.list_pop_communities purpose: | Gets a list of popular communities. @@ -429,6 +431,7 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_list_subscribers)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/communitiessubscribers)' - api_method: bridge.list_community_roles purpose: | List community roles and labels for each account in the community. @@ -447,6 +450,7 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_list_community_roles)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/communitiesroles)' - api_method: bridge.list_all_subscriptions purpose: | List all subscriptions, titles, and roles to a community for an account. @@ -463,6 +467,7 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_list_all_subscriptions)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/communitiessubscribers)' - api_method: bridge.get_community purpose: | Get community details. @@ -553,6 +558,7 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_get_payout_stats)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/comments)' - api_method: bridge.get_post purpose: | Gives single selected post. @@ -643,3 +649,4 @@ client_docs: - '[openApi](https://gitlab.syncad.com/hive/hivemind/-/blob/pczempiel_openapi_bridge/openApi/client/docs/DefaultApi.md#bridge_post_header)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Bridge)' + - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/comments)' diff --git a/_data/apidefinitions/broadcast_ops.yml b/_data/apidefinitions/broadcast_ops.yml index eb1515de5ad629030afd8f1f22154089d2c1fdef..d7a134ec9c6e8b315a5ae84bfa9a7c178490c514 100644 --- a/_data/apidefinitions/broadcast_ops.yml +++ b/_data/apidefinitions/broadcast_ops.yml @@ -1431,7 +1431,7 @@ - '["update_proposal_votes",{"voter":"alice","proposal_ids":[0],"approve":true}]' client_docs: - '[hive-keychain](https://github.com/stoodkev/hive-keychain#requestupdateproposalvote)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.transactionbuilder.html)' + - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html?#beem.blockchaininstance.BlockChainInstance.update_proposal_votes)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Broadcast.update_proposal_votes)' - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txproposalvoteupdates)' - name: claim_reward_balance2 @@ -1979,6 +1979,7 @@ | HF22 | 2019-08-29 15:00:00 UTC | [35974326](https://hiveblocks.com/b/35974326) | | HF23 | 2020-03-20 14:00:00 UTC | [41818752](https://hiveblocks.com/b/41818752) | | HF24 | 2020-10-06 14:00:00 UTC | [47797680](https://hiveblocks.com/b/47797680) | + | HF25 | 2021-06-30 14:00:00 UTC | [55235767](https://hiveblocks.com/b/55235767) | See: [PR2616]({{ 'https://github.com/steemit/steem/pull/2616' | archived_url }}), [database_api.get_hardfork_properties]({{ '/apidefinitions/#database_api.get_hardfork_properties' | relative_url }}), [condenser_api.get_next_scheduled_hardfork]({{ '/apidefinitions/#condenser_api.get_next_scheduled_hardfork' | relative_url }}) roles: @@ -1987,6 +1988,11 @@ owner params: - hardfork_id + client_docs: + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-hardfork-version)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_hardfork_properties)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.hardfork)" + - "[hivesql](https://docs.hivesql.io/technical-informations/database-diagram#blocks-and-transactions)" - name: comment_payout_update virtual: true purpose: | @@ -2111,7 +2117,7 @@ purpose: | Tracks when newly powered up VESTS become counted towards witness and DHF proposals (after a 30 day delay is complete). - See: [transfer_to_vesting]({{ '/apidefinitions/#transfer_to_vesting' | relative_url }}), [fa63145](https://gitlab.syncad.com/hive/hive/-/commit/fa63145e21e008c672fbbb1ec3420b40711aa1ee), [5](https://gitlab.syncad.com/hive/hive/-/issues/5), [!21](https://gitlab.syncad.com/hive/hive/-/merge_requests/21) + See: [transfer_to_vesting]({{ '/apidefinitions/#broadcast_ops_transfer_to_vesting' | relative_url }}), [fa63145](https://gitlab.syncad.com/hive/hive/-/commit/fa63145e21e008c672fbbb1ec3420b40711aa1ee), [5](https://gitlab.syncad.com/hive/hive/-/issues/5), [!21](https://gitlab.syncad.com/hive/hive/-/merge_requests/21) roles: params: json_examples: @@ -2280,6 +2286,7 @@ # json_examples: # - '["fill_collateralized_convert_request", {}]' client_docs: + - '[hive-js](https://gitlab.syncad.com/hive/hive-js/-/blob/master/doc/README.md#collateralized-convert)' - '[hivesql](https://docs.hivesql.io/technical-informations/virtual-operations/vofillcollateralizedconvertrequests-hf25)' - name: fill_recurrent_transfer since: HF25 @@ -2333,9 +2340,10 @@ - owner requestid amount - # json_examples: - # - '["collateralized_convert", {}]' + json_examples: + - '["collateralized_convert", {"owner":"hiveio","requestid":1467592156,"amount":{"amount":"5000","precision":3,"nai":"@@000000021"}}]' client_docs: + - '[hive-js](https://gitlab.syncad.com/hive/hive-js/-/blob/master/doc/README.md#collateralized-convert)' - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txcollateralizedconverts-hf25)' - name: recurrent_transfer since: HF25 @@ -2343,6 +2351,8 @@ virtual: false purpose: | The `recurrent_transfer` operation creates/updates/removes a recurrent transfer (transfers any liquid asset every fixed amount of time from one account to another). If amount is set to 0, the recurrent transfer is be deleted. If there is already a recurrent transfer matching from and to, the recurrent transfer is updated. + + Also see: [database_api.find_recurrent_transfers]({{ '/apidefinitions/#database_api.find_recurrent_transfers' | relative_url }}) roles: params: - from diff --git a/_data/apidefinitions/condenser_api.yml b/_data/apidefinitions/condenser_api.yml index 2166d31c8be3f92eed47311a7cd8c59bf11d1dfa..97ff2a75bf90195557178fa63e4beae0e5db0b7c 100644 --- a/_data/apidefinitions/condenser_api.yml +++ b/_data/apidefinitions/condenser_api.yml @@ -22,7 +22,7 @@ - api_method: condenser_api.broadcast_block purpose: | Used to broadcast a block. - + Also see: [network_broadcast_api.broadcast_block]({{ '/apidefinitions/#network_broadcast_api.broadcast_block' | relative_url }}) parameter_json: - previous: '0000000000000000000000000000000000000000' @@ -39,13 +39,13 @@ expected_curl_responses: - attempting to push a block that is too old client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-block)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#broadcast-block)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-block)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#broadcast-block)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.broadcast_transaction purpose: | Used to broadcast a transaction. - + Also see: [network_broadcast_api.broadcast_transaction]({{ '/apidefinitions/#network_broadcast_api.broadcast_transaction' | relative_url }}) parameter_json: - ref_block_num: 0 @@ -58,16 +58,15 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["vote",{"voter":"hiveio","author":"alice","permlink":"a-post-by-alice","weight":10000}]],"extensions":[],"signatures":[]}], "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":"100.000 - HIVE","maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], + - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' expected_curl_responses: - missing required posting authority - - Asset has to treated as object. + - transaction tapos exception client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-api)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#broadcast-transaction)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-api)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#broadcast-transaction)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.broadcast_transaction_synchronous purpose: Used to broadcast a transaction and waits for it to be processed synchronously. parameter_json: @@ -87,16 +86,15 @@ "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["vote",{"voter":"hiveio","author":"alice","permlink":"a-post-by-alice","weight":10000}]],"extensions":[],"signatures":[]}], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction_synchronous", - "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":"100.000 - HIVE","maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], + "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"10000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' expected_curl_responses: - missing required posting authority - - Asset has to treated as object. + - transaction tapos exception client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-api)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.transactionbuilder.html)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/TransactionBuilder)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-api)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.transactionbuilder.html)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/TransactionBuilder)" - api_method: condenser_api.get_account_bandwidth removed: true purpose: | @@ -127,9 +125,9 @@ - Could not find method get_account_bandwidth - Could not find method get_account_bandwidth client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-bandwidth)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-bandwidth)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_account_count purpose: Returns the number of accounts. parameter_json: [] @@ -140,17 +138,17 @@ - api_method: condenser_api.get_account_history purpose: | Returns a history of all operations for a given account. Parameters: - + * `account:string` * `start:int`. e.g.: -1 for reverse history or any positive numeric * `limit:int` up to 1000 * `operation_filter_low:int` (optional) * `operation_filter_high:int` (optional) - + If either `operation_filter_low` or `operation_filter_high` are set, the set of returned operations will include only these matching bitwise filter. - + For the first 64 operations (as defined in [protocol/operations.hpp](https://gitlab.syncad.com/hive/hive/-/blob/master/libraries/protocol/include/hive/protocol/operations.hpp)), set the corresponding bit in `operation_filter_low`; for the higher-numbered operations, set the bit in operation_filter_high (pretending operation_filter is a 128-bit bitmask composed of `{operation_filter_high, operation_filter_low}`) - + | `account` (string) | `start` (int) | `limit` (int) | `operation_filter_low` (int) | `operation_filter_low` (int) | | |--------------------|---------------|---------------|------------------------------|-------------------------------|-| | `"hiveio"` | `1000` | `1000` | | | Queries the account named `hiveio` starting on the latest item in history, up to 1,000 results. | @@ -158,7 +156,7 @@ | `"bob"` | `-1` | `1000` | 1 | | Queries **only votes** by the account named `bob` starting on the oldest item in history, up to 1,000 results. | | `"charlie"` | `-1` | `1000` | 262144 | | Queries **only custom jsons** by the account named `charlie` starting on the oldest item in history, up to 1,000 results. | | `"emma"` | `-1` | `1000` | 0 | 1 | Queries **only proposal payments** by the account named `emma` starting on the oldest item in history, up to 1,000 results. | - + Also see: [account_history_api.get_account_history]({{ '/apidefinitions/#account_history_api.get_account_history' | relative_url }}), [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_account_history' | relative_url }}) parameter_json: - '' @@ -175,18 +173,23 @@ "op": {} }] curl_examples: - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["hiveio", 1000, 1000], "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["hiveio", -1, 1000], "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["bob", -1, 1000, 1], "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["charlie", -1, 1000, 262144], "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["emma", -1, 1000, 0, 1], "id":1}' - client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-history)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)' + - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["hiveio", + 1000, 1000], "id":1}' + - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["hiveio", + -1, 1000], "id":1}' + - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["bob", + -1, 1000, 1], "id":1}' + - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["charlie", + -1, 1000, 262144], "id":1}' + - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_history", "params":["emma", + -1, 1000, 0, 1], "id":1}' + client_docs: + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-history)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)" - api_method: condenser_api.get_account_reputations since: HF13 purpose: | @@ -196,7 +199,7 @@ |----------------------------|---------------|-| | `"hiveio"` | `1` | Queries for accounts that start with "hiveio", only one result. | | `"a"` | `10` | Queries for accounts that start with "a", up to 10 results. | - + Also see: [follow_api.get_account_reputations]({{ '/apidefinitions/#follow_api.get_account_reputations' | relative_url }}) parameter_json: - '' @@ -208,34 +211,19 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_reputations", "params":["a", 10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-reputations)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-reputations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-reputations)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-reputations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_account_votes + disabled: true purpose: | - Returns all votes by an account. Parameters: `account:string` - - | `account` (string) | | - |-------------------|-| - | `"hiveio"` | Queries for votes by "hiveio". | - | `"alice"` | Queries for votes by "alice". | - parameter_json: - - '' - expected_response_json: - - authorperm: '' - weight: '' - rshares: '' - percent: - time: '2016-04-29T22:27:42' - curl_examples: - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_votes", "params":["hiveio"], - "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_votes", "params":["alice"], - "id":1}' + No longer supported. Use: [database_api.list_votes]({{ '/apidefinitions/#database_api.list_votes' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-votes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-votes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_accounts purpose: | Returns accounts, queried by name. Parameters: `account:string array`; `delayed_votes_active:boolean` @@ -244,7 +232,7 @@ |-------------------|-| | `["hiveio"]` | | Queries for account named "hiveio". | | `["hiveio", "alice"]` | false | Queries for accounts named "hiveio" and "alice" with `delayed_votes` hidden. | - + Also see: [database_api.find_accounts]({{ '/apidefinitions/#database_api.find_accounts' | relative_url }}) parameter_json: - - '' @@ -376,10 +364,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_accounts", "params":[["hiveio"]], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.get_accounts", "params":[["hiveio", "alice"], true], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-accounts)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.get_all_accounts)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/accounts)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-accounts)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.get_all_accounts)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/accounts)" - api_method: condenser_api.get_active_votes purpose: | Returns all votes for the given post. Parameters: `author:string`; `permlink:string` @@ -404,16 +392,16 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_active_votes", "params":["alice", "a-post-by-alice"], "id":1}' expected_curl_responses: - - - - unknown key:unknown key + - Invalid parameters + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-votes)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-votes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-votes)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-votes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_active_witnesses purpose: | Returns the list of active witnesses. - + Also see: [database_api.get_active_witnesses]({{ '/apidefinitions/#database_api.get_active_witnesses' | relative_url }}) parameter_json: [] expected_response_json: [] @@ -421,10 +409,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_active_witnesses", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-witnesses)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-witnesses)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-witnesses)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-witnesses)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: condenser_api.get_block purpose: | Returns a block. Parameters: `block_num:int` @@ -434,7 +422,7 @@ | `1` | Queries the very first block. | | `8675309` | Queries block number 8,675,309. | | `62396745` | Queries block number 62,396,745. | - + Also see: [block_api.get_block]({{ '/apidefinitions/#block_api.get_block' | relative_url }}) parameter_json: - 1 @@ -455,9 +443,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_block", "params":[62396745], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-block)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-block)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-block)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-block)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_block_header purpose: | Returns a block header. Parameters: `block_num:int` @@ -467,7 +455,7 @@ | `1` | Queries the block headers for the very first block. | | `8675309` | Queries block headers for block number 8,675,309. | | `62396745` | Queries block headers for block number 62,396,745. | - + Also see: [block_api.get_block_header]({{ '/apidefinitions/#block_api.get_block_header' | relative_url }}) parameter_json: - 1 @@ -485,9 +473,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_block_header", "params":[62396745], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-block-header)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-block-header)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-block-header)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-block-header)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_blog purpose: | Returns the list of blog entries for an account. Parameters: `account:string`; `start_entry_id:int`; `limit:int` up to 500 @@ -496,7 +484,7 @@ |-------------------|------------------------|---------------|-| | "hiveio" | `0` | `1` | Queries the blog for the account named "hiveio", up to one result. | | "alice" | `0` | `50` | Queries the blog for the account named "alice", up to 50 results. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_blog' | relative_url }}) parameter_json: - hiveio @@ -511,8 +499,8 @@ parent_author: '' parent_permlink: meta title: Welcome to Hive! - body: Hive is a social media platform where anyone can earn HIVE points - by posting. The more people who like a post, the more HIVE the poster earns. + body: Hive is a social media platform where anyone can earn HIVE points by + posting. The more people who like a post, the more HIVE the poster earns. Anyone can sell their HIVE for cash or vest it to boost their voting power. json_metadata: '' last_update: '2016-03-30T18:30:18' @@ -559,9 +547,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_blog", "params":["alice",0,50], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_blog_authors purpose: | Returns a list of authors that have had their content reblogged on a given blog account. Parameters: `account:string` @@ -581,9 +569,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_blog_authors", "params":["alice"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog-authors)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog-authors)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog-authors)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog-authors)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_blog_entries purpose: | Returns a list of blog entries for an account. Parameters: `account:string`; `start_entry_id:int`; `limit:int` up to 500 @@ -592,7 +580,7 @@ |-------------------|------------------------|---------------|-| | "hiveio" | `0` | `1` | Queries the blog entries for the account named "hiveio", up to one result. | | "alice" | `0` | `50` | Queries the blog entries for the account named "alice", up to 50 results. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_blog_entries' | relative_url }}) parameter_json: - hiveio @@ -610,9 +598,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_blog_entries", "params":["alice",0,50], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog-entries)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog-entries)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog-entries)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog-entries)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_chain_properties purpose: Returns the chain properties. parameter_json: [] @@ -625,14 +613,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_chain_properties", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-chain-properties)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-chain-properties)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-chain-properties)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-chain-properties)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_comment_discussions_by_payout since: HF17 purpose: | Returns a list of discussions based on payout. - + Also see: [tags_api.get_comment_discussions_by_payout]({{ '/apidefinitions/#tags_api.get_comment_discussions_by_payout' | relative_url }}) parameter_json: - tag: '' @@ -648,24 +636,24 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_comment_discussions_by_payout", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-comment-discussions-by-payout)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-comment-discussions-by-payout)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-comment-discussions-by-payout)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-comment-discussions-by-payout)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_config purpose: | Returns information about compile-time constants. See: [Understanding Configuration Values]({{ '/tutorials-recipes/understanding-configuration-values.html' | relative_url }}) - + Also see: [database_api.get_config]({{ '/apidefinitions/#database_api.get_config' | relative_url }}) parameter_json: [] expected_response_json: {} curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_config", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-config)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-config)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-config)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-config)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_content purpose: | Returns the content (post or comment). Parameters: `author:string`; `permlink:string` @@ -728,11 +716,14 @@ "firstpost"], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.get_content", "params":["alice", "a-post-by-alice"], "id":1}' + expected_curl_responses: + - Invalid parameters + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/comments)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/comments)" - api_method: condenser_api.get_content_replies purpose: | Returns a list of replies. Parameters: `author:string`; `permlink:string` @@ -742,7 +733,7 @@ |----------------------------|---------------|-| | `"hiveio"` | `"firstpost"` | Queries replies for a slug `@hiveio/firstpost` | | `"alice"` | `"a-post-by-alice"` | Queries replies for a slug `@alice/a-post-by-alice` | - + Also see: [tags_api.get_content_replies]({{ '/apidefinitions/#tags_api.get_content_replies' | relative_url }}) parameter_json: - '' @@ -798,10 +789,13 @@ "firstpost"], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.get_content_replies", "params":["alice", "a-post-by-alice"], "id":1}' + expected_curl_responses: + - Invalid parameters + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content-replies)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content-replies)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content-replies)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content-replies)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_conversion_requests purpose: | Returns a list of conversion request. Parameters: `id:integer` @@ -809,7 +803,7 @@ | `id` (int) | | |-------------------|-| | `1234` | Queries a conversion request with the id of 1234. | - + Also see: [database_api.list_hbd_conversion_requests]({{ '/apidefinitions/#database_api.list_hbd_conversion_requests' | relative_url }}) parameter_json: - 0 @@ -817,12 +811,14 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_conversion_requests", "params":[1234], "id":1}' + expected_curl_responses: + - Given account does not exist client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-conversion-requests)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-conversion-requests)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-conversion-requests)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-conversion-requests)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_current_median_history_price - purpose: + purpose: parameter_json: [] expected_response_json: base: 0.000 HIVE @@ -831,9 +827,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_current_median_history_price", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-current-median-history-price)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-current-median-history-price)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-current-median-history-price)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-current-median-history-price)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_discussions_by_active purpose: Returns a list of discussions based on active. parameter_json: @@ -850,14 +846,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_active", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-active)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-active)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-active)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-active)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_author_before_date purpose: | Returns a list of discussions based on author before date. - + Also see: [tags_api.get_discussions_by_author_before_date]({{ '/apidefinitions/#tags_api.get_discussions_by_author_before_date' | relative_url }}), [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_discussions_by_author_before_date' | relative_url }}) parameter_json: - '' @@ -868,15 +864,17 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_author_before_date", "params":["hiveio","firstpost","2016-04-19T22:49:43",1], "id":1}' + expected_curl_responses: + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-author-before-date)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-author-before-date)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-author-before-date)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-author-before-date)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_blog purpose: | Returns a list of discussions by blog. - + Also see: [tags_api.get_discussions_by_blog]({{ '/apidefinitions/#tags_api.get_discussions_by_blog' | relative_url }}) parameter_json: - tag: '' @@ -892,10 +890,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_blog", "params":[{"tag":"alice","limit":10}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-blog)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-blog)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-blog)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-blog)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_cashout purpose: Returns a list of discussions by cashout. parameter_json: @@ -912,10 +910,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_cashout", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-cashout)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-cashout)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-cashout)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-cashout)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_children purpose: Returns a list of discussions by children. parameter_json: @@ -932,14 +930,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_children", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-children)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-children)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-children)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-children)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_comments purpose: | Returns a list of discussions by comments. - + Also see: [tags_api.get_discussions_by_comments]({{ '/apidefinitions/#tags_api.get_discussions_by_comments' | relative_url }}) parameter_json: - start_author: '' @@ -952,17 +950,17 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_comments", "params":[{"start_author":"alice","start_permlink":"a-post-by-alice","limit":10,"truncate_body":0}], "id":1}' expected_curl_responses: - - - - Comment is not in account's comments + - Invalid parameters + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-comments)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-comments)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-comments)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-comments)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_created purpose: | Returns a list of discussions by created. - + Also see: [tags_api.get_discussions_by_created]({{ '/apidefinitions/#tags_api.get_discussions_by_created' | relative_url }}) parameter_json: - tag: '' @@ -978,10 +976,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_created", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-created)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-created)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-created)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-created)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_feed since: HF14 purpose: Returns a list of discussions by feed. @@ -997,14 +995,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_feed", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-feed)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-feed)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-feed)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-feed)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_hot purpose: | Returns a list of discussions by hot. - + Also see: [tags_api.get_discussions_by_hot]({{ '/apidefinitions/#tags_api.get_discussions_by_hot' | relative_url }}) parameter_json: - tag: '' @@ -1020,15 +1018,15 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_hot", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-hot)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-hot)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-hot)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-hot)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_promoted since: HF13 purpose: | Returns a list of discussions by promoted. - + Also see: [tags_api.get_discussions_by_promoted]({{ '/apidefinitions/#tags_api.get_discussions_by_promoted' | relative_url }}) parameter_json: - tag: '' @@ -1044,14 +1042,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_promoted", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-promoted)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-promoted)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-promoted)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-promoted)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_trending purpose: | Returns a list of discussions by trending. - + Also see: [tags_api.get_discussions_by_trending]({{ '/apidefinitions/#tags_api.get_discussions_by_trending' | relative_url }}) parameter_json: - tag: '' @@ -1067,10 +1065,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_trending", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-trending)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-trending)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-trending)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-trending)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_discussions_by_votes purpose: Returns a list of discussions by votes. parameter_json: @@ -1087,15 +1085,15 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_discussions_by_votes", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-votes)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-votes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-votes)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-votes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_dynamic_global_properties purpose: | Returns the current dynamic global properties. See: [Understanding Dynamic Global Properties]({{ '/tutorials-recipes/understanding-dynamic-global-properties.html' | relative_url }}) - + Also see: [database_api.get_dynamic_global_properties]({{ '/apidefinitions/#database_api.get_dynamic_global_properties' | relative_url }}) parameter_json: [] expected_response_json: @@ -1128,27 +1126,27 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_dynamic_global_properties", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-dynamic-global-properties)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-dynamic-global-properties)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/dynamicglobalproperties)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-dynamic-global-properties)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-dynamic-global-properties)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/dynamicglobalproperties)" - api_method: condenser_api.get_escrow since: HF14 purpose: | Returns the escrow for a certain account by id. - + Also see: [database_api.list_escrows]({{ '/apidefinitions/#database_api.list_escrows' | relative_url }}) parameter_json: - '' - 0 - expected_response_json: + expected_response_json: curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_escrow", "params":["hiveio", 1234], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-escrow)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-escrow)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-escrow)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-escrow)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_expiring_vesting_delegations since: HF17 purpose: | @@ -1172,10 +1170,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_expiring_vesting_delegations", "params":["alice","2017-12-01T00:00:00"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-expiring-vesting-delegations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-expiring-vesting-delegations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)" - api_method: condenser_api.get_feed since: HF14 purpose: | @@ -1185,7 +1183,7 @@ |-------------------|---------------|---------------|-| | `"hiveio"` | `0` | `1` | Queries the account named `hiveio` starting on the first item, up to 1 result. | | `"alice"` | `1` | `10` | Queries the account named `alice` starting on the second item, up to 10 results. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_feed' | relative_url }}) parameter_json: - '' @@ -1198,9 +1196,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_feed", "params":["alice",1,10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_feed_entries since: HF14 purpose: | @@ -1210,7 +1208,7 @@ |-------------------|---------------|---------------|-| | `"hiveio"` | `0` | `1` | Queries the account named `hiveio` starting on the first item, up to 1 result. | | `"alice"` | `1` | `10` | Queries the account named `alice` starting on the second item, up to 10 results. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_feed_entries' | relative_url }}) parameter_json: - '' @@ -1223,13 +1221,13 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_feed_entries", "params":["alice",1,10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed-entries)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed-entries)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed-entries)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed-entries)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_feed_history purpose: | Returns the history of price feed values. - + Also see: [database_api.get_feed_history]({{ '/apidefinitions/#database_api.get_feed_history' | relative_url }}) parameter_json: [] expected_response_json: @@ -1241,9 +1239,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_feed_history", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed-history)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed-history)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_follow_count since: HF9 purpose: | @@ -1265,12 +1263,12 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_follow_count", "params":["alice"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-follow-count)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-follow-count)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-follow-count)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-follow-count)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)" - api_method: condenser_api.get_followers since: HF9 purpose: | @@ -1280,7 +1278,7 @@ |--------------------|------------------|-----------------|---------------|-| | `"hiveio"` | `null` | `"blog"` | `10` | Queries for follows of the account named `hiveio`, up to 10 results. | | `"alice"` | `null` | `"ignore"` | `100` | Queries for mutes of the account named `alice`, up to 100 results. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_followers' | relative_url }}) parameter_json: - '' @@ -1295,17 +1293,18 @@ "id":1}' mainnet: working: true - detail: "" + detail: '' testnet: working: false - detail: "Will not work because this function requires jussi to work correctly which is not available on the testnet" - client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-followers)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-followers)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)' + detail: Will not work because this function requires jussi to work correctly + which is not available on the testnet + client_docs: + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-followers)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-followers)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)" - api_method: condenser_api.get_following since: HF9 purpose: | @@ -1315,7 +1314,7 @@ |--------------------|------------------|-----------------|---------------|-| | `"hiveio"` | `null` | `"blog"` | `10` | Queries for follows of the account named `hiveio`, up to 10 results. | | `"alice"` | `null` | `"ignore"` | `100` | Queries for mutes of the account named `alice`, up to 100 results. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_following' | relative_url }}) parameter_json: - '' @@ -1329,16 +1328,16 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_following", "params":["alice",null,"ignore",100], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-following)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-following)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-following)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-following)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/followers)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutes)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/mutesfollows)" - api_method: condenser_api.get_hardfork_version purpose: | Returns the current hardfork version. - + Also see: [database_api.get_hardfork_properties]({{ '/apidefinitions/#database_api.get_hardfork_properties' | relative_url }}) parameter_json: [] expected_response_json: 0.0.0 @@ -1346,14 +1345,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_hardfork_version", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-hardfork-version)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-hardfork-version)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-hardfork-version)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-hardfork-version)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_key_references since: HF16 purpose: | Returns all accounts that have the key associated with their owner or active authorities. - + Also see: [account_by_key_api.get_key_references]({{ '/apidefinitions/#account_by_key_api.get_key_references' | relative_url }}) parameter_json: - - STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH @@ -1363,9 +1362,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_key_references", "params":[["STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH"]], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-key-references)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-key-references)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-key-references)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-key-references)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_market_history purpose: | Returns the market history for the internal HBD:HIVE market. Parameters: `bucket_seconds:int`; `start:timestamp`; `end:timestamp` @@ -1377,7 +1376,7 @@ | `300` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by five minutes. | | `3600` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by one hour. | | `86400` | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | Queries for market history between January 1st, 2018 and January 2nd, 2018, segmented by one day. | - + Also see: [market_history_api.get_market_history]({{ '/apidefinitions/#market_history_api.get_market_history' | relative_url }}) parameter_json: - 0 @@ -1411,13 +1410,13 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history", "params":[86400,"2018-01-01T00:00:00","2018-01-02T00:00:00"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_market_history_buckets purpose: | Returns the bucket seconds being tracked by the plugin. - + Also see: [market_history_api.get_market_history_buckets]({{ '/apidefinitions/#market_history_api.get_market_history_buckets' | relative_url }}) parameter_json: [] expected_response_json: @@ -1430,13 +1429,13 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_market_history_buckets", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-market-history-buckets)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history-buckets)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-market-history-buckets)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history-buckets)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_next_scheduled_hardfork purpose: | Returns the next scheduled hardfork. - + Also see: [database_api.get_hardfork_properties]({{ '/apidefinitions/#database_api.get_hardfork_properties' | relative_url }}), [hardfork]({{ '/apidefinitions/#broadcast_ops_hardfork' | relative_url }}) parameter_json: [] expected_response_json: @@ -1446,13 +1445,13 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_next_scheduled_hardfork", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-next-scheduled-hardfork)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-next-scheduled-hardfork)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-next-scheduled-hardfork)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-next-scheduled-hardfork)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_open_orders purpose: | Returns the open orders for an account. `account:string` - + Also see: [database_api.list_limit_orders]({{ '/apidefinitions/#database_api.list_limit_orders' | relative_url }}) parameter_json: - '' @@ -1463,9 +1462,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_open_orders", "params":["alice"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-open-orders)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-open-orders)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-open-orders)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-open-orders)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_ops_in_block purpose: | Returns all operations contained in a block. Parameters: `block_num:int`; `only_virtual:boolean` @@ -1474,7 +1473,7 @@ |-------------------|--------------------------|-| | `1` | `false` | Queries the operations in block #1. | | `5443322` | `true` | Queries only the virtual operations in block #5,443,322. | - + Also see: [account_history_api.get_ops_in_block]({{ '/apidefinitions/#account_history_api.get_ops_in_block' | relative_url }}) parameter_json: - 0 @@ -1496,9 +1495,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_ops_in_block", "params":[5443322,true], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-ops-in-block)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-ops-in-block)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-ops-in-block)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-ops-in-block)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_order_book purpose: | Returns the internal market order book. Parameters: `limit:int` up to 500 @@ -1507,7 +1506,7 @@ |--------------------|-| | `10` | Queries up to 10 items in the order book. | | `500` | Queries up to 500 items in the order book. | - + Also see: [database_api.get_order_book]({{ '/apidefinitions/#database_api.get_order_book' | relative_url }}), [market_history_api.get_order_book]({{ '/apidefinitions/#market_history_api.get_order_book' | relative_url }}) parameter_json: - 0 @@ -1518,9 +1517,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_order_book", "params":[10], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.get_order_book", "params":[50], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-order-book)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-order-book)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-order-book)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-order-book)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_owner_history purpose: | Returns the owner history of an account. Parameters: `account:string` @@ -1528,7 +1527,7 @@ | `account` (string) | | |--------------------|-| | `"hiveio"` | Queries the owner history for account named "hiveio". | - + Also see: [database_api.list_owner_histories]({{ '/apidefinitions/#database_api.list_owner_histories' | relative_url }}) parameter_json: - '' @@ -1537,14 +1536,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_owner_history", "params":["hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-owner-history)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-owner-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-owner-history)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-owner-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_post_discussions_by_payout since: HF17 purpose: | Returns a list of post discussions by payout. - + Also see: [tags_api.get_post_discussions_by_payout]({{ '/apidefinitions/#tags_api.get_post_discussions_by_payout' | relative_url }}) parameter_json: - tag: '' @@ -1560,14 +1559,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_post_discussions_by_payout", "params":[{"tag":"photography","limit":10,"truncate_body":0}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-post-discussions-by-payout)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-post-discussions-by-payout)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-post-discussions-by-payout)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-post-discussions-by-payout)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_potential_signatures purpose: | This method will return the set of all public keys that could possibly sign for a given transaction. - + Also see: [database_api.get_potential_signatures]({{ '/apidefinitions/#database_api.get_potential_signatures' | relative_url }}) parameter_json: - ref_block_num: 0 @@ -1581,9 +1580,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_potential_signatures", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-potential-signatures)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-potential-signatures)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-potential-signatures)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-potential-signatures)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_reblogged_by since: HF14 purpose: | @@ -1603,13 +1602,13 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_reblogged_by", "params":["alice","a-post-by-alice"], "id":1}' expected_curl_responses: - - - - 'unknown key:unknown key:' + - Invalid parameters + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reblogged-by)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reblogged-by)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/reblogs)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reblogged-by)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reblogged-by)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/reblogs)" - api_method: condenser_api.get_recent_trades purpose: | Returns the most recent trades for the internal HBD:HIVE market. Parameters: `limit:int` up to 1000 @@ -1618,7 +1617,7 @@ |--------------------|-| | `10` | Queries up to 10 latest trades. | | `500` | Queries up to 500 latest trades. | - + Also see: [market_history_api.get_recent_trades]({{ '/apidefinitions/#market_history_api.get_recent_trades' | relative_url }}) parameter_json: - 1 @@ -1632,9 +1631,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_recent_trades", "params":[500], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recent-trades)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recent-trades)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recent-trades)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recent-trades)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_recovery_request since: HF11 purpose: | @@ -1643,22 +1642,22 @@ | `account` (string) | | |--------------------|-| | `"hiveio"` | Queries the recovery requests for account named "hiveio". | - + Also see: [database_api.list_account_recovery_requests]({{ '/apidefinitions/#database_api.list_account_recovery_requests' | relative_url }}) parameter_json: - '' - expected_response_json: + expected_response_json: curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_recovery_request", "params":["hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recovery-request)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recovery-request)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_replies_by_last_update purpose: | Returns a list of replies by last update. `start_parent_author:string`, `start_permlink:string`, `limit:int` up to 100 - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_replies_by_last_update' | relative_url }}) parameter_json: - '' @@ -1668,14 +1667,16 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_replies_by_last_update", "params":["hiveio","firstpost",1], "id":1}' + expected_curl_responses: + - Invalid parameters client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-replies-by-last-update)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-replies-by-last-update)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-replies-by-last-update)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-replies-by-last-update)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_required_signatures purpose: | This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for and return the minimal subset of public keys that should add signatures to the transaction. Parameters: `trx:object`; `available_keys:[string]` - + Also see: [database_api.get_required_signatures]({{ '/apidefinitions/#database_api.get_required_signatures' | relative_url }}) parameter_json: - ref_block_num: 0 @@ -1690,14 +1691,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_required_signatures", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]},[]], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-required-signatures)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-required-signatures)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-required-signatures)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-required-signatures)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_reward_fund since: HF17 purpose: | Returns information about the current reward funds. - + Also see: [database_api.get_reward_funds]({{ '/apidefinitions/#database_api.get_reward_funds' | relative_url }}) parameter_json: - post @@ -1716,9 +1717,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_reward_fund", "params":["post"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reward-fund)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reward-fund)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reward-fund)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reward-fund)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_savings_withdraw_from since: HF14 purpose: | @@ -1727,7 +1728,7 @@ | `account` (string) | | |--------------------|-| | `"hiveio"` | Queries the savings withdraw for account named "hiveio". | - + Also see: [database_api.list_savings_withdrawals]({{ '/apidefinitions/#database_api.list_savings_withdrawals' | relative_url }}) parameter_json: - '' @@ -1736,9 +1737,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_savings_withdraw_from", "params":["hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-from)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-savings-withdraw-from)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-from)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-savings-withdraw-from)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_savings_withdraw_to since: HF14 purpose: | @@ -1747,7 +1748,7 @@ | `account` (string) | | |--------------------|-| | `"hiveio"` | Queries the savings withdraw for account named "hiveio". | - + Also see: [database_api.list_savings_withdrawals]({{ '/apidefinitions/#database_api.list_savings_withdrawals' | relative_url }}) parameter_json: - '' @@ -1756,14 +1757,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_savings_withdraw_to", "params":["hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-to)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-savings-withdraw-to)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-to)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-savings-withdraw-to)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_state deprecated: true purpose: | Returns the state of a path. **Deprecated.** Parameters: `path:string` - + See: [JS: Get State Replacement Api]({{ '/tutorials-javascript/get_state_replacement_api.html' | relative_url }}) parameter_json: - '' @@ -1832,11 +1833,11 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_state", "params":["/@hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-state)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-state)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/comments)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-state)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-state)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/comments)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_tags_used_by_author purpose: | Returns a list of tags used by an author. Parameters: `author:string` @@ -1851,14 +1852,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_tags_used_by_author", "params":["hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-tags-used-by-author)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#api-call)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-tags-used-by-author)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_ticker purpose: | Returns the market ticker for the internal HBD:HIVE market. - + Also see: [market_history_api.get_ticker]({{ '/apidefinitions/#market_history_api.get_ticker' | relative_url }}) parameter_json: [] expected_response_json: @@ -1871,9 +1872,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_ticker", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-ticker)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-ticker)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-ticker)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-ticker)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_trade_history purpose: | Returns the trade history for the internal HBD:HIVE market. Parameters: `start:timestamp`; `end:timestamp`; `limit:int` up to 1000 @@ -1881,7 +1882,7 @@ | `start` (timestamp) | `end` (timestamp) | `limit` (int) | | |---------------------|-------------------|---------------|-| | `"2018-01-01T00:00:00"` | `"2018-01-02T00:00:00"` | 10 | Queries up to 10 trades between January 1st, 2018 and January 2nd, 2018. | - + Also see: [market_history_api.get_trade_history]({{ '/apidefinitions/#market_history_api.get_trade_history' | relative_url }}) parameter_json: - '1970-01-01T00:00:00' @@ -1895,9 +1896,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_trade_history", "params":["2018-01-01T00:00:00","2018-01-02T00:00:00",10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trade-history)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-trade-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trade-history)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-trade-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_transaction purpose: | Returns the details of a transaction based on a transaction id. Parameters: `trx_id:string` @@ -1905,7 +1906,7 @@ | `trx_id` (string) | | |-------------------|-| | `"6fde0190a97835ea6d9e651293e90c89911f933c"` | Queries for this exact transaction id. | - + Also see: [account_history_api.get_transaction]({{ '/apidefinitions/#account_history_api.get_transaction' | relative_url }}) parameter_json: - '' @@ -1925,13 +1926,13 @@ expected_curl_responses: - account_history_api_plugin not enabled client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-transaction)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-transaction)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-transaction)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-transaction)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_transaction_hex purpose: | Returns a hexdump of the serialized binary form of a transaction. - + Also see: [database_api.get_transaction_hex]({{ '/apidefinitions/#database_api.get_transaction_hex' | relative_url }}) parameter_json: - ref_block_num: 0 @@ -1945,9 +1946,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_transaction_hex", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-transaction-hex)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-transaction-hex)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-transaction-hex)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-transaction-hex)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_trending_tags purpose: | Returns the list of trending tags. Parameter: `start_tag:string`; `limit:int` up to 100 @@ -1956,7 +1957,7 @@ |----------------|---------------|-| | `null` | 100 | Queries the top 100 trending tags. | | `"hive"` | 10 | Queries the tags after "hive", up to 10 tags. | - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_trending_tags' | relative_url }}) parameter_json: - '' @@ -1974,14 +1975,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_trending_tags", "params":["hive",10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trending-tags)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-trending-tags)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trending-tags)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-trending-tags)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/tags)" - api_method: condenser_api.get_version purpose: | Returns the versions of blockchain, hive, and FC. - + Also see: [database_api.get_version]({{ '/apidefinitions/#database_api.get_version' | relative_url }}), [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_trending_tags' | relative_url }}) parameter_json: [] expected_response_json: @@ -1991,9 +1992,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_version", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-version)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-version)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-version)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-version)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_vesting_delegations since: HF17 purpose: | @@ -2002,7 +2003,7 @@ | `delegator_account` (string) | `start_account` (string) | `limit` (int) | | |------------------------------|--------------------------|---------------|-| | `"hiveio"` | `null` | `10` | Queries up to 10 vesting delegations by "hiveio". | - + Also see: [database_api.list_vesting_delegations]({{ '/apidefinitions/#database_api.list_vesting_delegations' | relative_url }}), [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_vesting_delegations' | relative_url }}) parameter_json: - '' @@ -2018,14 +2019,14 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_vesting_delegations", "params":["hiveio",null,10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-vesting-delegations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-vesting-delegations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)" - api_method: condenser_api.get_volume purpose: | Returns the market volume for the past 24 hours. - + Also see: [market_history_api.get_volume]({{ '/apidefinitions/#market_history_api.get_volume' | relative_url }}) parameter_json: [] expected_response_json: @@ -2034,9 +2035,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_volume", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-volume)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-volume)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-volume)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-volume)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_withdraw_routes purpose: | Returns the withdraw routes for an account. Parameters: `account:string`; `type:string` @@ -2046,7 +2047,7 @@ | `"hiveio"` | `"outgoing"` | Queries outgoing withdraw routes by "hiveio". | | `"hiveio"` | `"incoming"` | Queries incoming withdraw routes by "hiveio". | | `"hiveio"` | `"all"` | Queries all withdraw routes by "hiveio". | - + Also see: [database_api.list_withdraw_vesting_routes]({{ '/apidefinitions/#database_api.list_withdraw_vesting_routes' | relative_url }}) parameter_json: - '' @@ -2065,9 +2066,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_withdraw_routes", "params":["hiveio","all"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-withdraw-routes)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-withdraw-routes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-withdraw-routes)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-withdraw-routes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_witness_by_account purpose: | Returns the witness of an account. Parameters: `account:string` @@ -2075,7 +2076,7 @@ | `account` (string) | | |--------------------|-| | `"hiveio"` | Queries witness account of "hiveio" (of `null` if none exists). | - + Also see: [database_api.list_witnesses]({{ '/apidefinitions/#database_api.list_witnesses' | relative_url }}) parameter_json: - '' @@ -2109,25 +2110,25 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_witness_by_account", "params":["hiveio"], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-by-account)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-by-account)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-by-account)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-by-account)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: condenser_api.get_witness_count - purpose: + purpose: parameter_json: [] expected_response_json: 0 curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.get_witness_count", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-count)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-count)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-count)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-count)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_witness_schedule purpose: | Returns the current witness schedule. - + Also see: [database_api.get_witness_schedule]({{ '/apidefinitions/#database_api.get_witness_schedule' | relative_url }}) parameter_json: [] expected_response_json: @@ -2153,13 +2154,13 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_witness_schedule", "params":[], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-schedule)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-schedule)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-schedule)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-schedule)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_witnesses purpose: | Returns current witnesses. - + Also see: [database_api.list_witnesses]({{ '/apidefinitions/#database_api.list_witnesses' | relative_url }}) parameter_json: - - 0 @@ -2168,10 +2169,10 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_witnesses", "params":[[28]], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witnesses)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witnesses)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: condenser_api.get_witnesses_by_vote purpose: | Returns current witnesses by vote. Parameters: `start_name:string`; `limit:int` up to 1000 @@ -2180,7 +2181,7 @@ |--------------------|---------------|-| | `null` | `21` | Queries top 21 witness votes. | | `"a"` | `1` | Queries top 10 witness votes starting with "a". | - + Also see: [database_api.list_witnesses]({{ '/apidefinitions/#database_api.list_witnesses' | relative_url }}) parameter_json: - '' @@ -2192,19 +2193,18 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_witnesses_by_vote", "params":["a", 1], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses-by-vote)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witnesses-by-vote)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses-by-vote)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witnesses-by-vote)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: condenser_api.lookup_account_names purpose: | Looks up account names. Parameters: `accounts:[string]`; `delayed_votes_active:boolean` - + Also see: [database_api.find_accounts]({{ '/apidefinitions/#database_api.find_accounts' | relative_url }}) parameter_json: - - - - hiveio - - true + - - hiveio + - true expected_response_json: | { "id": 1370484, @@ -2333,9 +2333,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.lookup_account_names", "params":[["hiveio"]], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.lookup_account_names", "params":[["hiveio"], false], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#lookup-account-names)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#lookup-account-names)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#lookup-account-names)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#lookup-account-names)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.lookup_accounts purpose: | Looks up accounts starting with name. Parameters`lower_bound_name:string`; `limit:int` up to 1000 @@ -2343,7 +2343,7 @@ | `lower_bound_name` (string) | `limit` (int) | | |--------------------|---------------|-| | `"a"` | 10 | Queries up to 10 accounts that start with "a". - + Also see: [database_api.list_accounts]({{ '/apidefinitions/#database_api.list_accounts' | relative_url }}) parameter_json: - '' @@ -2353,9 +2353,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.lookup_accounts", "params":["a",10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#lookup-accounts)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#lookup-accounts)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#lookup-accounts)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#lookup-accounts)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.lookup_witness_accounts purpose: | Looks up witness accounts starting with name. Parameters: `lower_bound_name:string`; `limit:int` up to 1000 @@ -2363,7 +2363,7 @@ | `lower_bound_name` (string) | `limit` (int) | | |--------------------|---------------|-| | `"a"` | 10 | Queries up to 10 witnesses that start with "a". - + Also see: [database_api.list_witnesses]({{ '/apidefinitions/#database_api.list_witnesses' | relative_url }}) parameter_json: - '' @@ -2373,15 +2373,15 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.lookup_witness_accounts", "params":["a",10], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#lookup-witness-accounts)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#lookup-witness-accounts)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#lookup-witness-accounts)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#lookup-witness-accounts)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: condenser_api.verify_account_authority disabled: true purpose: | **Not Implemented** - + Also see: [database_api.verify_account_authority]({{ '/apidefinitions/#database_api.verify_account_authority' | relative_url }}) parameter_json: - '' @@ -2393,13 +2393,13 @@ expected_curl_responses: - Missing Active Authority hiveio client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-account-authority)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#verify-account-authority)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-account-authority)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#verify-account-authority)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.verify_authority purpose: | Returns true if the transaction has all of the required signatures. - + Also see: [database_api.verify_authority]({{ '/apidefinitions/#database_api.verify_authority' | relative_url }}) parameter_json: - ref_block_num: 0 @@ -2413,9 +2413,9 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.verify_authority", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-authority)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#verify-authority)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-authority)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#verify-authority)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_account_references disabled: true purpose: | @@ -2423,12 +2423,12 @@ parameter_json: "[]" expected_response_json: "[]" client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-references)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-references)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.find_proposals purpose: | Finds proposals by `proposal.id` (not `proposal.proposal_id`). - + Also see: [database_api.find_proposals]({{ '/apidefinitions/#database_api.find_proposals' | relative_url }}) parameter_json: "[0]" expected_response_json: | @@ -2450,12 +2450,12 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.find_proposals", "params":[[0]], "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)" - api_method: condenser_api.list_proposal_votes purpose: | Returns all proposal votes, starting with the specified voter or `proposal.id`. Parameters: `start:array`; `limit:int`; `order:string`; `order_direction:string`; `status:string` - + * `start` depends on `order` (see below) * `voter` - voter of the proposal (account name string) * `proposal.id` - id the proposal (int) @@ -2472,12 +2472,12 @@ * `active` * `expired` * `votable` - + | `start` (array) | `limit` (int) | `order` (string) | `order_direction` (string) | `status` (string) | | |-------------------|-|-|-|-|-| | `["alice"]` | 10 | `by_voter_proposal` | `ascending` | `active` | list 10 proposals with active status, ordered by voter, ascending | | `[10]` | 1000 | `by_proposal_voter` | `ascending` | `votable` | list 1000 votes on proposal 10, ordered by `proposal.id`, ascending | - + Also see: [datbase_api.list_proposals]({{ '/apidefinitions/#database_api.list_proposal_votes' | relative_url }}) parameter_json: '[[],0,"by_name","ascending","all"]' expected_response_json: | @@ -2506,12 +2506,12 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.list_proposal_votes", "params":[[""], 10, "by_voter_proposal", "ascending", "active"], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.list_proposal_votes", "params":[[0], 10, "by_proposal_voter", "ascending", "active"], "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposalsapprovals)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposalsapprovals)" - api_method: condenser_api.list_proposals purpose: | Returns all proposals, starting with the specified creator or start date. Parameters: `start:array`; `limit:int`; `order:string`; `order_direction:string`; `status:string` - + * `start` depends on `order` (see below) * `creator` - creator of the proposal (account name string) * `start_date` - start date of the proposal (date string) @@ -2532,7 +2532,7 @@ * `active` * `expired` * `votable` - + | `start` (array) | `limit` (int) | `order` (string) | `order_direction` (string) | `status` (string) | | |-------------------|-|-|-|-|-| | `[""]` | 10 | `by_creator` | `ascending` | `active` | list 10 proposals with active status, ordered by creator, ascending | @@ -2541,7 +2541,7 @@ | `["alice"]` | 10 | `by_creator` | `ascending` | `all` | list 10 proposals with any status, ordered by creator, ascending, by alice | | `[""]` | 1000 | `by_creator` | `ascending` | `votable` | list 1000 votable proposals, ordered by creator, ascending | | `[10]` | 1000 | `by_total_votes` | `ascending` | `votable` | list 1000 votable proposals, ordered by creator, ascending, having at least 10 votes | - + Also see: [datbase_api.list_proposals]({{ '/apidefinitions/#database_api.list_proposals' | relative_url }}) parameter_json: '[[],0,"by_name","ascending","all"]' expected_response_json: | @@ -2570,13 +2570,16 @@ client_docs: - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)' + client_docs: + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)" - api_method: condenser_api.is_known_transaction since: HF25 purpose: | Only return true *if* the transaction has not expired or been invalidated. If this method is called with a VERY old transaction we will return false, use `account_history_api.get_transaction`. - + Also see: [transaction_status_api.find_transaction]({{ '/apidefinitions/#transaction_status_api.find_transaction' | relative_url }}), [account_history_api.get_transaction]({{ '/apidefinitions/#account_history_api.get_transaction' | relative_url }}) parameter_json: '["0000000000000000000000000000000000000000"]' expected_response_json: 'false' @@ -2593,4 +2596,30 @@ parameter_json: "[]" expected_response_json: "[]" client_docs: - - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txcollateralizedconverts-hf25)' + - '[hive-js](https://gitlab.syncad.com/hive/hive-js/-/blob/master/doc/README.md#collateralized-convert)' + - "[hivesql](https://docs.hivesql.io/technical-informations/operations/txcollateralizedconverts-hf25)" + - api_method: condenser_api.find_recurrent_transfers + since: HF25 + purpose: | + Finds transfers of any liquid asset every fixed amount of time from one account to another. + + Also see: [recurrent_transfer_operation]({{ '/apidefinitions/#broadcast_ops_recurrent_transfer' | relative_url }}) + parameter_json: '[""]' + expected_response_json: | + [ + { + "id": 3, + "trigger_date": "2021-07-02T18:11:51", + "from": "alice", + "to": "bob", + "amount": {"amount": "1000", "precision": 3, "nai": "@@000000021"}, + "memo": "Payroll", + "recurrence": 26, + "consecutive_failures": 0, + "remaining_executions": 3 + } + ] + curl_examples: + - '{"jsonrpc":"2.0", "method":"condenser_api.find_recurrent_transfers", "params":["alice"], "id":1}' + client_docs: + - "[hivesql](https://docs.hivesql.io/technical-informations/operations/txrecurrenttransfers-hf25)" diff --git a/_data/apidefinitions/database_api.yml b/_data/apidefinitions/database_api.yml index 94b89eb8b9c4f3e012e270f5e8b54ff24c36af7f..fe75dd871c7baf59c57ce369e8899065a8be75a8 100644 --- a/_data/apidefinitions/database_api.yml +++ b/_data/apidefinitions/database_api.yml @@ -30,9 +30,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_account_recovery_requests", "params": {"accounts":["hiveio"]}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recovery-request)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recovery-request)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_accounts purpose: | Returns accounts, queried by name. Parameters: `account:string array`; `delayed_votes_active:boolean` @@ -41,7 +41,7 @@ |-------------------|-| | `["hiveio"]` | | Queries for account named "hiveio". | | `["hiveio", "alice"]` | false | Queries for accounts named "hiveio" and "alice" with `delayed_votes` hidden. | - parameter_json: '{"accounts":[], "delayed_votes_active": true}' + parameter_json: '{"accounts":[],"delayed_votes_active":true}' expected_response_json: | { "accounts": [ @@ -217,10 +217,10 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_accounts", "params": {"accounts":["hiveio"]}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_accounts", "params": {"accounts":["hiveio", "alice"], "delayed_votes_active": false}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-accounts)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.get_all_accounts)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/accounts)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-accounts)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.get_all_accounts)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/accounts)" - api_method: database_api.find_change_recovery_account_requests since: HF11 purpose: | @@ -244,9 +244,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_change_recovery_account_requests", "params": {"accounts":["hiveio"]}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.find_change_recovery_account_requests)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.find_change_recovery_account_requests)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_comments purpose: Search for comments by author/permlink. parameter_json: '{"comments":[["author", "permlink"]]}' @@ -255,9 +255,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_comments", "params": {"comments":[["hiveio", "around-the-hive-reflections"]]}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_comments", "params": {"comments":[["alice", "a-post-by-alice"]]}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_decline_voting_rights_requests since: HF14 purpose: Returns a list of requests to decline voting rights. @@ -266,7 +266,7 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_decline_voting_rights_requests", "params": {"accounts":["temp","null"]}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_escrows since: HF14 purpose: Returns a list of escrows. @@ -306,9 +306,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_escrows", "params": {"from": "temp"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-escrow)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-escrow)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-escrow)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-escrow)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_limit_orders purpose: Returns a list of limit orders. parameter_json: '{"account":""}' @@ -340,7 +340,7 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_limit_orders", "params": {"account":"temp"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_owner_histories purpose: | Returns owner authority history. Parameters: `owner:string` @@ -355,9 +355,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_owner_histories", "params": {"owner":"hiveio"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_owner_histories", "params": {"owner":"alice"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-owner-history)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-owner-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-owner-history)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-owner-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_savings_withdrawals since: HF14 purpose: | @@ -367,14 +367,13 @@ |--------------------|-| | `"hiveio"` | Queries the savings withdraw for account named "hiveio". | parameter_json: '{"start":null,"limit":0,"order":"by_name"}' - parameter_json: '{"account":""}' expected_response_json: '{"withdrawals":[]}' # TODO - recheck in HF23 curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_savings_withdrawals", "params": {"start":"temp"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-from)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-savings-withdraw-from)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-from)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-savings-withdraw-from)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_hbd_conversion_requests purpose: | Returns the list of HBD conversion requests for an account. Parameters: `account:string` @@ -389,7 +388,7 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_hbd_conversion_requests", "params": {"account":"hiveio"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_hbd_conversion_requests", "params": {"account":"alice"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_vesting_delegation_expirations since: HF17 purpose: | @@ -419,10 +418,10 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_vesting_delegation_expirations", "params": {"account":"hiveio"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_vesting_delegation_expirations", "params": {"account":"alice"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_expiring_vesting_delegations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_expiring_vesting_delegations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)" - api_method: database_api.find_vesting_delegations since: HF17 purpose: | @@ -453,10 +452,10 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_vesting_delegations", "params": {"account":"hiveio"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_vesting_delegations", "params": {"account":"alice"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_vesting_delegations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_vesting_delegations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)" - api_method: database_api.find_votes purpose: | Returns all votes for the given post. Required (non-empty) parameters: `author:string`; `permlink:string` @@ -486,12 +485,12 @@ - '{"jsonrpc":"2.0", "method":"database_api.find_votes", "params": {"author":"hiveio", "permlink":"announcing-the-launch-of-hive-blockchain"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.find_votes", "params": {"author":"alice", "permlink":"a-post-by-alice"}, "id":1}' expected_curl_responses: - - + - - Could not find comment alice/a-post-by-alice client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_account_votes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_account_votes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_withdraw_vesting_routes purpose: Returns the list of vesting withdraw routes for an account. parameter_json: '{"account":"","order":"by_name"}' @@ -510,9 +509,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_withdraw_vesting_routes", "params": {"account":"temp", "order":"by_destination"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-withdraw-routes)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_withdraw_routes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-withdraw-routes)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_withdraw_routes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_witnesses purpose: Search for witnesses. parameter_json: '{"owners":[]}' @@ -568,10 +567,10 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_witnesses", "params": {"owners":["initminer"]}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-witnesses)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-witnesses)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: database_api.get_active_witnesses purpose: Returns the list of active witnesses. parameter_json: "{}" @@ -604,10 +603,10 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_active_witnesses", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-witnesses)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-witnesses)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-witnesses)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-witnesses)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: database_api.get_config purpose: | Returns information about compile-time constants. Some properties may @@ -884,9 +883,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_config", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-config)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-config)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-config)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-config)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_current_price_feed purpose: Returns the current price feed. parameter_json: "{}" @@ -906,9 +905,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_current_price_feed", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-current-median-history-price)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_median_price)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-current-median-history-price)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_median_price)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_dynamic_global_properties purpose: | Returns the current dynamic global properties. See: [Understanding @@ -1013,10 +1012,10 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_dynamic_global_properties", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-dynamic-global-properties)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_dynamic_global_properties)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/dynamicglobalproperties)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-dynamic-global-properties)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_dynamic_global_properties)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/dynamicglobalproperties)" - api_method: database_api.get_feed_history purpose: Returns the history of price feed values. parameter_json: "{}" @@ -1040,13 +1039,13 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_feed_history", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-current-median-history-price)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_median_price)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-current-median-history-price)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_median_price)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_hardfork_properties purpose: | Returns the current properties about the blockchain's hardforks. - + See: [condenser_api.get_next_scheduled_hardfork]({{ '/apidefinitions/#condenser_api.get_next_scheduled_hardfork' | relative_url }}), [hardfork]({{ '/apidefinitions/#broadcast_ops_hardfork' | relative_url }}) parameter_json: "{}" expected_response_json: | @@ -1077,19 +1076,21 @@ "2019-08-27T15:00:00", "2019-08-29T15:00:00", "2020-03-20T14:00:00", - "2020-10-06T14:00:00" + "2020-10-06T14:00:00", + "2021-06-30T14:00:00" ], - "last_hardfork": 24, - "current_hardfork_version": "1.24.0", - "next_hardfork": "1.24.0", - "next_hardfork_time": "2020-10-06T14:00:00" + "last_hardfork": 25, + "current_hardfork_version": "1.25.0", + "next_hardfork": "1.25.0", + "next_hardfork_time": "2021-06-30T14:00:00" } curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_hardfork_properties", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-hardfork-version)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_hardfork_properties)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-hardfork-version)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchaininstance.html#beem.blockchaininstance.BlockChainInstance.get_hardfork_properties)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/database-diagram#blocks-and-transactions)" - api_method: database_api.get_order_book purpose: Returns the order book. parameter_json: '{"limit":0,"base":{"amount":"1000","precision":3,"nai":"@@000000021"},"quote":{"amount":"1","precision":3,"nai":"@@000000013"}}' @@ -1100,8 +1101,8 @@ - '{"jsonrpc":"2.0", "method":"database_api.get_order_book", "params":{"limit":50,"base":{"amount":"1000","precision":3,"nai":"@@000000021"},"quote":{"amount":"1","precision":3,"nai":"@@000000013"}}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-order-book)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-order-book)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_potential_signatures purpose: | This method will return the set of all public keys that could possibly @@ -1114,9 +1115,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.get_potential_signatures", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}}],"extensions":[],"signatures":[]}}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-potential-signatures)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-potential-signatures)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-potential-signatures)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-potential-signatures)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_required_signatures purpose: This API will take a partially signed transaction and a set of public keys that the owner has the ability to sign for and return the minimal subset @@ -1127,9 +1128,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.get_required_signatures", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}}],"extensions":[],"signatures":[]},"available_keys":[]}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-required-signatures)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-required-signatures)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-required-signatures)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-required-signatures)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_reward_funds since: HF17 purpose: Returns information about the current reward funds. @@ -1158,9 +1159,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_reward_funds", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reward-fund)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reward-fund)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reward-fund)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reward-fund)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_transaction_hex purpose: Returns a hexdump of the serialized binary form of a transaction. parameter_json: '{"trx":{"ref_block_num":0,"ref_block_prefix":0,"expiration":"1970-01-01T00:00:00","operations":[],"extensions":[],"signatures":[]}}' @@ -1169,9 +1170,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.get_transaction_hex", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}}],"extensions":[],"signatures":[]}}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-transaction-hex)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-transaction-hex)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-transaction-hex)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-transaction-hex)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_version since: HF20 purpose: Returns the compile time versions of blockchain, hived, FC. Also returns @@ -1188,9 +1189,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_version", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-version)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-version)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-version)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-version)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_witness_schedule purpose: Returns the current witness schedule. parameter_json: "{}" @@ -1270,10 +1271,10 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_witness_schedule", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-schedule)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-schedule)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witness-schedule)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-witness-schedule)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: database_api.list_account_recovery_requests since: HF11 purpose: | @@ -1294,9 +1295,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_account_recovery_requests", "params": {"start":"", "limit":10, "order":"by_account"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_account_recovery_requests", "params": {"start":["1960-01-01T00:00:00"], "limit":10, "order":"by_expiration"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recovery-request)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recovery-request)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_accounts purpose: | List accounts ordered by specified key. Parameters: `start:object`, `limit:int`, `order:string`, `delayed_votes_active:boolean` @@ -1483,9 +1484,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_accounts", "params": {"start":["", ""], "limit":10, "order":"by_proxy"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_accounts", "params": {"start":["1960-01-01T00:00:00", ""], "limit":10, "order":"by_next_vesting_withdrawal","delayed_votes_active":false}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-accounts)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.get_all_accounts)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-accounts)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.get_all_accounts)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_change_recovery_account_requests since: HF11 purpose: | @@ -1521,9 +1522,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_change_recovery_account_requests", "params": {"start":"alice", "limit":10, "order":"by_account"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_change_recovery_account_requests", "params": {"start":["1960-01-01T00:00:00",""], "limit":10, "order":"by_effective_date"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.list_change_recovery_account_requests)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recovery-request)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.blockchain.html#beem.blockchain.Blockchain.list_change_recovery_account_requests)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_comments purpose: | Returns all comments, starting with the specified options. Parameters: `start:array`; `limit:int`; `order:string` @@ -1543,7 +1544,7 @@ * `start` is an array of four required values (two optionally blank): `parent_author`, `update_time`, `start_author`, `permlink` * `by_author_last_update` - order by author's last update * `start` is an array of four required values (two optionally blank): `parent_author`, `update_time`, `start_author`, `permlink` - + | `start` (array) | `limit` (int) | `order` (string) | | |----------------------------|---------------|-| | `["1970-01-01T00:00:00", "", ""]` | 10 | `"by_cashout_time"` | Queries first 10 comments, sort by cashout time | @@ -1617,9 +1618,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_comments", "params": {"start":["hiveio","1970-01-01T00:00:00","",""], "limit":10, "order":"by_last_update"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_comments", "params": {"start":["hiveio","1970-01-01T00:00:00","",""], "limit":10, "order":"by_author_last_update"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-created)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.comment.html#module-beem.comment)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-created)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.comment.html#module-beem.comment)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_decline_voting_rights_requests since: HF14 purpose: | @@ -1645,7 +1646,7 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_decline_voting_rights_requests", "params": {"start":"", "limit":10, "order":"by_account"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_decline_voting_rights_requests", "params": {"start":["1970-01-01T00:00:00","",""], "limit":10, "order":"by_effective_date"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_escrows since: HF14 purpose: | @@ -1702,9 +1703,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_escrows", "params": {"start":["",0], "limit":10, "order":"by_from_id"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_escrows", "params": {"start":[true, "1970-01-01T00:00:00", 0], "limit":10, "order":"by_ratification_deadline"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-escrow)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_escrow)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-escrow)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_escrow)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_limit_orders purpose: | Returns a list of limit orders. Parameters: `start:array`; `limit:int`; `order:string` @@ -1753,7 +1754,7 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_limit_orders", "params": {"start":[{"base":{"amount":"1000","precision":3,"nai":"@@000000021"},"quote":{"amount":"1","precision":3,"nai":"@@000000013"}},0], "limit":10, "order":"by_price"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_limit_orders", "params": {"start":["alice",0], "limit":10, "order":"by_account"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_owner_histories purpose: | Returns a list of owner authority histories. Parameters: `start:array`, `limit:int` @@ -1789,9 +1790,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_owner_histories", "params": {"start":["hiveio","1970-01-01T00:00:00"], "limit":10}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_owner_histories", "params": {"start":["alice","1970-01-01T00:00:00"], "limit":10}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-owner-history)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_owner_history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-owner-history)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_owner_history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_savings_withdrawals since: HF14 purpose: | @@ -1837,9 +1838,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_savings_withdrawals", "params": {"start":["2018-12-07T16:54:03", "hiveio", 0], "limit":10, "order":"by_complete_from_id"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_savings_withdrawals", "params": {"start":["", "1970-01-01T00:00:00", 0], "limit":10, "order":"by_to_complete"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-from)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_savings_withdrawals)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-savings-withdraw-from)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_savings_withdrawals)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_hbd_conversion_requests purpose: | Returns the list of HBD conversion requests for an account. Parameters: `start:array`, `limit:int`, `order:string` @@ -1878,9 +1879,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_hbd_conversion_requests", "params": {"start":["hiveio", 0], "limit":10, "order":"by_account"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_hbd_conversion_requests", "params": {"start":["2018-12-07T16:54:03", 0], "limit":10, "order":"by_conversion_date"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-conversion-requests)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_conversion_requests)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-conversion-requests)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_conversion_requests)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_vesting_delegation_expirations since: HF17 purpose: | @@ -1919,10 +1920,10 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_vesting_delegation_expirations", "params": {"start":["1970-01-01T00:00:00",0], "limit":10, "order":"by_expiration"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_vesting_delegation_expirations", "params": {"start":["alice", "1970-01-01T00:00:00",0], "limit":10, "order":"by_account_expiration"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_expiring_vesting_delegations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_expiring_vesting_delegations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)" - api_method: database_api.list_vesting_delegations since: HF17 purpose: | @@ -1958,10 +1959,10 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.list_vesting_delegations", "params": {"start":["",""], "limit":10, "order":"by_delegation"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_expiring_vesting_delegations)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-vesting-delegations)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_expiring_vesting_delegations)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/delegations)" - api_method: database_api.list_votes purpose: | Returns all votes, starting with the specified voter and/or author and permlink. Parameters: `start:array`; `limit:int`; `order:string` @@ -2007,9 +2008,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_votes", "params": {"start":["", "", "hiveio"], "limit":10, "order":"by_comment_voter"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_votes", "params": {"start":["alice", "xeroc", "vanteem-config"], "limit":10, "order":"by_voter_comment"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.vote.html#beem.vote.AccountVotes)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.vote.html#beem.vote.AccountVotes)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_withdraw_vesting_routes purpose: | Returns a list of vesting withdraw routes. Parameters: `start:array`; `limit:int`; `order:string` @@ -2045,9 +2046,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_withdraw_vesting_routes", "params": {"start":["temp",""], "limit":10, "order":"by_withdraw_route"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_withdraw_vesting_routes", "params": {"start":["",0], "limit":10, "order":"by_destination"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-withdraw-routes)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.withdraw_vesting)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-withdraw-routes)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.withdraw_vesting)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_witness_votes purpose: | Returns a list of witness votes. Parameters: `start:array`; `limit:int`; `order:string` @@ -2081,10 +2082,10 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_witness_votes", "params": {"start":["",""], "limit":10, "order":"by_account_witness"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_witness_votes", "params": {"start":["",""], "limit":10, "order":"by_witness_account"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses-by-vote)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.witness.html#beem.witness.WitnessesRankedByVote)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses-by-vote)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.witness.html#beem.witness.WitnessesRankedByVote)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: database_api.list_witnesses purpose: | Returns the list of witnesses. Parameters: `start:object`; `limit:int`; `order:string` @@ -2161,10 +2162,10 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_witnesses", "params": {"start":[0,""], "limit":10, "order":"by_vote_name"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_witnesses", "params": {"start":["473718186844702107410533306","alice"], "limit":10, "order":"by_schedule_time"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses-by-vote)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.witness.html#beem.witness.WitnessesRankedByVote)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-witnesses-by-vote)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.witness.html#beem.witness.WitnessesRankedByVote)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/witnesses)" - api_method: database_api.verify_account_authority disabled: true purpose: | @@ -2176,9 +2177,9 @@ expected_curl_responses: - Missing Active Authority hiveio client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-account-authority)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.verify_account_authority)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-account-authority)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.verify_account_authority)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.verify_authority purpose: | Returns true if the transaction has all of the required signatures, @@ -2189,9 +2190,9 @@ - '{"jsonrpc":"2.0", "method":"database_api.verify_authority", "params":{"trx":{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[{"type":"pow_operation","value":{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}}],"extensions":[],"signatures":[]}}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-authority)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.transactionbuilder.html#beem.transactionbuilder.TransactionBuilder.verify_authority)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#verify-authority)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.transactionbuilder.html#beem.transactionbuilder.TransactionBuilder.verify_authority)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.verify_signatures purpose: This is a general purpose API that checks signatures against accounts for an arbitrary sha256 hash using the existing authority structures. @@ -2200,7 +2201,7 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.verify_signatures", "params":{"hash": "0000000000000000000000000000000000000000000000000000000000000000", "signatures": [], "required_owner": [], "required_active": [], "required_posting": [], "required_other": []}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_proposals purpose: | Finds proposals by `proposal.id` (not `proposal.proposal_id`). @@ -2226,8 +2227,8 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_proposals", "params":{"proposal_ids": [0]}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)" - api_method: database_api.list_proposal_votes purpose: | Returns all proposal votes, starting with the specified voter or `proposal.id`. Parameters: `start:array`; `limit:int`; `order:string`; `order_direction:string`; `status:string` @@ -2282,8 +2283,8 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_proposal_votes", "params":{"start": [""], "limit": 10, "order": "by_voter_proposal", "order_direction": "ascending", "status": "active"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_proposal_votes", "params":{"start": [0], "limit": 10, "order": "by_proposal_voter", "order_direction": "ascending", "status": "active"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposalsapprovals)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposalsapprovals)" - api_method: database_api.list_proposals purpose: | Returns all proposals, starting with the specified creator or start date. Parameters: `start:array`; `limit:int`; `order:string`; `order_direction:string`; `status:string` @@ -2317,7 +2318,11 @@ | `["alice"]` | 10 | `by_creator` | `ascending` | `all` | list 10 proposals with any status, ordered by creator, ascending, by alice | | `[""]` | 1000 | `by_creator` | `ascending` | `votable` | list 1000 votable proposals, ordered by creator, ascending | | `[10]` | 1000 | `by_total_votes` | `ascending` | `votable` | list 1000 votable proposals, ordered by creator, ascending, having at least 10 votes | - + + ##### Proposal Structure: + + {% include structures/proposal.html %} + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#database_apilist_proposals' | relative_url }}) parameter_json: '{"start":null,"limit":0,"order":"by_name","order_direction":"ascending","status":"all"}' expected_response_json: | @@ -2348,13 +2353,13 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_proposals", "params":{"start": [""], "limit": 1000, "order": "by_creator", "order_direction": "ascending", "status": "votable"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_proposals", "params":{"start": [10], "limit": 1000, "order": "by_total_votes", "order_direction": "ascending", "status": "votable"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - - '[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" + - "[hivesql](https://docs.hivesql.io/technical-informations/state-tables/proposals)" - api_method: database_api.find_smt_contributions since: Mysterious Future purpose: | Find SMT contributions. Contributions are needed to track individual contributions on an SMT during the ICO phase. - + See: [Token Units]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#token-units), [Vesting Contributions]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#vesting-contributions) parameter_json: '{"symbol_contributors":[]}' expected_response_json: | # TODO - recheck in HF23 @@ -2377,36 +2382,36 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_smt_contributions", "params":{"symbol_contributors": []}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_smt_token_emissions since: Mysterious Future purpose: | Find SMT emissions. - + See: [Content Rewards]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#content-rewards), [Qualitative Discussion]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#qualitative-discussion) parameter_json: '{"asset_symbol":{"nai":"@@422838704","precision":0}}' expected_response_json: '{"token_emissions":[]}' # TODO - recheck in HF23 curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_smt_token_emissions", "params":{"asset_symbol":{"nai":"@@422838704","precision":0}}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.find_smt_tokens since: Mysterious Future purpose: | Find SMT. - + See: [Smart Media Tokens (SMTs)]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#smart-media-tokens-smts) parameter_json: '{"symbols":[],"ignore_precision":false}' expected_response_json: '{"tokens":[]}' # TODO - recheck in HF23 curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.find_smt_tokens", "params":{"symbols":[],"ignore_precision":false}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_nai_pool since: Mysterious Future purpose: | Return an array of Numeric Asset Identifier (NAI) available to be used for new SMT to be created. - + See: [Numerical Asset Identifiers]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#numerical-asset-identifiers) parameter_json: "{}" expected_response_json: | @@ -2457,25 +2462,25 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.get_nai_pool", "params":{}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_smt_contributions since: Mysterious Future purpose: | List SMT contributions. Contributions are needed to track individual contributions on an SMT during the ICO phase. Parameters: `start:array`; `limit:int`; `order:string` - + * `start` depends on `order` (see below) * `limit` is up to 1000. * `order` can be one of: * `by_symbol_id` - order by symbol * `by_symbol_contributor` - order by `symbol`, `contributor`, and `contribution_id` - + | `start` (array) | `limit` (int) | `order` (string) | |-------------------|-|-|-|-|-| | `[{"nai": "@@422838704", "precision": 0}, 0]` | 10 | `by_symbol_id` | list 10 contributions, ordered by symbol, id | | `[{"nai": "@@422838704", "precision": 0}, "alice", 0]` | 10 | `by_symbol_contributor` | list 10 contributions, ordered by symbol, contributor, id | - + See: [Token Units]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#token-units), [Vesting Contributions]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#vesting-contributions) - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#database_apilist_smt_contributions' | relative_url }}) parameter_json: '{"start":null,"limit":0,"order":"by_symbol_id"}' expected_response_json: | # TODO - recheck in HF23 @@ -2499,23 +2504,23 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_smt_contributions", "params":{"start":[{"nai": "@@422838704", "precision": 0}, 0],"limit":10,"order":"by_symbol_id"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_smt_contributions", "params":{"start":[{"nai": "@@422838704", "precision": 0}, "alice", 0],"limit":10,"order":"by_symbol_contributor"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_smt_token_emissions since: Mysterious Future purpose: | List SMT emissions. Parameters: `start:array`; `limit:int`; `order:string` - + * `start` depends on `order` (see below) * `limit` is up to 1000. * `order` can be one of: * `by_symbol_time` - order by symbol and time - + | `start` (array) | `limit` (int) | `order` (string) | |-------------------|-|-|-|-|-| | `[{"nai": "@@422838704", "precision": 0}, "2019-08-07T16:54:03"]` | 10 | `by_symbol_time` | list 10 emissions, ordered by symbol, timestamp | - + See: [Content Rewards]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#content-rewards), [Qualitative Discussion]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#qualitative-discussion) - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#database_apilist_smt_token_emissions' | relative_url }}) parameter_json: '{"start":null,"limit":0,"order":"by_symbol_time"}' expected_response_json: | @@ -2552,26 +2557,26 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"database_api.list_smt_token_emissions", "params":{"start":[{"nai": "@@422838704", "precision": 0}, "2019-08-07T16:54:03"],"limit":10,"order":"by_symbol_time"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.list_smt_tokens since: Mysterious Future purpose: | List SMTs. Parameters: `start:object`; `limit:int`; `order:string` - + * `start` depends on `order` (see below) * `limit` is up to 1000. * `order` can be one of: * `by_symbol` - order by symbol * `by_control_account` - order by control account - + | `start` (object) | `limit` (int) | `order` (string) | |-------------------|-|-|-|-|-| | `{"nai": "@@422838704", "precision": 0}` | 10 | `by_symbol` | list 10 tokens, ordered by symbol | | `""` | 10 | `by_control_account` | list 10 tokens, ordered by control account | | `["", {"nai": "@@422838704", "precision": 0}]` | 10 | `by_control_account` | list 10 tokens, ordered by control account, symbol | - + See: [Smart Media Tokens (SMTs)]({{ 'https://github.com/steemit/smt-whitepaper/blob/master/smt-manual/manual.md' | archived_url }}#smart-media-tokens-smts) - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#database_apilist_smt_tokens' | relative_url }}) parameter_json: '{"start":null,"limit":0,"order":"by_symbol"}' expected_response_json: | @@ -2632,15 +2637,15 @@ - '{"jsonrpc":"2.0", "method":"database_api.list_smt_tokens", "params":{"start":"","limit":10,"order":"by_control_account"}, "id":1}' - '{"jsonrpc":"2.0", "method":"database_api.list_smt_tokens", "params":{"start":["", {"nai": "@@422838704", "precision": 0}],"limit":10,"order":"by_control_account"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: database_api.get_comment_pending_payouts purpose: | Get comment pending payout data. - + **Parameters:** - + * `comments` - author/permlink - + | `comments` (array:string) | | |---------------------------|-| | `[["hbd.funder", "upvote-this-post-to-fund-hbdstabilizer-qr2j7n"]]` | Returns comment info for a single post. | @@ -2699,12 +2704,13 @@ use `account_history_api.get_transaction`. Also see: [transaction_status_api.find_transaction]({{ '/apidefinitions/#transaction_status_api.find_transaction' | relative_url }}), [account_history_api.get_transaction]({{ '/apidefinitions/#account_history_api.get_transaction' | relative_url }}) - parameter_json: '{"transaction_id":"0000000000000000000000000000000000000000"}' + parameter_json: '{"id":"0000000000000000000000000000000000000000"}' expected_response_json: '{"is_known":false}' curl_examples: - - '{"jsonrpc":"2.0", "method":"database_api.is_known_transaction", "params":{"transaction_id":"0000000000000000000000000000000000000000"}, "id":1}' + - '{"jsonrpc":"2.0", "method":"database_api.is_known_transaction", "params":{"id":"0000000000000000000000000000000000000000"}, + "id":1}' client_docs: - - '[hivesql](https://docs.hivesql.io/technical-informations/database-diagram#blocks-and-transactions)' + - "[hivesql](https://docs.hivesql.io/technical-informations/database-diagram#blocks-and-transactions)" - api_method: database_api.find_collateralized_conversion_requests since: HF25 purpose: | @@ -2716,6 +2722,7 @@ parameter_json: '{"account":""}' expected_response_json: '{"requests":[]}' client_docs: + - '[hive-js](https://gitlab.syncad.com/hive/hive-js/-/blob/master/doc/README.md#collateralized-convert)' - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txcollateralizedconverts-hf25)' - api_method: database_api.list_collateralized_conversion_requests since: HF25 @@ -2728,4 +2735,32 @@ parameter_json: '{"start":null,"limit":0,"order":"by_name"}' expected_response_json: '{"requests":[]}' client_docs: + - '[hive-js](https://gitlab.syncad.com/hive/hive-js/-/blob/master/doc/README.md#collateralized-convert)' - '[hivesql](https://docs.hivesql.io/technical-informations/operations/txcollateralizedconverts-hf25)' + - api_method: database_api.find_recurrent_transfers + since: HF25 + purpose: | + Finds transfers of any liquid asset every fixed amount of time from one account to another. + + Also see: [recurrent_transfer_operation]({{ '/apidefinitions/#broadcast_ops_recurrent_transfer' | relative_url }}) + parameter_json: '{"from":""}' + expected_response_json: | + { + "recurrent_transfers": [ + { + "id": 3, + "trigger_date": "2021-07-02T18:11:51", + "from": "alice", + "to": "bob", + "amount": {"amount": "1000", "precision": 3, "nai": "@@000000021"}, + "memo": "Payroll", + "recurrence": 26, + "consecutive_failures": 0, + "remaining_executions": 3 + } + ] + } + curl_examples: + - '{"jsonrpc":"2.0", "method":"database_api.find_recurrent_transfers", "params":{"from":"alice"}, "id":1}' + client_docs: + - "[hivesql](https://docs.hivesql.io/technical-informations/operations/txrecurrenttransfers-hf25)" diff --git a/_data/apidefinitions/follow_api.yml b/_data/apidefinitions/follow_api.yml index d1a49ae88854c29b6f7d3f3fa80f3bbba5917608..8182a7150addc922dd9752e77f9a9554515c00b8 100644 --- a/_data/apidefinitions/follow_api.yml +++ b/_data/apidefinitions/follow_api.yml @@ -34,76 +34,11 @@ - api_method: follow_api.get_blog removed: true purpose: | - **Removed since HF24** + **Removed since HF24** Use: [`condenser_api.get_blog`]({{ '/apidefinitions/#condenser_api.get_blog' | relative_url }}) - Returns the list of blog entries for an account. + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_blog' | relative_url }}) - Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#follow_apiget_blog' | relative_url }}) - parameter_json: '{"account":"","start_entry_id":0,"limit":500}' - expected_response_json: | - { - "blog": [ - { - "comment": { - "id": 6119, - "author": "gtg", - "permlink": "testing", - "category": "smt", - "parent_author": "", - "parent_permlink": "smt", - "title": "[SMT] Testnet", - "body": "https://www.youtube.com/watch?v=YRwHrVVU2NA", - "json_metadata": "", - "last_update": "2019-12-07T13:24:48", - "created": "2019-12-07T13:24:48", - "active": "2019-12-07T13:29:30", - "last_payout": "2019-12-07T14:24:48", - "depth": 0, - "children": 8, - "net_rshares": 0, - "abs_rshares": 0, - "vote_rshares": 0, - "children_abs_rshares": 0, - "cashout_time": "1969-12-31T23:59:59", - "max_cashout_time": "1969-12-31T23:59:59", - "total_vote_weight": 0, - "reward_weight": 10000, - "total_payout_value": { - "amount": "140916", - "precision": 3, - "nai": "@@000000013" - }, - "curator_payout_value": { - "amount": "140916", - "precision": 3, - "nai": "@@000000013" - }, - "author_rewards": 140916, - "net_votes": 0, - "root_author": "gtg", - "root_permlink": "testing", - "max_accepted_payout": { - "amount": "1000000000", - "precision": 3, - "nai": "@@000000013" - }, - "percent_hbd": 10000, - "allow_replies": true, - "allow_votes": true, - "allow_curation_rewards": true, - "beneficiaries": [] - }, - "blog": "gtg", - "reblog_on": "1970-01-01T00:00:00", - "entry_id": 0 - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_blog", "params":{"account":"hiveio","start_entry_id":0,"limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_blog", "params":{"account":"alice","start_entry_id":0,"limit":50}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog)' @@ -111,24 +46,9 @@ - api_method: follow_api.get_blog_authors removed: true purpose: | - **Removed since HF24** + **Removed since HF24** Use: [`condenser_api.get_blog_authors`]({{ '/apidefinitions/#condenser_api.get_blog_authors' | relative_url }}) - Returns a list of authors that have had their content reblogged on a given blog account. - parameter_json: '{"blog_account":""}' - expected_response_json: | - { - "blog_authors": [ - { - "author": "", - "count": 1 - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_blog_authors", "params":{"blog_account":"hiveio"}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_blog_authors", "params":{"blog_account":"alice"}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog-authors)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog-authors)' @@ -136,29 +56,11 @@ - api_method: follow_api.get_blog_entries removed: true purpose: | - **Removed since HF24** + **Removed since HF24** Use: [`condenser_api.get_blog_entries`]({{ '/apidefinitions/#condenser_api.get_blog_entries' | relative_url }}) - Returns a list of blog entries for an account. + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_blog_entries' | relative_url }}) - Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#follow_apiget_blog_entries' | relative_url }}) - parameter_json: '{"account":"","start_entry_id":0,"limit":500}' - expected_response_json: | - { - "blog": [ - { - "author": "gtg", - "permlink": "testing", - "blog": "gtg", - "reblog_on": "1970-01-01T00:00:00", - "entry_id": 0 - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_blog_entries", "params":{"account":"hiveio","start_entry_id":0,"limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_blog_entries", "params":{"account":"alice","start_entry_id":0,"limit":50}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-blog-entries)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-blog-entries)' @@ -167,18 +69,11 @@ removed: true since: HF14 purpose: | - **Removed since HF24** + **Removed since HF24** Use: [`condenser_api.get_feed`]({{ '/apidefinitions/#condenser_api.get_feed' | relative_url }}) - Returns a list of items in an account's feed. + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_feed' | relative_url }}) - Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#follow_apiget_feed' | relative_url }}) - parameter_json: '{"account":"","start_entry_id":0,"limit":500}' - expected_response_json: '{"feed":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_feed", "params":{"account":"hiveio","start_entry_id":0,"limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_feed", "params":{"account":"alice","start_entry_id":1,"limit":10}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed-entries)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed)' @@ -187,18 +82,11 @@ removed: true since: HF14 purpose: | - **Removed since HF24** + **Removed since HF24** Use: [`condenser_api.get_feed_entries`]({{ '/apidefinitions/#condenser_api.get_feed_entries' | relative_url }}) - Returns a list of entries in an account's feed. + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_feed_entries' | relative_url }}) - Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#follow_apiget_feed_entries' | relative_url }}) - parameter_json: '{"account":"","start_entry_id":0,"limit":500}' - expected_response_json: '{"feed":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_feed_entries", "params":{"account":"hiveio","start_entry_id":0,"limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_feed_entries", "params":{"account":"alice","start_entry_id":1,"limit":10}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p></p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-feed-entries)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-feed-entries)' @@ -207,21 +95,9 @@ removed: true since: HF9 purpose: | - **Removed since HF24** - - Returns the count of followers for an account. - parameter_json: '{"account":""}' - expected_response_json: | - { - "account": "", - "follower_count": 0, - "following_count": 0 - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_follow_count", "params":{"account":"hiveio"}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_follow_count", "params":{"account":"alice"}, - "id":1}' + **Removed since HF24** Use: [`condenser_api.get_follow_count`]({{ '/apidefinitions/#condenser_api.get_follow_count' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-follow-count)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-follow-count)' @@ -231,29 +107,11 @@ removed: true since: HF9 purpose: | - **Removed since HF24** - - Returns the list of followers for an account. + **Removed since HF24** Use: [`condenser_api.get_followers`]({{ '/apidefinitions/#condenser_api.get_followers' | relative_url }}) - Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#follow_apiget_followers' | relative_url }}) - parameter_json: '{"account":"","start":"","type":"undefined","limit":1000}' - expected_response_json: | - { - "followers": [ - { - "follower": "", - "following": "", - "what": [ - "blog" - ] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_followers", "params":{"account":"hiveio","start":null,"type":"blog","limit":10}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_followers", "params":{"account":"alice","start":null,"type":"ignore","limit":100}, - "id":1}' + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_followers' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-followers)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-followers)' @@ -263,29 +121,11 @@ removed: true since: HF9 purpose: | - **Removed since HF24** - - Returns the list of accounts that are following an account. + **Removed since HF24** Use: [`condenser_api.get_following`]({{ '/apidefinitions/#condenser_api.get_following' | relative_url }}) - Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#follow_apiget_following' | relative_url }}) - parameter_json: '{"account":"","start":"","type":"undefined","limit":1000}' - expected_response_json: | - { - "following": [ - { - "follower": "", - "following": "", - "what": [ - "blog" - ] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_following", "params":{"account":"hiveio","start":null,"type":"blog","limit":10}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_following", "params":{"account":"alice","start":null,"type":"ignore","limit":100}, - "id":1}' + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#condenser_apiget_following' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-following)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-following)' @@ -295,19 +135,9 @@ removed: true since: HF14 purpose: | - **Removed since HF24** - - Returns a list of authors that have reblogged a post. - parameter_json: '{"author":"","permlink":""}' - expected_response_json: '{"accounts":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"follow_api.get_reblogged_by", "params":{"author":"hiveio","permlink":"firstpost"}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"follow_api.get_reblogged_by", "params":{"author":"alice","permlink":"a-post-by-alice"}, - "id":1}' - expected_curl_responses: - - - - 'unknown key:unknown key:' + **Removed since HF24** Use: [`condenser_api.get_reblogged_by`]({{ '/apidefinitions/#condenser_api.get_reblogged_by' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-reblogged-by)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-reblogged-by)' diff --git a/_data/apidefinitions/jsonrpc.yml b/_data/apidefinitions/jsonrpc.yml index 142a787e92dab923ad13f686ebf4365ac22b4ea1..38bd621934e84d3dde81eaacfd827a688bbcf816 100644 --- a/_data/apidefinitions/jsonrpc.yml +++ b/_data/apidefinitions/jsonrpc.yml @@ -210,7 +210,7 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"jsonrpc.get_methods", "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: jsonrpc.get_signature purpose: Returns the signature information for a JSON RPC method including the arguments and expected response JSON. @@ -230,4 +230,4 @@ - '{"jsonrpc":"2.0", "method":"jsonrpc.get_signature", "params":{"method":"database_api.get_dynamic_global_properties"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" diff --git a/_data/apidefinitions/market_history_api.yml b/_data/apidefinitions/market_history_api.yml index 8ef1ed0fed03c861a42a4e2ec0dd57c21ea797c1..d41ea2875a6d188a05d507cbfa1131e104a17102 100644 --- a/_data/apidefinitions/market_history_api.yml +++ b/_data/apidefinitions/market_history_api.yml @@ -48,8 +48,8 @@ - '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history", "params":{"bucket_seconds":86400,"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00"}, "id":1}' client_docs: - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: market_history_api.get_market_history_buckets purpose: Returns the bucket seconds being tracked by the plugin. parameter_json: "{}" @@ -67,9 +67,9 @@ - '{"jsonrpc":"2.0", "method":"market_history_api.get_market_history_buckets", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-market-history-buckets)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history-buckets)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-market-history-buckets)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-market-history-buckets)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: market_history_api.get_order_book purpose: Returns the internal market order book. parameter_json: '{"limit":500}' @@ -139,9 +139,9 @@ - '{"jsonrpc":"2.0", "method":"market_history_api.get_order_book", "params":{"limit":50}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-order-book)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-order-book)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-order-book)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-order-book)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: market_history_api.get_recent_trades purpose: Returns the most recent trades for the internal HBD:HIVE market. parameter_json: '{"limit":1000}' @@ -169,9 +169,9 @@ - '{"jsonrpc":"2.0", "method":"market_history_api.get_recent_trades", "params":{"limit":500}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recent-trades)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recent-trades)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-recent-trades)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-recent-trades)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: market_history_api.get_ticker purpose: Returns the market ticker for the internal HBD:HIVE market. parameter_json: "{}" @@ -195,9 +195,9 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"market_history_api.get_ticker", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-ticker)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-ticker)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-ticker)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-ticker)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: market_history_api.get_trade_history purpose: Returns the trade history for the internal HBD:HIVE market. parameter_json: '{"start":"1970-01-01T00:00:00","end":"1970-01-01T00:00:00","limit":1000}' @@ -223,9 +223,9 @@ - '{"jsonrpc":"2.0", "method":"market_history_api.get_trade_history", "params":{"start":"2018-01-01T00:00:00","end":"2018-01-02T00:00:00","limit":10}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trade-history)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-trade-history)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trade-history)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-trade-history)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: market_history_api.get_volume purpose: Returns the market volume for the past 24 hours. parameter_json: "{}" @@ -245,6 +245,6 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"market_history_api.get_volume", "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-volume)' - - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-volume)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-volume)" + - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-volume)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" diff --git a/_data/apidefinitions/rc_api.yml b/_data/apidefinitions/rc_api.yml index adf2f92c315d35b97714f175f704475172d2edf3..e27a1a4b31036984070dcca6e67ccd98a2bd74c3 100644 --- a/_data/apidefinitions/rc_api.yml +++ b/_data/apidefinitions/rc_api.yml @@ -39,13 +39,13 @@ - '{"jsonrpc":"2.0", "method":"rc_api.find_rc_accounts", "params":{"accounts":["alice","bob"]}, "id":1}' client_docs: - - '[beem](https://beem.readthedocs.io/en/latest/beem.rc.html)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[beem](https://beem.readthedocs.io/en/latest/beem.rc.html)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: rc_api.get_resource_params since: HF20 purpose: | Exports all relevant resource size constants, in particular the measurement-based execution time parameters. - + See: [#2980]({{ 'https://github.com/steemit/steem/issues/2980' | archived_url }}) parameter_json: "{}" expected_response_json: | @@ -248,8 +248,8 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"rc_api.get_resource_params", "id":1}' client_docs: - - '[beem](https://beem.readthedocs.io/en/latest/beem.rc.html)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[beem](https://beem.readthedocs.io/en/latest/beem.rc.html)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: rc_api.get_resource_pool since: HF20 purpose: | @@ -278,5 +278,5 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"rc_api.get_resource_pool", "id":1}' client_docs: - - '[beem](https://beem.readthedocs.io/en/latest/beem.rc.html)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[beem](https://beem.readthedocs.io/en/latest/beem.rc.html)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" diff --git a/_data/apidefinitions/reputation_api.yml b/_data/apidefinitions/reputation_api.yml index fa0ba48e103084f62bca6a4e23d2626ca13a5085..dfc0b1527a7714cae0d21b6505c1c435a8ad8f87 100644 --- a/_data/apidefinitions/reputation_api.yml +++ b/_data/apidefinitions/reputation_api.yml @@ -18,7 +18,7 @@ | `"hiveio"` | 10 | Queries the reputation for account named "hiveio". | See [#1425]({{ 'https://github.com/steemit/steem/issues/1425' | archived_url }}) - + Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#reputation_apiget_account_reputations' | relative_url }}) parameter_json: '{"account_lower_bound":"","limit":1000}' expected_response_json: | # TODO - recheck in HF23 @@ -29,6 +29,6 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"reputation_api.get_account_reputations", "params": {"account_lower_bound": "hive"}, "id":1}' client_docs: - - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-reputations)' - - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_reputation)' - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-reputations)" + - "[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_reputation)" + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" diff --git a/_data/apidefinitions/tags_api.yml b/_data/apidefinitions/tags_api.yml index b4a566b09e59604fc6e91b16f88da3d3be73665a..11c37decc57664df20e5233fe9138111b35019ea 100644 --- a/_data/apidefinitions/tags_api.yml +++ b/_data/apidefinitions/tags_api.yml @@ -6,60 +6,32 @@ AppBase API methods are still under development and subject to change.** methods: - api_method: tags_api.get_active_votes - disabled: true + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_active_votes`]({{ '/apidefinitions/#condenser_api.get_active_votes' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_active_votes`]({{ '/apidefinitions/#condenser_api.get_active_votes' | relative_url }}) - Returns all votes for the given post. - parameter_json: '{"author":"","permlink":""}' - expected_response_json: | - { - "votes": [ - { - "voter": "", - "weight": 0, - "rshares": 0, - "percent": 0, - "reputation": 0, - "time": "2019-12-20T21:49:06" - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_active_votes", "params":{"author":"hiveio", - "permlink":"firstpost"}, "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_active_votes", "params":{"author":"alice", - "permlink":"a-post-by-alice"}, "id":1}' - expected_curl_responses: - - - - 'unknown key:unknown key:' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-votes)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-votes)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_comment_discussions_by_payout + removed: true since: HF17 - purpose: Returns a list of discussions based on payout. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_comment_discussions_by_payout", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_comment_discussions_by_payout", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + purpose: | + **Removed since HF24** Use: [`condenser_api.get_comment_discussions_by_payout`]({{ '/apidefinitions/#condenser_api.get_comment_discussions_by_payout' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-comment-discussions-by-payout)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-comment-discussions-by-payout)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_content_replies - purpose: Returns a list of replies. - parameter_json: '{"author":"","permlink":""}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_content_replies", "params":{"author":"hiveio", - "permlink":"firstpost"}, "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_content_replies", "params":{"author":"alice", - "permlink":"a-post-by-alice"}, "id":1}' + removed: true + purpose: | + **Removed since HF24** Use: [`condenser_api.get_content_replies`]({{ '/apidefinitions/#condenser_api.get_content_replies' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-content-replies)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-content-replies)' @@ -147,659 +119,176 @@ "permlink":"firstpost"}, "id":1}' - '{"jsonrpc":"2.0", "method":"tags_api.get_discussion", "params":{"author":"alice", "permlink":"a-post-by-alice"}, "id":1}' + expected_curl_responses: + - Invalid parameters + - Invalid parameters client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-trending)' - '[beem](https://beem.readthedocs.io/en/latest/beem.discussions.html#beem.discussions.Discussions.get_discussions)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_active + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_discussions_by_active`]({{ '/apidefinitions/#condenser_api.get_discussions_by_active' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_discussions_by_active`]({{ '/apidefinitions/#condenser_api.get_discussions_by_active' | relative_url }}) - Returns a list of discussions based on active. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: | - { - "discussions": [ - { - "id": 0, - "author": "", - "permlink": "", - "category": "", - "parent_author": "", - "parent_permlink": "", - "title": "", - "body": "", - "json_metadata": "", - "last_update": "2019-12-20T14:30:33", - "created": "2019-12-17T14:44:51", - "active": "2019-12-20T14:30:33", - "last_payout": "2019-12-17T15:44:51", - "depth": 0, - "children": 0, - "net_rshares": 0, - "abs_rshares": 0, - "vote_rshares": 0, - "children_abs_rshares": 0, - "cashout_time": "1969-12-31T23:59:59", - "max_cashout_time": "1969-12-31T23:59:59", - "total_vote_weight": 0, - "reward_weight": 10000, - "total_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "curator_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "author_rewards": 0, - "net_votes": 0, - "root_author": "", - "root_permlink": "", - "max_accepted_payout": { - "amount": "1000000000", - "precision": 3, - "nai": "@@000000013" - }, - "percent_hbd": 10000, - "allow_replies": true, - "allow_votes": true, - "allow_curation_rewards": true, - "beneficiaries": [], - "url": "", - "root_title": "", - "pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "total_pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000021" - }, - "active_votes": [], - "replies": [], - "author_reputation": 0, - "promoted": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "body_length": 0, - "reblogged_by": [] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_active", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_active", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-active)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-active)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_author_before_date + removed: true purpose: | - Returns a list of discussions based on author before date. + **Removed since HF24** Use: [`condenser_api.get_discussions_by_author_before_date`]({{ '/apidefinitions/#condenser_api.get_discussions_by_author_before_date' | relative_url }}) Also see: [Paginated API Methods]({{ '/tutorials-recipes/paginated-api-methods.html#tags_apiget_discussions_by_author_before_date' | relative_url }}) - parameter_json: '{"author":"","start_permlink":"","before_date":"1970-01-01T00:00:00","limit":100}' - expected_response_json: | - { - "discussions": [ - { - "id": 0, - "author": "", - "permlink": "", - "category": "", - "parent_author": "", - "parent_permlink": "", - "title": "", - "body": "", - "json_metadata": "", - "last_update": "2019-12-20T21:54:33", - "created": "2019-12-20T21:53:03", - "active": "2019-12-20T21:54:33", - "last_payout": "1970-01-01T00:00:00", - "depth": 0, - "children": 0, - "net_rshares": 0, - "abs_rshares": 0, - "vote_rshares": 0, - "children_abs_rshares": 0, - "cashout_time": "2019-12-20T22:53:03", - "max_cashout_time": "1969-12-31T23:59:59", - "total_vote_weight": 0, - "reward_weight": 10000, - "total_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "curator_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "author_rewards": 0, - "net_votes": 0, - "root_author": "", - "root_permlink": "", - "max_accepted_payout": { - "amount": "1000000000", - "precision": 3, - "nai": "@@000000013" - }, - "percent_hbd": 0, - "allow_replies": true, - "allow_votes": true, - "allow_curation_rewards": true, - "beneficiaries": [ - { - "account": "", - "weight": 0 - } - ], - "url": "", - "root_title": "", - "pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "total_pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000021" - }, - "active_votes": [ - { - "voter": "", - "weight": 0, - "rshares": 0, - "percent": 0, - "reputation": 0, - "time": "2019-12-20T21:57:51" - } - ], - "replies": [], - "author_reputation": 0, - "promoted": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "body_length": 0, - "reblogged_by": [] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_author_before_date", - "params":{"author":"hiveio","start_permlink":"firstpost","before_date":"2016-04-19T22:49:43","limit":1}, - "id":1}' + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-author-before-date)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-author-before-date)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_blog - purpose: Returns a list of discussions by blog. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: | - { - "discussions": [ - { - "id": 0, - "author": "", - "permlink": "", - "category": "", - "parent_author": "", - "parent_permlink": "", - "title": "", - "body": "", - "json_metadata": "", - "last_update": "2019-12-20T21:54:33", - "created": "2019-12-20T21:53:03", - "active": "2019-12-20T21:54:33", - "last_payout": "1970-01-01T00:00:00", - "depth": 0, - "children": 0, - "net_rshares": 0, - "abs_rshares": 0, - "vote_rshares": 0, - "children_abs_rshares": 0, - "cashout_time": "2019-12-20T22:53:03", - "max_cashout_time": "1969-12-31T23:59:59", - "total_vote_weight": 0, - "reward_weight": 10000, - "total_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "curator_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "author_rewards": 0, - "net_votes": 0, - "root_author": "", - "root_permlink": "", - "max_accepted_payout": { - "amount": "1000000000", - "precision": 3, - "nai": "@@000000013" - }, - "percent_hbd": 0, - "allow_replies": true, - "allow_votes": true, - "allow_curation_rewards": true, - "beneficiaries": [ - { - "account": "", - "weight": 0 - } - ], - "url": "", - "root_title": "", - "pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "total_pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000021" - }, - "active_votes": [ - { - "voter": "", - "weight": 0, - "rshares": 0, - "percent": 0, - "reputation": 0, - "time": "2019-12-20T21:57:51" - } - ], - "replies": [], - "author_reputation": 0, - "promoted": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "body_length": 0, - "reblogged_by": [] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_blog", "params":{"tag":"hiveio","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_blog", "params":{"tag":"alice","limit":10}, - "id":1}' + removed: true + purpose: | + **Removed since HF24** Use: [`condenser_api.get_discussions_by_blog`]({{ '/apidefinitions/#condenser_api.get_discussions_by_blog' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-blog)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-blog)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_cashout + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_discussions_by_cashout`]({{ '/apidefinitions/#condenser_api.get_discussions_by_cashout' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_discussions_by_cashout`]({{ '/apidefinitions/#condenser_api.get_discussions_by_cashout' | relative_url }}) - Returns a list of discussions by cashout. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_cashout", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_cashout", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-cashout)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-cashout)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_children + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_discussions_by_children`]({{ '/apidefinitions/#condenser_api.get_discussions_by_children' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_discussions_by_children`]({{ '/apidefinitions/#condenser_api.get_discussions_by_children' | relative_url }}) Returns a list of discussions by children. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: | - { - "discussions": [ - { - "id": 0, - "author": "", - "permlink": "", - "category": "", - "parent_author": "", - "parent_permlink": "", - "title": "", - "body": "", - "json_metadata": "", - "last_update": "2019-12-20T21:54:33", - "created": "2019-12-20T21:53:03", - "active": "2019-12-20T21:54:33", - "last_payout": "1970-01-01T00:00:00", - "depth": 0, - "children": 0, - "net_rshares": 0, - "abs_rshares": 0, - "vote_rshares": 0, - "children_abs_rshares": 0, - "cashout_time": "2019-12-20T22:53:03", - "max_cashout_time": "1969-12-31T23:59:59", - "total_vote_weight": 0, - "reward_weight": 10000, - "total_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "curator_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "author_rewards": 0, - "net_votes": 0, - "root_author": "", - "root_permlink": "", - "max_accepted_payout": { - "amount": "1000000000", - "precision": 3, - "nai": "@@000000013" - }, - "percent_hbd": 0, - "allow_replies": true, - "allow_votes": true, - "allow_curation_rewards": true, - "beneficiaries": [ - { - "account": "", - "weight": 0 - } - ], - "url": "", - "root_title": "", - "pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "total_pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000021" - }, - "active_votes": [ - { - "voter": "", - "weight": 0, - "rshares": 0, - "percent": 0, - "reputation": 0, - "time": "2019-12-20T21:57:51" - } - ], - "replies": [], - "author_reputation": 0, - "promoted": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "body_length": 0, - "reblogged_by": [] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_children", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_children", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-children)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-children)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_comments - purpose: Returns a list of discussions by comments. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: | - { - "discussions": [ - { - "id": 0, - "author": "", - "permlink": "", - "category": "", - "parent_author": "", - "parent_permlink": "", - "title": "", - "body": "", - "json_metadata": "", - "last_update": "2019-12-20T12:34:27", - "created": "2019-12-20T12:34:27", - "active": "2019-12-20T12:34:27", - "last_payout": "2019-12-20T13:34:27", - "depth": 0, - "children": 0, - "net_rshares": 0, - "abs_rshares": 0, - "vote_rshares": 0, - "children_abs_rshares": 0, - "cashout_time": "1969-12-31T23:59:59", - "max_cashout_time": "1969-12-31T23:59:59", - "total_vote_weight": 0, - "reward_weight": 10000, - "total_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "curator_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "author_rewards": 0, - "net_votes": 0, - "root_author": "", - "root_permlink": "", - "max_accepted_payout": { - "amount": "1000000000", - "precision": 3, - "nai": "@@000000013" - }, - "percent_hbd": 10000, - "allow_replies": true, - "allow_votes": true, - "allow_curation_rewards": true, - "beneficiaries": [], - "url": "", - "root_title": "", - "pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "total_pending_payout_value": { - "amount": "0", - "precision": 3, - "nai": "@@000000021" - }, - "active_votes": [], - "replies": [], - "author_reputation": 0, - "promoted": { - "amount": "0", - "precision": 3, - "nai": "@@000000013" - }, - "body_length": 0, - "reblogged_by": [] - } - ] - } - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_comments", "params":{"start_author":"hiveio","start_permlink":"firstpost","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_comments", "params":{"start_author":"alice","start_permlink":"a-post-by-alice","limit":10,"truncate_body":0}, - "id":1}' - expected_curl_responses: - - - - Comment is not in account's comments + removed: true + purpose: | + **Removed since HF24** Use: [`condenser_api.get_discussions_by_comments`]({{ '/apidefinitions/#condenser_api.get_discussions_by_comments' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-comments)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-comments)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_created - purpose: Returns a list of discussions by created. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_created", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_created", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + removed: true + purpose: | + **Removed since HF24** Use: [`condenser_api.get_discussions_by_created`]({{ '/apidefinitions/#condenser_api.get_discussions_by_created' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-created)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-created)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_feed + removed: true since: HF14 purpose: | - **Disabled since HF24** Use: [`condenser_api.get_discussions_by_feed`]({{ '/apidefinitions/#condenser_api.get_discussions_by_feed' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_discussions_by_feed`]({{ '/apidefinitions/#condenser_api.get_discussions_by_feed' | relative_url }}) - Returns a list of discussions by feed. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_feed", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_feed", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-feed)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-feed)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_hot - purpose: Returns a list of discussions by hot. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_hot", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_hot", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + removed: true + purpose: | + **Removed since HF24** Use: [`condenser_api.get_discussions_by_hot`]({{ '/apidefinitions/#condenser_api.get_discussions_by_hot' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-hot)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-hot)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_promoted + removed: true since: HF13 - purpose: Returns a list of discussions by promoted. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_promoted", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_promoted", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + purpose: | + **Removed since HF24** Use: [`condenser_api.get_discussions_by_promoted`]({{ '/apidefinitions/#condenser_api.get_discussions_by_promoted' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-promoted)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-promoted)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_trending - purpose: Returns a list of discussions by trending. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_trending", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_trending", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + removed: true + purpose: | + **Removed since HF24** Use: [`condenser_api.get_discussions_by_trending`]({{ '/apidefinitions/#condenser_api.get_discussions_by_trending' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-trending)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-trending)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_discussions_by_votes + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_discussions_by_votes`]({{ '/apidefinitions/#condenser_api.get_discussions_by_votes' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_discussions_by_votes`]({{ '/apidefinitions/#condenser_api.get_discussions_by_votes' | relative_url }}) - Returns a list of discussions by votes. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_votes", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_discussions_by_votes", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-votes)' - '[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-discussions-by-votes)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_post_discussions_by_payout + removed: true since: HF17 - purpose: Returns a list of post discussions by payout. - parameter_json: '{"tag":"","limit":0,"filter_tags":[],"select_authors":[],"select_tags":[],"truncate_body":0}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_post_discussions_by_payout", "params":{"tag":"hive","limit":1}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_post_discussions_by_payout", "params":{"tag":"photography","limit":10,"truncate_body":0}, - "id":1}' + purpose: | + **Removed since HF24** Use: [`condenser_api.get_post_discussions_by_payout`]({{ '/apidefinitions/#condenser_api.get_post_discussions_by_payout' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-discussions-by-payout)' - '[beem](https://beem.readthedocs.io/en/latest/beem.discussions.html#beem.discussions.Post_discussions_by_payout)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_replies_by_last_update + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_replies_by_last_update`]({{ '/apidefinitions/#condenser_api.get_replies_by_last_update' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_replies_by_last_update`]({{ '/apidefinitions/#condenser_api.get_replies_by_last_update' | relative_url }}) - Returns a list of replies by last update. - parameter_json: '{"start_parent_author":"","start_permlink":"","limit":100}' - expected_response_json: '{"discussions":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_replies_by_last_update", "params":{"start_parent_author":"hiveio","start_permlink":"firstpost","limit":1}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#content)' - '[beem](https://beem.readthedocs.io/en/latest/beem.discussions.html#beem.discussions.Replies_by_last_update)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_tags_used_by_author + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_tags_used_by_author`]({{ '/apidefinitions/#condenser_api.get_tags_used_by_author' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_tags_used_by_author`]({{ '/apidefinitions/#condenser_api.get_tags_used_by_author' | relative_url }}) - Returns a list of tags used by an author. - parameter_json: '{"author":""}' - expected_response_json: '{"tags":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_tags_used_by_author", "params":{"author":"hiveio"}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#tags)' - '[beem](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.get_tags_used_by_author)' - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' - api_method: tags_api.get_trending_tags + removed: true purpose: | - **Disabled since HF24** Use: [`condenser_api.get_trending_tags`]({{ '/apidefinitions/#condenser_api.get_trending_tags' | relative_url }}) + **Removed since HF24** Use: [`condenser_api.get_trending_tags`]({{ '/apidefinitions/#condenser_api.get_trending_tags' | relative_url }}) - Returns the list of trending tags. - parameter_json: '{"start_tag":"","limit":100}' - expected_response_json: '{"tags":[]}' # TODO - recheck in HF23 - curl_examples: - - '{"jsonrpc":"2.0", "method":"tags_api.get_trending_tags", "params":{"start_tag":null,"limit":100}, - "id":1}' - - '{"jsonrpc":"2.0", "method":"tags_api.get_trending_tags", "params":{"start_tag":"hive","limit":10}, - "id":1}' + <p> </p><p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - '[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-trending-tags)' - '[beem](https://beem.readthedocs.io/en/latest/beem.discussions.html#beem.discussions.Trending_tags)' diff --git a/_data/apidefinitions/transaction_status_api.yml b/_data/apidefinitions/transaction_status_api.yml index 2c206a12cad150026e8f8ffb3a0aeeb3067b4311..0e262aa4c7bf4c8d8173aa0622df804ccb849652 100644 --- a/_data/apidefinitions/transaction_status_api.yml +++ b/_data/apidefinitions/transaction_status_api.yml @@ -4,22 +4,22 @@ - name: transaction_status_api description: | This API is intended to evaluate a transaction status after calling [`condenser_api.broadcast_transaction`]({{ '/apidefinitions/#condenser_api.broadcast_transaction' | relative_url }}). - + To enable this API for `hived`, the following is required in `config.ini` by specifying: - + ```ini plugin = transaction_status_api ``` - + See: [#3060]({{ 'https://github.com/steemit/steem/pull/3060' | archived_url }}) methods: - api_method: transaction_status_api.find_transaction since: HF23 purpose: | Returns the status of a given transaction id. Parameters: `trx_id:string`; `expiration:timestamp` (optional) - + The result will contain one of the following `status` values: - + | Status | Meaning | |--------|---------| | `unknown` | Expiration time in future, transaction not included in block or mempool | @@ -35,4 +35,4 @@ - '{"jsonrpc":"2.0", "method":"transaction_status_api.find_transaction", "params": {"transaction_id": "0000000000000000000000000000000000000000"}, "id":1}' - '{"jsonrpc":"2.0", "method":"transaction_status_api.find_transaction", "params": {"transaction_id": "0000000000000000000000000000000000000000", "expiration":"2016-03-24T18:00:21"}, "id":1}' client_docs: - - '[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)' + - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" diff --git a/_data/glossary/index.yml b/_data/glossary/index.yml index c74ec8d6fe4d62b2dc0c58f156dc71d9e2116f9d..44f829fd1c368fac08b59267a16397737b7ec16a 100644 --- a/_data/glossary/index.yml +++ b/_data/glossary/index.yml @@ -182,7 +182,7 @@ - term: Conversion Requests def: Request submitted for Converting HBD to HIVE - term: Order Book - def: Internal market order book to exchange HBD <-> HIVE + def: Internal market order book to exchange HBD <-> HIVE - term: SMT def: Smart Media Tokens - term: Limit Order diff --git a/_data/objects/config.yml b/_data/objects/config.yml index bd59bb1097ea8b373076bc1f27b74ff14aa53d45..faf9c1f78f205ddd04b6e3437a18d1ed4c38169a 100644 --- a/_data/objects/config.yml +++ b/_data/objects/config.yml @@ -655,5 +655,7 @@ examples: - "steem.dao" - name: NEW_HIVE_TREASURY_ACCOUNT + purpose: | + See: [`OBSOLETE_TREASURY_ACCOUNT`]({{ '/tutorials-recipes/understanding-configuration-values.html#OBSOLETE_TREASURY_ACCOUNT' | relative_url }}) examples: - "hive.fund" diff --git a/_includes/api-template.html b/_includes/api-template.html index 00a613fc4b04c2d369ace89a39626d7dfc1dfdee..ad5a68aa1299e477c6b557ec8cf1ede33c199f3e 100644 --- a/_includes/api-template.html +++ b/_includes/api-template.html @@ -34,14 +34,18 @@ Methods: </ul> <h4 id="{{ method.api_method | slug }}">{{method.api_method}} <a href="#{{ method.api_method | slug}}"><i class="fas fa-link fa-xs"></i></a></h4> {{ method.purpose | liquify | markdownify }} +{% if method.parameter_json %} <h5 id="{{ method.api_method | slug }}-parameter_json">Query Parameters JSON <a href="#{{ method.api_method | slug}}-parameter_json"><i class="fas fa-link fa-sm"></i></a></h5> ```json {{method.parameter_json | neat_json}} ``` +{% endif %} +{% if method.parameter_json %} <h5 id="{{ method.api_method | slug }}-expected_response_json">Expected Response JSON <a href="#{{ method.api_method | slug}}-expected_response_json"><i class="fas fa-link fa-sm"></i></a></h5> ```json {{method.expected_response_json | neat_json}} ``` +{% endif %} {% if method.curl_examples %} <h5 id="{{ method.api_method | slug }}-curl-examples">Example <code>curl</code> <a href="#{{ method.api_method | slug}}-curl-examples"><i class="fas fa-link fa-sm"></i></a></h5> {% for curl in method.curl_examples %} diff --git a/_includes/structures/proposal.html b/_includes/structures/proposal.html new file mode 100644 index 0000000000000000000000000000000000000000..b91faa78f8c97838d5efb57429ffd3e3973ffb1b --- /dev/null +++ b/_includes/structures/proposal.html @@ -0,0 +1,13 @@ +<ul> + <li><code>id</code> - Unique identifier that is mostly an implementation detail (best to ignore). To uniquely identify proposal, it's best to use <code>proposal_id</code>.</li> + <li><code>proposal_id</code> - Before using this value for any further broadcasts, ensure it is part of an irreversible block.</li> + <li><code>creator</code> - Account that created this proposal.</li> + <li><code>receiver</code> - Account that will receive funds, if this proposal is approved.</li> + <li><code>start_date</code> - When payments should begin.</li> + <li><code>end_date</code> - When payments should end.</li> + <li><code>daily_pay</code> - Amount of HBD expected per day.</li> + <li><code>subject</code> - Summary of this proposal.</li> + <li><code>permlink</code> - Post by either creator or receiver.</li> + <li><code>total_votes</code> - VESTS cast for this proposal. This will is calculate every maintenance period.</li> + <li><code>status</code> - Current status of this proposal.</li> +</ul> diff --git a/_layouts/default.html b/_layouts/default.html index 354844891b2de64ecd2e82b17db7191cdc6e7232..58774207efab514224783cdc4758d98f1cc4b3fb 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -5,16 +5,15 @@ <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" > <meta property="og:image" content="{{ '/images/sticker.png' | relative_url }}" /> - <script src="https://cdn.jsdelivr.net/npm/@hiveio/hive-js/dist/hive.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> - <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet" /> - <link href="https://fonts.googleapis.com/css?family=Cousine|Inconsolata" rel="stylesheet" /> <link rel="shortcut icon" type="image/png" href="{{ '/favicon.png' | relative_url }}" /> <link rel="stylesheet" href="{{ '/css/style.css' | relative_url }}" /> <link rel="stylesheet" href="{{ '/css/css/fontawesome-all.min.css' | relative_url }}" /> <link rel="stylesheet" href="{{ '/css/css/work-sans-v7.css' | relative_url }}" /> + <script src="{{ '/js/hive.min.js' | relative_url }}"></script> <script src="{{ '/js/main.js' | relative_url }}"></script> + <script src="{{ '/js/adjust.js' | relative_url }}"></script> {% seo %} @@ -50,9 +49,6 @@ {% endif %} {% include sidebar.html %} - - - <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet"> </header> <div class="main" id="top"> <div class="hero"> @@ -71,9 +67,3 @@ </script> </body> </html> - -{% if jekyll.environment == 'production' %} -<script src="{{ '/js/adjust.js' | relative_url }}"></script> -{% else %} -<script src="{{ '/js/adjust.js' | relative_url }}"></script> -{% endif %} diff --git a/_nodeop/using-hivemind.md b/_nodeop/using-hivemind.md index f57957ece811ccea9e10e4642eaa9d17b86c0f82..389cebdddf250a2e13150e08b65e28b11006ce6c 100644 --- a/_nodeop/using-hivemind.md +++ b/_nodeop/using-hivemind.md @@ -9,27 +9,34 @@ canonical_url: using-hivemind.html ## Intro -Hive is a "consensus interpretation" layer for the Hive blockchain, maintaining the state of social features such as post feeds, follows, and communities. Written in Python, it synchronizes an SQL database with chain state, providing developers with a more flexible/extensible alternative to the raw hived API. This means that you can bypass hived and access data in a more traditional way, for example, with SQL. But you can't use SQL on hived. So Hivemind solves that problem. Hive does not support any queries to do with wallets, orders, escrow, keys, recovery, or account history. +Hivemind is a "consensus interpretation" layer for the Hive blockchain, maintaining the state of social features such as post feeds, follows, and communities. Written in Python, it synchronizes an SQL database with chain state, providing developers with a more flexible/extensible alternative to the raw hived API. This means that you can bypass hived and access data in a more traditional way, for example, with SQL. But you can't use SQL on hived. So Hivemind solves that problem. Hivemind does not support any queries to do with wallets, orders, escrow, keys, recovery, or account history. -<!-- A good source of additional information on hive and how to use it can be found in [this Hive article](https://hive.blog/hivemind/@inertia/hivemind-queries) by @inertia. --> +<!-- A good source of additional information on Hivemind and how to use it can be found in [this Hive article](https://hive.blog/hivemind/@inertia/hivemind-queries) by @inertia. --> #### Supported API functionality: -**Core API set available in Hive:** - -* condenser_api.get_follow_count -* condenser_api.get_followers -* condenser_api.get_following -* condenser_api.get_discussions_by_trending -* condenser_api.get_discussions_by_hot -* condenser_api.get_discussions_by_promoted -* condenser_api.get_discussions_by_created -* condenser_api.get_discussions_by_blog -* condenser_api.get_discussions_by_feed -* condenser_api.get_discussions_by_comments -* condenser_api.get_discussions_by_last_update -* condenser_api.get_content -* condenser_api.get_state +**Core API set available in Hivemind:** + +* condenser_api.get_followers +* condenser_api.get_following +* condenser_api.get_follow_count +* condenser_api.get_content +* condenser_api.get_content_replies +* condenser_api.get_state +* condenser_api.get_trending_tags +* condenser_api.get_discussions_by_trending +* condenser_api.get_discussions_by_hot +* condenser_api.get_discussions_by_promoted +* condenser_api.get_discussions_by_created +* condenser_api.get_discussions_by_blog +* condenser_api.get_discussions_by_feed +* condenser_api.get_discussions_by_comments +* condenser_api.get_replies_by_last_update +* condenser_api.get_blog +* condenser_api.get_blog_entries +* condenser_api.get_discussions_by_author_before_date + +Also see non-hived methods backed by Hivemind: [bridge]({{ '/apidefinitions/#apidefinitions-bridge' | relative_url }}) **Additional functions available within hivemind library** @@ -50,7 +57,7 @@ The majority of these functions are reliant on hived so any changes to hived wou * get_hive_price * get_blocks_range -Detailed information on the hivemind library can be found in the [Hivemind repo](https://gitlab.syncad.com/hive/hivemind/-/blob/master/hive/steem/client.py). +Detailed information on the Hivemind library can be found in the [Hivemind repo](https://gitlab.syncad.com/hive/hivemind/-/blob/master/hive/steem/client.py). #### Hivemind dependencies and setup @@ -60,7 +67,7 @@ If you would prefer to install Hivemind yourself you can do so following the bas This setup can be performed on an Ubuntu server. -There are two dependencies for setting up the dev environment on ubuntu for running hivemind: +There are two dependencies for setting up the dev environment on ubuntu for running Hivemind: * Python @@ -103,7 +110,7 @@ $ sudo python3 setup.py install By default Hivemind will connect to the mainnet [https://api.hive.blog](https://api.hive.blog) but if required you can change this to connect to a testnet. To do this set the environment variable as described below. ```bash -# Note as of 2021-05-14, hivemind still internally uses the environment variable called STEEMD_URL for this. +# Note as of 2021-05-14, Hivemind still internally uses the environment variable called STEEMD_URL for this. $ export STEEMD_URL='http://127.0.0.1:8091' ``` diff --git a/_quickstart/testnet.md b/_quickstart/testnet.md index 28848f235b881f6dafc44ecb9a6decf5f672cb81..4455e458fe999b4d3093fb2f893e081e6148ef0e 100644 --- a/_quickstart/testnet.md +++ b/_quickstart/testnet.md @@ -6,7 +6,21 @@ exclude: true Hive blockchain software is written in C++ and in order to modify the source code you need some understanding of the C++ programming language. Each Hive node runs an instance of this software, so in order to test your changes, you will need to know how to install dependencies which can be found in the [Hive repo](https://gitlab.syncad.com/hive/hive/-/blob/master/doc/building.md). This also means that some knowledge of System administration is also required. There are multiple advantages of running a testnet, you can test your scripts or applications on a testnet without extra spam on the live network, which allows much more flexibility to try new things. Having access to a testnet also helps you to work on new features and possibly submit new or improved pull requests to official the Hive GitHub repository. -## Running a Testnet Node +## Public Testnet + +> The Hive Public Testnet is maintained to aid developers who want to rapidly test their applications. Unless your account was created very recently, you should be able to participate in the testnet using your own mainnet account and keys (though please be careful, if you leak your key during testnet, your mainnet account will be compromised). + +* Chain ID: `18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e` +* P2P: `testnet.openhive.network:2001` +* API: `https://testnet.openhive.network` +* Condenser: [testblog.openhive.network](https://testblog.openhive.network/) +* Wallet: [testwallet.openhive.network](https://testwallet.openhive.network/) + +Also see: [hive.blog/hive-139531/@gtg/hf25-public-testnet-reloaded-rc2](https://hive.blog/hive-139531/@gtg/hf25-public-testnet-reloaded-rc2) + +## Running a Private Testnet Node + +Alternatively, if you would like to run a private local testnet, you can get up and running with docker: ```bash docker run -d -p 8090:8090 inertia/tintoy:latest diff --git a/_services/hivesigner.md b/_services/hivesigner.md index 905b7f16edd3cbf740a05b8b9ccb067550414c24..7c441ecdee17ac4e4f1bd466388ff7a56cd43d58 100644 --- a/_services/hivesigner.md +++ b/_services/hivesigner.md @@ -1,16 +1,16 @@ --- -title: HiveSigner +title: Hivesigner position: 2 canonical_url: hivesigner.html --- -**What is HiveSigner?** +**What is Hivesigner?** -The goal of HiveSigner is to provide a safe way of connecting to the blockchain via 3rd party apps without compromising the security of your private keys and passwords. It's a simple identity layer built on top of the blockchain allowing users safe access and developers the freedom of not having to handle the authentication system, i.e. managing users' private keys and encryption. This means that devs won't have to open-source their projects in order to gain user trust. When connecting to apps in this manner, neither Hivesigner nor the authorized app store the private keys as the posting key is encrypted on your cookie. +The goal of Hivesigner is to provide a safe way of connecting to the blockchain via 3rd party apps without compromising the security of your private keys and passwords. It's a simple identity layer built on top of the blockchain allowing users safe access and developers the freedom of not having to handle the authentication system, i.e. managing users' private keys and encryption. This means that devs won't have to open-source their projects in order to gain user trust. When connecting to apps in this manner, neither Hivesigner nor the authorized app store the private keys as the posting key is encrypted on your cookie. -**How HiveSigner is implemented** +**How Hivesigner is implemented** -HiveSigner works by granting an access token to the requesting app once the application has been approved. +Hivesigner works by granting an access token to the requesting app once the application has been approved. A full tutorial on how to set up an application, request authorization and grant access can be found [here]({{ '/tutorials-javascript/hivesigner.html' | relative_url }}). **Hive Authorisation and OAuth 2** @@ -23,11 +23,12 @@ Simplified, the process includes the following steps: 3. The user is redirected to the application redirect URI along with the access token Once the application has an access token, it may use the token to access the user's account via the API, limited to the scope of access, until the token expires or is revoked. -A full breakdown of OAuth2 and how it applies to Hive and HiveSigner can be found [here](https://github.com/ledgerconnect/hivesigner/wiki/OAuth-2#code-authorization-flow). +A full breakdown of OAuth2 and how it applies to Hive and Hivesigner can be found [here](https://github.com/ledgerconnect/hivesigner/wiki/OAuth-2#code-authorization-flow). **Useful Links** -* [HiveSigner Repo](https://github.com/ledgerconnect/hivesigner) +* [Hivesigner Repo](https://github.com/ledgerconnect/hivesigner) * [Community Resources]({{ '/resources/#resources-hivesigner-libs' | relative_url }}) +* [Hivesigner docs](https://docs.hivesigner.com) For additional material you can refer to the original Hive [blog](https://hive.blog/hive/@good-karma/hivesigner-released-and-ready) post by [@good-karma](https://hive.blog/) diff --git a/_tutorials-javascript/client_signing.md b/_tutorials-javascript/client_signing.md index 8f8a639b0a4e936d270d2b5d6ec14904a3c3de7e..e4122e0e47a17b4ee4bc81b7c56d13ffb717a400 100644 --- a/_tutorials-javascript/client_signing.md +++ b/_tutorials-javascript/client_signing.md @@ -29,13 +29,7 @@ Client side signing of transaction is yet another way of interacting with Hive b #### 1. App setup<a name="app-setup"></a> -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: - -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` - -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} Testnet and Production networks only differ with few settings which helps developers to switch their application from testnet to production. One of these settings is `addressPrefix` - string that is defined and will be in front of every public address on that chain/network. Another one is `chainId` - id of that network. By defining those parameters we are selecting Testnet and connecting to publicly available server with help of `@hivechain/dhive` library. First few lines of code in `public/app.js` gives you example of connection to different networks, testnet and production. diff --git a/_tutorials-javascript/convert_hbd_to_hive.md b/_tutorials-javascript/convert_hbd_to_hive.md index dc66a0a80df0c1200e5015e35317399daf78886b..cc49730b87fc55ea206b411705b89b09ac74f16c 100644 --- a/_tutorials-javascript/convert_hbd_to_hive.md +++ b/_tutorials-javascript/convert_hbd_to_hive.md @@ -9,7 +9,7 @@ Full, runnable src of [Convert HBD To HIVE](https://gitlab.syncad.com/hive/devpo This tutorial will take you through the process of checking a specific users' balances and then broadcasting the intended HBD conversion to the blockchain. Demo account information has been provided to assist with the tutorial. This tutorial has been set up for the `testnet` but can be easily be changed for `production`. -It should be noted that the converted HIVE will not be available instantly as it takes 3.5 days for the transaction to be processed. It is also not possible to stop a conversion once initialised. During the 3.5 days for it to be converted and as the conversion price fluctuates you could actually be receiving less HIVE than what you should. Because of this, the method in this tutorial is NOT the preferred or most efficient way of converting HBD to HIVE. This tutorial just illustrates that it can be done in this manner. +It should be noted that the converted HIVE will not be available instantly as it takes 3.5 days for the transaction to be processed. It is also not possible to stop a conversion once initialized. During the 3.5 days for it to be converted and as the conversion price fluctuates you could actually be receiving less HIVE than what you should. Because of this, the method in this tutorial is NOT the preferred or most efficient way of converting HBD to HIVE. This tutorial just illustrates that it can be done in this manner. There is a marketplace on Hive that allows you to "sell" your HBD instantly. With this process you can get your HIVE immediately and at the exact price that you expect. The market place is the better way to convert your HBD. [This article](https://hive.blog/steem/@epico/convert-sbd-to-steem-and-steem-power-guide-2017625t103821622z) provides more information on using the market to exchange your HBD to HIVE diff --git a/_tutorials-javascript/convert_hive_to_hbd.md b/_tutorials-javascript/convert_hive_to_hbd.md new file mode 100644 index 0000000000000000000000000000000000000000..b71109134492f12db422125ce72e112007b931ee --- /dev/null +++ b/_tutorials-javascript/convert_hive_to_hbd.md @@ -0,0 +1,150 @@ +--- +title: 'JS: Convert HIVE To HBD' +position: 37 +description: "_How to convert HIVE to HBD for a specified account._" +layout: full +canonical_url: convert_hbd_to_hive.html +--- +Full, runnable src of [Convert HIVE to HBD](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/javascript/37_convert_hive_to_hbd) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/javascript) (or download just this tutorial: [devportal-master-tutorials-javascript-37_convert_hive_to_hbd.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/javascript/37_convert_hive_to_hbd)). + +This tutorial will take you through the process of checking a specific users' balances and then broadcasting the intended HIVE conversion to the blockchain. Demo account information has been provided to assist with the tutorial. This tutorial has been set up for the `testnet` but can be easily be changed for `production`. + +It should be noted that unlike the [opposite conversion]({{ '/_tutorials-javascript/32_convert_hbd_to_hive.html' | relative_url }}), the converted HBD *will* be available instantly, but the collateral takes 3.5 days for the transaction to be processed. It is also not possible to stop a conversion once initialized. During the 3.5 days for it to be converted and as the conversion price fluctuates you could actually be receiving less released HIVE collateral. Because of this, the method in this tutorial is NOT the preferred or most efficient way of converting HIVE to HBD. This tutorial just illustrates that it can be done in this manner. + +There is a marketplace on Hive that allows you to "sell" your HIVE instantly. With this process you can get your HBD immediately and at the exact price that you expect. The market place is the better way to convert your HIVE. [This article](https://hive.blog/steem/@epico/convert-sbd-to-steem-and-steem-power-guide-2017625t103821622z) provides more information on using the market to exchange your HIVE to HBD. + +Hiveconnect offers an alternative to converting HIVE with a "simple link" solution. Instead of running through a list of operations on your account, you can simply use a link similar to the one below substituting the three parameters for your own details. You will be prompted to enter your username and password before the transaction will be executed. + +https://hivesigner.com/sign/collateralized-convert?owner=username&requestid=1234567&amount=0.000%20HIVE + +## Intro + +This tutorial uses the `database API` to gather account information for the current HBD and HIVE balances of the specified user. This information is then used to assist the user in completing the conversion request. The values are then captured and the operation is transmitted via the `broadcast` API. The parameters for this `convert` function are: + +1. _owner_ - The account for which the conversion is being done +1. _requestid_ - Integer identifier for tracking the conversion. This needs to be a unique number for a specified user +1. _amount_ - The amount of HBD to withdraw + +The only other information required is the private active key of the user. + +Also see: +* [convert_operation]({{ '/apidefinitions/#broadcast_ops_collateralized_convert' | relative_url }}) + +## Steps + +1. [**Configure connection**](#connection) Configuration of `dhive` to communicate with a Hive blockchain +1. [**User account**](#user) User account is captured and balances displayed +1. [**Input variables**](#input) Collecting the required inputs via an HTML UI +1. [**Broadcast operation**](#broadcast) Broadcasting the operation to the blockchain + +#### 1. Configure connection<a name="connection"></a> + +As usual, we have a `public/app.js` file which holds the Javascript segment of the tutorial. In the first few lines we define the configured library and packages: + +```javascript +import { Client, PrivateKey } from '@hiveio/dhive'; +import { PublicTestnetHive as NetConfig } from '../../configuration'; //A Hive Testnet. Replace 'Testnet' with 'Mainnet' to connect to the main Hive blockchain. + +let opts = { ...NetConfig.net }; + +//connect to a hive node, tesetnet in this case +const client = new Client(NetConfig.url, opts); +``` + +Above, we have `dhive` pointing to the testnet with the proper chainId, addressPrefix, and endpoint by importing it from the `configuration.js` file. Due to this tutorial altering the blockchain it is preferable to not work on production. + +#### 2. User account<a name="user"></a> + +The user account is input through the UI. Once entered, the user can select the `search` button to display the HIVE and HBD balances for that account. During this step, a random number is also generated for the `requestid`. This value can be changed to any integer value as long as it is unique for the specific account. If the requestid is duplicated an error to do with "uniqueness constraint" will be displayed in the console. For ease of use values for a demo account has already been entered in the relevant fields once the page loads. + +```javascript +window.onload = async () => { + const account = NetConfig.accounts[0]; + document.getElementById('username').value = account.address; + document.getElementById('privateKey').value = account.privActive; +}; +``` + +With the account search function as seen below. + +```javascript +window.submitAcc = async () => { + const accSearch = document.getElementById('username').value; + + const _account = await client.database.call('get_accounts', [[accSearch]]); + console.log(`_account:`, _account); + + const availHIVE = _account[0].balance + const availHBD = _account[0].hbd_balance + + const balance = `Available balance: ${availHIVE} and ${availHBD} <br/>`; + document.getElementById('accBalance').innerHTML = balance; + + //create random number for requestid paramter + var x = Math.floor(Math.random() * 10000000); + document.getElementById("requestID").value = x +} +``` + +#### 3. Input variables<a name="input"></a> + +The parameters for the `convert` function are input in the UI and assigned as seen below once the user presses the convert button. + +```javascript +//get all values from the UI +//get account name +const username = document.getElementById('username').value; +//get private active key +const privateKey = PrivateKey.fromString( + document.getElementById('privateKey').value +); +//get convert amount +const quantity = document.getElementById('quantity').value; +//create correct format +const convert = quantity.concat(' TESTS'); // HIVE = mainnet symbol; TESTS = testnet symbol +//assign integer value of ID +const requestid = parseInt(document.getElementById('requestID').value); +``` + +#### 4. Broadcast operation<a name="broadcast"></a> + +With all the parameters assigned we create an array for the `convert` function and transmit it to the blockchain via the `sendOperation` function in the `broadcast` API. + +```javascript +//create convert operation +const op = [ + 'collateralized_convert', + { owner: username, amount: convert, requestid: requestid }, +]; + +//broadcast the conversion +client.broadcast.sendOperations([op], privateKey).then( + function(result) { + console.log( + 'included in block: ' + result.block_num, + 'expired: ' + result.expired + ); + document.getElementById('convertResultContainer').style.display = 'flex'; + document.getElementById('convertResult').className = + 'form-control-plaintext alert alert-success'; + document.getElementById('convertResult').innerHTML = 'Success'; + }, + function(error) { + console.error(error); + document.getElementById('convertResultContainer').style.display = 'flex'; + document.getElementById('convertResult').className = + 'form-control-plaintext alert alert-danger'; + document.getElementById('convertResult').innerHTML = error.jse_shortmsg; + } +); +``` + +The results of the operation is displayed on the UI along with a block number in the console to confirm a successful operation. + +### To run this tutorial + +1. `git clone https://gitlab.syncad.com/hive/devportal.git` +1. `cd devportal/tutorials/javascript/37_convert_hive_to_hbd` +1. `npm i` +1. `npm run dev-server` or `npm run start` +1. After a few moments, the server should be running at http://localhost:3000/ diff --git a/_tutorials-javascript/create_account.md b/_tutorials-javascript/create_account.md index 80c897d682f363442a62d0e2c5979eae51d24d51..8ab351a451fdd0638bae6832f83b04d262886b5a 100644 --- a/_tutorials-javascript/create_account.md +++ b/_tutorials-javascript/create_account.md @@ -16,7 +16,7 @@ This tutorial will show few functions such as querying account by name and check Also see: * [account_create_operation]({{ '/apidefinitions/#broadcast_ops_account_create' | relative_url }}) * [account_create_with_delegation_operation]({{ '/apidefinitions/#broadcast_ops_account_create_with_delegation' | relative_url }}) -* [claim_account_operation]({{ '/apidefinitions/#broadcast_ops_account_claim_account' | relative_url }}) +* [claim_account_operation]({{ '/apidefinitions/#broadcast_ops_claim_account' | relative_url }}) ## Steps diff --git a/_tutorials-javascript/edit_content_patching.md b/_tutorials-javascript/edit_content_patching.md index 102180148e0618a53a41bec3cbe0f2b6f0f6c71d..09933e2751489c0760405a12452c5f76d8c76e04 100644 --- a/_tutorials-javascript/edit_content_patching.md +++ b/_tutorials-javascript/edit_content_patching.md @@ -29,13 +29,7 @@ Also see: #### 1. Configure testnet<a name="configure-app"></a> -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: - -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` - -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} As usual, we have a file called `public/app.js`, which holds the Javascript segment of the tutorial. In the first few lines, we have defined the configured library and packages: diff --git a/_tutorials-javascript/grant_posting_permission.md b/_tutorials-javascript/grant_posting_permission.md index 4313f5e43d5590eea7f6280f481b2bc52650bfde..daa1c0dbd091e9a4216f7152daabbf187eaa1d75 100644 --- a/_tutorials-javascript/grant_posting_permission.md +++ b/_tutorials-javascript/grant_posting_permission.md @@ -40,13 +40,7 @@ Also see: #### 1. Configure connection<a name="connection"></a> -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: - -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` - -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} As usual, we have a `public/app.js` file which holds the Javascript segment of the tutorial. In the first few lines we define the configured library and packages: diff --git a/_tutorials-javascript/submit_comment_reply.md b/_tutorials-javascript/submit_comment_reply.md index be93f6c617e033384cb28c3c64a0e1f7a7a02888..19dde55eaea88f9adf104692f570959cff2b0203 100644 --- a/_tutorials-javascript/submit_comment_reply.md +++ b/_tutorials-javascript/submit_comment_reply.md @@ -29,13 +29,7 @@ Also see: #### 1. App setup<a name="app-setup"></a> -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: - -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` - -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} As usual, we have a `public/app.js` file which holds the Javascript segment of the tutorial. In the first few lines we define the configured library and packages: diff --git a/_tutorials-javascript/submit_post.md b/_tutorials-javascript/submit_post.md index b0b8155599d281135e2798233158204bcb5e5c26..92dc093a1e70f8e9612304ab67d711c00356b064 100644 --- a/_tutorials-javascript/submit_post.md +++ b/_tutorials-javascript/submit_post.md @@ -25,13 +25,7 @@ Also see: #### 1. App setup<a name="app-setup"></a> -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: - -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` - -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} Below we have `dhive` pointing to the test network with the proper chainId, addressPrefix, and endpoint. Because this tutorial is interactive, we will not publish test content to the main network. Instead, we're using the testnet and a predefined account to demonstrate post publishing. diff --git a/_tutorials-javascript/tic-tac-toe-game.md b/_tutorials-javascript/tic-tac-toe-game.md index 6a9ea761f63ccf277fd70a51968590f22ae42f0a..f3470aa010b3e2a80886dbb46cae70594f82d406 100644 --- a/_tutorials-javascript/tic-tac-toe-game.md +++ b/_tutorials-javascript/tic-tac-toe-game.md @@ -8,6 +8,8 @@ canonical_url: tic-tac-toe-game.html The following is a series written by [@mahdiyari](https://hive.blog/@mahdiyari) that describes how to develop a decentralized game on the Hive blockchain. It was originally released part by part, written over the course of about two months and originally posted on his blog. +### Sections + * [**Part 1**](#part-1) * [**Target Audience**](#target-audience) * [**Why “tic-tac-toe�**](#why-tic-tac-toe) diff --git a/_tutorials-javascript/transfer_hive_and_hbd.md b/_tutorials-javascript/transfer_hive_and_hbd.md index d52ecfd16ed72465fc69fcd044dfde5fe32a6680..a81f6039b8eba7ea8bc33ab76152a4d634568b92 100644 --- a/_tutorials-javascript/transfer_hive_and_hbd.md +++ b/_tutorials-javascript/transfer_hive_and_hbd.md @@ -37,13 +37,7 @@ Also see: #### 1. Configure connection<a name="connection"></a> -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: - -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` - -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} As usual, we have a `public/app.js` file which holds the Javascript segment of the tutorial. In the first few lines we define the configured library and packages: diff --git a/_tutorials-python/account_recovery.md b/_tutorials-python/account_recovery.md index 491d1eaed874900343e9df805ce2817e05315450..bfc7b3b0873d52f28bc8ac2e487bc6ff14b24697 100644 --- a/_tutorials-python/account_recovery.md +++ b/_tutorials-python/account_recovery.md @@ -76,7 +76,10 @@ new_password = getpass.getpass('new password for account: ') recovery_account = input('account owner (recovery account name): ') recovery_account_private_key = getpass.getpass('account owner private ACTIVE key: ') -client = Hive('http://127.0.0.1:8090', keys=[recovery_account_private_key]) +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +client = Hive(node_url, keys=[recovery_account_private_key]) account = Account(account, blockchain_instance=client) recovery_account = Account(recovery_account, blockchain_instance=client) ``` @@ -189,8 +192,11 @@ op_account_update_data = { The beem class is initialized once more but with the required WIF for this specific section. This is necessary when different keys are required at various steps. The `recover_account` function is transmitted to the blockchain via the `TransactionBuilder` operation in order to append the new private keys. The operation is then broadcast. ```python +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # recover account initialisation and transmission -client = Hive('http://127.0.0.1:8090', keys=[recovery_account_private_key]) +client = Hive(node_url, keys=[recovery_account_private_key]) op_recover_account = beembase.operations.Recover_account(**op_recover_account_data) @@ -213,8 +219,11 @@ print(result) The same basic process is followed as in the previous step. For this step however we require the new owner private key which is initialized in the beem class. The `TransactionBuilder` operation is used once more for the transmission to the blockchain. ```python +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # update account keys initialisation and transmission -client = Hive('http://127.0.0.1:8090', keys=[new_account_owner_private_key]) +client = Hive(node_url, keys=[new_account_owner_private_key]) op_account_update = beembase.operations.Account_update(**op_account_update_data) @@ -232,15 +241,17 @@ print('result') print(result) ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py35accountrecovery?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/claim_rewards.md b/_tutorials-python/claim_rewards.md index 82ebc026fca7fe14c2db05b67b7889ec05f84ef1..b2df2c41901285ffba60f0d87c17647c94c63c17 100644 --- a/_tutorials-python/claim_rewards.md +++ b/_tutorials-python/claim_rewards.md @@ -56,8 +56,11 @@ We require the `private posting key` of the user in order for the claim to be br account = input('Enter username: ') wif_posting_key = getpass.getpass('Enter private POSTING key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node -client = Hive('http://127.0.0.1:8090', keys=[wif_posting_key]) +client = Hive(node_url, keys=[wif_posting_key]) ``` #### 3. Check reward balance <a name="balance"></a> @@ -147,13 +150,17 @@ print('\t' + str(reward_hive) + '\n' + ) ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py23claimrewards?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial + +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/convert_hbd_to_hive.md b/_tutorials-python/convert_hbd_to_hive.md index 63b851327bd16df8ed17a1fff318502e279357e3..aae2d4b3625cb7e8c5760f9678e0fa045bcab031 100644 --- a/_tutorials-python/convert_hbd_to_hive.md +++ b/_tutorials-python/convert_hbd_to_hive.md @@ -60,8 +60,11 @@ We require the `private active key` of the user in order for the conversion to b account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 3. Check balance <a name="balance"></a> @@ -116,15 +119,17 @@ print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_hive) + '\n' + str( The HIVE balance will not yet have been updated as it takes 3.5 days to settle. The HBD will however show the new balance. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py32converthbdtohive?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/convert_hive_to_hbd.md b/_tutorials-python/convert_hive_to_hbd.md new file mode 100644 index 0000000000000000000000000000000000000000..cc8dcc0026a401413306f25c3b1e243677260ded --- /dev/null +++ b/_tutorials-python/convert_hive_to_hbd.md @@ -0,0 +1,139 @@ +--- +title: 'PY: Convert HIVE to HBD' +position: 37 +description: "How to convert your HIVE to HBD using Python." +layout: full +canonical_url: convert_hive_to_hbd.html +--- +Full, runnable src of [Convert HIVE to HBD](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/python/37_convert_hive_to_hbd) can be downloaded as part of: [tutorials/python](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/python) (or download just this tutorial: [devportal-master-tutorials-python-37_convert_hive_to_hbd.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/python/37_convert_hive_to_hbd)). + +In this tutorial we will explain and show you how to convert some or all of your available HIVE balance into HBD on the **Hive** blockchain using the `commit` class found within the [beem](https://github.com/holgern/beem) library. + +It should be noted that unlike the [opposite conversion]({{ '/_tutorials-python/32_convert_hbd_to_hive.html' | relative_url }}), the converted HBD *will* be available instantly, but the collateral takes 3.5 days for the transaction to be processed. It is also not possible to stop a conversion once initialized. During the 3.5 days for it to be converted and as the conversion price fluctuates you could actually be receiving less released HIVE collateral. Because of this, the method in this tutorial is **NOT** the preferred and **often NOT** the most efficient way of converting HIVE to HBD. This tutorial just illustrates that it can be done in this manner. + +Note: **This is not a market process and will often result in unfavorable outcomes, if used bindly.** + +<blockquote class="warning"> + There is an internal market on Hive that allows you to sell your HIVE. You should use the internal market for routine trades between HIVE and HBD. With the market process you can get your HBD (sometimes immediately) and at the exact price that you expect. The market place is almost always the better way to exchange your HIVE. <a href="https://hive.blog/hive-148441/@rehan12/quick-guide-to-use-hive-internal-market">This article</a> provides more information on using the market to exchange your HIVE for HBD. +</blockquote> + +The purpose of this process is for experts to help maintain the target price of HIVE, **not** to provide convenience to the end-user. + +## Intro + +The Hive python library has built-in functionality to transmit transactions to the blockchain. We are using the [`collateralized_convert`](https://beem.readthedocs.io/en/latest/beem.account.html#beem.account.Account.collateralized_convert) method found within the [`Account`](https://beem.readthedocs.io/en/latest/beem.account.html) instance. Before we do the conversion, we check the current balance of the account to check how much HIVE is available. This is not strictly necessary as the process will automatically abort with the corresponding error, but it does give some insight into the process as a whole. We use the `Account` module to check for this. The `collateralized_convert` method has 2 parameters: + +1. _amount_ - The amount of HIVE that will be converted +1. _request-id_ - An identifier for tracking the conversion. This parameter is optional + +Also see: +* [convert_operation]({{ '/apidefinitions/#broadcast_ops_collateralized_convert' | relative_url }}) + +## Steps + +1. [**App setup**](#setup) - Library install and import. Connection to testnet +1. [**User information and Hive node**](#userinfo) - Input user information and connection to Hive node +1. [**Check balance**](#balance) - Check current HBD and HIVE balance of user account +1. [**Conversion amount and commit**](#convert) - Input of HIVE amount to convert and commit to blockchain + +#### 1. App setup <a name="setup"></a> + +In this tutorial we only use 1 package: + +- `beem` - hive library and interaction with Blockchain + +```python +from pick import pick +import getpass +from beem import Hive +from beem.account import Account +``` + +Because this tutorial alters the blockchain we connect to the testnet so we don't create spam on the production server. + +#### 2. User information and Hive node <a name="userinfo"></a> + +We require the `private active key` of the user in order for the conversion to be committed to the blockchain. This is why we have to specify this alongside the `testnet` node. The values are supplied via the terminal/console before we initialize the beem class. + +```python +# capture user information +account = input('Enter username: ') +wif_active_key = getpass.getpass('Enter private ACTIVE key: ') + +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +# connect node and private active key +client = Hive(node_url, keys=[wif_active_key]) +``` + +#### 3. Check balance <a name="balance"></a> + +In order to give the user enough information to make the conversion we check the current balance of the account using the `Account` module. + +```python +# get account balance for HIVE and HBD +account = Account(account, blockchain_instance=client) +total_hbd = account['hbd_balance'] +total_hive = account['balance'] + +print('CURRENT ACCOUNT BALANCE:' + '\n' + str(total_hbd) + '\n' + str(total_hive) + '\n') +``` + +The result of the query is displayed in the console/terminal. + +#### 4. Conversion amount and commit <a name="convert"></a> + +The final step before we can commit the transaction to the blockchain is to assign the `amount` parameter. We do this via a simple input from the terminal/console. + +```python +# get recipient name +convert_amount = float(input('Enter the amount of HIVE to convert to HBD: ') or '0') + +if (convert_amount <= 0): + print("Must be greater than zero.") + exit() +``` + +This value must be greater than zero in order for the transaction to execute without any errors. Now that we have all the parameters we can do the actual transmission of the transaction to the blockchain. + +```python +# parameters: amount, request_id +account.collateralized_convert(convert_amount) + +print('\n' + format(convert_amount, '.3f') + ' HIVE has been converted to HBD') +``` + +If no errors are encountered a simple confirmation is printed on the UI. + +As an added confirmation we check the balance of the user again and display it on the UI. This is not required at all but it serves as a more definitive confirmation that the conversion has been started correctly. + +```python +# get remaining account balance for HBD and HIVE +account.refresh() +total_hbd = account['hbd_balance'] +total_hive = account['balance'] + +print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_hbd) + '\n' + str(total_hive)) +``` + +The HIVE balance will not yet have been fully updated as it takes 3.5 days for the collateral to settle. The HBD will however show the new balance. + +--- + +#### Try it + +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py37converthivetohbd?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial + +{% include local-testnet.html %} + +1. [review dev requirements](getting_started.html) +1. `git clone https://gitlab.syncad.com/hive/devportal.git` +1. `cd devportal/tutorials/python/37_convert_hive_to_hbd` +1. `pip install -r requirements.txt` +1. `python index.py` +1. After a few moments, you should see a prompt for input in terminal screen. diff --git a/_tutorials-python/delegate_power.md b/_tutorials-python/delegate_power.md index 4f25a096a7de50afc5c894f720a9c561edd46f2a..927a8e93c4f4d4772a9fb2826eed31e9c0d39b13 100644 --- a/_tutorials-python/delegate_power.md +++ b/_tutorials-python/delegate_power.md @@ -52,8 +52,11 @@ We require the `private active key` of the user in order for the transaction to account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # check valid user account = Account(account, blockchain_instance=client) @@ -154,15 +157,17 @@ Note that if the user decides to delegate a specific amount, we capture the amou A confirmation of the transaction is displayed on the UI. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py27delegatepower?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/edit_content_patching.md b/_tutorials-python/edit_content_patching.md index 2869dd13eb580650e8e82e8a49586ee17295ff3d..02a45a19dc99839770f42513bcfbecb9230fc152 100644 --- a/_tutorials-python/edit_content_patching.md +++ b/_tutorials-python/edit_content_patching.md @@ -61,7 +61,8 @@ The user inputs the author and permlink of the post that they wish to edit. See post_author = input('Please enter the AUTHOR of the post you want to edit: ') #connect node -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet #check valid post_author try: @@ -74,7 +75,7 @@ post_permlink = input('Please enter the PERMLINK of the post you want to edit: ' #get details of selected post try: - details = beem.comment.Comment(post_author + '/' + post_permlink) + details = beem.comment.Comment(post_author + '/' + post_permlink, blockchain_instance=client) except: print('Oops. Looks like ' + post_author + '/' + post_permlink + ' doesn\'t exist on this chain!') exit() @@ -151,15 +152,17 @@ print('\n' + 'Content of the post has been successfully updated: ' + str(broadca A simple confirmation is displayed on the screen for a successful commit. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py12editcontentpatching?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/follow_a_user.md b/_tutorials-python/follow_a_user.md index 091f1bb86e97d863b84bca4668b3eafe5c953892..7104f17df859c537707507107c24163090facdde 100644 --- a/_tutorials-python/follow_a_user.md +++ b/_tutorials-python/follow_a_user.md @@ -65,7 +65,8 @@ if author == account: exit() # connect node and private posting key, demo account being used: cdemo, posting key: 5JEZ1EiUjFKfsKP32b15Y7jybjvHQPhnvCYZ9BW62H1LDUnMvHz -hive = beem.Hive('http://127.0.0.1:8090') +# hive = beem.Hive('https://testnet.openhive.network') # Public Testnet +hive = beem.Hive('http://127.0.0.1:8090') # Local Testnet ``` #### 3. Check author status<a name="authorstat"></a> @@ -154,15 +155,17 @@ print(option + ' ' + author.name + ": " + str(broadcast_tx)) A simple confirmation of the chosen action is printed on the screen. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py18followauser?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/grant_active_permission.md b/_tutorials-python/grant_active_permission.md index ad379bc22a250dc50bd2d32b525f5f8a9adf7976..d2052e0610423b315230bfd695774afc3e7eddb4 100644 --- a/_tutorials-python/grant_active_permission.md +++ b/_tutorials-python/grant_active_permission.md @@ -60,8 +60,11 @@ We require the `private active key` of the user in order for the `allow` or `dis account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect to production server with active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 2. Username validation <a name="username"></a> @@ -121,15 +124,17 @@ else: print('active permission for ' + foreign.name + ' has been removed') ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py31grantactivepermission?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/grant_posting_permission.md b/_tutorials-python/grant_posting_permission.md index de5a8a39e10e11ce11a5c0957ca96fad8145a52a..c7843759483eb9415e58fb5a7cf458f95bb81ac7 100644 --- a/_tutorials-python/grant_posting_permission.md +++ b/_tutorials-python/grant_posting_permission.md @@ -52,8 +52,11 @@ We require the `private active key` of the user in order for the `allow` or `dis account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect to production server with active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 2. Username validation <a name="username"></a> @@ -113,15 +116,17 @@ else: print('posting permission for ' + foreign.name + ' has been removed') ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py30grantpostingpermission?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/password_key_change.md b/_tutorials-python/password_key_change.md index 124591923dc48ff8f4b109db0e6c9f86cc71699f..3a27945beaae5febe004f6835c7b1887558f389a 100644 --- a/_tutorials-python/password_key_change.md +++ b/_tutorials-python/password_key_change.md @@ -66,7 +66,10 @@ wif_old_owner_key = str( PasswordKey(account, old_password, "owner").get_private_key() ) -client = Hive('http://127.0.0.1:8090', keys=[wif_old_owner_key]) +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +client = Hive(node_url, keys=[wif_old_owner_key]) account = Account(account, blockchain_instance=client) ``` @@ -136,15 +139,17 @@ Assert Exception:_db.head_block_time() - account_auth.last_owner_update > HIVE_O You will need to wait at least an hour before attempting this again. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py34passwordkeychange?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/power_down.md b/_tutorials-python/power_down.md index 4ab8de36582b303ecd38d21f724467a869537b92..738924ad447a06049c97f04ce06cd0e826661e73 100644 --- a/_tutorials-python/power_down.md +++ b/_tutorials-python/power_down.md @@ -52,8 +52,11 @@ We require the `private active key` of the user in order for the conversion to b account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 3. Check balance <a name="balance"></a> @@ -149,15 +152,17 @@ print('Insufficient funds available') The result is displayed on the console/terminal. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py25powerdown?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/power_up_hive.md b/_tutorials-python/power_up_hive.md index 849dfa3b6b37f1bd3e539dfe54270afe3ad19afd..56c3e0b6d94065fe7a183b02dfd6189b1f7dc9de 100644 --- a/_tutorials-python/power_up_hive.md +++ b/_tutorials-python/power_up_hive.md @@ -55,8 +55,11 @@ We require the `private active key` of the user in order for the conversion to b account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 3. Check balance <a name="balance"></a> @@ -128,13 +131,17 @@ balance = account['balance'] print('New balance: ' + str(balance)) ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py24poweruphive?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial + +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/rcdemo.md b/_tutorials-python/rcdemo.md index ab1d7d216ab18ee9afc728ba1017812cf8e397f3..ed722489abb6ad448da7c32e3b77a1763a3077a3 100644 --- a/_tutorials-python/rcdemo.md +++ b/_tutorials-python/rcdemo.md @@ -70,7 +70,7 @@ Each resource has a global *pool* which is the number of resources remaining. T The RC cost of each resource depends on the following information: - How many resources are in the corresponding resource pool -- The global RC regeneration rate, which may be calculated as `total_vesting_shares` / ([`HIVE_RC_REGEN_TIME`]({{ '/tutorials-recipes/understanding-configuration-values.html#HIVE_RC_REGEN_TIME' | relative_url }}) / [`HIVE_BLOCK_INTERVAL`]({{ '/tutorials-recipes/understanding-configuration-values.html#HIVE_BLOCK_INTERVAL' | relative_url }}))` +- The global RC regeneration rate, which may be calculated as `total_vesting_shares` / ([`HIVE_RC_REGEN_TIME`](https://gitlab.syncad.com/hive/hive/-/blob/master/libraries/plugins/rc/rc_plugin.cpp#L20) / [`HIVE_BLOCK_INTERVAL`]({{ '/tutorials-recipes/understanding-configuration-values.html#HIVE_BLOCK_INTERVAL' | relative_url }}))` - The price curve parameters in the corresponding `price_curve_params` object For convenience, `rcdemo.py` contains an `RCModel` class with all of this information in its fields. @@ -96,7 +96,7 @@ Suppose an account has 15 Hive Power. How much can it vote? 138.88697555075086 ``` -This is the amount of Hive Power (in satoshis) that would be needed by an account to transact once per 5 days ([`HIVE_RC_REGEN_TIME`]({{ '/tutorials-recipes/understanding-configuration-values.html#HIVE_RC_REGEN_TIME' | relative_url }})). +This is the amount of Hive Power (in satoshis) that would be needed by an account to transact once per 5 days ([`HIVE_RC_REGEN_TIME`](https://gitlab.syncad.com/hive/hive/-/blob/master/libraries/plugins/rc/rc_plugin.cpp#L20)). Our 15 HP account has 15000 HP, so it would be able to do `15000 / 138`, or about `108`, such transactions per 5 days. You can regard the number `138` (or `0.138`) as the "cost" of a "standardized" vote transaction. It plays an analogous role to a diff --git a/_tutorials-python/reblogging_post.md b/_tutorials-python/reblogging_post.md index 784c08b4ec65a32250ad148abbc1ec4f442e96ad..bf7e98543a57eb28996cb416d7bd36e4e832c033 100644 --- a/_tutorials-python/reblogging_post.md +++ b/_tutorials-python/reblogging_post.md @@ -40,7 +40,8 @@ from beem.comment import Comment from beem.transactionbuilder import TransactionBuilder from beembase.operations import Custom_json -hive = Hive(['http://127.0.0.1:8090']) +# hive = Hive(['https://testnet.openhive.network']) # Public Testnet +hive = Hive(['http://127.0.0.1:8090']) # Local Testnet ``` #### 2. Post list <a name="post-list"></a> @@ -49,7 +50,7 @@ Next we will fetch and make list of accounts and setup `pick` properly. ```python q = Query(limit=5, tag="") -d = Discussions() +d = Discussions(blockchain_instance=hive) #author list from hot post list posts = d.get_discussions('hot', q, limit=5) @@ -98,15 +99,17 @@ print("Reblogged successfully: " + str(broadcast_tx)) If transaction is successful you shouldn't see any error messages, otherwise you will be notified. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py14rebloggingpost?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/submit_comment_reply.md b/_tutorials-python/submit_comment_reply.md index e2090bb071e85d812d2b152e3207873521459acd..e118c8a711d79b6859bd2f21c1271bd2abad7346 100644 --- a/_tutorials-python/submit_comment_reply.md +++ b/_tutorials-python/submit_comment_reply.md @@ -82,8 +82,11 @@ The random generator is limited to 10 characters in this case but the permlink c We initialize the beem class by connecting to the specific `testnet` node. We also require the `private posting key` of the contributing author in order to commit the post which is also specified during this operation. ```python +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + #connect node and private posting key -client = Hive('http://127.0.0.1:8090', keys=[wif]) +client = Hive(node_url, keys=[wif]) ``` #### 4. Post submission and result<a name="submit"></a> @@ -91,7 +94,8 @@ client = Hive('http://127.0.0.1:8090', keys=[wif]) The last step is to transmit the post through to the blockchain. All the defined parameters are signed and broadcasted. We also securely prompt for the posting key right before signing. ```python -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet tx = TransactionBuilder(blockchain_instance=client) tx.appendOps(Comment(**{ "parent_author": '', @@ -115,15 +119,17 @@ A simple confirmation is printed on the screen if the post is committed successf You can also check on your local testnet using [database_api.find_comments]({{ '/apidefinitions/#database_api.find_comments' | relative_url }}) for the post. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py11submitcommentreply?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/submit_post.md b/_tutorials-python/submit_post.md index 94383db3a3045a348fdced6841bcc0facd8de528..6ee2329a86f5cb1fb054285425ab275a3d904e03 100644 --- a/_tutorials-python/submit_post.md +++ b/_tutorials-python/submit_post.md @@ -89,7 +89,8 @@ The random generator is limited to 10 characters in this case but the permlink c The last step is to transmit the post through to the blockchain. All the defined parameters are signed and broadcasted. We also securely prompt for the posting key right before signing. ```python -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet tx = TransactionBuilder(blockchain_instance=client) tx.appendOps(Comment(**{ "parent_author": '', @@ -113,15 +114,17 @@ A simple confirmation is printed on the screen if the post is committed successf You can also check on your local testnet using [database_api.find_comments]({{ '/apidefinitions/#database_api.find_comments' | relative_url }}) for the post. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py10submitpost?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/transfer_hive_and_hbd.md b/_tutorials-python/transfer_hive_and_hbd.md index ab1aa6d058a510b1f32f59653ba7c96d4bbd8968..f84fc255ffdd2fbbd56eb82332de70112b61ff3c 100644 --- a/_tutorials-python/transfer_hive_and_hbd.md +++ b/_tutorials-python/transfer_hive_and_hbd.md @@ -57,8 +57,11 @@ We require the `private active key` of the user in order for the transfer to be account = input('Enter username: ') wif_active_key = getpass.getpass('Active Key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 3. Check balance <a name="balance"></a> @@ -150,15 +153,17 @@ total_debt = account['hbd_balance'] print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_base) + '\n' + str(total_debt) + '\n') ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py21transferhiveandhbd?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/transfer_hive_and_hbd_to_savings_balance.md b/_tutorials-python/transfer_hive_and_hbd_to_savings_balance.md index 1fa44fe028a519df7e8d76274d20c0d3fb1b17dd..ee52214f7c32a1dfcb291ca645c926ebb4c3a1af 100644 --- a/_tutorials-python/transfer_hive_and_hbd_to_savings_balance.md +++ b/_tutorials-python/transfer_hive_and_hbd_to_savings_balance.md @@ -67,8 +67,11 @@ We require the `private active key` of the user in order for the transfer to be account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) ``` #### 3. Check balance <a name="balance"></a> @@ -145,15 +148,17 @@ print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_base) + '\n' + str( print('CURRENT SAVINGS BALANCE:' + '\n' + str(savings_base) + '\n' + str(savings_debt) + '\n') ``` -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py33transferhiveandhbdtosavingsbalance?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/vote_on_content.md b/_tutorials-python/vote_on_content.md index 60e9aac8df4e355c16dd850deac6b7b260812fa3..28324e0fcbec14cd52d7acbbf7d06d1837077952 100644 --- a/_tutorials-python/vote_on_content.md +++ b/_tutorials-python/vote_on_content.md @@ -59,7 +59,8 @@ voter = input('Please enter your username (voter): ') # connect node # If using mainnet, try with demo account: cdemo, posting key: 5JEZ1EiUjFKfsKP32b15Y7jybjvHQPhnvCYZ9BW62H1LDUnMvHz -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet ``` #### 3. Check vote status<a name="votestat"></a> @@ -79,8 +80,8 @@ The vote status check is done with a simple query to the blockchain. # noinspection PyInterpreter print('checking vote status - getting current post votes') identifier = ('@' + author + '/' + permlink) -author_account = Account(author) -result = ActiveVotes(identifier) +author_account = Account(author, blockchain_instance=client) +result = ActiveVotes(identifier, blockchain_instance=client) print(len(result), ' votes retrieved') ``` @@ -139,15 +140,17 @@ When the function is executed the selected vote weight overrides any value previ A simple confirmation of the chosen action is printed on the screen. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py17voteoncontent?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-python/witness_listing_and_voting.md b/_tutorials-python/witness_listing_and_voting.md index 37da928688eaa34ddf6b6e8d574a09eee1e2f80c..1dd4a01743dcdfa80702d2dfd17952c30c1fb42c 100644 --- a/_tutorials-python/witness_listing_and_voting.md +++ b/_tutorials-python/witness_listing_and_voting.md @@ -51,8 +51,11 @@ We require the `private active key` of the user in order for the transaction to account = input('Enter username: ') wif_active_key = getpass.getpass('Active Key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # check valid user account = Account(account, blockchain_instance=client) @@ -108,15 +111,17 @@ else : A confirmation of the transaction to the blockchain is displayed on the UI. -### To Run the tutorial +--- -Before running this tutorial, launch your local testnet, with port 8090 mapped locally to the docker container: +#### Try it -```bash -docker run -d -p 8090:8090 inertia/tintoy:latest -``` +Click the play button below: + +<iframe height="400px" width="100%" src="https://replit.com/@inertia186/py22witnesslistingandvoting?embed=1&output=1" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe> + +### To Run the tutorial -For details on running a local testnet, see: [Setting Up a Testnet]({{ '/nodeop/setting-up-a-testnet.html' | relative_url }}) +{% include local-testnet.html %} 1. [review dev requirements](getting_started.html) 1. `git clone https://gitlab.syncad.com/hive/devportal.git` diff --git a/_tutorials-recipes/sso.md b/_tutorials-recipes/sso.md new file mode 100644 index 0000000000000000000000000000000000000000..b49650a003d718889f86dba54eba40f3d7431c7a --- /dev/null +++ b/_tutorials-recipes/sso.md @@ -0,0 +1,54 @@ +--- +title: 'Single Sign-on' +position: 1 +description: "_Login without authority._" +exclude: true +layout: full +canonical_url: sso.html +--- +There are some cases where you don't need Posting Authority on your apps. + +Some examples are [hivesearcher.com](https://hivesearcher.com), [openhive.chat](https://openhive.chat), and [hyperion.zone](https://hyperion.zone) where use case and actions are off-chain, no on-chain operations, or transactions are signed by other means. + +These services allow you to login with Hive account and perform actions without any chain operations. This is perfect use case for off-chain applications. Essentially, making any Web 2.0 application Web 3.0 by using Blockchain for Authentication. + +There are more benefits of using hybrid approach. Try these approach and let us know if you are able to secure your apps to the best of your ability. Giving people complete control over their keys while still allowing services, websites and applications to serve everyone in most secure manner. + +--- + +#### Register Your Application + +First, you will need to create a Hive account for your application and then register your application with Hivesigner. + +After you have your account, go to [hivesigner.com/profile](https://hivesigner.com/profile) and login with your app account and update account type as "Application" . + +#### Create Session + +In your application, send your users who wish to log in to the following url: + +<blockquote><code> + https://hivesigner.com/oauth2/authorize?client_id=[YOUR APP HIVE ACCOUNT]&redirect_uri=[YOUR APP DESTINATION]&scope=login +</code></blockquote> + +Note, the requested scope is only `login` which will allow your application to authenticate without adding authority. + +Be sure to change `[YOUR APP HIVE ACCOUNT]` and `[YOUR APP DESTINATION]`. Once the user has proven they own the account, Hivesigner will redirect them to the resource you specified, along with an `access_token` parameter. + +#### Verify Access Token + +Once the user authenticates, they will be redirected back to your application, where you will be able to see the `access_token`, `expires_in` and `username` parameters. + +To verify, make a request to [hivesigner.com/api/me](https://hivesigner.com/api/me) using the provided access token and check if it matches the user, e.g.: + +```bash +curl -i -H "Authorization: [ACCESS TOKEN]" https://hivesigner.com/api/me +``` + +Be sure to change `[ACCESS TOKEN]` to the `access_token` that came from the previous redirect. + +A valid response will contain status code 200 along with a JSON payload containing the user information while an invalid or expired response will be 401. + +Also see: + +* [Hivesigner - Login scope explained](https://ecency.com/hive-139531/@good-karma/hivesigner-login-scope-explained) +* [Hivesigner docs](https://docs.hivesigner.com) diff --git a/_tutorials-ruby/blog_feed.md b/_tutorials-ruby/blog_feed.md index d5e58a864d7d74c65b6f22e6a366048cb2d7f1a7..6e38eb7a1beb2c5a4365a90573271ac21f0eabc4 100644 --- a/_tutorials-ruby/blog_feed.md +++ b/_tutorials-ruby/blog_feed.md @@ -5,7 +5,7 @@ description: "This example will output blog details to the terminal for the auth layout: full canonical_url: blog_feed.html --- -Full, runnable src of [Blog Feed](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/01_blog_feed) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-01_blog_feed.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/01_blog_feed)). +Full, runnable src of [Blog Feed](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/01_blog_feed) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-01_blog_feed.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/01_blog_feed)). Also see: * [get_discussions_by_blog]({{ '/apidefinitions/#tags_api.get_discussions_by_blog' | relative_url }}) diff --git a/_tutorials-ruby/convert_hbd_to_hive.md b/_tutorials-ruby/convert_hbd_to_hive.md new file mode 100644 index 0000000000000000000000000000000000000000..28e2a56b1b4ed3041c3a3d63a2f98db834305ffb --- /dev/null +++ b/_tutorials-ruby/convert_hbd_to_hive.md @@ -0,0 +1,144 @@ +--- +title: 'RB: Convert HBD to Hive' +position: 32 +description: "How to convert your HBD to HIVE using Ruby." +layout: full +canonical_url: convert_hbd_to_hive.html +--- +Full, runnable src of [Convert HBD to Hive](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/32_convert_hbd_to_hive) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-32_convert_hbd_to_hive.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/32_convert_hbd_to_hive)). + +Also see: +* [convert_operation]({{ '/apidefinitions/#broadcast_ops_convert' | relative_url }}) + +### Sections + +1. [Making the api call](#making-the-api-call) - broadcasting the operation + 1. [Example api call](#example-api-call) - make the call in code + 1. [Example api call using script](#example-api-call-using-script) - using our tutorial script + 1. [Example Output](#example-output) - output from a successful call + 1. [Example Error](#example-error) - error output from a unsuccessful call +1. [Convert Fields](#convert-fields) - understanding the result +1. [To Run](#to-run) - Running the example. + +### Making the api call + +[`vote_on_content.rb`](https://gitlab.syncad.com/hive/devportal/-/blob/master/tutorials/ruby/17_vote_on_content/vote_on_content.rb) + +To broadcast the operation, we can use a `Radiator::Transaction` instance: + +```ruby +tx = Radiator::Transaction.new + + +tx.process(true) +``` + +Passing `true` to `Radiator::Transaction#process` will broadcast the operations queued in the `operations` array of the transaction. + +#### Example api call + +If we want to convert, for example: + +```ruby +tx.operations << { + type: :convert, + owner: owner, + requestid: requestid, + amount: amount +} +``` + +#### Example api call using script + +And to do the same with our tutorial script: + +```bash +ruby convert_hbd_to_hive.rb +``` + +#### Example Output + +From the example we get the following output from our script: + +```json +{ + "jsonrpc": "2.0", + "result": { + "id": "e658349eeaa8e941fe232ee0aff0da7ecfadd726", + "block_num": 44835272, + "trx_num": 0, + "expired": false + }, + "id": 10 +} +``` + +The response we get after broadcasting the transaction gives us the transaction id ([`244a67b...`](https://hiveblocks.com/tx/e658349eeaa8e941fe232ee0aff0da7ecfadd726)), block number ([`44835272`](https://hiveblocks.com/b/44835272)), and the transaction number of that block (`0`). + +### Example Error + +If an invalid asset is given (e.g.: `HBD` is for mainnet; 'TBD' is for testnet), we will get back an error: + +```json +{ + "code": -32003, + "message": "Assert Exception:false: Cannot parse asset symbol", + "data": { + "code": 10, + "name": "assert_exception", + "message": "Assert Exception", + "stack": [ + { + "context": { + "level": "error", + "file": "condenser_api_legacy_asset.cpp", + "line": 66, + "method": "string_to_asset_num", + "hostname": "", + "timestamp": "2021-06-29T01:13:43" + }, + "format": "false: Cannot parse asset symbol", + "data": { + } + }, + { + "context": { + "level": "warn", + "file": "condenser_api_legacy_asset.cpp", + "line": 197, + "method": "from_string", + "hostname": "", + "timestamp": "2021-06-29T01:13:43" + }, + "format": "", + "data": { + "from": "10.000 HBD" + } + } + ] + } +} +``` + +This indicates that the convert was not included in the blockchain because it was given an invalid asset argument. + +### Convert Fields + +Broadcasting a `convert` operation will require the following fields: + +* `owner` - account that is doing the convert op +* `requestid` - conversion request identifier +* `amount` - amount of HBD to convert + +### To Run + +First, set up your workstation using the steps provided in [Getting Started]({{ '/tutorials-ruby/getting_started.html' | relative_url }}). Then you can create and execute the script (or clone from this repository) with the following arguments: + +{% include local-testnet.html %} + +```bash +git clone https://gitlab.syncad.com/hive/devportal.git +cd devportal/tutorials/ruby/32_convert_hbd_to_hive +bundle install +ruby convert_hbd_to_hive.rb +``` diff --git a/_tutorials-ruby/edit_content_patching.md b/_tutorials-ruby/edit_content_patching.md index 6805dd0007991c444185945943b9b27a354a682f..f4be243cde908ad4fee29171059bb064601e42ce 100644 --- a/_tutorials-ruby/edit_content_patching.md +++ b/_tutorials-ruby/edit_content_patching.md @@ -5,7 +5,7 @@ description: Patching changes to a post on Hive. layout: full canonical_url: edit_content_patching.html --- -Full, runnable src of [Edit Content Patching](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/12_edit_content_patching) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-12_edit_content_patching.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/12_edit_content_patching)). +Full, runnable src of [Edit Content Patching](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/12_edit_content_patching) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-12_edit_content_patching.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/12_edit_content_patching)). ### Intro diff --git a/_tutorials-ruby/follow_another_user.md b/_tutorials-ruby/follow_another_user.md index 08e85b9fbb3960c541a54dc16daa9b1b03e1125e..71a3775898b0e23f4618b32179d7fe9bbb09c670 100644 --- a/_tutorials-ruby/follow_another_user.md +++ b/_tutorials-ruby/follow_another_user.md @@ -5,7 +5,7 @@ description: "*How to follow/unfollow another user.*" layout: full canonical_url: follow_another_user.html --- -Full, runnable src of [Follow Another User](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/18_follow_another_user) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-18_follow_another_user.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/18_follow_another_user)). +Full, runnable src of [Follow Another User](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/18_follow_another_user) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-18_follow_another_user.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/18_follow_another_user)). This tutorial will take you through the process of following/muting/unfollowing/unmuting an author and checking the follow status of an author. diff --git a/_tutorials-ruby/get_account_comments.md b/_tutorials-ruby/get_account_comments.md index 57a5a5edde60db6d4f559ecd39d73254c22da034..7c4071e128c91862f2d9d89c2ddf6342a2575b97 100644 --- a/_tutorials-ruby/get_account_comments.md +++ b/_tutorials-ruby/get_account_comments.md @@ -5,7 +5,7 @@ description: "Fetching the comments written by a particular account." layout: full canonical_url: get_account_comments.html --- -Full, runnable src of [Get Account Comments](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/09_get_account_comments) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-09_get_account_comments.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/09_get_account_comments)). +Full, runnable src of [Get Account Comments](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/09_get_account_comments) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-09_get_account_comments.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/09_get_account_comments)). Historically, applications that wanted to retrieve comments written by a particular account would use `get_state`. But this method has been scheduled for deprecation. So we'll use a more supported approach in this tutorial using `get_account_history`. diff --git a/_tutorials-ruby/get_account_replies.md b/_tutorials-ruby/get_account_replies.md index cd20bdbd99ce4eb931dc20f379db98e82667a4c8..37741a68a2721f8ba67980f5f752db1daa6305e3 100644 --- a/_tutorials-ruby/get_account_replies.md +++ b/_tutorials-ruby/get_account_replies.md @@ -5,7 +5,7 @@ description: "Fetching the replies written to a particular account." layout: full canonical_url: get_account_replies.html --- -Full, runnable src of [Get Account Replies](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/08_get_account_replies) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-08_get_account_replies.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/08_get_account_replies)). +Full, runnable src of [Get Account Replies](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/08_get_account_replies) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-08_get_account_replies.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/08_get_account_replies)). Historically, applications that wanted to retrieve replies written to a particular account would use `get_state`. But this method has been scheduled for deprecation. So we'll use a more supported approach in this tutorial using `get_account_history`. diff --git a/_tutorials-ruby/get_follower_and_following_list.md b/_tutorials-ruby/get_follower_and_following_list.md index 87e493e53848dfcc04158b757d43804fec631b4c..8702fe7bef4b4d0bc126dbfb118f4c873249d8db 100644 --- a/_tutorials-ruby/get_follower_and_following_list.md +++ b/_tutorials-ruby/get_follower_and_following_list.md @@ -5,7 +5,7 @@ description: "_How to create a list of followers and accounts that you are follo layout: full canonical_url: get_follower_and_following_list.html --- -Full, runnable src of [Get Follower And Following List](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/19_get_follower_and_following_list) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-19_get_follower_and_following_list.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/19_get_follower_and_following_list)). +Full, runnable src of [Get Follower And Following List](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/19_get_follower_and_following_list) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-19_get_follower_and_following_list.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/19_get_follower_and_following_list)). This tutorial will take you through the process of requesting either the `follower` or `following` list for an account on the blockchain. diff --git a/_tutorials-ruby/get_post_comments.md b/_tutorials-ruby/get_post_comments.md index 858a4efcf2faf30e4feb92a7b787a948539db18d..9bc9eb6f23ca10e6832a806688ea0274e8930e8f 100644 --- a/_tutorials-ruby/get_post_comments.md +++ b/_tutorials-ruby/get_post_comments.md @@ -5,7 +5,7 @@ description: "This example will output the reply details and totals for the post layout: full canonical_url: get_post_comments.html --- -Full, runnable src of [Get Post Comments](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/07_get_post_comments) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-07_get_post_comments.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/07_get_post_comments)). +Full, runnable src of [Get Post Comments](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/07_get_post_comments) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-07_get_post_comments.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/07_get_post_comments)). Also see: * [get discussions]({{ '/search/?q=get discussions' | relative_url }}) diff --git a/_tutorials-ruby/get_post_details.md b/_tutorials-ruby/get_post_details.md index be2e66028b4051578d81d86f14084c16a5d38b43..a638022f0593537ae9fb41307b48d20509fb0f2e 100644 --- a/_tutorials-ruby/get_post_details.md +++ b/_tutorials-ruby/get_post_details.md @@ -5,7 +5,7 @@ description: "Understand and use the most common fields of the requested content layout: full canonical_url: get_post_details.html --- -Full, runnable src of [Get Post Details](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/05_get_post_details) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-05_get_post_details.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/05_get_post_details)). +Full, runnable src of [Get Post Details](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/05_get_post_details) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-05_get_post_details.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/05_get_post_details)). ### Intro diff --git a/_tutorials-ruby/get_posts.md b/_tutorials-ruby/get_posts.md index 2ca8e72617f438ad8c946a014087c81970300232..b5f205a6566282d72b97f037772b788734a9cb37 100644 --- a/_tutorials-ruby/get_posts.md +++ b/_tutorials-ruby/get_posts.md @@ -5,7 +5,7 @@ description: "This example will output posts depending on which category is prov layout: full canonical_url: get_posts.html --- -Full, runnable src of [Get Posts](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/04_get_posts) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-04_get_posts.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/04_get_posts)). +Full, runnable src of [Get Posts](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/04_get_posts) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-04_get_posts.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/04_get_posts)). Also see: * [get discussions]({{ '/search/?q=get discussions' | relative_url }}) diff --git a/_tutorials-ruby/get_voters_list_on_post.md b/_tutorials-ruby/get_voters_list_on_post.md index e86cebdcfd7fe90730f9ec2340a2e9148ef8ae9b..78cc32c630637085c39e25b2a9bba0c3bfaacafb 100644 --- a/_tutorials-ruby/get_voters_list_on_post.md +++ b/_tutorials-ruby/get_voters_list_on_post.md @@ -5,7 +5,7 @@ description: "This example will output the active vote totals for the post/comme layout: full canonical_url: get_voters_list_on_post.html --- -Full, runnable src of [Get Voters List On Post](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/06_get_voters_list_on_post) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-06_get_voters_list_on_post.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/06_get_voters_list_on_post)). +Full, runnable src of [Get Voters List On Post](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/06_get_voters_list_on_post) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-06_get_voters_list_on_post.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/06_get_voters_list_on_post)). Also see: * [get discussions]({{ '/search/?q=get discussions' | relative_url }}) diff --git a/_tutorials-ruby/getting_started.md b/_tutorials-ruby/getting_started.md index 65af75c0c63e1d99fb5b6b05f6b1391c3ea15882..2a8c656bcea7790d53938c71060df2a320f5a79f 100644 --- a/_tutorials-ruby/getting_started.md +++ b/_tutorials-ruby/getting_started.md @@ -5,7 +5,7 @@ description: "To access the Hive blockchain using Ruby, install the Radiator gem layout: full canonical_url: getting_started.html --- -Full, runnable src of [tutorial_title](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/tutorial_slug) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-tutorial_slug.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/tutorial_slug)). +Full, runnable src [all tutorials](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) can be download here: [devportal-master-tutorials-ruby.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby). ### Setup diff --git a/_tutorials-ruby/search_accounts.md b/_tutorials-ruby/search_accounts.md index 2875186c0d26d36f59417f60e26259d97eb43d92..b3efdbf1e47bf055c6e07a0f58177fde4dd93864 100644 --- a/_tutorials-ruby/search_accounts.md +++ b/_tutorials-ruby/search_accounts.md @@ -5,7 +5,7 @@ description: "Performing a search on account by names starting with a given inpu layout: full canonical_url: search_accounts.html --- -Full, runnable src of [Search Accounts](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/15_search_accounts) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-15_search_accounts.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/15_search_accounts)). +Full, runnable src of [Search Accounts](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/15_search_accounts) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-15_search_accounts.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/15_search_accounts)). This tutorial will return account names matching the input given, up to a specified limit. diff --git a/_tutorials-ruby/search_tags.md b/_tutorials-ruby/search_tags.md index 990965fd965070344c5f7b05f2c03f05cc57d04f..fa1b5986640bc6da5b693e8292da19ac34172331 100644 --- a/_tutorials-ruby/search_tags.md +++ b/_tutorials-ruby/search_tags.md @@ -5,7 +5,7 @@ description: "Performing a search for tags." layout: full canonical_url: search_tags.html --- -Full, runnable src of [Search Tags](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/16_search_tags) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-16_search_tags.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/16_search_tags)). +Full, runnable src of [Search Tags](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/16_search_tags) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-16_search_tags.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/16_search_tags)). This tutorial will return tags sorted by trending, up to a specified limit. diff --git a/_tutorials-ruby/stream_blockchain_transactions.md b/_tutorials-ruby/stream_blockchain_transactions.md index 175f6b3f389a87eabbf877bf710d9dbaf6733c01..559d1a1b080fc69e6cf01ff35d0103769c7dd8e7 100644 --- a/_tutorials-ruby/stream_blockchain_transactions.md +++ b/_tutorials-ruby/stream_blockchain_transactions.md @@ -5,7 +5,7 @@ description: "*How to stream transactions and operations from Hive blockchain.*" layout: full canonical_url: stream_blockchain_transactions.html --- -Full, runnable src of [Stream Blockchain Transactions](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/13_stream_blockchain_transactions) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-13_stream_blockchain_transactions.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/13_stream_blockchain_transactions)). +Full, runnable src of [Stream Blockchain Transactions](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/13_stream_blockchain_transactions) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-13_stream_blockchain_transactions.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/13_stream_blockchain_transactions)). To respond to live activity on the blockchain, a common approach is to make a request for the current block number, access all of the information in that block, and repeat. Many API clients have dedicated tools for simplifying this process. In Radiator, this tool is part of the `Radiator::Stream` class. In addition, Radiator will allow you to specify exactly what type of operation you're interested in. diff --git a/_tutorials-ruby/submit_comment_reply.md b/_tutorials-ruby/submit_comment_reply.md index 3525b5fd5636b25815f6f65fc6811e59f90b4c85..a19403e2cb6a90658f2b8588cae7df0fc47409af 100644 --- a/_tutorials-ruby/submit_comment_reply.md +++ b/_tutorials-ruby/submit_comment_reply.md @@ -5,7 +5,7 @@ description: "How to prepare comments for Hive and then submit using Radiator." layout: full canonical_url: submit_comment_reply.html --- -Full, runnable src of [Submit Comment Reply](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/11_submit_comment_reply) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-11_submit_comment_reply.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/11_submit_comment_reply)). +Full, runnable src of [Submit Comment Reply](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/11_submit_comment_reply) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-11_submit_comment_reply.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/11_submit_comment_reply)). ### Intro diff --git a/_tutorials-ruby/submit_post.md b/_tutorials-ruby/submit_post.md index b6b19c639fc32b7c28ecde683ab3b9a2f5e4a81a..f8a7559c422735e8c03aee08d350b18b57d7d35a 100644 --- a/_tutorials-ruby/submit_post.md +++ b/_tutorials-ruby/submit_post.md @@ -5,7 +5,7 @@ description: "This example will broadcast a new post to the blockchain using the layout: full canonical_url: submit_post.html --- -Full, runnable src of [Submit Post](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/10_submit_post) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-10_submit_post.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/10_submit_post)). +Full, runnable src of [Submit Post](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/10_submit_post) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-10_submit_post.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/10_submit_post)). A post is differentiated from a comment by whether or not a `parent_author` exists. When there is no `parent_author`, then it's a post, otherwise it's a comment. diff --git a/_tutorials-ruby/vote_on_content.md b/_tutorials-ruby/vote_on_content.md index 16904ecab85b2f55ff7d3f72555ad131ec2d1c4f..486b5c651ad6a94a107cb8bbba0b75c210f57482 100644 --- a/_tutorials-ruby/vote_on_content.md +++ b/_tutorials-ruby/vote_on_content.md @@ -5,7 +5,7 @@ description: "To vote for a post (or reply), we can use a vote operation and pro layout: full canonical_url: vote_on_content.html --- -Full, runnable src of [Vote On Content](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/17_vote_on_content) can be downloaded as part of: [tutorials/javascript](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-17_vote_on_content.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/17_vote_on_content)). +Full, runnable src of [Vote On Content](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby/17_vote_on_content) can be downloaded as part of: [tutorials/ruby](https://gitlab.syncad.com/hive/devportal/-/tree/master/tutorials/ruby) (or download just this tutorial: [devportal-master-tutorials-ruby-17_vote_on_content.zip](https://gitlab.syncad.com/hive/devportal/-/archive/master/devportal-master.zip?path=tutorials/ruby/17_vote_on_content)). Also see: * [vote_operation]({{ '/apidefinitions/#broadcast_ops_vote' | relative_url }}) diff --git a/js/hive.min.js b/js/hive.min.js new file mode 100644 index 0000000000000000000000000000000000000000..1f7b25ab7c211c4fc66eab759589c57865cf892d --- /dev/null +++ b/js/hive.min.js @@ -0,0 +1,19 @@ +!function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}(function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))switch(typeof t[e]){case"function":break;case"object":t[e]=function(e){var r=e.slice(1),n=t[e[0]];return function(t,e,i){n.apply(this,[t,e,i].concat(r))}}(t[e]);break;default:t[e]=t[t[e]]}return t}([function(t,e,r){(function(n){"use strict";var i=r(1),o=r(237),s=r(238),a=r(239),u=r(42),f=r(241)(i),c=r(97),l={api:i,auth:o,memo:s,broadcast:a,config:u,formatter:f,utils:c};"undefined"!=typeof window&&(window.hive=l),"undefined"!=typeof n&&(n.hive=l),e=t.exports=l}).call(e,function(){return this}())},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),f=r(2),c=n(f),l=r(3),h=n(l),p=r(42),d=n(p),_=r(83),y=n(_),v=r(84),g=n(v),m=r(85),b=r(97),w=r(103),E=r(201),k=r(206),S=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var r=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return r._setTransport(t),r._setLogger(t),r.options=t,r.seqNo=0,r.error_count=0,r.api_index=0,r.error_threshold=3,r.alternative_api_endpoints=["https://api.hive.blog","https://anyx.io"],y.default.forEach(function(t){var e=t.method_name||(0,b.camelCase)(t.method),n=t.params||[];r[e+"With"]=function(e,i){return r.send(t.api,{method:t.method,params:n.map(function(t){return e[t]})},i)},r[e]=function(){for(var t=arguments.length,i=Array(t),o=0;o<t;o++)i[o]=arguments[o];"getAccountHistory"===e&&i.length<5&&n.length>4&&(n.pop(),n.pop());var s=n.reduce(function(t,e,r){return t[e]=i[r],t},{}),a=i[n.length];return r[e+"With"](s,a)},r[e+"WithAsync"]=h.default.promisify(r[e+"With"]),r[e+"Async"]=h.default.promisify(r[e])}),r.callAsync=h.default.promisify(r.call),r.signedCallAsync=h.default.promisify(r.signedCall),r.notifyError=r.notifyError.bind(r),r}return s(e,t),u(e,[{key:"_setTransport",value:function(t){if(t.url&&t.url.match("^((http|https)?://)"))t.uri=t.url,t.transport="http",this._transportType=t.transport,this.options=t,this.transport=new g.default.http(t);else if(t.url&&t.url.match("^((ws|wss)?://)"))t.websocket=t.url,t.transport="ws",this._transportType=t.transport,this.options=t,this.transport=new g.default.ws(t);else if(t.transport)if(this.transport&&this._transportType!==t.transport&&this.transport.stop(),this._transportType=t.transport,"string"==typeof t.transport){if(!g.default[t.transport])throw new TypeError("Invalid `transport`, valid values are `http`, `ws` or a class");this.transport=new g.default[t.transport](t)}else this.transport=new t.transport(t);else this.transport=new g.default.ws(t)}},{key:"_setLogger",value:function(t){if(t.hasOwnProperty("logger"))switch(a(t.logger)){case"function":this.__logger={log:t.logger};break;case"object":if("function"!=typeof t.logger.log)throw new Error("setOptions({logger:{}}) must have a property .log of type function");this.__logger=t.logger;break;case"undefined":if(this.__logger)break;default:this.__logger=!1}}},{key:"log",value:function(t){if(this.__logger)if(arguments.length>1&&"function"==typeof this.__logger[t]){var e=Array.prototype.slice.call(arguments,1);this.__logger[t].apply(this.__logger,e)}else this.__logger.log.apply(this.__logger,arguments)}},{key:"start",value:function(){return this.transport.start()}},{key:"stop",value:function(){return this.transport.stop()}},{key:"send",value:function(t,e,r){var n=r;if(this.__logger){var i=Math.random(),o=this;this.log("xmit:"+i+":",e),n=function(t,e){t?o.log("error","rsp:"+i+":\n\n",t,e):o.log("rsp:"+i+":",e),r&&r.apply(o,arguments)}}return this.transport.send(t,e,n)}},{key:"call",value:function(t,e,r){var n=this;if("http"!==this._transportType)return void r(new Error("RPC methods can only be called when using http transport"));var i=++this.seqNo;(0,m.jsonRpc)(this.options.uri,{method:t,params:e,id:i}).then(function(t){r(null,t)},function(t){n.notifyError(t,t instanceof m.RPCError),r(t)})}},{key:"signedCall",value:function(t,e,r,n,i){var o=this;if("http"!==this._transportType)return void i(new Error("RPC methods can only be called when using http transport"));var s=++this.seqNo,a=void 0;try{a=(0,k.sign)({method:t,params:e,id:s},r,[n])}catch(t){return void i(t)}(0,m.jsonRpc)(this.options.uri,a).then(function(t){i(null,t)},function(t){i(t),o.notifyError(t)})}},{key:"setOptions",value:function(t){if(Object.assign(this.options,t),t.hasOwnProperty("failover_threshold")&&(this.failover_threshold=t.failover_threshold),t.hasOwnProperty("alternative_api_endpoints")&&(this.alternative_api_endpoints=t.alternative_api_endpoints),this._setLogger(t),this._setTransport(t),this.transport.setOptions(t),t.hasOwnProperty("useTestNet")&&d.default.set("address_prefix",t.useTestNet?"TST":"STM"),t.hasOwnProperty("url")){for(var e=0,r=0;r<this.alternative_api_endpoints.length;r++){var n=this.alternative_api_endpoints[r];if(n===t.url){e=r;break}}this.api_index=e;this.alternative_api_endpoints[this.api_index]}}},{key:"setWebSocket",value:function(t){this.setOptions({websocket:t})}},{key:"setUri",value:function(t){this.setOptions({uri:t})}},{key:"streamBlockNumber",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"head",e=this,r=arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200;"function"==typeof t&&(r=t,t="head");var i="",o=!0,s=function s(){o&&e.getDynamicGlobalPropertiesAsync().then(function(e){var o="irreversible"===t?e.last_irreversible_block_num:e.head_block_number;if(o!==i)if(i)for(var a=i;a<o;a++)a!==i&&r(null,a),i=a;else i=o,r(null,o);h.default.delay(n).then(function(){s()})},function(t){r(t)})};return s(),function(){o=!1}}},{key:"streamBlock",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"head",r=arguments[1];"function"==typeof e&&(r=e,e="head");var n="",i="",o=this.streamBlockNumber(e,function(e,s){return e?(o(),void r(e)):(n=s,void(n!==i&&(i=n,t.getBlock(n,r))))});return o}},{key:"streamTransactions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"head",e=arguments[1];"function"==typeof t&&(e=t,t="head");var r=this.streamBlock(t,function(t,n){return t?(r(),void e(t)):void(n&&n.transactions&&n.transactions.forEach(function(t){e(null,t)}))});return r}},{key:"streamOperations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"head",e=arguments[1];"function"==typeof t&&(e=t,t="head");var r=this.streamTransactions(t,function(t,n){return t?(r(),void e(t)):void n.operations.forEach(function(t){e(null,t)})});return r}},{key:"broadcastTransactionSynchronousWith",value:function(t,e){var r=t.trx;return this.send("network_broadcast_api",{method:"broadcast_transaction_synchronous",params:[r]},function(t,n){if(t){var i=E.ops.signed_transaction,o=i.toObject(r),s=i.toBuffer(r);t.digest=w.hash.sha256(s).toString("hex"),t.transaction_id=s.toString("hex"),t.transaction=JSON.stringify(o),e(t,"")}else e("",n)})}},{key:"notifyError",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e&&void 0!==this.failover_threshold&&void 0!==this.alternative_api_endpoints&&(!t||!t.toString().includes("overseer"))&&(this.error_count++,this.error_count>=this.failover_threshold)){this.options.url;this.error_count=0,this.api_index++,this.api_index>=this.alternative_api_endpoints.length&&(this.api_index=0);var r=this.alternative_api_endpoints[this.api_index];this.setOptions({url:r})}}}]),e}(c.default),B=new S(d.default);e=t.exports=B,e.Hive=S},function(t,e){"use strict";function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function i(t){return"number"==typeof t}function o(t){return"object"===("undefined"==typeof t?"undefined":a(t))&&null!==t}function s(t){return void 0===t}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(t){if(!i(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},r.prototype.emit=function(t){var e,r,i,a,u,f;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(e=arguments[1],e instanceof Error)throw e;var c=new Error('Uncaught, unspecified "error" event. ('+e+")");throw c.context=e,c}if(r=this._events[t],s(r))return!1;if(n(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),r.apply(this,a)}else if(o(r))for(a=Array.prototype.slice.call(arguments,1),f=r.slice(),i=f.length,u=0;u<i;u++)f[u].apply(this,a);return!0},r.prototype.addListener=function(t,e){var i;if(!n(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,n(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(i=s(this._maxListeners)?r.defaultMaxListeners:this._maxListeners,i&&i>0&&this._events[t].length>i&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(t,e){function r(){this.removeListener(t,r),i||(i=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var i=!1;return r.listener=e,this.on(t,r),this},r.prototype.removeListener=function(t,e){var r,i,s,a;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(r=this._events[t],s=r.length,i=-1,r===e||n(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(o(r)){for(a=s;a-- >0;)if(r[a]===e||r[a].listener&&r[a].listener===e){i=a;break}if(i<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(i,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},r.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[t],n(r))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},r.prototype.listeners=function(t){var e;return e=this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},r.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},r.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,r){"use strict";function n(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=r(4)();o.noConflict=n,t.exports=o},function(t,e,r){(function(e){"use strict";t.exports=function(){function n(){}function i(t,e){if(null==t||t.constructor!==o)throw new m("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n");if("function"!=typeof e)throw new m("expecting a function but got "+d.classString(e))}function o(t){t!==w&&i(this,t),this._bitField=0,this._fulfillmentHandler0=void 0,this._rejectionHandler0=void 0,this._promise0=void 0,this._receiver0=void 0,this._resolveFromExecutor(t),this._promiseCreated(),this._fireEvent("promiseCreated",this)}function s(t){this.promise._resolveCallback(t)}function a(t){this.promise._rejectCallback(t,!1)}function u(t){var e=new o(w);e._fulfillmentHandler0=t,e._rejectionHandler0=t,e._promise0=t,e._receiver0=t}var f,c=function(){return new m("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n")},l=function(){return new o.PromiseInspection(this._target())},h=function(t){return o.reject(new m(t))},p={},d=r(6);f=d.isNode?function(){var t=e.domain;return void 0===t&&(t=null),t}:function(){return null},d.notEnumerableProp(o,"_getDomain",f);var _=r(7),y=r(8),v=new y;_.defineProperty(o,"_async",{value:v});var g=r(13),m=o.TypeError=g.TypeError;o.RangeError=g.RangeError;var b=o.CancellationError=g.CancellationError;o.TimeoutError=g.TimeoutError,o.OperationalError=g.OperationalError,o.RejectionError=g.OperationalError,o.AggregateError=g.AggregateError;var w=function(){},E={},k={},S=r(14)(o,w),B=r(15)(o,w,S,h,n),T=r(16)(o),x=T.create,A=r(17)(o,T),I=(A.CapturedTrace,r(18)(o,S,k)),C=r(19)(k),O=r(20),j=d.errorObj,R=d.tryCatch;return o.prototype.toString=function(){return"[object Promise]"},o.prototype.caught=o.prototype.catch=function(t){var e=arguments.length;if(e>1){var r,n=new Array(e-1),i=0;for(r=0;r<e-1;++r){var o=arguments[r];if(!d.isObject(o))return h("Catch statement predicate: expecting an object but got "+d.classString(o));n[i++]=o}return n.length=i,t=arguments[r],this.then(void 0,C(n,t,this))}return this.then(void 0,t)},o.prototype.reflect=function(){return this._then(l,l,void 0,this,void 0)},o.prototype.then=function(t,e){if(A.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var r=".then() only accepts functions but was passed: "+d.classString(t);arguments.length>1&&(r+=", "+d.classString(e)),this._warn(r)}return this._then(t,e,void 0,void 0,void 0)},o.prototype.done=function(t,e){var r=this._then(t,e,void 0,void 0,void 0);r._setIsFinal()},o.prototype.spread=function(t){return"function"!=typeof t?h("expecting a function but got "+d.classString(t)):this.all()._then(t,void 0,void 0,E,void 0)},o.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},o.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new B(this).promise()},o.prototype.error=function(t){return this.caught(d.originatesFromRejection,t)},o.getNewLibraryCopy=t.exports,o.is=function(t){return t instanceof o},o.fromNode=o.fromCallback=function(t){var e=new o(w);e._captureStackTrace();var r=arguments.length>1&&!!Object(arguments[1]).multiArgs,n=R(t)(O(e,r));return n===j&&e._rejectCallback(n.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},o.all=function(t){return new B(t).promise()},o.cast=function(t){var e=S(t);return e instanceof o||(e=new o(w),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},o.resolve=o.fulfilled=o.cast,o.reject=o.rejected=function(t){var e=new o(w);return e._captureStackTrace(),e._rejectCallback(t,!0),e},o.setScheduler=function(t){if("function"!=typeof t)throw new m("expecting a function but got "+d.classString(t));return v.setScheduler(t)},o.prototype._then=function(t,e,r,n,i){var s=void 0!==i,a=s?i:new o(w),u=this._target(),c=u._bitField;s||(a._propagateFrom(this,3),a._captureStackTrace(),void 0===n&&0!==(2097152&this._bitField)&&(n=0!==(50397184&c)?this._boundValue():u===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,a));var l=f();if(0!==(50397184&c)){var h,p,_=u._settlePromiseCtx;0!==(33554432&c)?(p=u._rejectionHandler0,h=t):0!==(16777216&c)?(p=u._fulfillmentHandler0,h=e,u._unsetRejectionIsUnhandled()):(_=u._settlePromiseLateCancellationObserver,p=new b("late cancellation observer"),u._attachExtraTrace(p),h=e),v.invoke(_,u,{handler:null===l?h:"function"==typeof h&&d.domainBind(l,h),promise:a,receiver:n,value:p})}else u._addCallbacks(t,e,a,n,l);return a},o.prototype._length=function(){return 65535&this._bitField},o.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},o.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},o.prototype._setLength=function(t){this._bitField=this._bitField&-65536|65535&t},o.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},o.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},o.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},o.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},o.prototype._isFinal=function(){return(4194304&this._bitField)>0},o.prototype._unsetCancelled=function(){this._bitField=this._bitField&-65537},o.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},o.prototype._setWillBeCancelled=function(){this._bitField=8388608|this._bitField},o.prototype._setAsyncGuaranteed=function(){v.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},o.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];if(e!==p)return void 0===e&&this._isBound()?this._boundValue():e},o.prototype._promiseAt=function(t){return this[4*t-4+2]},o.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},o.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},o.prototype._boundValue=function(){},o.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),r=t._rejectionHandler0,n=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,r,n,i,null)},o.prototype._migrateCallbackAt=function(t,e){var r=t._fulfillmentHandlerAt(e),n=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(r,n,i,o,null)},o.prototype._addCallbacks=function(t,e,r,n,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=r,this._receiver0=n,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:d.domainBind(i,t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:d.domainBind(i,e));else{var s=4*o-4;this[s+2]=r,this[s+3]=n,"function"==typeof t&&(this[s+0]=null===i?t:d.domainBind(i,t)),"function"==typeof e&&(this[s+1]=null===i?e:d.domainBind(i,e))}return this._setLength(o+1),o},o.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},o.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(c(),!1);var r=S(t,this);if(!(r instanceof o))return this._fulfill(t);e&&this._propagateFrom(r,2);var n=r._target();if(n===this)return void this._reject(c());var i=n._bitField;if(0===(50397184&i)){var s=this._length();s>0&&n._migrateCallback0(this);for(var a=1;a<s;++a)n._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(n)}else if(0!==(33554432&i))this._fulfill(n._value());else if(0!==(16777216&i))this._reject(n._reason());else{var u=new b("late cancellation observer");n._attachExtraTrace(u),this._reject(u)}}},o.prototype._rejectCallback=function(t,e,r){var n=d.ensureErrorObject(t),i=n===t;if(!i&&!r&&A.warnings()){var o="a promise was rejected with a non-error: "+d.classString(t);this._warn(o,!0)}this._attachExtraTrace(n,!!e&&i),this._reject(t)},o.prototype._resolveFromExecutor=function(t){if(t!==w){var e=this;this._captureStackTrace(),this._pushContext();var r=!0,n=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,r)});r=!1,this._popContext(),void 0!==n&&e._rejectCallback(n,!0)}},o.prototype._settlePromiseFromHandler=function(t,e,r,n){var i=n._bitField;if(0===(65536&i)){n._pushContext();var o;e===E?r&&"number"==typeof r.length?o=R(t).apply(this._boundValue(),r):(o=j,o.e=new m("cannot .spread() a non-array: "+d.classString(r))):o=R(t).call(e,r);var s=n._popContext();i=n._bitField,0===(65536&i)&&(o===k?n._reject(r):o===j?n._rejectCallback(o.e,!1):(A.checkForgottenReturns(o,s,"",n,this),n._resolveCallback(o)))}},o.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},o.prototype._followee=function(){return this._rejectionHandler0},o.prototype._setFollowee=function(t){this._rejectionHandler0=t},o.prototype._settlePromise=function(t,e,r,i){var s=t instanceof o,a=this._bitField,u=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),r instanceof I&&r.isFinallyHandler()?(r.cancelPromise=t,R(e).call(r,i)===j&&t._reject(j.e)):e===l?t._fulfill(l.call(r)):r instanceof n?r._promiseCancelled(t):s||t instanceof B?t._cancel():r.cancel()):"function"==typeof e?s?(u&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(e,r,i,t)):e.call(r,i,t):r instanceof n?r._isResolved()||(0!==(33554432&a)?r._promiseFulfilled(i,t):r._promiseRejected(i,t)):s&&(u&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(i):t._reject(i))},o.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,r=t.promise,n=t.receiver,i=t.value;"function"==typeof e?r instanceof o?this._settlePromiseFromHandler(e,n,i,r):e.call(n,i,r):r instanceof o&&r._reject(i)},o.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},o.prototype._settlePromise0=function(t,e,r){var n=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(n,t,i,e)},o.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},o.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var r=c();return this._attachExtraTrace(r),this._reject(r)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():v.settlePromises(this))}},o.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?v.fatalError(t,d.isNode):void((65535&e)>0?v.settlePromises(this):this._ensurePossibleRejectionHandled())},o.prototype._fulfillPromises=function(t,e){for(var r=1;r<t;r++){var n=this._fulfillmentHandlerAt(r),i=this._promiseAt(r),o=this._receiverAt(r);this._clearCallbackDataAtIndex(r),this._settlePromise(i,n,o,e)}},o.prototype._rejectPromises=function(t,e){for(var r=1;r<t;r++){var n=this._rejectionHandlerAt(r),i=this._promiseAt(r),o=this._receiverAt(r);this._clearCallbackDataAtIndex(r),this._settlePromise(i,n,o,e)}},o.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var r=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,r,t),this._rejectPromises(e,r)}else{var n=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,n,t),this._fulfillPromises(e,n)}this._setLength(0)}this._clearCancellationData()},o.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},o.defer=o.pending=function(){A.deprecated("Promise.defer","new Promise");var t=new o(w);return{promise:t,resolve:s,reject:a}},d.notEnumerableProp(o,"_makeSelfResolutionError",c),r(21)(o,w,S,h,A),r(22)(o,w,S,A),r(23)(o,B,h,A),r(24)(o),r(25)(o),r(26)(o,B,S,w,v,f),o.Promise=o,o.version="3.5.1",r(27)(o,B,h,S,w,A),r(28)(o),r(29)(o,h,S,x,w,A),r(30)(o,w,A),r(31)(o,h,w,S,n,A),r(32)(o),r(33)(o,w),r(34)(o,B,S,h),r(35)(o,w,S,h),r(36)(o,B,h,S,w,A),r(37)(o,B,A),r(38)(o,B,h),r(39)(o,w),r(40)(o,w),r(41)(o),d.toFastProperties(o),d.toFastProperties(o.prototype),u({a:1}),u({b:2}),u({c:3}),u(1),u(function(){}),u(void 0),u(!1),u(new o(w)),A.setBounds(y.firstLineError,d.lastLineError),o}}).call(e,r(5))},function(t,e){"use strict";function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function i(t){if(c===setTimeout)return setTimeout(t,0);if((c===r||!c)&&setTimeout)return c=setTimeout,setTimeout(t,0);try{return c(t,0)}catch(e){try{return c.call(null,t,0)}catch(e){return c.call(this,t,0)}}}function o(t){if(l===clearTimeout)return clearTimeout(t);if((l===n||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(t);try{return l(t)}catch(e){try{return l.call(null,t)}catch(e){return l.call(this,t)}}}function s(){_&&p&&(_=!1,p.length?d=p.concat(d):y=-1,d.length&&a())}function a(){if(!_){var t=i(s);_=!0;for(var e=d.length;e;){for(p=d,d=[];++y<e;)p&&p[y].run();y=-1,e=d.length}p=null,_=!1,o(t)}}function u(t,e){this.fun=t,this.array=e}function f(){}var c,l,h=t.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:r}catch(t){c=r}try{l="function"==typeof clearTimeout?clearTimeout:n}catch(t){l=n}}();var p,d=[],_=!1,y=-1;h.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];d.push(new u(t,e)),1!==d.length||_||i(a)},u.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=f,h.addListener=f,h.once=f,h.off=f,h.removeListener=f,h.removeAllListeners=f,h.emit=f,h.prependListener=f,h.prependOnceListener=f,h.listeners=function(t){return[]},h.binding=function(t){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(t){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},function(t,e,r){(function(e,n){"use strict";function i(){try{var t=O;return O=null,t.apply(this,arguments)}catch(t){return C.e=t,C}}function o(t){return O=t,i}function s(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function a(t){return"function"==typeof t||"object"===("undefined"==typeof t?"undefined":x(t))&&null!==t}function u(t){return s(t)?new Error(v(t)):t}function f(t,e){var r,n=t.length,i=new Array(n+1);for(r=0;r<n;++r)i[r]=t[r];return i[r]=e,i}function c(t,e,r){if(!A.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var n=Object.getOwnPropertyDescriptor(t,e);return null!=n?null==n.get&&null==n.set?n.value:r:void 0}function l(t,e,r){if(s(t))return t;var n={value:r,configurable:!0,enumerable:!1,writable:!0};return A.defineProperty(t,e,n),t}function h(t){throw t}function p(t){try{if("function"==typeof t){var e=A.names(t.prototype),r=A.isES5&&e.length>1,n=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=F.test(t+"")&&A.names(t).length>0;if(r||n||i)return!0}return!1}catch(t){return!1}}function d(t){function e(){}e.prototype=t;for(var r=8;r--;)new e;return t}function _(t){return D.test(t)}function y(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=e+i+r;return n}function v(t){try{return t+""}catch(t){return"[no string representation]"}}function g(t){return t instanceof Error||null!==t&&"object"===("undefined"==typeof t?"undefined":x(t))&&"string"==typeof t.message&&"string"==typeof t.name}function m(t){try{l(t,"isOperational",!0)}catch(t){}}function b(t){return null!=t&&(t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0)}function w(t){return g(t)&&A.propertyIsWritable(t,"stack")}function E(t){return{}.toString.call(t)}function k(t,e,r){for(var n=A.names(t),i=0;i<n.length;++i){var o=n[i];if(r(o))try{A.defineProperty(e,o,A.getDescriptor(t,o))}catch(t){}}}function S(t){return q?n.env[t]:void 0}function B(){if("function"==typeof Promise)try{var t=new Promise(function(){});if("[object Promise]"==={}.toString.call(t))return Promise}catch(t){}}function T(t,e){return t.bind(e)}var x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},A=r(7),I="undefined"==typeof navigator,C={e:{}},O,j="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof e?e:null,R=function(t,e){function r(){this.constructor=t,this.constructor$=e;for(var r in e.prototype)n.call(e.prototype,r)&&"$"!==r.charAt(r.length-1)&&(this[r+"$"]=e.prototype[r])}var n={}.hasOwnProperty;return r.prototype=e.prototype,t.prototype=new r,t.prototype},L=function(){var t=[Array.prototype,Object.prototype,Function.prototype],e=function(e){for(var r=0;r<t.length;++r)if(t[r]===e)return!0;return!1};if(A.isES5){var r=Object.getOwnPropertyNames;return function(t){for(var n=[],i=Object.create(null);null!=t&&!e(t);){var o;try{o=r(t)}catch(t){return n}for(var s=0;s<o.length;++s){var a=o[s];if(!i[a]){i[a]=!0;var u=Object.getOwnPropertyDescriptor(t,a);null!=u&&null==u.get&&null==u.set&&n.push(a)}}t=A.getPrototypeOf(t)}return n}}var n={}.hasOwnProperty;return function(r){if(e(r))return[];var i=[];t:for(var o in r)if(n.call(r,o))i.push(o);else{for(var s=0;s<t.length;++s)if(n.call(t[s],o))continue t;i.push(o)}return i}}(),F=/this\s*\.\s*\S+\s*=/,D=/^[a-z$_][a-z$_0-9]*$/i,P=function(){return"stack"in new Error?function(t){return w(t)?t:new Error(v(t))}:function(t){if(w(t))return t;try{throw new Error(v(t))}catch(t){return t}}}(),U=function(t){return A.isArray(t)?t:null};if("undefined"!=typeof Symbol&&Symbol.iterator){var M="function"==typeof Array.from?function(t){return Array.from(t)}:function(t){for(var e,r=[],n=t[Symbol.iterator]();!(e=n.next()).done;)r.push(e.value);return r};U=function(t){return A.isArray(t)?t:null!=t&&"function"==typeof t[Symbol.iterator]?M(t):null}}var N="undefined"!=typeof n&&"[object process]"===E(n).toLowerCase(),q="undefined"!=typeof n&&"undefined"!=typeof n.env,z={isClass:p,isIdentifier:_,inheritedDataKeys:L,getDataPropertyOrDefault:c,thrower:h,isArray:A.isArray,asArray:U,notEnumerableProp:l,isPrimitive:s,isObject:a,isError:g,canEvaluate:I,errorObj:C,tryCatch:o,inherits:R,withAppended:f,maybeWrapAsError:u,toFastProperties:d,filledRange:y,toString:v,canAttachTrace:w,ensureErrorObject:P,originatesFromRejection:b,markAsOriginatingFromRejection:m,classString:E,copyDescriptors:k,hasDevTools:"undefined"!=typeof chrome&&chrome&&"function"==typeof chrome.loadTimes,isNode:N,hasEnvVariables:q,env:S,global:j,getNativePromise:B,domainBind:T};z.isRecentNode=z.isNode&&function(){var t=n.versions.node.split(".").map(Number);return 0===t[0]&&t[1]>10||t[0]>0}(),z.isNode&&z.toFastProperties(n);try{throw new Error}catch(t){z.lastLineError=t}t.exports=z}).call(e,function(){return this}(),r(5))},function(t,e){"use strict";var r=function(){return void 0===this}();if(r)t.exports={freeze:Object.freeze,defineProperty:Object.defineProperty,getDescriptor:Object.getOwnPropertyDescriptor,keys:Object.keys,names:Object.getOwnPropertyNames,getPrototypeOf:Object.getPrototypeOf,isArray:Array.isArray,isES5:r,propertyIsWritable:function(t,e){var r=Object.getOwnPropertyDescriptor(t,e);return!(r&&!r.writable&&!r.set)}};else{var n={}.hasOwnProperty,i={}.toString,o={}.constructor.prototype,s=function(t){ +var e=[];for(var r in t)n.call(t,r)&&e.push(r);return e},a=function(t,e){return{value:t[e]}},u=function(t,e,r){return t[e]=r.value,t},f=function(t){return t},c=function(t){try{return Object(t).constructor.prototype}catch(t){return o}},l=function(t){try{return"[object Array]"===i.call(t)}catch(t){return!1}};t.exports={isArray:l,keys:s,names:s,defineProperty:u,getDescriptor:a,freeze:f,getPrototypeOf:c,isES5:r,propertyIsWritable:function(){return!0}}}},function(t,e,r){(function(e){"use strict";function n(){this._customScheduler=!1,this._isTickUsed=!1,this._lateQueue=new f(16),this._normalQueue=new f(16),this._haveDrainedQueues=!1,this._trampolineEnabled=!0;var t=this;this.drainQueues=function(){t._drainQueues()},this._schedule=u}function i(t,e,r){this._lateQueue.push(t,e,r),this._queueTick()}function o(t,e,r){this._normalQueue.push(t,e,r),this._queueTick()}function s(t){this._normalQueue._pushOne(t),this._queueTick()}var a;try{throw new Error}catch(t){a=t}var u=r(9),f=r(12),c=r(6);n.prototype.setScheduler=function(t){var e=this._schedule;return this._schedule=t,this._customScheduler=!0,e},n.prototype.hasCustomScheduler=function(){return this._customScheduler},n.prototype.enableTrampoline=function(){this._trampolineEnabled=!0},n.prototype.disableTrampolineIfNecessary=function(){c.hasDevTools&&(this._trampolineEnabled=!1)},n.prototype.haveItemsQueued=function(){return this._isTickUsed||this._haveDrainedQueues},n.prototype.fatalError=function(t,r){r?(e.stderr.write("Fatal "+(t instanceof Error?t.stack:t)+"\n"),e.exit(2)):this.throwLater(t)},n.prototype.throwLater=function(t,e){if(1===arguments.length&&(e=t,t=function(){throw e}),"undefined"!=typeof setTimeout)setTimeout(function(){t(e)},0);else try{this._schedule(function(){t(e)})}catch(t){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")}},c.hasDevTools?(n.prototype.invokeLater=function(t,e,r){this._trampolineEnabled?i.call(this,t,e,r):this._schedule(function(){setTimeout(function(){t.call(e,r)},100)})},n.prototype.invoke=function(t,e,r){this._trampolineEnabled?o.call(this,t,e,r):this._schedule(function(){t.call(e,r)})},n.prototype.settlePromises=function(t){this._trampolineEnabled?s.call(this,t):this._schedule(function(){t._settlePromises()})}):(n.prototype.invokeLater=i,n.prototype.invoke=o,n.prototype.settlePromises=s),n.prototype._drainQueue=function(t){for(;t.length()>0;){var e=t.shift();if("function"==typeof e){var r=t.shift(),n=t.shift();e.call(r,n)}else e._settlePromises()}},n.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},n.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},n.prototype._reset=function(){this._isTickUsed=!1},t.exports=n,t.exports.firstLineError=a}).call(e,r(5))},function(t,e,r){(function(e,n,i){"use strict";var o,s=r(6),a=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},u=s.getNativePromise();if(s.isNode&&"undefined"==typeof MutationObserver){var f=e.setImmediate,c=n.nextTick;o=s.isRecentNode?function(t){f.call(e,t)}:function(t){c.call(n,t)}}else if("function"==typeof u&&"function"==typeof u.resolve){var l=u.resolve();o=function(t){l.then(t)}}else o="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&(window.navigator.standalone||window.cordova)?"undefined"!=typeof i?function(t){i(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:a:function(){var t=document.createElement("div"),e={attributes:!0},r=!1,n=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),r=!1});i.observe(n,e);var o=function(){r||(r=!0,n.classList.toggle("foo"))};return function(r){var n=new MutationObserver(function(){n.disconnect(),r()});n.observe(t,e),o()}}();t.exports=o}).call(e,function(){return this}(),r(5),r(10).setImmediate)},function(t,e,r){"use strict";function n(t,e){this._id=t,this._clearFn=e}var i=Function.prototype.apply;e.setTimeout=function(){return new n(i.call(setTimeout,window,arguments),clearTimeout)},e.setInterval=function(){return new n(i.call(setInterval,window,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},n.prototype.unref=n.prototype.ref=function(){},n.prototype.close=function(){this._clearFn.call(window,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},r(11),e.setImmediate=setImmediate,e.clearImmediate=clearImmediate},function(t,e,r){(function(t,e){"use strict";!function(t,r){function n(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r<e.length;r++)e[r]=arguments[r+1];var n={callback:t,args:e};return _[d]=n,p(d),d++}function i(t){delete _[t]}function o(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(r,n)}}function s(t){if(y)setTimeout(s,0,t);else{var e=_[t];if(e){y=!0;try{o(e)}finally{i(t),y=!1}}}}function a(){p=function(t){e.nextTick(function(){s(t)})}}function u(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}function f(){var e="setImmediate$"+Math.random()+"$",r=function(r){r.source===t&&"string"==typeof r.data&&0===r.data.indexOf(e)&&s(+r.data.slice(e.length))};t.addEventListener?t.addEventListener("message",r,!1):t.attachEvent("onmessage",r),p=function(r){t.postMessage(e+r,"*")}}function c(){var t=new MessageChannel;t.port1.onmessage=function(t){var e=t.data;s(e)},p=function(e){t.port2.postMessage(e)}}function l(){var t=v.documentElement;p=function(e){var r=v.createElement("script");r.onreadystatechange=function(){s(e),r.onreadystatechange=null,t.removeChild(r),r=null},t.appendChild(r)}}function h(){p=function(t){setTimeout(s,0,t)}}if(!t.setImmediate){var p,d=1,_={},y=!1,v=t.document,g=Object.getPrototypeOf&&Object.getPrototypeOf(t);g=g&&g.setTimeout?g:t,"[object process]"==={}.toString.call(t.process)?a():u()?f():t.MessageChannel?c():v&&"onreadystatechange"in v.createElement("script")?l():h(),g.setImmediate=n,g.clearImmediate=i}}("undefined"==typeof self?"undefined"==typeof t?void 0:t:self)}).call(e,function(){return this}(),r(5))},function(t,e){"use strict";function r(t,e,r,n,i){for(var o=0;o<i;++o)r[o+n]=t[o+e],t[o+e]=void 0}function n(t){this._capacity=t,this._length=0,this._front=0}n.prototype._willBeOverCapacity=function(t){return this._capacity<t},n.prototype._pushOne=function(t){var e=this.length();this._checkCapacity(e+1);var r=this._front+e&this._capacity-1;this[r]=t,this._length=e+1},n.prototype.push=function(t,e,r){var n=this.length()+3;if(this._willBeOverCapacity(n))return this._pushOne(t),this._pushOne(e),void this._pushOne(r);var i=this._front+n-3;this._checkCapacity(n);var o=this._capacity-1;this[i+0&o]=t,this[i+1&o]=e,this[i+2&o]=r,this._length=n},n.prototype.shift=function(){var t=this._front,e=this[t];return this[t]=void 0,this._front=t+1&this._capacity-1,this._length--,e},n.prototype.length=function(){return this._length},n.prototype._checkCapacity=function(t){this._capacity<t&&this._resizeTo(this._capacity<<1)},n.prototype._resizeTo=function(t){var e=this._capacity;this._capacity=t;var n=this._front,i=this._length,o=n+i&e-1;r(this,0,this,e,o)},t.exports=n},function(t,e,r){"use strict";function n(t,e){function r(n){return this instanceof r?(l(this,"message","string"==typeof n?n:e),l(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new r(n)}return c(r,Error),r}function i(t){return this instanceof i?(l(this,"name","OperationalError"),l(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(l(this,"message",t.message),l(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=r(7),u=a.freeze,f=r(6),c=f.inherits,l=f.notEnumerableProp,h=n("Warning","warning"),p=n("CancellationError","cancellation error"),d=n("TimeoutError","timeout error"),_=n("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(t){o=n("TypeError","type error"),s=n("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),v=0;v<y.length;++v)"function"==typeof Array.prototype[y[v]]&&(_.prototype[y[v]]=Array.prototype[y[v]]);a.defineProperty(_.prototype,"length",{value:0,configurable:!1,writable:!0,enumerable:!0}),_.prototype.isOperational=!0;var g=0;_.prototype.toString=function(){var t=Array(4*g+1).join(" "),e="\n"+t+"AggregateError of:\n";g++,t=Array(4*g+1).join(" ");for(var r=0;r<this.length;++r){for(var n=this[r]===this?"[Circular AggregateError]":this[r]+"",i=n.split("\n"),o=0;o<i.length;++o)i[o]=t+i[o];n=i.join("\n"),e+=n+"\n"}return g--,e},c(i,Error);var m=Error.__BluebirdErrorTypes__;m||(m=u({CancellationError:p,TimeoutError:d,OperationalError:i,RejectionError:i,AggregateError:_}),a.defineProperty(Error,"__BluebirdErrorTypes__",{value:m,writable:!1,enumerable:!1,configurable:!1})),t.exports={Error:Error,TypeError:o,RangeError:s,CancellationError:m.CancellationError,OperationalError:m.OperationalError,TimeoutError:m.TimeoutError,AggregateError:m.AggregateError,Warning:h}},function(t,e,r){"use strict";t.exports=function(t,e){function n(r,n){if(c(r)){if(r instanceof t)return r;var i=o(r);if(i===f){n&&n._pushContext();var u=t.reject(i.e);return n&&n._popContext(),u}if("function"==typeof i){if(s(r)){var u=new t(e);return r._then(u._fulfill,u._reject,void 0,u,null),u}return a(r,i,n)}}return r}function i(t){return t.then}function o(t){try{return i(t)}catch(t){return f.e=t,f}}function s(t){try{return l.call(t,"_promise0")}catch(t){return!1}}function a(r,n,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,l,!0),a=null)}var a=new t(e),c=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var l=!0,h=u.tryCatch(n).call(r,o,s);return l=!1,a&&h===f&&(a._rejectCallback(h.e,!0,!0),a=null),c}var u=r(6),f=u.errorObj,c=u.isObject,l={}.hasOwnProperty;return n}},function(t,e,r){"use strict";t.exports=function(t,e,n,i,o){function s(t){switch(t){case-2:return[];case-3:return{};case-6:return new Map}}function a(r){var n=this._promise=new t(e);r instanceof t&&n._propagateFrom(r,3),n._setOnCancel(this),this._values=r,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var u=r(6);u.isArray;return u.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function e(r,o){var a=n(this._values,this._promise);if(a instanceof t){a=a._target();var f=a._bitField;if(this._values=a,0===(50397184&f))return this._promise._setAsyncGuaranteed(),a._then(e,this._reject,void 0,this,o);if(0===(33554432&f))return 0!==(16777216&f)?this._reject(a._reason()):this._cancel();a=a._value()}if(a=u.asArray(a),null===a){var c=i("expecting an array or an iterable object but got "+u.classString(a)).reason();return void this._promise._rejectCallback(c,!1)}return 0===a.length?void(o===-5?this._resolveEmptyArray():this._resolve(s(o))):void this._iterate(a)},a.prototype._iterate=function(e){var r=this.getActualLength(e.length);this._length=r,this._values=this.shouldCopyValues()?new Array(r):this._values;for(var i=this._promise,o=!1,s=null,a=0;a<r;++a){var u=n(e[a],i);u instanceof t?(u=u._target(),s=u._bitField):s=null,o?null!==s&&u.suppressUnhandledRejections():null!==s?0===(50397184&s)?(u._proxy(this,a),this._values[a]=u):o=0!==(33554432&s)?this._promiseFulfilled(u._value(),a):0!==(16777216&s)?this._promiseRejected(u._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(u,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise._isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var r=++this._totalResolved;return r>=this._length&&(this._resolve(this._values),!0)},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var e=this._values;if(this._cancel(),e instanceof t)e.cancel();else for(var r=0;r<e.length;++r)e[r]instanceof t&&e[r].cancel()}},a.prototype.shouldCopyValues=function(){return!0},a.prototype.getActualLength=function(t){return t},a}},function(t,e){"use strict";t.exports=function(t){function e(){this._trace=new e.CapturedTrace(n())}function r(){if(i)return new e}function n(){var t=o.length-1;if(t>=0)return o[t]}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=r,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var r=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,u=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=r,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=u,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=n,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},function(t,e,r){(function(e){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=function(t,i){function o(t,e){return{promise:e}}function s(){return!1}function a(t,e,r){var n=this;try{t(e,r,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+N.toString(t));n._attachCancellationCallback(t)})}catch(t){return t}}function u(t){if(!this._isCancellable())return this;var e=this._onCancel();void 0!==e?N.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function f(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function h(t,e){if(0!==(1&e)){this._cancellationParent=t;var r=t._branchesRemainingToCancel;void 0===r&&(r=0),t._branchesRemainingToCancel=r+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function d(){var e=this._boundTo;return void 0!==e&&e instanceof t?e.isFulfilled()?e.value():void 0:e}function _(){this._trace=new R(this._peekContext())}function y(t,e){if(q(t)){var r=this._trace;if(void 0!==r&&e&&(r=r._parent),void 0!==r)r.attachExtraTrace(t);else if(!t.__stackCleaned__){var n=B(t);N.notEnumerableProp(t,"stack",n.message+"\n"+n.stack.join("\n")),N.notEnumerableProp(t,"__stackCleaned__",!0)}}}function v(t,e,r,n,i){if(void 0===t&&null!==e&&Z){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&n._bitField))return;r&&(r+=" ");var o="",s="";if(e._trace){for(var a=e._trace.stack.split("\n"),u=k(a),f=u.length-1;f>=0;--f){var c=u[f];if(!V.test(c)){var l=c.match(H);l&&(o="at "+l[1]+":"+l[2]+":"+l[3]+" ");break}}if(u.length>0)for(var h=u[0],f=0;f<a.length;++f)if(a[f]===h){f>0&&(s="\n"+a[f-1]);break}}var p="a promise was created in a "+r+"handler "+o+"but was not returned from it, see http://goo.gl/rRqMUw"+s;n._warn(p,!0,e)}}function g(t,e){var r=t+" is deprecated and will be removed in a future version.";return e&&(r+=" Use "+e+" instead."),m(r)}function m(e,r,n){if(at.warnings){var i,o=new M(e);if(r)n._attachExtraTrace(o);else if(at.longStackTraces&&(i=t._peekContext()))i.attachExtraTrace(o);else{var s=B(o);o.stack=s.message+"\n"+s.stack.join("\n")}rt("warning",o)||T(o,"",!0)}}function b(t,e){for(var r=0;r<e.length-1;++r)e[r].push("From previous event:"),e[r]=e[r].join("\n");return r<e.length&&(e[r]=e[r].join("\n")),t+"\n"+e.join("\n")}function w(t){for(var e=0;e<t.length;++e)(0===t[e].length||e+1<t.length&&t[e][0]===t[e+1][0])&&(t.splice(e,1),e--)}function E(t){for(var e=t[0],r=1;r<t.length;++r){for(var n=t[r],i=e.length-1,o=e[i],s=-1,a=n.length-1;a>=0;--a)if(n[a]===o){s=a;break}for(var a=s;a>=0;--a){var u=n[a];if(e[i]!==u)break;e.pop(),i--}e=n}}function k(t){for(var e=[],r=0;r<t.length;++r){var n=t[r],i=" (No stack trace)"===n||K.test(n),o=i&&it(n);i&&!o&&(G&&" "!==n.charAt(0)&&(n=" "+n),e.push(n))}return e}function S(t){for(var e=t.stack.replace(/\s+$/g,"").split("\n"),r=0;r<e.length;++r){var n=e[r];if(" (No stack trace)"===n||K.test(n))break}return r>0&&"SyntaxError"!=t.name&&(e=e.slice(r)),e}function B(t){var e=t.stack,r=t.toString();return e="string"==typeof e&&e.length>0?S(t):[" (No stack trace)"],{message:r,stack:"SyntaxError"==t.name?e:k(e)}}function T(t,e,r){if("undefined"!=typeof console){var i;if(N.isObject(t)){var o=t.stack;i=e+X(o,t)}else i=e+String(t);"function"==typeof D?D(i,r):"function"!=typeof console.log&&"object"!==n(console.log)||console.log(i)}}function x(t,e,r,n){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(n):e(r,n))}catch(t){U.throwLater(t)}"unhandledRejection"===t?rt(t,r,n)||i||T(r,"Unhandled rejection "):rt(t,n)}function A(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():N.toString(t);var r=/\[object [a-zA-Z0-9$_]+\]/;if(r.test(e))try{var n=JSON.stringify(t);e=n}catch(t){}0===e.length&&(e="(empty array)")}return"(<"+I(e)+">, no stack trace)"}function I(t){var e=41;return t.length<e?t:t.substr(0,e-3)+"..."}function C(){return"function"==typeof st}function O(t){var e=t.match(ot);if(e)return{fileName:e[1],line:parseInt(e[2],10)}}function j(t,e){if(C()){for(var r,n,i=t.stack.split("\n"),o=e.stack.split("\n"),s=-1,a=-1,u=0;u<i.length;++u){var f=O(i[u]);if(f){r=f.fileName,s=f.line;break}}for(var u=0;u<o.length;++u){var f=O(o[u]);if(f){n=f.fileName,a=f.line;break}}s<0||a<0||!r||!n||r!==n||s>=a||(it=function(t){if(z.test(t))return!0;var e=O(t);return!!(e&&e.fileName===r&&s<=e.line&&e.line<=a)})}}function R(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);st(this,R),e>32&&this.uncycle()}var L,F,D,P=t._getDomain,U=t._async,M=r(13).Warning,N=r(6),q=N.canAttachTrace,z=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,V=/\((?:timers\.js):\d+:\d+\)/,H=/[\/<\(](.+?):(\d+):(\d+)\)?\s*$/,K=null,X=null,G=!1,Y=!(0==N.env("BLUEBIRD_DEBUG")||!N.env("BLUEBIRD_DEBUG")&&"development"!==N.env("NODE_ENV")),W=!(0==N.env("BLUEBIRD_WARNINGS")||!Y&&!N.env("BLUEBIRD_WARNINGS")),$=!(0==N.env("BLUEBIRD_LONG_STACK_TRACES")||!Y&&!N.env("BLUEBIRD_LONG_STACK_TRACES")),Z=0!=N.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&(W||!!N.env("BLUEBIRD_W_FORGOTTEN_RETURN"));t.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=t._bitField&-1048577|524288},t.prototype._ensurePossibleRejectionHandled=function(){if(0===(524288&this._bitField)){this._setRejectionIsUnhandled();var t=this;setTimeout(function(){t._notifyUnhandledRejection()},1)}},t.prototype._notifyUnhandledRejectionIsHandled=function(){x("rejectionHandled",L,void 0,this)},t.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},t.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},t.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),x("unhandledRejection",F,t,this)}},t.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},t.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=this._bitField&-262145},t.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},t.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},t.prototype._unsetRejectionIsUnhandled=function(){this._bitField=this._bitField&-1048577,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},t.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},t.prototype._warn=function(t,e,r){return m(t,e,r||this)},t.onPossiblyUnhandledRejection=function(t){var e=P();F="function"==typeof t?null===e?t:N.domainBind(e,t):void 0},t.onUnhandledRejectionHandled=function(t){var e=P();L="function"==typeof t?null===e?t:N.domainBind(e,t):void 0};var J=function(){};t.longStackTraces=function(){if(U.haveItemsQueued()&&!at.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!at.longStackTraces&&C()){var e=t.prototype._captureStackTrace,r=t.prototype._attachExtraTrace;at.longStackTraces=!0,J=function(){if(U.haveItemsQueued()&&!at.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");t.prototype._captureStackTrace=e,t.prototype._attachExtraTrace=r,i.deactivateLongStackTraces(),U.enableTrampoline(),at.longStackTraces=!1},t.prototype._captureStackTrace=_,t.prototype._attachExtraTrace=y,i.activateLongStackTraces(),U.disableTrampolineIfNecessary()}},t.hasLongStackTraces=function(){return at.longStackTraces&&C()};var Q=function(){try{if("function"==typeof CustomEvent){var t=new CustomEvent("CustomEvent");return N.global.dispatchEvent(t),function(t,e){var r=new CustomEvent(t.toLowerCase(),{detail:e,cancelable:!0});return!N.global.dispatchEvent(r)}}if("function"==typeof Event){var t=new Event("CustomEvent");return N.global.dispatchEvent(t),function(t,e){var r=new Event(t.toLowerCase(),{cancelable:!0});return r.detail=e,!N.global.dispatchEvent(r)}}var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),N.global.dispatchEvent(t),function(t,e){var r=document.createEvent("CustomEvent");return r.initCustomEvent(t.toLowerCase(),!1,!0,e),!N.global.dispatchEvent(r)}}catch(t){}return function(){return!1}}(),tt=function(){return N.isNode?function(){return e.emit.apply(e,arguments)}:N.global?function(t){var e="on"+t.toLowerCase(),r=N.global[e];return!!r&&(r.apply(N.global,[].slice.call(arguments,1)),!0)}:function(){return!1}}(),et={promiseCreated:o,promiseFulfilled:o,promiseRejected:o,promiseResolved:o,promiseCancelled:o,promiseChained:function(t,e,r){return{promise:e,child:r}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,r){return{reason:e,promise:r}},rejectionHandled:o},rt=function(t){var e=!1;try{e=tt.apply(null,arguments)}catch(t){U.throwLater(t),e=!0}var r=!1;try{r=Q(t,et[t].apply(null,arguments))}catch(t){U.throwLater(t),r=!0}return r||e};t.config=function(e){if(e=Object(e),"longStackTraces"in e&&(e.longStackTraces?t.longStackTraces():!e.longStackTraces&&t.hasLongStackTraces()&&J()),"warnings"in e){var r=e.warnings;at.warnings=!!r,Z=at.warnings,N.isObject(r)&&"wForgottenReturn"in r&&(Z=!!r.wForgottenReturn)}if("cancellation"in e&&e.cancellation&&!at.cancellation){if(U.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");t.prototype._clearCancellationData=l,t.prototype._propagateFrom=h,t.prototype._onCancel=f,t.prototype._setOnCancel=c,t.prototype._attachCancellationCallback=u,t.prototype._execute=a,nt=h,at.cancellation=!0}return"monitoring"in e&&(e.monitoring&&!at.monitoring?(at.monitoring=!0,t.prototype._fireEvent=rt):!e.monitoring&&at.monitoring&&(at.monitoring=!1,t.prototype._fireEvent=s)),t},t.prototype._fireEvent=s,t.prototype._execute=function(t,e,r){try{t(e,r)}catch(t){return t}},t.prototype._onCancel=function(){},t.prototype._setOnCancel=function(t){},t.prototype._attachCancellationCallback=function(t){},t.prototype._captureStackTrace=function(){},t.prototype._attachExtraTrace=function(){},t.prototype._clearCancellationData=function(){},t.prototype._propagateFrom=function(t,e){};var nt=p,it=function(){return!1},ot=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;N.inherits(R,Error),i.CapturedTrace=R,R.prototype.uncycle=function(){var t=this._length;if(!(t<2)){for(var e=[],r={},n=0,i=this;void 0!==i;++n)e.push(i),i=i._parent;t=this._length=n;for(var n=t-1;n>=0;--n){var o=e[n].stack;void 0===r[o]&&(r[o]=n)}for(var n=0;n<t;++n){var s=e[n].stack,a=r[s];if(void 0!==a&&a!==n){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[n]._parent=void 0,e[n]._length=1;var u=n>0?e[n-1]:this;a<t-1?(u._parent=e[a+1],u._parent.uncycle(),u._length=u._parent._length+1):(u._parent=void 0,u._length=1);for(var f=u._length+1,c=n-2;c>=0;--c)e[c]._length=f,f++;return}}}},R.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=B(t),r=e.message,n=[e.stack],i=this;void 0!==i;)n.push(k(i.stack.split("\n"))),i=i._parent;E(n),w(n),N.notEnumerableProp(t,"stack",b(r,n)),N.notEnumerableProp(t,"__stackCleaned__",!0)}};var st=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():A(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,K=t,X=e;var r=Error.captureStackTrace;return it=function(t){return z.test(t)},function(t,e){Error.stackTraceLimit+=6,r(t,e),Error.stackTraceLimit-=6}}var i=new Error;if("string"==typeof i.stack&&i.stack.split("\n")[0].indexOf("stackDetection@")>=0)return K=/@/,X=e,G=!0,function(t){t.stack=(new Error).stack};var o;try{throw new Error}catch(t){o="stack"in t}return"stack"in i||!o||"number"!=typeof Error.stackTraceLimit?(X=function(t,e){return"string"==typeof t?t:"object"!==("undefined"==typeof e?"undefined":n(e))&&"function"!=typeof e||void 0===e.name||void 0===e.message?A(e):e.toString()},null):(K=t,X=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},N.isNode&&e.stderr.isTTY?D=function(t,e){var r=e?"[33m":"[31m";console.warn(r+t+"[0m\n")}:N.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var at={warnings:W,longStackTraces:!1,cancellation:!1,monitoring:!1};return $&&t.longStackTraces(),{longStackTraces:function(){return at.longStackTraces},warnings:function(){return at.warnings},cancellation:function(){return at.cancellation},monitoring:function(){return at.monitoring},propagateFromFunction:function(){return nt},boundValueFunction:function(){return d},checkForgottenReturns:v,setBounds:j,warn:m,deprecated:g,CapturedTrace:R,fireDomEvent:Q,fireGlobalEvent:tt}}}).call(e,r(5))},function(t,e,r){"use strict";t.exports=function(t,e,n){function i(t,e,r){this.promise=t,this.type=e,this.handler=r,this.called=!1,this.cancelPromise=null}function o(t){this.finallyHandler=t}function s(t,e){return null!=t.cancelPromise&&(arguments.length>1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0)}function a(){return f.call(this,this.promise._target()._settledValue())}function u(t){if(!s(this,t))return h.e=t,h}function f(r){var i=this.promise,f=this.handler;if(!this.called){this.called=!0;var c=this.isFinallyHandler()?f.call(i._boundValue()):f.call(i._boundValue(),r);if(c===n)return c;if(void 0!==c){i._setReturnedNonUndefined();var p=e(c,i);if(p instanceof t){if(null!=this.cancelPromise){if(p._isCancelled()){var d=new l("late cancellation observer");return i._attachExtraTrace(d),h.e=d,h}p.isPending()&&p._attachCancellationCallback(new o(this))}return p._then(a,u,void 0,this,void 0)}}}return i.isRejected()?(s(this),h.e=r,h):(s(this),r)}var c=r(6),l=t.CancellationError,h=c.errorObj,p=r(19)(n);return i.prototype.isFinallyHandler=function(){return 0===this.type},o.prototype._resultCancelled=function(){s(this.finallyHandler)},t.prototype._passThrough=function(t,e,r,n){return"function"!=typeof t?this.then():this._then(r,n,void 0,new i(this,e,t),void 0)},t.prototype.lastly=t.prototype.finally=function(t){return this._passThrough(t,0,f,f)},t.prototype.tap=function(t){return this._passThrough(t,1,f)},t.prototype.tapCatch=function(e){var r=arguments.length;if(1===r)return this._passThrough(e,1,void 0,f);var n,i=new Array(r-1),o=0;for(n=0;n<r-1;++n){var s=arguments[n];if(!c.isObject(s))return t.reject(new TypeError("tapCatch statement predicate: expecting an object but got "+c.classString(s)));i[o++]=s}i.length=o;var a=arguments[n];return this._passThrough(p(i,a,this),1,void 0,f)},i}},function(t,e,r){"use strict";t.exports=function(t){function e(e,r,a){return function(u){var f=a._boundValue();t:for(var c=0;c<e.length;++c){var l=e[c];if(l===Error||null!=l&&l.prototype instanceof Error){if(u instanceof l)return o(r).call(f,u)}else if("function"==typeof l){var h=o(l).call(f,u);if(h===s)return h;if(h)return o(r).call(f,u)}else if(n.isObject(u)){for(var p=i(l),d=0;d<p.length;++d){var _=p[d];if(l[_]!=u[_])continue t}return o(r).call(f,u)}}return t}}var n=r(6),i=r(7).keys,o=n.tryCatch,s=n.errorObj;return e}},function(t,e,r){"use strict";function n(t){return t instanceof Error&&c.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(n(t)){e=new f(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var r=c.keys(t),i=0;i<r.length;++i){var o=r[i];l.test(o)||(e[o]=t[o])}return e}return s.markAsOriginatingFromRejection(t),t}function o(t,e){return function(r,n){if(null!==t){if(r){var o=i(a(r));t._attachExtraTrace(o),t._reject(o)}else if(e){for(var s=arguments.length,u=new Array(Math.max(s-1,0)),f=1;f<s;++f)u[f-1]=arguments[f];t._fulfill(u)}else t._fulfill(n);t=null}}}var s=r(6),a=s.maybeWrapAsError,u=r(13),f=u.OperationalError,c=r(7),l=/^(?:name|message|stack|cause)$/;t.exports=o},function(t,e,r){"use strict";t.exports=function(t,e,n,i,o){var s=r(6),a=s.tryCatch;t.method=function(r){if("function"!=typeof r)throw new t.TypeError("expecting a function but got "+s.classString(r));return function(){var n=new t(e);n._captureStackTrace(),n._pushContext();var i=a(r).apply(this,arguments),s=n._popContext();return o.checkForgottenReturns(i,s,"Promise.method",n),n._resolveFromSyncValue(i),n}},t.attempt=t.try=function(r){if("function"!=typeof r)return i("expecting a function but got "+s.classString(r));var n=new t(e);n._captureStackTrace(),n._pushContext();var u;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var f=arguments[1],c=arguments[2];u=s.isArray(f)?a(r).apply(c,f):a(r).call(c,f)}else u=a(r)();var l=n._popContext();return o.checkForgottenReturns(u,l,"Promise.try",n),n._resolveFromSyncValue(u),n},t.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},function(t,e){"use strict";t.exports=function(t,e,r,n){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},u=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){ +i||(i=!0,t.prototype._propagateFrom=n.propagateFromFunction(),t.prototype._boundValue=n.boundValueFunction());var f=r(o),c=new t(e);c._propagateFrom(this,1);var l=this._target();if(c._setBoundTo(f),f instanceof t){var h={promiseRejectionQueued:!1,promise:c,target:l,bindingPromise:f};l._then(e,s,void 0,c,h),f._then(a,u,void 0,c,h),c._setOnCancel(f)}else c._resolveCallback(l);return c},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=this._bitField&-2097153},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,r){return t.resolve(r).bind(e)}}},function(t,e,r){"use strict";t.exports=function(t,e,n,i){var o=r(6),s=o.tryCatch,a=o.errorObj,u=t._async;t.prototype.break=t.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t._isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var r=t._cancellationParent;if(null==r||!r._isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),t._setWillBeCancelled(),e=t,t=r}},t.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},t.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},t.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),!!this._enoughBranchesHaveCancelled()&&(this._invokeOnCancel(),!0))},t.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},t.prototype._cancel=function(){this._isCancellable()&&(this._setCancelled(),u.invoke(this._cancelPromises,this,void 0))},t.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},t.prototype._unsetOnCancel=function(){this._onCancelField=void 0},t.prototype._isCancellable=function(){return this.isPending()&&!this._isCancelled()},t.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},t.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var r=0;r<t.length;++r)this._doInvokeOnCancel(t[r],e);else if(void 0!==t)if("function"==typeof t){if(!e){var n=s(t).call(this._boundValue());n===a&&(this._attachExtraTrace(n.e),u.throwLater(n.e))}}else t._resultCancelled(this)},t.prototype._invokeOnCancel=function(){var t=this._onCancel();this._unsetOnCancel(),u.invoke(this._doInvokeOnCancel,this,t)},t.prototype._invokeInternalOnCancel=function(){this._isCancellable()&&(this._doInvokeOnCancel(this._onCancel(),!0),this._unsetOnCancel())},t.prototype._resultCancelled=function(){this.cancel()}}},function(t,e){"use strict";t.exports=function(t){function e(){return this.value}function r(){throw this.reason}t.prototype.return=t.prototype.thenReturn=function(r){return r instanceof t&&r.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:r},void 0)},t.prototype.throw=t.prototype.thenThrow=function(t){return this._then(r,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,r,void 0,{reason:t},void 0);var e=arguments[1],n=function(){throw e};return this.caught(t,n)},t.prototype.catchReturn=function(r){if(arguments.length<=1)return r instanceof t&&r.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:r},void 0);var n=arguments[1];n instanceof t&&n.suppressUnhandledRejections();var i=function(){return n};return this.caught(r,i)}}},function(t,e){"use strict";t.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var r=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},n=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=function(){return 0!==(8454144&this._bitField)},t.prototype.__isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype._isCancelled=function(){return this._target().__isCancelled()},t.prototype.isCancelled=function(){return 0!==(8454144&this._target()._bitField)},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return r.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),n.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},function(t,e,r){"use strict";t.exports=function(t,e,n,i,o,s){var a,u=r(6),f=u.canEvaluate,c=u.tryCatch,l=u.errorObj;if(f){for(var h=function(t){return new Function("value","holder"," \n\t 'use strict'; \n\t holder.pIndex = value; \n\t holder.checkFulfillment(this); \n\t ".replace(/Index/g,t))},p=function(t){return new Function("promise","holder"," \n\t 'use strict'; \n\t holder.pIndex = promise; \n\t ".replace(/Index/g,t))},d=function(e){for(var r=new Array(e),n=0;n<r.length;++n)r[n]="this.p"+(n+1);var i=r.join(" = ")+" = null;",s="var promise;\n"+r.map(function(t){return" \n\t promise = "+t+"; \n\t if (promise instanceof Promise) { \n\t promise.cancel(); \n\t } \n\t "}).join("\n"),a=r.join(", "),u="Holder$"+e,f="return function(tryCatch, errorObj, Promise, async) { \n\t 'use strict'; \n\t function [TheName](fn) { \n\t [TheProperties] \n\t this.fn = fn; \n\t this.asyncNeeded = true; \n\t this.now = 0; \n\t } \n\t \n\t [TheName].prototype._callFunction = function(promise) { \n\t promise._pushContext(); \n\t var ret = tryCatch(this.fn)([ThePassedArguments]); \n\t promise._popContext(); \n\t if (ret === errorObj) { \n\t promise._rejectCallback(ret.e, false); \n\t } else { \n\t promise._resolveCallback(ret); \n\t } \n\t }; \n\t \n\t [TheName].prototype.checkFulfillment = function(promise) { \n\t var now = ++this.now; \n\t if (now === [TheTotal]) { \n\t if (this.asyncNeeded) { \n\t async.invoke(this._callFunction, this, promise); \n\t } else { \n\t this._callFunction(promise); \n\t } \n\t \n\t } \n\t }; \n\t \n\t [TheName].prototype._resultCancelled = function() { \n\t [CancellationCode] \n\t }; \n\t \n\t return [TheName]; \n\t }(tryCatch, errorObj, Promise, async); \n\t ";return f=f.replace(/\[TheName\]/g,u).replace(/\[TheTotal\]/g,e).replace(/\[ThePassedArguments\]/g,a).replace(/\[TheProperties\]/g,i).replace(/\[CancellationCode\]/g,s),new Function("tryCatch","errorObj","Promise","async",f)(c,l,t,o)},_=[],y=[],v=[],g=0;g<8;++g)_.push(d(g+1)),y.push(h(g+1)),v.push(p(g+1));a=function(t){this._reject(t)}}t.join=function(){var r,o=arguments.length-1;if(o>0&&"function"==typeof arguments[o]&&(r=arguments[o],o<=8&&f)){var c=new t(i);c._captureStackTrace();for(var l=_[o-1],h=new l(r),p=y,d=0;d<o;++d){var g=n(arguments[d],c);if(g instanceof t){g=g._target();var m=g._bitField;0===(50397184&m)?(g._then(p[d],a,void 0,c,h),v[d](g,h),h.asyncNeeded=!1):0!==(33554432&m)?p[d].call(c,g._value(),h):0!==(16777216&m)?c._reject(g._reason()):c._cancel()}else p[d].call(c,g,h)}if(!c._isFateSealed()){if(h.asyncNeeded){var b=s();null!==b&&(h.fn=u.domainBind(b,h.fn))}c._setAsyncGuaranteed(),c._setOnCancel(h)}return c}for(var w=arguments.length,E=new Array(w),k=0;k<w;++k)E[k]=arguments[k];r&&E.pop();var c=new e(E).promise();return void 0!==r?c.spread(r):c}}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=function(t,e,i,o,s,a){function u(t,e,r,n){this.constructor$(t),this._promise._captureStackTrace();var i=c();this._callback=null===i?e:l.domainBind(i,e),this._preservedValues=n===s?new Array(this.length()):null,this._limit=r,this._inFlight=0,this._queue=[],d.invoke(this._asyncInit,this,void 0)}function f(e,r,o,s){if("function"!=typeof r)return i("expecting a function but got "+l.classString(r));var a=0;if(void 0!==o){if("object"!==("undefined"==typeof o?"undefined":n(o))||null===o)return t.reject(new TypeError("options argument must be an object but it is "+l.classString(o)));if("number"!=typeof o.concurrency)return t.reject(new TypeError("'concurrency' must be a number but it is "+l.classString(o.concurrency)));a=o.concurrency}return a="number"==typeof a&&isFinite(a)&&a>=1?a:0,new u(e,r,a,s).promise()}var c=t._getDomain,l=r(6),h=l.tryCatch,p=l.errorObj,d=t._async;l.inherits(u,e),u.prototype._asyncInit=function(){this._init$(void 0,-2)},u.prototype._init=function(){},u.prototype._promiseFulfilled=function(e,r){var n=this._values,i=this.length(),s=this._preservedValues,u=this._limit;if(r<0){if(r=r*-1-1,n[r]=e,u>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(u>=1&&this._inFlight>=u)return n[r]=e,this._queue.push(r),!1;null!==s&&(s[r]=e);var f=this._promise,c=this._callback,l=f._boundValue();f._pushContext();var d=h(c).call(l,e,r,i),_=f._popContext();if(a.checkForgottenReturns(d,_,null!==s?"Promise.filter":"Promise.map",f),d===p)return this._reject(d.e),!0;var y=o(d,this._promise);if(y instanceof t){y=y._target();var v=y._bitField;if(0===(50397184&v))return u>=1&&this._inFlight++,n[r]=y,y._proxy(this,(r+1)*-1),!1;if(0===(33554432&v))return 0!==(16777216&v)?(this._reject(y._reason()),!0):(this._cancel(),!0);d=y._value()}n[r]=d}var g=++this._totalResolved;return g>=i&&(null!==s?this._filter(n,s):this._resolve(n),!0)},u.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,r=this._values;t.length>0&&this._inFlight<e;){if(this._isResolved())return;var n=t.pop();this._promiseFulfilled(r[n],n)}},u.prototype._filter=function(t,e){for(var r=e.length,n=new Array(r),i=0,o=0;o<r;++o)t[o]&&(n[i++]=e[o]);n.length=i,this._resolve(n)},u.prototype.preservedValues=function(){return this._preservedValues},t.prototype.map=function(t,e){return f(this,t,e,null)},t.map=function(t,e,r,n){return f(t,e,r,n)}}},function(t,e,r){"use strict";var n=Object.create;if(n){var i=n(null),o=n(null);i[" size"]=o[" size"]=0}t.exports=function(t){function e(e,r){var n;if(null!=e&&(n=e[r]),"function"!=typeof n){var i="Object "+c.classString(e)+" has no method '"+c.toString(r)+"'";throw new t.TypeError(i)}return n}function n(t){var r=this.pop(),n=e(t,r);return n.apply(t,this)}function s(t){return t[this]}function a(t){var e=+this;return e<0&&(e=Math.max(0,e+t.length)),t[e]}var u,f,c=r(6),l=c.canEvaluate,h=c.isIdentifier,p=function(t){return new Function("ensureMethod"," \n\t return function(obj) { \n\t 'use strict' \n\t var len = this.length; \n\t ensureMethod(obj, 'methodName'); \n\t switch(len) { \n\t case 1: return obj.methodName(this[0]); \n\t case 2: return obj.methodName(this[0], this[1]); \n\t case 3: return obj.methodName(this[0], this[1], this[2]); \n\t case 0: return obj.methodName(); \n\t default: \n\t return obj.methodName.apply(obj, this); \n\t } \n\t }; \n\t ".replace(/methodName/g,t))(e)},d=function(t){return new Function("obj"," \n\t 'use strict'; \n\t return obj.propertyName; \n\t ".replace("propertyName",t))},_=function(t,e,r){var n=r[t];if("function"!=typeof n){if(!h(t))return null;if(n=e(t),r[t]=n,r[" size"]++,r[" size"]>512){for(var i=Object.keys(r),o=0;o<256;++o)delete r[i[o]];r[" size"]=i.length-256}}return n};u=function(t){return _(t,p,i)},f=function(t){return _(t,d,o)},t.prototype.call=function(t){for(var e=arguments.length,r=new Array(Math.max(e-1,0)),i=1;i<e;++i)r[i-1]=arguments[i];if(l){var o=u(t);if(null!==o)return this._then(o,void 0,void 0,r,void 0)}return r.push(t),this._then(n,void 0,void 0,r,void 0)},t.prototype.get=function(t){var e,r="number"==typeof t;if(r)e=a;else if(l){var n=f(t);e=null!==n?n:s}else e=s;return this._then(e,void 0,void 0,t,void 0)}}},function(t,e,r){"use strict";t.exports=function(t,e,n,i,o,s){function a(t){setTimeout(function(){throw t},0)}function u(t){var e=n(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function f(e,r){function i(){if(s>=f)return c._fulfill();var o=u(e[s++]);if(o instanceof t&&o._isDisposable()){try{o=n(o._getDisposer().tryDispose(r),e.promise)}catch(t){return a(t)}if(o instanceof t)return o._then(i,a,null,null,null)}i()}var s=0,f=e.length,c=new t(o);return i(),c}function c(t,e,r){this._data=t,this._promise=e,this._context=r}function l(t,e,r){this.constructor$(t,e,r)}function h(t){return c.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function p(t){this.length=t,this.promise=null,this[t-1]=null}var d=r(6),_=r(13).TypeError,y=r(6).inherits,v=d.errorObj,g=d.tryCatch,m={};c.prototype.data=function(){return this._data},c.prototype.promise=function(){return this._promise},c.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():m},c.prototype.tryDispose=function(t){var e=this.resource(),r=this._context;void 0!==r&&r._pushContext();var n=e!==m?this.doDispose(e,t):null;return void 0!==r&&r._popContext(),this._promise._unsetDisposable(),this._data=null,n},c.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},y(l,c),l.prototype.doDispose=function(t,e){var r=this.data();return r.call(t,t,e)},p.prototype._resultCancelled=function(){for(var e=this.length,r=0;r<e;++r){var n=this[r];n instanceof t&&n.cancel()}},t.using=function(){var r=arguments.length;if(r<2)return e("you must pass at least 2 arguments to Promise.using");var i=arguments[r-1];if("function"!=typeof i)return e("expecting a function but got "+d.classString(i));var o,a=!0;2===r&&Array.isArray(arguments[0])?(o=arguments[0],r=o.length,a=!1):(o=arguments,r--);for(var u=new p(r),l=0;l<r;++l){var _=o[l];if(c.isDisposer(_)){var y=_;_=_.promise(),_._setDisposable(y)}else{var m=n(_);m instanceof t&&(_=m._then(h,null,null,{resources:u,index:l},void 0))}u[l]=_}for(var b=new Array(u.length),l=0;l<b.length;++l)b[l]=t.resolve(u[l]).reflect();var w=t.all(b).then(function(t){for(var e=0;e<t.length;++e){var r=t[e];if(r.isRejected())return v.e=r.error(),v;if(!r.isFulfilled())return void w.cancel();t[e]=r.value()}E._pushContext(),i=g(i);var n=a?i.apply(void 0,t):i(t),o=E._popContext();return s.checkForgottenReturns(n,o,"Promise.using",E),n}),E=w.lastly(function(){var e=new t.PromiseInspection(w);return f(u,e)});return u.promise=E,E._setOnCancel(u),E},t.prototype._setDisposable=function(t){this._bitField=131072|this._bitField,this._disposer=t},t.prototype._isDisposable=function(){return(131072&this._bitField)>0},t.prototype._getDisposer=function(){return this._disposer},t.prototype._unsetDisposable=function(){this._bitField=this._bitField&-131073,this._disposer=void 0},t.prototype.disposer=function(t){if("function"==typeof t)return new l(t,this,i());throw new _}}},function(t,e,r){"use strict";t.exports=function(t,e,n){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=r(6),u=t.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var f=function(t){return c(+this).thenReturn(t)},c=t.delay=function(r,o){var s,a;return void 0!==o?(s=t.resolve(o)._then(f,null,null,r,void 0),n.cancellation()&&o instanceof t&&s._setOnCancel(o)):(s=new t(e),a=setTimeout(function(){s._fulfill()},+r),n.cancellation()&&s._setOnCancel(new i(a)),s._captureStackTrace()),s._setAsyncGuaranteed(),s};t.prototype.delay=function(t){return c(t,this)};var l=function(t,e,r){var n;n="string"!=typeof e?e instanceof Error?e:new u("operation timed out"):new u(e),a.markAsOriginatingFromRejection(n),t._attachExtraTrace(n),t._reject(n),null!=r&&r.cancel()};t.prototype.timeout=function(t,e){t=+t;var r,a,u=new i(setTimeout(function(){r.isPending()&&l(r,e,a)},t));return n.cancellation()?(a=this.then(),r=a._then(o,s,void 0,u,void 0),r._setOnCancel(u)):r=this._then(o,s,void 0,u,void 0),r}}},function(t,e,r){"use strict";t.exports=function(t,e,n,i,o,s){function a(e,r,n){for(var o=0;o<r.length;++o){n._pushContext();var s=p(r[o])(e);if(n._popContext(),s===h){n._pushContext();var a=t.reject(h.e);return n._popContext(),a}var u=i(s,n);if(u instanceof t)return u}return null}function u(e,r,i,o){if(s.cancellation()){var a=new t(n),u=this._finallyPromise=new t(n);this._promise=a.lastly(function(){return u}),a._captureStackTrace(),a._setOnCancel(this)}else{var f=this._promise=new t(n);f._captureStackTrace()}this._stack=o,this._generatorFunction=e,this._receiver=r,this._generator=void 0,this._yieldHandlers="function"==typeof i?[i].concat(d):d,this._yieldedPromise=null,this._cancellationPhase=!1}var f=r(13),c=f.TypeError,l=r(6),h=l.errorObj,p=l.tryCatch,d=[];l.inherits(u,o),u.prototype._isResolved=function(){return null===this._promise},u.prototype._cleanup=function(){this._promise=this._generator=null,s.cancellation()&&null!==this._finallyPromise&&(this._finallyPromise._fulfill(),this._finallyPromise=null)},u.prototype._promiseCancelled=function(){if(!this._isResolved()){var e,r="undefined"!=typeof this._generator.return;if(r)this._promise._pushContext(),e=p(this._generator.return).call(this._generator,void 0),this._promise._popContext();else{var n=new t.CancellationError("generator .return() sentinel");t.coroutine.returnSentinel=n,this._promise._attachExtraTrace(n),this._promise._pushContext(),e=p(this._generator.throw).call(this._generator,n),this._promise._popContext()}this._cancellationPhase=!0,this._yieldedPromise=null,this._continue(e)}},u.prototype._promiseFulfilled=function(t){this._yieldedPromise=null,this._promise._pushContext();var e=p(this._generator.next).call(this._generator,t);this._promise._popContext(),this._continue(e)},u.prototype._promiseRejected=function(t){this._yieldedPromise=null,this._promise._attachExtraTrace(t),this._promise._pushContext();var e=p(this._generator.throw).call(this._generator,t);this._promise._popContext(),this._continue(e)},u.prototype._resultCancelled=function(){if(this._yieldedPromise instanceof t){var e=this._yieldedPromise;this._yieldedPromise=null,e.cancel()}},u.prototype.promise=function(){return this._promise},u.prototype._run=function(){this._generator=this._generatorFunction.call(this._receiver),this._receiver=this._generatorFunction=void 0,this._promiseFulfilled(void 0)},u.prototype._continue=function(e){var r=this._promise;if(e===h)return this._cleanup(),this._cancellationPhase?r.cancel():r._rejectCallback(e.e,!1);var n=e.value;if(e.done===!0)return this._cleanup(),this._cancellationPhase?r.cancel():r._resolveCallback(n);var o=i(n,this._promise);if(!(o instanceof t)&&(o=a(o,this._yieldHandlers,this._promise),null===o))return void this._promiseRejected(new c("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s",String(n))+"From coroutine:\n"+this._stack.split("\n").slice(1,-7).join("\n")));o=o._target();var s=o._bitField;0===(50397184&s)?(this._yieldedPromise=o,o._proxy(this,null)):0!==(33554432&s)?t._async.invoke(this._promiseFulfilled,this,o._value()):0!==(16777216&s)?t._async.invoke(this._promiseRejected,this,o._reason()):this._promiseCancelled()},t.coroutine=function(t,e){if("function"!=typeof t)throw new c("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var r=Object(e).yieldHandler,n=u,i=(new Error).stack;return function(){var e=t.apply(this,arguments),o=new n(void 0,void 0,r,i),s=o.promise();return o._generator=e,o._promiseFulfilled(void 0),s}},t.coroutine.addYieldHandler=function(t){if("function"!=typeof t)throw new c("expecting a function but got "+l.classString(t));d.push(t)},t.spawn=function(r){if(s.deprecated("Promise.spawn()","Promise.coroutine()"),"function"!=typeof r)return e("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n");var n=new u(r,this),i=n.promise();return n._run(t.spawn),i}}},function(t,e,r){"use strict";t.exports=function(t){function e(t,e){var r=this;if(!o.isArray(t))return n.call(r,t,e);var i=a(e).apply(r._boundValue(),[null].concat(t));i===u&&s.throwLater(i.e)}function n(t,e){var r=this,n=r._boundValue(),i=void 0===t?a(e).call(n,null):a(e).call(n,null,t);i===u&&s.throwLater(i.e)}function i(t,e){var r=this;if(!t){var n=new Error(t+"");n.cause=t,t=n}var i=a(e).call(r._boundValue(),t);i===u&&s.throwLater(i.e)}var o=r(6),s=t._async,a=o.tryCatch,u=o.errorObj;t.prototype.asCallback=t.prototype.nodeify=function(t,r){if("function"==typeof t){var o=n;void 0!==r&&Object(r).spread&&(o=e),this._then(o,i,void 0,this,t)}return this}}},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=function(t,e){function i(t){return!k.test(t)}function o(t){try{return t.__isPromisified__===!0}catch(t){return!1}}function s(t,e,r){var n=d.getDataPropertyOrDefault(t,e+r,w);return!!n&&o(n)}function a(t,e,r){for(var n=0;n<t.length;n+=2){var i=t[n];if(r.test(i))for(var o=i.replace(r,""),s=0;s<t.length;s+=2)if(t[s]===o)throw new m("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s",e))}}function u(t,e,r,n){for(var i=d.inheritedDataKeys(t),u=[],f=0;f<i.length;++f){var c=i[f],l=t[c],h=n===S||S(c,l,t);"function"!=typeof l||o(l)||s(t,c,e)||!n(c,l,t,h)||u.push(c,l)}return a(u,e,r),u}function f(r,n,i,o,s,a){function u(){var i=n;n===p&&(i=this);var o=new t(e);o._captureStackTrace();var s="string"==typeof c&&this!==f?this[c]:r,u=_(o,a);try{s.apply(i,y(arguments,u))}catch(t){o._rejectCallback(v(t),!0,!0)}return o._isFateSealed()||o._setAsyncGuaranteed(),o}var f=function(){return this}(),c=r;return"string"==typeof c&&(r=o),d.notEnumerableProp(u,"__isPromisified__",!0),u}function c(t,e,r,n,i){for(var o=new RegExp(B(e)+"$"),s=u(t,e,o,r),a=0,f=s.length;a<f;a+=2){var c=s[a],l=s[a+1],h=c+e;if(n===C)t[h]=C(c,p,c,l,e,i);else{var _=n(l,function(){return C(c,p,c,l,e,i)});d.notEnumerableProp(_,"__isPromisified__",!0),t[h]=_}}return d.toFastProperties(t),t}function l(t,e,r){return C(t,e,void 0,t,null,r)}var h,p={},d=r(6),_=r(20),y=d.withAppended,v=d.maybeWrapAsError,g=d.canEvaluate,m=r(13).TypeError,b="Async",w={__isPromisified__:!0},E=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],k=new RegExp("^(?:"+E.join("|")+")$"),S=function(t){return d.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},B=function(t){return t.replace(/([$])/,"\\$")},T=function(t){for(var e=[t],r=Math.max(0,t-1-3),n=t-1;n>=r;--n)e.push(n);for(var n=t+1;n<=3;++n)e.push(n);return e},x=function(t){return d.filledRange(t,"_arg","")},A=function(t){return d.filledRange(Math.max(t,3),"_arg","")},I=function(t){return"number"==typeof t.length?Math.max(Math.min(t.length,1024),0):0};h=function(r,n,i,o,s,a){function u(t){var e,r=x(t).join(", "),i=t>0?", ":"";return e=h?"ret = callback.call(this, {{args}}, nodeback); break;\n":void 0===n?"ret = callback({{args}}, nodeback); break;\n":"ret = callback.call(receiver, {{args}}, nodeback); break;\n",e.replace("{{args}}",r).replace(", ",i)}function f(){for(var t="",e=0;e<l.length;++e)t+="case "+l[e]+":"+u(l[e]);return t+=" \n\t default: \n\t var args = new Array(len + 1); \n\t var i = 0; \n\t for (var i = 0; i < len; ++i) { \n\t args[i] = arguments[i]; \n\t } \n\t args[i] = nodeback; \n\t [CodeForCall] \n\t break; \n\t ".replace("[CodeForCall]",h?"ret = callback.apply(this, args);\n":"ret = callback.apply(receiver, args);\n")}var c=Math.max(0,I(o)-1),l=T(c),h="string"==typeof r||n===p,g="string"==typeof r?"this != null ? this['"+r+"'] : fn":"fn",m="'use strict'; \n\t var ret = function (Parameters) { \n\t 'use strict'; \n\t var len = arguments.length; \n\t var promise = new Promise(INTERNAL); \n\t promise._captureStackTrace(); \n\t var nodeback = nodebackForPromise(promise, "+a+"); \n\t var ret; \n\t var callback = tryCatch([GetFunctionCode]); \n\t switch(len) { \n\t [CodeForSwitchCase] \n\t } \n\t if (ret === errorObj) { \n\t promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n\t } \n\t if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n\t return promise; \n\t }; \n\t notEnumerableProp(ret, '__isPromisified__', true); \n\t return ret; \n\t ".replace("[CodeForSwitchCase]",f()).replace("[GetFunctionCode]",g);return m=m.replace("Parameters",A(c)),new Function("Promise","fn","receiver","withAppended","maybeWrapAsError","nodebackForPromise","tryCatch","errorObj","notEnumerableProp","INTERNAL",m)(t,o,n,y,v,_,d.tryCatch,d.errorObj,d.notEnumerableProp,e)};var C=g?h:f;t.promisify=function(t,e){if("function"!=typeof t)throw new m("expecting a function but got "+d.classString(t));if(o(t))return t;e=Object(e);var r=void 0===e.context?p:e.context,n=!!e.multiArgs,s=l(t,r,n);return d.copyDescriptors(t,s,i),s},t.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!==("undefined"==typeof t?"undefined":n(t)))throw new m("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");e=Object(e);var r=!!e.multiArgs,i=e.suffix;"string"!=typeof i&&(i=b);var o=e.filter;"function"!=typeof o&&(o=S);var s=e.promisifier;if("function"!=typeof s&&(s=C),!d.isIdentifier(i))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var a=d.inheritedDataKeys(t),u=0;u<a.length;++u){var f=t[a[u]];"constructor"!==a[u]&&d.isClass(f)&&(c(f.prototype,i,o,s,r),c(f,i,o,s,r))}return c(t,i,o,s,r)}}},function(t,e,r){"use strict";t.exports=function(t,e,n,i){function o(t){var e,r=!1;if(void 0!==a&&t instanceof a)e=l(t),r=!0;else{var n=c.keys(t),i=n.length;e=new Array(2*i);for(var o=0;o<i;++o){var s=n[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=r,this._init$(void 0,r?-6:-3)}function s(e){var r,s=n(e);return f(s)?(r=s instanceof t?s._then(t.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof t&&r._propagateFrom(s,2), +r):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var a,u=r(6),f=u.isObject,c=r(7);"function"==typeof Map&&(a=Map);var l=function(){function t(t,n){this[e]=t,this[e+r]=n,e++}var e=0,r=0;return function(n){r=n.size,e=0;var i=new Array(2*n.size);return n.forEach(t,i),i}}(),h=function(t){for(var e=new a,r=t.length/2|0,n=0;n<r;++n){var i=t[r+n],o=t[n];e.set(i,o)}return e};u.inherits(o,e),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var r=++this._totalResolved;if(r>=this._length){var n;if(this._isMap)n=h(this._values);else{n={};for(var i=this.length(),o=0,s=this.length();o<s;++o)n[this._values[o+i]]=this._values[o]}return this._resolve(n),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},t.prototype.props=function(){return s(this)},t.props=function(t){return s(t)}}},function(t,e,r){"use strict";t.exports=function(t,e,n,i){function o(r,o){var u=n(r);if(u instanceof t)return a(u);if(r=s.asArray(r),null===r)return i("expecting an array or an iterable object but got "+s.classString(r));var f=new t(e);void 0!==o&&f._propagateFrom(o,3);for(var c=f._fulfill,l=f._reject,h=0,p=r.length;h<p;++h){var d=r[h];(void 0!==d||h in r)&&t.cast(d)._then(c,l,void 0,f,null)}return f}var s=r(6),a=function(t){return t.then(function(e){return o(e,t)})};t.race=function(t){return o(t,void 0)},t.prototype.race=function(){return o(this,void 0)}}},function(t,e,r){"use strict";t.exports=function(t,e,n,i,o,s){function a(e,r,n,i){this.constructor$(e);var s=h();this._fn=null===s?r:p.domainBind(s,r),void 0!==n&&(n=t.resolve(n),n._attachCancellationCallback(this)),this._initialValue=n,this._currentCancellable=null,i===o?this._eachValues=Array(this._length):0===i?this._eachValues=null:this._eachValues=void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function u(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function f(t,e,r,i){if("function"!=typeof e)return n("expecting a function but got "+p.classString(e));var o=new a(t,e,r,i);return o.promise()}function c(e){this.accum=e,this.array._gotAccum(e);var r=i(this.value,this.array._promise);return r instanceof t?(this.array._currentCancellable=r,r._then(l,void 0,void 0,this,void 0)):l.call(this,r)}function l(e){var r=this.array,n=r._promise,i=d(r._fn);n._pushContext();var o;o=void 0!==r._eachValues?i.call(n._boundValue(),e,this.index,this.length):i.call(n._boundValue(),this.accum,e,this.index,this.length),o instanceof t&&(r._currentCancellable=o);var a=n._popContext();return s.checkForgottenReturns(o,a,void 0!==r._eachValues?"Promise.each":"Promise.reduce",n),o}var h=t._getDomain,p=r(6),d=p.tryCatch;p.inherits(a,e),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&null!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return null!==this._eachValues&&this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(e){return e===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof t&&this._currentCancellable.cancel(),this._initialValue instanceof t&&this._initialValue.cancel()))},a.prototype._iterate=function(e){this._values=e;var r,n,i=e.length;if(void 0!==this._initialValue?(r=this._initialValue,n=0):(r=t.resolve(e[0]),n=1),this._currentCancellable=r,!r.isRejected())for(;n<i;++n){var o={accum:null,value:e[n],index:n,length:i,array:this};r=r._then(c,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(r=r._then(this._eachComplete,void 0,void 0,this,void 0)),r._then(u,u,void 0,r,this)},t.prototype.reduce=function(t,e){return f(this,t,e,null)},t.reduce=function(t,e,r,n){return f(t,e,r,n)}}},function(t,e,r){"use strict";t.exports=function(t,e,n){function i(t){this.constructor$(t)}var o=t.PromiseInspection,s=r(6);s.inherits(i,e),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var r=++this._totalResolved;return r>=this._length&&(this._resolve(this._values),!0)},i.prototype._promiseFulfilled=function(t,e){var r=new o;return r._bitField=33554432,r._settledValueField=t,this._promiseResolved(e,r)},i.prototype._promiseRejected=function(t,e){var r=new o;return r._bitField=16777216,r._settledValueField=t,this._promiseResolved(e,r)},t.settle=function(t){return n.deprecated(".settle()",".reflect()"),new i(t).promise()},t.prototype.settle=function(){return t.settle(this)}}},function(t,e,r){"use strict";t.exports=function(t,e,n){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||e<0)return n("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var r=new i(t),o=r.promise();return r.setHowMany(e),r.init(),o}var s=r(6),a=r(13).RangeError,u=r(13).AggregateError,f=s.isArray,c={};s.inherits(i,e),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=f(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()&&(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0)},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof t||null==this._values?this._cancel():(this._addRejected(c),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new u,e=this.length();e<this._values.length;++e)this._values[e]!==c&&t.push(this._values[e]);return t.length>0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},t.some=function(t,e){return o(t,e)},t.prototype.some=function(t){return o(this,t)},t._SomePromiseArray=i}},function(t,e){"use strict";t.exports=function(t,e){var r=t.map;t.prototype.filter=function(t,n){return r(this,t,n,e)},t.filter=function(t,n,i){return r(t,n,i,e)}}},function(t,e){"use strict";t.exports=function(t,e){function r(){return o(this)}function n(t,r){return i(t,r,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return i(this,t,e,0)._then(r,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,n){return i(t,n,e,0)._then(r,void 0,void 0,t,void 0)},t.mapSeries=n}},function(t,e){"use strict";t.exports=function(t){function e(t){var e=new r(t),n=e.promise();return e.setHowMany(1),e.setUnwrap(),e.init(),n}var r=t._SomePromiseArray;t.any=function(t){return e(t)},t.prototype.any=function(){return e(this)}}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),s=r(43),a=n(s),u=r(82),f=function(){function t(e){var r=this;i(this,t),(0,a.default)(e,function(t,e){r[e]=t})}return o(t,[{key:"get",value:function(t){return this[t]}},{key:"set",value:function(t,e){this[t]=e}}]),t}();if(t.exports=new f(u),"undefined"!=typeof t.exports.Config)throw new Error("default config.json file may not contain a property 'Config'");t.exports.Config=f},function(t,e,r){"use strict";t.exports=r(44)},function(t,e,r){"use strict";function n(t,e){var r=a(t)?i:o;return r(t,s(e))}var i=r(45),o=r(46),s=r(80),a=r(62);t.exports=n},function(t,e){"use strict";function r(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}t.exports=r},function(t,e,r){"use strict";var n=r(47),i=r(79),o=i(n);t.exports=o},function(t,e,r){"use strict";function n(t,e){return t&&i(t,e,o)}var i=r(48),o=r(50);t.exports=n},function(t,e,r){"use strict";var n=r(49),i=n();t.exports=i},function(t,e){"use strict";function r(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var u=s[t?a:++i];if(r(o[u],u,o)===!1)break}return e}}t.exports=r},function(t,e,r){"use strict";function n(t){return s(t)?i(t):o(t)}var i=r(51),o=r(72),s=r(76);t.exports=n},function(t,e,r){"use strict";function n(t,e){var r=s(t),n=!r&&o(t),c=!r&&!n&&a(t),h=!r&&!n&&!c&&f(t),p=r||n||c||h,d=p?i(t.length,String):[],_=d.length;for(var y in t)!e&&!l.call(t,y)||p&&("length"==y||c&&("offset"==y||"parent"==y)||h&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||u(y,_))||d.push(y);return d}var i=r(52),o=r(53),s=r(62),a=r(63),u=r(66),f=r(67),c=Object.prototype,l=c.hasOwnProperty;t.exports=n},function(t,e){"use strict";function r(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}t.exports=r},function(t,e,r){"use strict";var n=r(54),i=r(61),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(t){return i(t)&&s.call(t,"callee")&&!a.call(t,"callee")};t.exports=u},function(t,e,r){"use strict";function n(t){return o(t)&&i(t)==s}var i=r(55),o=r(61),s="[object Arguments]";t.exports=n},function(t,e,r){"use strict";function n(t){return null==t?void 0===t?u:a:f&&f in Object(t)?o(t):s(t)}var i=r(56),o=r(59),s=r(60),a="[object Null]",u="[object Undefined]",f=i?i.toStringTag:void 0;t.exports=n},function(t,e,r){"use strict";var n=r(57),i=n.Symbol;t.exports=i},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(58),o="object"==("undefined"==typeof self?"undefined":n(self))&&self&&self.Object===Object&&self,s=i||o||Function("return this")();t.exports=s},function(t,e){(function(e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n="object"==("undefined"==typeof e?"undefined":r(e))&&e&&e.Object===Object&&e;t.exports=n}).call(e,function(){return this}())},function(t,e,r){"use strict";function n(t){var e=s.call(t,u),r=t[u];try{t[u]=void 0;var n=!0}catch(t){}var i=a.call(t);return n&&(e?t[u]=r:delete t[u]),i}var i=r(56),o=Object.prototype,s=o.hasOwnProperty,a=o.toString,u=i?i.toStringTag:void 0;t.exports=n},function(t,e){"use strict";function r(t){return i.call(t)}var n=Object.prototype,i=n.toString;t.exports=r},function(t,e){"use strict";function r(t){return null!=t&&"object"==("undefined"==typeof t?"undefined":n(t))}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,e){"use strict";var r=Array.isArray;t.exports=r},function(t,e,r){(function(t){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(57),o=r(65),s="object"==n(e)&&e&&!e.nodeType&&e,a=s&&"object"==n(t)&&t&&!t.nodeType&&t,u=a&&a.exports===s,f=u?i.Buffer:void 0,c=f?f.isBuffer:void 0,l=c||o;t.exports=l}).call(e,r(64)(t))},function(t,e){"use strict";t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){"use strict";function r(){return!1}t.exports=r},function(t,e){"use strict";function r(t,e){return e=null==e?n:e,!!e&&("number"==typeof t||i.test(t))&&t>-1&&t%1==0&&t<e}var n=9007199254740991,i=/^(?:0|[1-9]\d*)$/;t.exports=r},function(t,e,r){"use strict";var n=r(68),i=r(70),o=r(71),s=o&&o.isTypedArray,a=s?i(s):n;t.exports=a},function(t,e,r){"use strict";function n(t){return s(t)&&o(t.length)&&!!O[i(t)]}var i=r(55),o=r(69),s=r(61),a="[object Arguments]",u="[object Array]",f="[object Boolean]",c="[object Date]",l="[object Error]",h="[object Function]",p="[object Map]",d="[object Number]",_="[object Object]",y="[object RegExp]",v="[object Set]",g="[object String]",m="[object WeakMap]",b="[object ArrayBuffer]",w="[object DataView]",E="[object Float32Array]",k="[object Float64Array]",S="[object Int8Array]",B="[object Int16Array]",T="[object Int32Array]",x="[object Uint8Array]",A="[object Uint8ClampedArray]",I="[object Uint16Array]",C="[object Uint32Array]",O={};O[E]=O[k]=O[S]=O[B]=O[T]=O[x]=O[A]=O[I]=O[C]=!0,O[a]=O[u]=O[b]=O[f]=O[w]=O[c]=O[l]=O[h]=O[p]=O[d]=O[_]=O[y]=O[v]=O[g]=O[m]=!1,t.exports=n},function(t,e){"use strict";function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=n}var n=9007199254740991;t.exports=r},function(t,e){"use strict";function r(t){return function(e){return t(e)}}t.exports=r},function(t,e,r){(function(t){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=r(58),o="object"==n(e)&&e&&!e.nodeType&&e,s=o&&"object"==n(t)&&t&&!t.nodeType&&t,a=s&&s.exports===o,u=a&&i.process,f=function(){try{return u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=f}).call(e,r(64)(t))},function(t,e,r){"use strict";function n(t){if(!i(t))return o(t);var e=[];for(var r in Object(t))a.call(t,r)&&"constructor"!=r&&e.push(r);return e}var i=r(73),o=r(74),s=Object.prototype,a=s.hasOwnProperty;t.exports=n},function(t,e){"use strict";function r(t){var e=t&&t.constructor,r="function"==typeof e&&e.prototype||n;return t===r}var n=Object.prototype;t.exports=r},function(t,e,r){"use strict";var n=r(75),i=n(Object.keys,Object);t.exports=i},function(t,e){"use strict";function r(t,e){return function(r){return t(e(r))}}t.exports=r},function(t,e,r){"use strict";function n(t){return null!=t&&o(t.length)&&!i(t)}var i=r(77),o=r(69);t.exports=n},function(t,e,r){"use strict";function n(t){if(!o(t))return!1;var e=i(t);return e==a||e==u||e==s||e==f}var i=r(55),o=r(78),s="[object AsyncFunction]",a="[object Function]",u="[object GeneratorFunction]",f="[object Proxy]";t.exports=n},function(t,e){"use strict";function r(t){var e="undefined"==typeof t?"undefined":n(t);return null!=t&&("object"==e||"function"==e)}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,e,r){"use strict";function n(t,e){return function(r,n){if(null==r)return r;if(!i(r))return t(r,n);for(var o=r.length,s=e?o:-1,a=Object(r);(e?s--:++s<o)&&n(a[s],s,a)!==!1;);return r}}var i=r(76);t.exports=n},function(t,e,r){"use strict";function n(t){return"function"==typeof t?t:i}var i=r(81);t.exports=n},function(t,e){"use strict";function r(t){return t}t.exports=r},function(t,e){t.exports={transport:"http",websocket:"wss://api.hive.blog:8090",uri:"https://api.hive.blog",url:"https://api.hive.blog",dev_uri:"",stage_uri:"",address_prefix:"STM",chain_id:"beeab0de00000000000000000000000000000000000000000000000000000000",alternative_api_endpoints:["https://api.hive.blog","https://anyx.io"],failover_threshold:3}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=[{api:"database_api",method:"set_subscribe_callback",params:["callback","clearFilter"]},{api:"database_api",method:"set_pending_transaction_callback",params:["cb"]},{api:"database_api",method:"set_block_applied_callback",params:["cb"]},{api:"database_api",method:"cancel_all_subscriptions"},{api:"database_api",method:"get_trending_tags",params:["afterTag","limit"]},{api:"database_api",method:"get_tags_used_by_author",params:["author"]},{api:"database_api",method:"get_post_discussions_by_payout",params:["query"]},{api:"database_api",method:"get_comment_discussions_by_payout",params:["query"]},{api:"database_api",method:"get_discussions_by_trending",params:["query"]},{api:"database_api",method:"get_discussions_by_trending30",params:["query"]},{api:"database_api",method:"get_discussions_by_created",params:["query"]},{api:"database_api",method:"get_discussions_by_active",params:["query"]},{api:"database_api",method:"get_discussions_by_cashout",params:["query"]},{api:"database_api",method:"get_discussions_by_payout",params:["query"]},{api:"database_api",method:"get_discussions_by_votes",params:["query"]},{api:"database_api",method:"get_discussions_by_children",params:["query"]},{api:"database_api",method:"get_discussions_by_hot",params:["query"]},{api:"database_api",method:"get_discussions_by_feed",params:["query"]},{api:"database_api",method:"get_discussions_by_blog",params:["query"]},{api:"database_api",method:"get_discussions_by_comments",params:["query"]},{api:"database_api",method:"get_discussions_by_promoted",params:["query"]},{api:"database_api",method:"get_block_header",params:["blockNum"]},{api:"database_api",method:"get_block",params:["blockNum"]},{api:"database_api",method:"get_ops_in_block",params:["blockNum","onlyVirtual"]},{api:"database_api",method:"get_state",params:["path"]},{api:"database_api",method:"get_trending_categories",params:["after","limit"]},{api:"database_api",method:"get_best_categories",params:["after","limit"]},{api:"database_api",method:"get_active_categories",params:["after","limit"]},{api:"database_api",method:"get_recent_categories",params:["after","limit"]},{api:"database_api",method:"get_config"},{api:"database_api",method:"get_dynamic_global_properties"},{api:"database_api",method:"get_chain_properties"},{api:"database_api",method:"get_feed_history"},{api:"database_api",method:"get_current_median_history_price"},{api:"database_api",method:"get_witness_schedule"},{api:"database_api",method:"get_hardfork_version"},{api:"database_api",method:"get_next_scheduled_hardfork"},{api:"account_by_key_api",method:"get_key_references",params:["key"]},{api:"database_api",method:"get_accounts",params:["names"]},{api:"database_api",method:"get_account_references",params:["accountId"]},{api:"database_api",method:"lookup_account_names",params:["accountNames"]},{api:"database_api",method:"lookup_accounts",params:["lowerBoundName","limit"]},{api:"database_api",method:"get_account_count"},{api:"database_api",method:"get_conversion_requests",params:["accountName"]},{api:"database_api",method:"get_account_history",params:["account","from","limit","operation_filter_low","operation_filter_high"]},{api:"database_api",method:"get_owner_history",params:["account"]},{api:"database_api",method:"get_recovery_request",params:["account"]},{api:"database_api",method:"get_escrow",params:["from","escrowId"]},{api:"database_api",method:"get_withdraw_routes",params:["account","withdrawRouteType"]},{api:"database_api",method:"get_account_bandwidth",params:["account","bandwidthType"]},{api:"database_api",method:"get_savings_withdraw_from",params:["account"]},{api:"database_api",method:"get_savings_withdraw_to",params:["account"]},{api:"database_api",method:"get_order_book",params:["limit"]},{api:"database_api",method:"get_open_orders",params:["owner"]},{api:"database_api",method:"get_liquidity_queue",params:["startAccount","limit"]},{api:"database_api",method:"get_transaction_hex",params:["trx"]},{api:"database_api",method:"get_transaction",params:["trxId"]},{api:"database_api",method:"get_required_signatures",params:["trx","availableKeys"]},{api:"database_api",method:"get_potential_signatures",params:["trx"]},{api:"database_api",method:"verify_authority",params:["trx"]},{api:"database_api",method:"verify_account_authority",params:["nameOrId","signers"]},{api:"database_api",method:"get_active_votes",params:["author","permlink"]},{api:"database_api",method:"get_account_votes",params:["voter"]},{api:"database_api",method:"get_content",params:["author","permlink"]},{api:"database_api",method:"get_content_replies",params:["author","permlink"]},{api:"database_api",method:"get_discussions_by_author_before_date",params:["author","startPermlink","beforeDate","limit"]},{api:"database_api",method:"get_replies_by_last_update",params:["startAuthor","startPermlink","limit"]},{api:"database_api",method:"get_witnesses",params:["witnessIds"]},{api:"database_api",method:"get_witness_by_account",params:["accountName"]},{api:"database_api",method:"get_witnesses_by_vote",params:["from","limit"]},{api:"database_api",method:"lookup_witness_accounts",params:["lowerBoundName","limit"]},{api:"database_api",method:"get_witness_count"},{api:"database_api",method:"get_active_witnesses"},{api:"database_api",method:"get_miner_queue"},{api:"database_api",method:"get_reward_fund",params:["name"]},{api:"database_api",method:"get_vesting_delegations",params:["account","from","limit"]},{api:"login_api",method:"login",params:["username","password"]},{api:"login_api",method:"get_api_by_name",params:["database_api"]},{api:"login_api",method:"get_version"},{api:"follow_api",method:"get_followers",params:["following","startFollower","followType","limit"]},{api:"follow_api",method:"get_following",params:["follower","startFollowing","followType","limit"]},{api:"follow_api",method:"get_follow_count",params:["account"]},{api:"follow_api",method:"get_feed_entries",params:["account","entryId","limit"]},{api:"follow_api",method:"get_feed",params:["account","entryId","limit"]},{api:"follow_api",method:"get_blog_entries",params:["account","entryId","limit"]},{api:"follow_api",method:"get_blog",params:["account","entryId","limit"]},{api:"follow_api",method:"get_account_reputations",params:["lowerBoundName","limit"]},{api:"follow_api",method:"get_reblogged_by",params:["author","permlink"]},{api:"follow_api",method:"get_blog_authors",params:["blogAccount"]},{api:"network_broadcast_api",method:"broadcast_transaction",params:["trx"]},{api:"network_broadcast_api",method:"broadcast_transaction_with_callback",params:["confirmationCallback","trx"]},{api:"network_broadcast_api",method:"broadcast_transaction_synchronous",params:["trx"]},{api:"network_broadcast_api",method:"broadcast_block",params:["b"]},{api:"network_broadcast_api",method:"set_max_block_age",params:["maxBlockAge"]},{api:"market_history_api",method:"get_ticker",params:[]},{api:"market_history_api",method:"get_volume",params:[]},{api:"market_history_api",method:"get_order_book",method_name:"getMarketOrderBook",params:["limit"]},{api:"market_history_api",method:"get_trade_history",params:["start","end","limit"]},{api:"market_history_api",method:"get_recent_trades",params:["limit"]},{api:"market_history_api",method:"get_market_history",params:["bucket_seconds","start","end"]},{api:"market_history_api",method:"get_market_history_buckets",params:[]},{api:"database_api",method:"find_proposals",params:["id_set"]},{api:"database_api",method:"list_proposals",params:["start","limit","order_by","order_direction","status"]},{api:"database_api",method:"list_proposal_votes",params:["start","limit","order_by","order_direction","status"]},{api:"database_api",method:"get_nai_pool",params:[]}]},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=r(85),o=n(i),s=r(94),a=n(s);e.default={http:o.default,ws:a.default}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t,e){var r=e.method,n=e.id,i=e.params,o=e.fetchMethod,s=void 0===o?c.default:o,a={id:n,jsonrpc:"2.0",method:r,params:i};return s(t,{body:JSON.stringify(a),method:"post",mode:"cors",headers:{Accept:"application/json, text/plain, */*","Content-Type":"application/json"}}).then(function(t){if(!t.ok)throw new Error("HTTP "+t.status+": "+t.statusText);return t.json()}).then(function(t){if(t.id!==n)throw new Error("Invalid response id: "+t.id);if(t.error)throw new g(t.error);return t.result})}Object.defineProperty(e,"__esModule",{value:!0}),e.RPCError=void 0;var u=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}();e.jsonRpc=a;var f=r(86),c=n(f),l=r(87),h=n(l),p=r(90),d=n(p),_=r(93),y=n(_),v=(0,h.default)("steem:http"),g=e.RPCError=function(t){function e(t){i(this,e);var r=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t.message));return r.name="RPCError",r.code=t.code,r.data=t.data,r}return s(e,t),e}(Error),m=function(t){function e(){return i(this,e),o(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return s(e,t),u(e,[{key:"send",value:function(t,e,r){var n=this;this.options.useAppbaseApi&&(t="condenser_api"),v("Steem::send",t,e);var i=e.id||this.id++,o=[t,e.method,e.params],s=this.retriable(t,e),u=this.options.fetchMethod;s?s.attempt(function(t){a(n.options.uri,{method:"call",id:i,params:o,fetchMethod:u}).then(function(t){r(null,t)},function(t){s.retry(t)||r(s.mainError())})}):a(this.options.uri,{method:"call",id:i,params:o,fetchMethod:u}).then(function(t){r(null,t)},function(t){r(t)})}},{key:"retriable",value:function(t,e){return this.nonRetriableOperations.some(function(t){return t===e.method})?null:Object(this.options.retry)===this.options.retry?d.default.operation(this.options.retry):this.options.retry?d.default.operation():null}},{key:"nonRetriableOperations",get:function(){return this.options.nonRetriableOperations||["broadcast_transaction","broadcast_transaction_with_callback","broadcast_transaction_synchronous","broadcast_block","get_account_history"]}}]),e}(y.default);e.default=m},function(t,e){"use strict";var r={};!function(t){function e(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function r(t){return"string"!=typeof t&&(t=String(t)),t}function n(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return v.iterable&&(e[Symbol.iterator]=function(){return e}),e}function i(t){this.map={},t instanceof i?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function o(t){return t.bodyUsed?Promise.reject(new TypeError("Already read")):void(t.bodyUsed=!0)}function s(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function a(t){var e=new FileReader,r=s(e);return e.readAsArrayBuffer(t),r}function u(t){var e=new FileReader,r=s(e);return e.readAsText(t),r}function f(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}function c(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function l(){return this.bodyUsed=!1,this._initBody=function(t){if(this._bodyInit=t,t)if("string"==typeof t)this._bodyText=t;else if(v.blob&&Blob.prototype.isPrototypeOf(t))this._bodyBlob=t;else if(v.formData&&FormData.prototype.isPrototypeOf(t))this._bodyFormData=t;else if(v.searchParams&&URLSearchParams.prototype.isPrototypeOf(t))this._bodyText=t.toString();else if(v.arrayBuffer&&v.blob&&m(t))this._bodyArrayBuffer=c(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!v.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(t)&&!b(t))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=c(t)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):v.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},v.blob&&(this.blob=function(){var t=o(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?o(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(a)}),this.text=function(){var t=o(this);if(t)return t;if(this._bodyBlob)return u(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(f(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},v.formData&&(this.formData=function(){return this.text().then(d)}),this.json=function(){return this.text().then(JSON.parse)},this}function h(t){var e=t.toUpperCase();return w.indexOf(e)>-1?e:t}function p(t,e){e=e||{};var r=e.body;if(t instanceof p){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new i(t.headers)),this.method=t.method,this.mode=t.mode,r||null==t._bodyInit||(r=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"omit",!e.headers&&this.headers||(this.headers=new i(e.headers)),this.method=h(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function d(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(i))}}),e}function _(t){var e=new i;return t.split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();e.append(n,i)}}),e}function y(t,e){e||(e={}),this.type="default",this.status="status"in e?e.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new i(e.headers),this.url=e.url||"",this._initBody(t)}if(!t.fetch){var v={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob, +!0}catch(t){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(v.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],m=function(t){return t&&DataView.prototype.isPrototypeOf(t)},b=ArrayBuffer.isView||function(t){return t&&g.indexOf(Object.prototype.toString.call(t))>-1};i.prototype.append=function(t,n){t=e(t),n=r(n);var i=this.map[t];this.map[t]=i?i+","+n:n},i.prototype.delete=function(t){delete this.map[e(t)]},i.prototype.get=function(t){return t=e(t),this.has(t)?this.map[t]:null},i.prototype.has=function(t){return this.map.hasOwnProperty(e(t))},i.prototype.set=function(t,n){this.map[e(t)]=r(n)},i.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},i.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),n(t)},i.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),n(t)},i.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),n(t)},v.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var w=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];p.prototype.clone=function(){return new p(this,{body:this._bodyInit})},l.call(p.prototype),l.call(y.prototype),y.prototype.clone=function(){return new y(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},y.error=function(){var t=new y(null,{status:0,statusText:""});return t.type="error",t};var E=[301,302,303,307,308];y.redirect=function(t,e){if(E.indexOf(e)===-1)throw new RangeError("Invalid status code");return new y(null,{status:e,headers:{location:t}})},t.Headers=i,t.Request=p,t.Response=y,t.fetch=function(t,e){return new Promise(function(r,n){var i=new p(t,e),o=new XMLHttpRequest;o.onload=function(){var t={status:o.status,statusText:o.statusText,headers:_(o.getAllResponseHeaders()||"")};t.url="responseURL"in o?o.responseURL:t.headers.get("X-Request-URL");var e="response"in o?o.response:o.responseText;r(new y(e,t))},o.onerror=function(){n(new TypeError("Network request failed"))},o.ontimeout=function(){n(new TypeError("Network request failed"))},o.open(i.method,i.url,!0),"include"===i.credentials&&(o.withCredentials=!0),"responseType"in o&&v.blob&&(o.responseType="blob"),i.headers.forEach(function(t,e){o.setRequestHeader(e,t)}),o.send("undefined"==typeof i._bodyInit?null:i._bodyInit)})},t.fetch.polyfill=!0}}("undefined"!=typeof r?r:void 0);var n=r.fetch;n.fetch=n,n.Response=r.Response,n.Headers=r.Headers,n.Request=r.Request,t.exports=n},function(t,e,r){(function(n){"use strict";function i(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,o=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&(i++,"%c"===t&&(o=i))}),t.splice(o,0,n)}}function s(){return"object"===("undefined"==typeof console?"undefined":c(console))&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function a(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}}function u(){var t;try{t=e.storage.debug}catch(t){}return!t&&"undefined"!=typeof n&&"env"in n&&(t=n.env.DEBUG),t}function f(){try{return window.localStorage}catch(t){}}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e=t.exports=r(88),e.log=s,e.formatArgs=o,e.save=a,e.load=u,e.useColors=i,e.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:f(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(u())}).call(e,r(5))},function(t,e,r){"use strict";function n(t){var r,n=0;for(r in t)n=(n<<5)-n+t.charCodeAt(r),n|=0;return e.colors[Math.abs(n)%e.colors.length]}function i(t){function r(){if(r.enabled){var t=r,n=+new Date,i=n-(f||n);t.diff=i,t.prev=f,t.curr=n,f=n;for(var o=new Array(arguments.length),s=0;s<o.length;s++)o[s]=arguments[s];o[0]=e.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var a=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,function(r,n){if("%%"===r)return r;a++;var i=e.formatters[n];if("function"==typeof i){var s=o[a];r=i.call(t,s),o.splice(a,1),a--}return r}),e.formatArgs.call(t,o);var u=r.log||e.log||console.log.bind(console);u.apply(t,o)}}return r.namespace=t,r.enabled=e.enabled(t),r.useColors=e.useColors(),r.color=n(t),"function"==typeof e.init&&e.init(r),r}function o(t){e.save(t),e.names=[],e.skips=[];for(var r=("string"==typeof t?t:"").split(/[\s,]+/),n=r.length,i=0;i<n;i++)r[i]&&(t=r[i].replace(/\*/g,".*?"),"-"===t[0]?e.skips.push(new RegExp("^"+t.substr(1)+"$")):e.names.push(new RegExp("^"+t+"$")))}function s(){e.enable("")}function a(t){var r,n;for(r=0,n=e.skips.length;r<n;r++)if(e.skips[r].test(t))return!1;for(r=0,n=e.names.length;r<n;r++)if(e.names[r].test(t))return!0;return!1}function u(t){return t instanceof Error?t.stack||t.message:t}e=t.exports=i.debug=i.default=i,e.coerce=u,e.disable=s,e.enable=o,e.enabled=a,e.humanize=r(89),e.names=[],e.skips=[],e.formatters={};var f},function(t,e){"use strict";function r(t){if(t=String(t),!(t.length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*l;case"days":case"day":case"d":return r*c;case"hours":case"hour":case"hrs":case"hr":case"h":return r*f;case"minutes":case"minute":case"mins":case"min":case"m":return r*u;case"seconds":case"second":case"secs":case"sec":case"s":return r*a;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function n(t){return t>=c?Math.round(t/c)+"d":t>=f?Math.round(t/f)+"h":t>=u?Math.round(t/u)+"m":t>=a?Math.round(t/a)+"s":t+"ms"}function i(t){return o(t,c,"day")||o(t,f,"hour")||o(t,u,"minute")||o(t,a,"second")||t+" ms"}function o(t,e,r){if(!(t<e))return t<1.5*e?Math.floor(t/e)+" "+r:Math.ceil(t/e)+" "+r+"s"}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=1e3,u=60*a,f=60*u,c=24*f,l=365.25*c;t.exports=function(t,e){e=e||{};var o="undefined"==typeof t?"undefined":s(t);if("string"===o&&t.length>0)return r(t);if("number"===o&&isNaN(t)===!1)return e.long?i(t):n(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,r){"use strict";t.exports=r(91)},function(t,e,r){"use strict";var n=r(92);e.operation=function(t){var r=e.timeouts(t);return new n(r,{forever:t&&t.forever,unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})},e.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(t,e){return t-e}),n},e.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*e.minTimeout*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout)},e.wrap=function(t,r,n){if(r instanceof Array&&(n=r,r=null),!n){n=[];for(var i in t)"function"==typeof t[i]&&n.push(i)}for(var o=0;o<n.length;o++){var s=n[o],a=t[s];t[s]=function(n){var i=e.operation(r),o=Array.prototype.slice.call(arguments,1),s=o.pop();o.push(function(t){i.retry(t)||(t&&(arguments[0]=i.mainError()),s.apply(this,arguments))}),i.attempt(function(){n.apply(t,o)})}.bind(t,a),t[s].options=r}}},function(t,e){"use strict";function r(t,e){"boolean"==typeof e&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=r,r.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},r.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},r.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=(new Date).getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(void 0===r){if(!this._cachedTimeouts)return!1;this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),r=this._timeouts.shift()}var n=this,i=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r);return this._options.unref&&i.unref(),!0},r.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=(new Date).getTime(),this._fn(this._attempts)},r.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)},r.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)},r.prototype.start=r.prototype.try,r.prototype.errors=function(){return this._errors},r.prototype.attempts=function(){return this._attempts},r.prototype.mainError=function(){if(0===this._errors.length)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],o=i.message,s=(t[o]||0)+1;t[o]=s,s>=r&&(e=i,r=s)}return e}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),u=r(3),f=n(u),c=r(2),l=n(c),h=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var r=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return r.options=t,r.id=0,r}return s(e,t),a(e,[{key:"setOptions",value:function(t){Object.assign(this.options,t),this.stop()}},{key:"listenTo",value:function(t,e,r){return t.addEventListener?t.addEventListener(e,r):t.on(e,r),function(){t.removeEventListener?t.removeEventListener(e,r):t.removeListener(e,r)}}},{key:"send",value:function(){}},{key:"start",value:function(){}},{key:"stop",value:function(){}}]),e}(l.default);e.default=h,f.default.promisifyAll(h.prototype)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),u=r(3),f=n(u),c=r(95),l=n(c),h=r(87),p=n(h),d=r(93),_=n(d),y=void 0;if(l.default)y=r(96);else{if("undefined"==typeof window)throw new Error("Couldn't decide on a `WebSocket` class");y=window.WebSocket}var v=(0,p.default)("steem:ws"),g=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e);var r=o(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,Object.assign({id:0},t)));return r._requests=new Map,r.inFlight=0,r.isOpen=!1,r}return s(e,t),a(e,[{key:"start",value:function(){var t=this;return this.startPromise?this.startPromise:(this.startPromise=new f.default(function(e,r){t.ws=new y(t.options.websocket),t.ws.onerror=function(e){t.startPromise=null,r(e)},t.ws.onopen=function(){t.isOpen=!0,t.ws.onerror=t.onError.bind(t),t.ws.onmessage=t.onMessage.bind(t),t.ws.onclose=t.onClose.bind(t),e()}}),this.startPromise)}},{key:"stop",value:function(){v("Stopping..."),this.startPromise=null,this.isOpen=!1,this._requests.clear(),this.ws&&(this.ws.onerror=this.ws.onmessage=this.ws.onclose=null,this.ws.close(),this.ws=null)}},{key:"send",value:function(t,e,r){var n=this;return v("Steem::send",t,e),this.start().then(function(){var i={};new f.default(function(t,e){i.resolve=function(e){t(e),r(null,e)},i.reject=function(t){e(t),r(t)}}),n.options.useAppbaseApi&&(t="condenser_api");var o={deferral:i,startedAt:Date.now(),message:{id:e.id||n.id++,method:"call",jsonrpc:"2.0",params:[t,e.method,e.params]}};return n.inFlight++,n._requests.set(o.message.id,o),n.ws.send(JSON.stringify(o.message)),i})}},{key:"onError",value:function(t){var e=!0,r=!1,n=void 0;try{for(var i,o=this._requests[Symbol.iterator]();!(e=(i=o.next()).done);e=!0){var s=i.value;s.deferral.reject(t)}}catch(t){r=!0,n=t}finally{try{!e&&o.return&&o.return()}finally{if(r)throw n}}this.stop()}},{key:"onClose",value:function(){var t=new Error("Connection was closed"),e=!0,r=!1,n=void 0;try{for(var i,o=this._requests[Symbol.iterator]();!(e=(i=o.next()).done);e=!0){var s=i.value;s.deferral.reject(t)}}catch(t){r=!0,n=t}finally{try{!e&&o.return&&o.return()}finally{if(r)throw n}}this._requests.clear()}},{key:"onMessage",value:function(t){var e=JSON.parse(t.data);if(v("-- Steem.onMessage -->",e.id),!this._requests.has(e.id))throw new Error("Panic: no request in queue for message id "+e.id);var r=this._requests.get(e.id);this._requests.delete(e.id);var n=e.error;if(n){var i=new Error((n.message||"Failed to complete operation")+" (see err.payload for the full error payload)");i.payload=e,r.deferral.reject(i)}else this.emit("track-performance",r.message.method,Date.now()-r.startedAt),r.deferral.resolve(e.result)}}]),e}(_.default);e.default=g},function(t,e){(function(e){"use strict";t.exports=!1;try{t.exports="[object process]"===Object.prototype.toString.call(e.process)}catch(t){}}).call(e,function(){return this}())},function(t,e){},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t){return t.replace(b,function(t,e){return e.toUpperCase()})}function o(t){var e=void 0,r=void 0,n=void 0,i=void 0;if(i="Account name should ",!t)return i+"not be empty.";var o=t.length;if(o<3)return i+"be longer.";if(o>16)return i+"be shorter.";/\./.test(t)&&(i="Each account segment should ");var s=t.split(".");for(e=0,n=s.length;e<n;e++){if(r=s[e],!/^[a-z]/.test(r))return i+"start with a letter.";if(!/^[a-z0-9-]*$/.test(r))return i+"have only letters, digits, or dashes.";if(/--/.test(r))return i+"have only one dash in a row.";if(!/[a-z0-9]$/.test(r))return i+"end with a letter or digit.";if(!(r.length>=3))return i+"be longer"}return null}function s(t,e){var r=new d(d.DEFAULT_CAPACITY,d.LITTLE_ENDIAN);return t.appendByteBuffer(r,e),r.flip(),r.toString("hex")}function a(t,e){var r={extensions:[],owner:t,props:[]},n=!0,i=!1,o=void 0;try{for(var a,u=Object.keys(e)[Symbol.iterator]();!(n=(a=u.next()).done);n=!0){var f=a.value,c=void 0;switch(f){case"key":case"new_signing_key":c=g;break;case"account_subsidy_budget":case"account_subsidy_decay":case"maximum_block_size":c=y;break;case"hbd_interest_rate":c=_;break;case"url":c=v;break;case"hbd_exchange_rate":c=w;break;case"account_creation_fee":c=m;break;default:throw new Error("Unknown witness prop: "+f)}r.props.push([f,s(c,e[f])])}}catch(t){i=!0,o=t}finally{try{!n&&u.return&&u.return()}finally{if(i)throw o}}return r.props.sort(function(t,e){return t[0].localeCompare(e[0])}),["witness_set_properties",r]}function u(){console.log("Warning: call to autoDetectApiVersion() is deprecated and can safely be removed")}Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=i,e.validateAccountName=o,e.buildWitnessUpdateOp=a,e.autoDetectApiVersion=u;var f=r(98),c=n(f),l=r(199),h=n(l),p=r(42),d=(n(p),r(85),r(153)),_=c.default.uint16,y=c.default.uint32,v=c.default.string,g=c.default.public_key,m=c.default.asset,b=/_([a-z])/g,w=new h.default("price",{base:m,quote:m})},function(t,e,r){(function(e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function o(t){if(t>=1e8)throw new Error("Expected value less than 100000000, instead got "+t);var e=[0,30,10,70,50,90,80,60,40,20,70,0,90,20,10,50,40,80,60,30,40,20,0,60,80,70,10,30,50,90,10,70,50,0,90,80,30,40,20,60,60,10,20,30,0,40,50,90,70,80,30,60,70,40,20,0,90,50,80,10,50,80,60,90,70,20,0,10,30,40,80,90,40,50,30,60,20,0,10,70,90,40,30,80,60,10,70,20,0,50,20,50,80,10,40,30,60,70,90,0],r=t/10,n=t%10,i=r/10,o=r%10,s=i/10,a=i%10,u=s/10,f=s%10,c=u/10,l=u%10,h=c/10,p=c%10,d=h%10,_=h/10,y=e[_];return y=e[y+d],y=e[y+p],y=e[y+l],y=e[y+f],y=e[y+a],y=e[y+o],y=e[y+n],y/10}var s=function(){function t(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}return function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u=r(103),f=r(194),c=r(42),l=i(c),h=r(195),p=r(197),d=r(198),_=r(196),y={};t.exports=y;var v=e.env.npm_config__graphene_serializer_hex_dump;y.asset={fromByteBuffer:function(t){var e=t.readInt64(),r=t.readUint8(),i="",s="";if(r>=16){var a=t.copy(t.offset-1,t.offset+3),u=new n(a.toBinary(),"binary").readInt32();u/=32,s="@@"+u.toString().padStart(8,"0")+o(u).to_String(),r%=16,t.skip(3),i=(0,f.fromImpliedDecimal)(e,r)}else{var c=t.copy(t.offset,t.offset+7);s=new n(c.toBinary(),"binary").toString().replace(/\x00/g,""),t.skip(7),i=(0,f.fromImpliedDecimal)(e,r)}return i+" "+s},appendByteBuffer:function(t,e){var r="",n="",i=0,s=0;if(e.nai){n=e.nai,i=parseInt(n.slice(2));i=Math.floor(i/10);o(i);switch(e.nai){case"@@000000021":s=3,n="STM"==l.default.get("address_prefix")?"STEEM":"TESTS";break;case"@@000000013":s=3,n="STM"==l.default.get("address_prefix")?"SBD":"TBD";break;case"@@000000037":s=6,n="VESTS"}s=parseInt(e.precision),t.writeInt64(h.to_long(parseInt(e.amount)))}else{if(e=e.trim(),!/^[0-9]+\.?[0-9]* [A-Za-z0-9@]+$/.test(e))throw new Error("Expecting amount like '99.000 SYMBOL', instead got '"+e+"'");var a=e.split(" ");if(r=a[0],n=a[1],n="HIVE"==n?"STEEM":"HBD"==n?"SBD":n,n.startsWith("@@")){i=parseInt(n.slice(2));i=Math.floor(i/10);o(i)}else if(n.length>6)throw new Error("Symbols are not longer than 6 characters "+n+"-"+n.length);t.writeInt64(h.to_long(r.replace(".","")));var u=r.indexOf(".");s=u===-1?0:r.length-u-1}if(n.startsWith("@@"))i=(i<<5)+16+s,t.writeUint32(i);else{t.writeUint8(s),t.append(n.toUpperCase(),"binary");for(var f=0;f<7-n.length;f++)t.writeUint8(0)}},fromObject:function(t){return t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"0.000 HIVE":t}},y.asset_symbol={fromByteBuffer:function(t){var e=t.readUint8(),r="";if(e>=16){var i=t.copy(t.offset-1,t.offset+3),s=new n(i.toBinary(),"binary").readInt32();s/=32,r="@@"+s.toString().padStart(8,"0")+o(s).to_String(),e%=16,t.skip(3)}else{var a=t.copy(t.offset,t.offset+7),u=new n(a.toBinary(),"binary").toString().replace(/\x00/g,"");if("STEEM"==u||"TESTS"==u)r="@@000000021";else if("SBD"==u||"TBD"==u)r="@@000000013";else{if("VESTS"!=u)throw new Error("Expecting non-smt core asset symbol, instead got '"+u+"'");r="@@000000037"}t.skip(7)}return{nai:r,precision:e}},appendByteBuffer:function(t,e){var r=0;if(!e.nai.startsWith("@@"))throw new Error("Asset Symbols NAIs must be prefixed with '@@'. Was "+e.nai);r=parseInt(e.nai.slice(2));r=Math.floor(r/10);var n=(o(r),0),i="";switch(e.nai){case"@@000000021":n=3,i="STM"==l.default.get("address_prefix")?"STEEM":"TESTS";break;case"@@000000013":n=3,i="STM"==l.default.get("address_prefix")?"SBD":"TBD";break;case"@@000000037":n=6,i="VESTS"}if(n>0){t.writeUint8(n),t.append(i,"binary");for(var s=0;s<7-i.length;s++)t.writeUint8(0)}else r=(r<<5)+16+e.precision,t.writeUint32(r)},fromObject:function(t){return t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"STEEM":t}},y.uint8={fromByteBuffer:function(t){return t.readUint8()},appendByteBuffer:function(t,e){h.require_range(0,255,e,"uint8 "+e),t.writeUint8(e)},fromObject:function(t){return h.require_range(0,255,t,"uint8 "+t),t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?0:(h.require_range(0,255,t,"uint8 "+t),parseInt(t))}},y.uint16={fromByteBuffer:function(t){return t.readUint16()},appendByteBuffer:function(t,e){h.require_range(0,65535,e,"uint16 "+e),t.writeUint16(e)},fromObject:function(t){return h.require_range(0,65535,t,"uint16 "+t),t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?0:(h.require_range(0,65535,t,"uint16 "+t),parseInt(t))}},y.uint32={fromByteBuffer:function(t){return t.readUint32()},appendByteBuffer:function(t,e){h.require_range(0,4294967295,e,"uint32 "+e),t.writeUint32(e)},fromObject:function(t){return h.require_range(0,4294967295,t,"uint32 "+t),t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?0:(h.require_range(0,4294967295,t,"uint32 "+t),parseInt(t))}};var g=-1*Math.pow(2,31),m=Math.pow(2,31)-1;y.varint32={fromByteBuffer:function(t){return t.readVarint32()},appendByteBuffer:function(t,e){h.require_range(g,m,e,"uint32 "+e),t.writeVarint32(e)},fromObject:function(t){return h.require_range(g,m,t,"uint32 "+t),t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?0:(h.require_range(g,m,t,"uint32 "+t),parseInt(t))}},y.int16={fromByteBuffer:function(t){return t.readInt16()},appendByteBuffer:function(t,e){t.writeInt16(e)},fromObject:function(t){return t},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?0:parseInt(t)}},y.int64={fromByteBuffer:function(t){return t.readInt64()},appendByteBuffer:function(t,e){h.required(e),t.writeInt64(h.to_long(e))},fromObject:function(t){return h.required(t),h.to_long(t)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"0":(h.required(t),h.to_long(t).toString())}},y.uint64={fromByteBuffer:function(t){return t.readUint64()},appendByteBuffer:function(t,e){t.writeUint64(h.to_long(h.unsigned(e)))},fromObject:function(t){return h.to_long(h.unsigned(t))},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"0":h.to_long(t).toString()}},y.uint128={fromByteBuffer:function(t){return t.readBigInt64(),t.readBigInt64()},appendByteBuffer:function(t,e){t.writeUint64(h.to_long(h.unsigned(0))),t.writeUint64(h.to_long(h.unsigned(e)))},fromObject:function(t){return h.to_long(h.unsigned(t))},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"0":h.to_long(t).toString()}},y.string={fromByteBuffer:function(t){return new n(t.readVString(),"utf8")},appendByteBuffer:function(t,e){h.required(e),t.writeVString(e.toString())},fromObject:function(t){return h.required(t),new n(t,"utf8")},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"":t.toString("utf8")}},y.string_binary={fromByteBuffer:function(t){var e,r=t.readVarint32();return e=t.copy(t.offset,t.offset+r),t.skip(r),new n(e.toBinary(),"binary")},appendByteBuffer:function(t,e){t.writeVarint32(e.length),t.append(e.toString("binary"),"binary")},fromObject:function(t){return h.required(t),new n(t)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"":t.toString()}},y.bytes=function(t){return{fromByteBuffer:function(e){if(void 0===t){var r,i=e.readVarint32();return r=e.copy(e.offset,e.offset+i),e.skip(i),new n(r.toBinary(),"binary")}return r=e.copy(e.offset,e.offset+t),e.skip(t),new n(r.toBinary(),"binary")},appendByteBuffer:function(e,r){h.required(r),"string"==typeof r&&(r=new n(r,"hex")),void 0===t&&e.writeVarint32(r.length),e.append(r.toString("binary"),"binary")},fromObject:function(t){return h.required(t),n.isBuffer(t)?t:new n(t,"hex")},toObject:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.use_default&&void 0===e){var n=function(t){return new Array(t).join("00")};return n(t)}return h.required(e),e.toString("hex")}}},y.bool={fromByteBuffer:function(t){return 1===t.readUint8()},appendByteBuffer:function(t,e){t.writeUint8(JSON.parse(e)?1:0)},fromObject:function(t){return!!JSON.parse(t)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(!e.use_default||void 0!==t)&&!!JSON.parse(t)}},y.void={fromByteBuffer:function(t){throw new Error("(void) undefined type")},appendByteBuffer:function(t,e){throw new Error("(void) undefined type")},fromObject:function(t){throw new Error("(void) undefined type")},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.use_default||void 0!==t)throw new Error("(void) undefined type")}},y.array=function(t){return{fromByteBuffer:function(e){var r=e.readVarint32();v&&console.log("varint32 size = "+r.toString(16));for(var n=[],i=0;0<r?i<r:i>r;0<r?i++:i++)n.push(t.fromByteBuffer(e));return k(n,t)},appendByteBuffer:function(e,r){h.required(r),r=k(r,t),e.writeVarint32(r.length);for(var n,i=0;i<r.length;i++)n=r[i],t.appendByteBuffer(e,n)},fromObject:function(e){h.required(e),e=k(e,t);for(var r,n=[],i=0;i<e.length;i++)r=e[i],n.push(t.fromObject(r));return n},toObject:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.use_default&&void 0===e)return[t.toObject(e,r)];h.required(e),e=k(e,t);for(var n,i=[],o=0;o<e.length;o++)n=e[o],i.push(t.toObject(n,r));return i}}},y.time_point_sec={fromByteBuffer:function(t){return t.readUint32()},appendByteBuffer:function(t,e){"number"!=typeof e&&(e=y.time_point_sec.fromObject(e)),t.writeUint32(e)},fromObject:function(t){if(h.required(t),"number"==typeof t)return t;if(t.getTime)return Math.floor(t.getTime()/1e3);if("string"!=typeof t)throw new Error("Unknown date type: "+t);return"string"!=typeof t||/Z$/.test(t)||(t+="Z"),Math.floor(new Date(t).getTime()/1e3)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.use_default&&void 0===t)return new Date(0).toISOString().split(".")[0];if(h.required(t),"string"==typeof t)return t;if(t.getTime)return t.toISOString().split(".")[0];var r=parseInt(t);return h.require_range(0,4294967295,r,"uint32 "+t),new Date(1e3*r).toISOString().split(".")[0]}},y.set=function(t){return{validate:function(e){for(var r,n={},i=0;i<e.length;i++){r=e[i];var o;if(o="undefined"==typeof r?"undefined":a(r),["string","number"].indexOf(o)>=0){if(void 0!==n[r])throw new Error("duplicate (set)");n[r]=!0}}return k(e,t)},fromByteBuffer:function(e){var r=e.readVarint32();return v&&console.log("varint32 size = "+r.toString(16)),this.validate(function(){for(var n=[],i=0;0<r?i<r:i>r;0<r?i++:i++)n.push(t.fromByteBuffer(e));return n}())},appendByteBuffer:function(e,r){r||(r=[]),e.writeVarint32(r.length);for(var n,i=this.validate(r),o=0;o<i.length;o++)n=i[o],t.appendByteBuffer(e,n)},fromObject:function(e){return e||(e=[]),this.validate(function(){for(var r,n=[],i=0;i<e.length;i++)r=e[i],n.push(t.fromObject(r));return n}())},toObject:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return r.use_default&&void 0===e?[t.toObject(e,r)]:(e||(e=[]),this.validate(function(){for(var n,i=[],o=0;o<e.length;o++)n=e[o],i.push(t.toObject(n,r));return i}()))}}},y.fixed_array=function(t,e){return{fromByteBuffer:function(r){var n,i,o,s;for(s=[],n=i=0,o=t;i<o;n=i+=1)s.push(e.fromByteBuffer(r));return k(s,e)},appendByteBuffer:function(r,n){var i,o,s;for(0!==t&&(h.required(n),n=k(n,e)),i=o=0,s=t;o<s;i=o+=1)e.appendByteBuffer(r,n[i])},fromObject:function(r){var n,i,o,s;for(0!==t&&h.required(r),s=[],n=i=0,o=t;i<o;n=i+=1)s.push(e.fromObject(r[n]));return s},toObject:function(r,n){var i,o,s,a,u,f,c;if(null==n&&(n={}),n.use_default&&void 0===r){for(f=[],i=o=0,a=t;o<a;i=o+=1)f.push(e.toObject(void 0,n));return f}for(0!==t&&h.required(r),c=[],i=s=0,u=t;s<u;i=s+=1)c.push(e.toObject(r[i],n));return c}}};var b=function(t,e){return h.required(t,"reserved_spaces"),h.required(e,"object_type"),{fromByteBuffer:function(t){return t.readVarint32()},appendByteBuffer:function(r,n){h.required(n),void 0!==n.resolve&&(n=n.resolve),/^[0-9]+\.[0-9]+\.[0-9]+$/.test(n)&&(n=h.get_instance(t,e,n)),r.writeVarint32(h.to_number(n))},fromObject:function(r){return h.required(r),void 0!==r.resolve&&(r=r.resolve),h.is_digits(r)?h.to_number(r):h.get_instance(t,e,r)},toObject:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=_.object_type[e];return n.use_default&&void 0===r?t+"."+i+".0":(h.required(r),void 0!==r.resolve&&(r=r.resolve),/^[0-9]+\.[0-9]+\.[0-9]+$/.test(r)&&(r=h.get_instance(t,e,r)),t+"."+i+"."+r)}}};y.protocol_id_type=function(t){return h.required(t,"name"),b(_.reserved_spaces.protocol_ids,t)},y.object_id_type={fromByteBuffer:function(t){ +return p.fromByteBuffer(t)},appendByteBuffer:function(t,e){h.required(e),void 0!==e.resolve&&(e=e.resolve),e=p.fromString(e),e.appendByteBuffer(t)},fromObject:function(t){return h.required(t),void 0!==t.resolve&&(t=t.resolve),p.fromString(t)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"0.0.0":(h.required(t),void 0!==t.resolve&&(t=t.resolve),t=p.fromString(t),t.toString())}},y.vote_id={TYPE:255,ID:4294967040,fromByteBuffer:function(t){var e=t.readUint32();return{type:e&this.TYPE,id:e&this.ID}},appendByteBuffer:function(t,e){h.required(e),"string"===e&&(e=y.vote_id.fromObject(e));var r=e.id<<8|e.type;t.writeUint32(r)},fromObject:function(t){if(h.required(t,"(type vote_id)"),"object"===("undefined"==typeof t?"undefined":a(t)))return h.required(t.type,"type"),h.required(t.id,"id"),t;h.require_test(/^[0-9]+:[0-9]+$/,t,"vote_id format "+t);var e=t.split(":"),r=s(e,2),n=r[0],i=r[1];return h.require_range(0,255,n,"vote type "+t),h.require_range(0,16777215,i,"vote id "+t),{type:n,id:i}},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?"0:0":(h.required(t),"string"==typeof t&&(t=y.vote_id.fromObject(t)),t.type+":"+t.id)},compare:function(t,e){return"object"!==("undefined"==typeof t?"undefined":a(t))&&(t=y.vote_id.fromObject(t)),"object"!==("undefined"==typeof e?"undefined":a(e))&&(e=y.vote_id.fromObject(e)),parseInt(t.id)-parseInt(e.id)}},y.optional=function(t){return h.required(t,"st_operation"),{fromByteBuffer:function(e){if(1===e.readUint8())return t.fromByteBuffer(e)},appendByteBuffer:function(e,r){null!==r&&void 0!==r?(e.writeUint8(1),t.appendByteBuffer(e,r)):e.writeUint8(0)},fromObject:function(e){if(void 0!==e)return t.fromObject(e)},toObject:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(){return r.use_default||void 0!==e?t.toObject(e,r):void 0}();return r.annotate&&("object"===("undefined"==typeof n?"undefined":a(n))?n.__optional="parent is optional":n={__optional:n}),n}}},y.static_variant=function(t){return{nosort:!0,st_operations:t,opTypeId:function(t){var e=0,r=void 0;if("number"==typeof t)r=t;else{var n=!0,i=!1,o=void 0;try{for(var s,a=this.st_operations[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var u=s.value;if(u.operation_name===t){r=e;break}e++}}catch(t){i=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}}return r},fromByteBuffer:function(t){var e=t.readVarint32(),r=this.st_operations[e];return v&&console.error("static_variant id 0x"+e.toString(16)+" ("+e+")"),h.required(r,"operation "+e),[e,r.fromByteBuffer(t)]},appendByteBuffer:function(t,e){h.required(e);var r=this.opTypeId(e[0]),n=this.st_operations[r];h.required(n,"operation "+r),t.writeVarint32(r),n.appendByteBuffer(t,e[1])},fromObject:function(t){h.required(t);var e=this.opTypeId(t[0]),r=this.st_operations[e];return h.required(r,"operation "+e),[e,r.fromObject(t[1])]},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.use_default&&void 0===t)return[this.st_operations[0].operation_name,this.st_operations[0].toObject(void 0,e)];h.required(t);var r=this.opTypeId(t[0]),n=this.st_operations[r];return h.required(n,"operation "+r),[n.operation_name,n.toObject(t[1],e)]},compare:function(t,e){return w(this.opTypeId(t[0]),this.opTypeId(e[0]))}}},y.map=function(t,e){return{validate:function(e){if(!Array.isArray(e))throw new Error("expecting array");for(var r,n={},i=0;i<e.length;i++){r=e[i];var o;if(2!==r.length)throw new Error("expecting two elements");if(o=a(r[0]),["number","string"].indexOf(o)>=0){if(void 0!==n[r[0]])throw new Error("duplicate (map)");n[r[0]]=!0}}return k(e,t)},fromByteBuffer:function(r){for(var n=[],i=r.readVarint32(),o=0;0<i?o<i:o>i;0<i?o++:o++)n.push([t.fromByteBuffer(r),e.fromByteBuffer(r)]);return this.validate(n)},appendByteBuffer:function(r,n){this.validate(n),r.writeVarint32(n.length);for(var i,o=0;o<n.length;o++)i=n[o],t.appendByteBuffer(r,i[0]),e.appendByteBuffer(r,i[1])},fromObject:function(r){h.required(r);for(var n,i=[],o=0;o<r.length;o++)n=r[o],i.push([t.fromObject(n[0]),e.fromObject(n[1])]);return this.validate(i)},toObject:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.use_default&&void 0===r)return[[t.toObject(void 0,n),e.toObject(void 0,n)]];h.required(r),r=this.validate(r);for(var i,o=[],s=0;s<r.length;s++)i=r[s],o.push([t.toObject(i[0],n),e.toObject(i[1],n)]);return o}}},y.public_key={toPublic:function(t){return void 0!==t.resolve&&(t=t.resolve),null==t?t:t.Q?t:u.PublicKey.fromStringOrThrow(t)},fromByteBuffer:function(t){return d.public_key(t)},appendByteBuffer:function(t,e){h.required(e),d.public_key(t,y.public_key.toPublic(e))},fromObject:function(t){return h.required(t),t.Q?t:y.public_key.toPublic(t)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?u.ecc_config.get("address_prefix")+"859gxfnXyUriMgUeThh1fWv3oqcpLFyHa3TfFYC4PK2HqhToVM":(h.required(t),t.toString())},compare:function(t,e){return 1*w(t.toString(),e.toString())}},y.address={_to_address:function(t){return h.required(t),t.addy?t:u.Address.fromString(t)},fromByteBuffer:function(t){return new u.Address(d.ripemd160(t))},appendByteBuffer:function(t,e){d.ripemd160(t,y.address._to_address(e).toBuffer())},fromObject:function(t){return y.address._to_address(t)},toObject:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.use_default&&void 0===t?u.ecc_config.get("address_prefix")+"664KmHxSuQyDsfwo4WEJvWpzg1QKdg67S":y.address._to_address(t).toString()},compare:function(t,e){return-1*w(t.toString(),e.toString())}};var w=function(t,e){return t>e?1:t<e?-1:0},E=function(t){return Array.isArray(t)?t[0]:t},k=function(t,e){return e.nosort?t:e.compare?t.sort(function(t,r){return e.compare(E(t),E(r))}):t.sort(function(t,e){return"number"==typeof E(t)&&"number"==typeof E(e)?E(t)-E(e):n.isBuffer(E(t))&&n.isBuffer(E(e))?w(E(t).toString("hex"),E(e).toString("hex")):w(E(t).toString(),E(e).toString())})}}).call(e,r(5),r(99).Buffer)},function(t,e,r){(function(t){"use strict";function n(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}function i(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(t,e){if(i()<e)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=s.prototype):(null===t&&(t=new s(e)),t.length=e),t}function s(t,e,r){if(!(s.TYPED_ARRAY_SUPPORT||this instanceof s))return new s(t,e,r);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}return a(this,t,e,r)}function a(t,e,r,n){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?p(t,e,r,n):"string"==typeof e?l(t,e,r):d(t,e)}function u(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function f(t,e,r,n){return u(e),e<=0?o(t,e):void 0!==r?"string"==typeof n?o(t,e).fill(r,n):o(t,e).fill(r):o(t,e)}function c(t,e){if(u(e),t=o(t,e<0?0:0|_(e)),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function l(t,e,r){if("string"==typeof r&&""!==r||(r="utf8"),!s.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|v(e,r);t=o(t,n);var i=t.write(e,r);return i!==n&&(t=t.slice(0,i)),t}function h(t,e){var r=e.length<0?0:0|_(e.length);t=o(t,r);for(var n=0;n<r;n+=1)t[n]=255&e[n];return t}function p(t,e,r,n){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return e=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n),s.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=s.prototype):t=h(t,e),t}function d(t,e){if(s.isBuffer(e)){var r=0|_(e.length);return t=o(t,r),0===t.length?t:(e.copy(t,0,0,r),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||$(e.length)?o(t,0):h(t,e);if("Buffer"===e.type&&Q(e.data))return h(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function _(t){if(t>=i())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i().toString(16)+" bytes");return 0|t}function y(t){return+t!=t&&(t=0),s.alloc(+t)}function v(t,e){if(s.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Y(t).length;default:if(n)return K(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return O(this,e,r);case"latin1":case"binary":return j(this,e,r);case"base64":return A(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function m(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function b(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:w(t,e,r,n,i);if("number"==typeof e)return e&=255,s.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):w(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function w(t,e,r,n,i){function o(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}var s=1,a=t.length,u=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}var f;if(i){var c=-1;for(f=r;f<a;f++)if(o(t,f)===o(e,c===-1?0:f-c)){if(c===-1&&(c=f),f-c+1===u)return c*s}else c!==-1&&(f-=f-c),c=-1}else for(r+u>a&&(r=a-u),f=r;f>=0;f--){for(var l=!0,h=0;h<u;h++)if(o(t,f+h)!==o(e,h)){l=!1;break}if(l)return f}return-1}function E(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s<n;++s){var a=parseInt(e.substr(2*s,2),16);if(isNaN(a))return s;t[r+s]=a}return s}function k(t,e,r,n){return W(K(e,t.length-r),t,r,n)}function S(t,e,r,n){return W(X(e),t,r,n)}function B(t,e,r,n){return S(t,e,r,n)}function T(t,e,r,n){return W(Y(e),t,r,n)}function x(t,e,r,n){return W(G(e,t.length-r),t,r,n)}function A(t,e,r){return 0===e&&r===t.length?Z.fromByteArray(t):Z.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=r){var u,f,c,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=t[i+1],128===(192&u)&&(l=(31&o)<<6|63&u,l>127&&(s=l));break;case 3:u=t[i+1],f=t[i+2],128===(192&u)&&128===(192&f)&&(l=(15&o)<<12|(63&u)<<6|63&f,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=t[i+1],f=t[i+2],c=t[i+3],128===(192&u)&&128===(192&f)&&128===(192&c)&&(l=(15&o)<<18|(63&u)<<12|(63&f)<<6|63&c,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return C(n)}function C(t){var e=t.length;if(e<=tt)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=tt));return r}function O(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function j(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function R(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=e;o<r;++o)i+=H(t[o]);return i}function L(t,e,r){for(var n=t.slice(e,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function F(t,e,r){if(t%1!==0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function D(t,e,r,n,i,o){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function P(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i<o;++i)t[r+i]=(e&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function U(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i<o;++i)t[r+i]=e>>>8*(n?i:3-i)&255}function M(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(t,e,r,n,i){return i||M(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),J.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return i||M(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),J.write(t,e,r,n,52,8),r+8}function z(t){if(t=V(t).replace(et,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function V(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function H(t){return t<16?"0"+t.toString(16):t.toString(16)}function K(t,e){e=e||1/0;for(var r,n=t.length,i=null,o=[],s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function X(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}function G(t,e){for(var r,n,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}function Y(t){return Z.toByteArray(z(t))}function W(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function $(t){return t!==t}var Z=r(100),J=r(101),Q=r(102);e.Buffer=s,e.SlowBuffer=y,e.INSPECT_MAX_BYTES=50,s.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:n(),e.kMaxLength=i(),s.poolSize=8192,s._augment=function(t){return t.__proto__=s.prototype,t},s.from=function(t,e,r){return a(null,t,e,r)},s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0})),s.alloc=function(t,e,r){return f(null,t,e,r)},s.allocUnsafe=function(t){return c(null,t)},s.allocUnsafeSlow=function(t){return c(null,t)},s.isBuffer=function(t){return!(null==t||!t._isBuffer)},s.compare=function(t,e){if(!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},s.concat=function(t,e){if(!Q(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var o=t[r];if(!s.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,i),i+=o.length}return n},s.byteLength=v,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)m(this,e,e+1);return this},s.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},s.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},s.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?I(this,0,t):g.apply(this,arguments)},s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t="",r=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},s.prototype.compare=function(t,e,r,n,i){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var o=i-n,a=r-e,u=Math.min(o,a),f=this.slice(n,i),c=t.slice(e,r),l=0;l<u;++l)if(f[l]!==c[l]){o=f[l],a=c[l];break}return o<a?-1:a<o?1:0},s.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1},s.prototype.indexOf=function(t,e,r){return b(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return b(this,t,e,r,!1)},s.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return E(this,t,e,r);case"utf8":case"utf-8":return k(this,t,e,r);case"ascii":return S(this,t,e,r);case"latin1":case"binary":return B(this,t,e,r);case"base64":return T(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var tt=4096;s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e<t&&(e=t);var n;if(s.TYPED_ARRAY_SUPPORT)n=this.subarray(t,e),n.__proto__=s.prototype;else{var i=e-t;n=new s(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+t]}return n},s.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||F(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n},s.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return e||F(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return e||F(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return e||F(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||F(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||F(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},s.prototype.readInt8=function(t,e){return e||F(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},s.prototype.readInt16LE=function(t,e){e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return e||F(t,4,this.length),J.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return e||F(t,4,this.length),J.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return e||F(t,8,this.length),J.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return e||F(t,8,this.length),J.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;D(this,t,e,r,i,0)}var o=1,s=0;for(this[e]=255&t;++s<r&&(o*=256);)this[e+s]=t/o&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e|=0,r|=0,!n){var i=Math.pow(2,8*r)-1;D(this,t,e,r,i,0)}var o=r-1,s=1;for(this[e+o]=255&t;--o>=0&&(s*=256);)this[e+o]=t/s&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,255,0),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):U(this,t,e,!0),e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):U(this,t,e,!1),e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);D(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,1,127,-128),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):P(this,t,e,!0),e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):P(this,t,e,!1),e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):U(this,t,e,!0),e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||D(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):U(this,t,e,!1),e+4},s.prototype.writeFloatLE=function(t,e,r){return N(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return N(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,o=n-r;if(this===t&&r<e&&e<n)for(i=o-1;i>=0;--i)t[i+e]=this[i+r];else if(o<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},s.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0);var o;if("number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var a=s.isBuffer(t)?t:K(new s(t,n).toString()),u=a.length;for(o=0;o<r-e;++o)this[o+e]=a[o%u]}return this};var et=/[^+\/0-9A-Za-z-_]/g}).call(e,function(){return this}())},function(t,e){"use strict";function r(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function n(t){return 3*t.length/4-r(t)}function i(t){var e,n,i,o,s,a=t.length;o=r(t),s=new c(3*a/4-o),n=o>0?a-4:a;var u=0;for(e=0;e<n;e+=4)i=f[t.charCodeAt(e)]<<18|f[t.charCodeAt(e+1)]<<12|f[t.charCodeAt(e+2)]<<6|f[t.charCodeAt(e+3)],s[u++]=i>>16&255,s[u++]=i>>8&255,s[u++]=255&i;return 2===o?(i=f[t.charCodeAt(e)]<<2|f[t.charCodeAt(e+1)]>>4,s[u++]=255&i):1===o&&(i=f[t.charCodeAt(e)]<<10|f[t.charCodeAt(e+1)]<<4|f[t.charCodeAt(e+2)]>>2,s[u++]=i>>8&255,s[u++]=255&i),s}function o(t){return u[t>>18&63]+u[t>>12&63]+u[t>>6&63]+u[63&t]}function s(t,e,r){for(var n,i=[],s=e;s<r;s+=3)n=(t[s]<<16)+(t[s+1]<<8)+t[s+2],i.push(o(n));return i.join("")}function a(t){for(var e,r=t.length,n=r%3,i="",o=[],a=16383,f=0,c=r-n;f<c;f+=a)o.push(s(t,f,f+a>c?c:f+a));return 1===n?(e=t[r-1],i+=u[e>>2],i+=u[e<<4&63],i+="=="):2===n&&(e=(t[r-2]<<8)+t[r-1],i+=u[e>>10],i+=u[e>>4&63],i+=u[e<<2&63],i+="="),o.push(i),o.join("")}e.byteLength=n,e.toByteArray=i,e.fromByteArray=a;for(var u=[],f=[],c="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,p=l.length;h<p;++h)u[h]=l[h],f[l.charCodeAt(h)]=h;f["-".charCodeAt(0)]=62,f["_".charCodeAt(0)]=63},function(t,e){"use strict";e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<<a)-1,f=u>>1,c=-7,l=r?i-1:0,h=r?-1:1,p=t[e+l];for(l+=h,o=p&(1<<-c)-1,p>>=-c,c+=a;c>0;o=256*o+t[e+l],l+=h,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=n;c>0;s=256*s+t[e+l],l+=h,c-=8);if(0===o)o=1-f;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s+=Math.pow(2,n),o-=f}return(p?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,f=8*o-i-1,c=(1<<f)-1,l=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,_=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),e+=s+l>=1?h/u:h*Math.pow(2,1-l),e*u>=2&&(s++,u/=2),s+l>=c?(a=0,s=c):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+p]=255&a,p+=d,a/=256,i-=8);for(s=s<<i|a,f+=i;f>0;t[r+p]=255&s,p+=d,s/=256,f-=8);t[r+p-d]|=128*_}},function(t,e){"use strict";var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){"use strict";t.exports={Address:r(104),Aes:r(150),PrivateKey:r(187),PublicKey:r(177),Signature:r(188),brainKey:r(192),key_utils:r(193),hash:r(109),ecc_config:r(42)}},function(t,e,r){(function(e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=r(105),s=r(42),a=r(109),u=r(148),f=function(){function t(e){n(this,t),this.addy=e}return i(t,[{key:"toBuffer",value:function(){return this.addy}},{key:"toString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.get("address_prefix"),r=a.ripemd160(this.addy),n=e.concat([this.addy,r.slice(0,4)]);return t+u.encode(n)}}],[{key:"fromBuffer",value:function(e){var r=a.sha512(e),n=a.ripemd160(r);return new t(n)}},{key:"fromString",value:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.get("address_prefix"),i=r.slice(0,n.length);o.equal(n,i,"Expecting key to begin with "+n+", instead got "+i);var f=r.slice(n.length);f=new e(u.decode(f),"binary");var c=f.slice(-4);f=f.slice(0,-4);var l=a.ripemd160(f);return l=l.slice(0,4),o.deepEqual(c,l,"Checksum did not match"),new t(f)}},{key:"fromPublic",value:function(r){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:56,o=a.sha256(r.toBuffer(n)),s=a.ripemd160(o),u=new e(1);u.writeUInt8(255&i,0);var f=e.concat([u,s]),c=a.sha256(f);c=a.sha256(c);var l=e.concat([f,c.slice(0,4)]);return new t(a.ripemd160(l))}}]),t}();t.exports=f}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function i(t){return e.Buffer&&"function"==typeof e.Buffer.isBuffer?e.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}function o(t){return Object.prototype.toString.call(t)}function s(t){return!i(t)&&("function"==typeof e.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}function a(t){if(w.isFunction(t)){if(S)return t.name;var e=t.toString(),r=e.match(T);return r&&r[1]}}function u(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function f(t){if(S||!w.isFunction(t))return w.inspect(t);var e=a(t),r=e?": "+e:"";return"[Function"+r+"]"}function c(t){return u(f(t.actual),128)+" "+t.operator+" "+u(f(t.expected),128)}function l(t,e,r,n,i){throw new B.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function h(t,e){t||l(t,!0,e,"==",B.ok)}function p(t,e,r,a){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(w.isDate(t)&&w.isDate(e))return t.getTime()===e.getTime();if(w.isRegExp(t)&&w.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"===("undefined"==typeof t?"undefined":b(t))||null!==e&&"object"===("undefined"==typeof e?"undefined":b(e))){if(s(t)&&s(e)&&o(t)===o(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;a=a||{actual:[],expected:[]};var u=a.actual.indexOf(t);return u!==-1&&u===a.expected.indexOf(e)||(a.actual.push(t), +a.expected.push(e),_(t,e,r,a))}return r?t===e:t==e}function d(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e,r,n){if(null===t||void 0===t||null===e||void 0===e)return!1;if(w.isPrimitive(t)||w.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=d(t),o=d(e);if(i&&!o||!i&&o)return!1;if(i)return t=k.call(t),e=k.call(e),p(t,e,r);var s,a,u=x(t),f=x(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),a=u.length-1;a>=0;a--)if(u[a]!==f[a])return!1;for(a=u.length-1;a>=0;a--)if(s=u[a],!p(t[s],e[s],r,n))return!1;return!0}function y(t,e,r){p(t,e,!0)&&l(t,e,r,"notDeepStrictEqual",y)}function v(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&e.call({},t)===!0}function g(t){var e;try{t()}catch(t){e=t}return e}function m(t,e,r,n){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=g(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!i&&l(i,r,"Missing expected exception"+n);var o="string"==typeof n,s=!t&&w.isError(i),a=!t&&i&&!r;if((s&&o&&v(i,r)||a)&&l(i,r,"Got unwanted exception"+n),t&&i&&r&&!v(i,r)||!t&&i)throw i}var b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},w=r(106),E=Object.prototype.hasOwnProperty,k=Array.prototype.slice,S=function(){return"foo"===function(){}.name}(),B=t.exports=h,T=/\s*function\s+([^\(\s]*)\s*/;B.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=c(this),this.generatedMessage=!0);var e=t.stackStartFunction||l;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var r=new Error;if(r.stack){var n=r.stack,i=a(e),o=n.indexOf("\n"+i);if(o>=0){var s=n.indexOf("\n",o+1);n=n.substring(s+1)}this.stack=n}}},w.inherits(B.AssertionError,Error),B.fail=l,B.ok=h,B.equal=function(t,e,r){t!=e&&l(t,e,r,"==",B.equal)},B.notEqual=function(t,e,r){t==e&&l(t,e,r,"!=",B.notEqual)},B.deepEqual=function(t,e,r){p(t,e,!1)||l(t,e,r,"deepEqual",B.deepEqual)},B.deepStrictEqual=function(t,e,r){p(t,e,!0)||l(t,e,r,"deepStrictEqual",B.deepStrictEqual)},B.notDeepEqual=function(t,e,r){p(t,e,!1)&&l(t,e,r,"notDeepEqual",B.notDeepEqual)},B.notDeepStrictEqual=y,B.strictEqual=function(t,e,r){t!==e&&l(t,e,r,"===",B.strictEqual)},B.notStrictEqual=function(t,e,r){t===e&&l(t,e,r,"!==",B.notStrictEqual)},B.throws=function(t,e,r){m(!0,t,e,r)},B.doesNotThrow=function(t,e,r){m(!1,t,e,r)},B.ifError=function(t){if(t)throw t};var x=Object.keys||function(t){var e=[];for(var r in t)E.call(t,r)&&e.push(r);return e}}).call(e,function(){return this}())},function(t,e,r){(function(t,n){"use strict";function i(t,r){var n={seen:[],stylize:s};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),_(r)?n.showHidden=r:r&&e._extend(n,r),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=o),u(n,t,n.depth)}function o(t,e){var r=i.styles[e];return r?"["+i.colors[r][0]+"m"+t+"["+i.colors[r][1]+"m":t}function s(t,e){return t}function a(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}function u(t,r,n){if(t.customInspect&&r&&T(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return m(i)||(i=u(t,i,n)),i}var o=f(t,r);if(o)return o;var s=Object.keys(r),_=a(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(r)),B(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return c(r);if(0===s.length){if(T(r)){var y=r.name?": "+r.name:"";return t.stylize("[Function"+y+"]","special")}if(E(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(S(r))return t.stylize(Date.prototype.toString.call(r),"date");if(B(r))return c(r)}var v="",g=!1,b=["{","}"];if(d(r)&&(g=!0,b=["[","]"]),T(r)){var w=r.name?": "+r.name:"";v=" [Function"+w+"]"}if(E(r)&&(v=" "+RegExp.prototype.toString.call(r)),S(r)&&(v=" "+Date.prototype.toUTCString.call(r)),B(r)&&(v=" "+c(r)),0===s.length&&(!g||0==r.length))return b[0]+v+b[1];if(n<0)return E(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special");t.seen.push(r);var k;return k=g?l(t,r,n,_,s):s.map(function(e){return h(t,r,n,_,e,g)}),t.seen.pop(),p(k,v,b)}function f(t,e){if(w(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return g(e)?t.stylize(""+e,"number"):_(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}function c(t){return"["+Error.prototype.toString.call(t)+"]"}function l(t,e,r,n,i){for(var o=[],s=0,a=e.length;s<a;++s)O(e,String(s))?o.push(h(t,e,r,n,String(s),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(h(t,e,r,n,i,!0))}),o}function h(t,e,r,n,i,o){var s,a,f;if(f=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},f.get?a=f.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):f.set&&(a=t.stylize("[Setter]","special")),O(n,i)||(s="["+i+"]"),a||(t.seen.indexOf(f.value)<0?(a=y(r)?u(t,f.value,null):u(t,f.value,r-1),a.indexOf("\n")>-1&&(a=o?a.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+a.split("\n").map(function(t){return" "+t}).join("\n"))):a=t.stylize("[Circular]","special")),w(s)){if(o&&i.match(/^\d+$/))return a;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+a}function p(t,e,r){var n=0,i=t.reduce(function(t,e){return n++,e.indexOf("\n")>=0&&n++,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}function d(t){return Array.isArray(t)}function _(t){return"boolean"==typeof t}function y(t){return null===t}function v(t){return null==t}function g(t){return"number"==typeof t}function m(t){return"string"==typeof t}function b(t){return"symbol"===("undefined"==typeof t?"undefined":j(t))}function w(t){return void 0===t}function E(t){return k(t)&&"[object RegExp]"===A(t)}function k(t){return"object"===("undefined"==typeof t?"undefined":j(t))&&null!==t}function S(t){return k(t)&&"[object Date]"===A(t)}function B(t){return k(t)&&("[object Error]"===A(t)||t instanceof Error)}function T(t){return"function"==typeof t}function x(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===("undefined"==typeof t?"undefined":j(t))||"undefined"==typeof t}function A(t){return Object.prototype.toString.call(t)}function I(t){return t<10?"0"+t.toString(10):t.toString(10)}function C(){var t=new Date,e=[I(t.getHours()),I(t.getMinutes()),I(t.getSeconds())].join(":");return[t.getDate(),D[t.getMonth()],e].join(" ")}function O(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},R=/%[sdj%]/g;e.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(i(arguments[r]));return e.join(" ")}for(var r=1,n=arguments,o=n.length,s=String(t).replace(R,function(t){if("%%"===t)return"%";if(r>=o)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),a=n[r];r<o;a=n[++r])s+=y(a)||!k(a)?" "+a:" "+i(a);return s},e.deprecate=function(r,i){function o(){if(!s){if(n.throwDeprecation)throw new Error(i);n.traceDeprecation?console.trace(i):console.error(i),s=!0}return r.apply(this,arguments)}if(w(t.process))return function(){return e.deprecate(r,i).apply(this,arguments)};if(n.noDeprecation===!0)return r;var s=!1;return o};var L,F={};e.debuglog=function(t){if(w(L)&&(L=n.env.NODE_DEBUG||""),t=t.toUpperCase(),!F[t])if(new RegExp("\\b"+t+"\\b","i").test(L)){var r=n.pid;F[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else F[t]=function(){};return F[t]},e.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=_,e.isNull=y,e.isNullOrUndefined=v,e.isNumber=g,e.isString=m,e.isSymbol=b,e.isUndefined=w,e.isRegExp=E,e.isObject=k,e.isDate=S,e.isError=B,e.isFunction=T,e.isPrimitive=x,e.isBuffer=r(107);var D=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];e.log=function(){console.log("%s - %s",C(),e.format.apply(e,arguments))},e.inherits=r(108),e._extend=function(t,e){if(!e||!k(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(e,function(){return this}(),r(5))},function(t,e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=function(t){return t&&"object"===("undefined"==typeof t?"undefined":r(t))&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e){"use strict";"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){return(0,c.default)("sha1").update(t).digest(e)}function o(t,e){return(0,c.default)("sha256").update(t).digest(e)}function s(t,e){return(0,c.default)("sha512").update(t).digest(e)}function a(t,e){return(0,h.default)("sha256",e).update(t).digest()}function u(t){return(0,c.default)("rmd160").update(t).digest()}var f=r(110),c=n(f),l=r(146),h=n(l);t.exports={sha1:i,sha256:o,sha512:s,HmacSHA256:a,ripemd160:u}},function(t,e,r){(function(e){"use strict";function n(t){f.call(this,"digest"),this._hash=t,this.buffers=[]}function i(t){f.call(this,"digest"),this._hash=t}var o=r(111),s=r(112),a=r(114),u=r(137),f=r(145);o(n,f),n.prototype._update=function(t){this.buffers.push(t)},n.prototype._final=function(){var t=e.concat(this.buffers),r=this._hash(t);return this.buffers=null,r},o(i,f),i.prototype._update=function(t){this._hash.update(t)},i.prototype._final=function(){return this._hash.digest()},t.exports=function(t){return t=t.toLowerCase(),"md5"===t?new n(s):new i("rmd160"===t||"ripemd160"===t?new a:u(t))}}).call(e,r(99).Buffer)},108,function(t,e,r){"use strict";function n(t,e){t[e>>5]|=128<<e%32,t[(e+64>>>9<<4)+14]=e;for(var r=1732584193,n=-271733879,i=-1732584194,c=271733878,l=0;l<t.length;l+=16){var h=r,p=n,d=i,_=c;r=o(r,n,i,c,t[l+0],7,-680876936),c=o(c,r,n,i,t[l+1],12,-389564586),i=o(i,c,r,n,t[l+2],17,606105819),n=o(n,i,c,r,t[l+3],22,-1044525330),r=o(r,n,i,c,t[l+4],7,-176418897),c=o(c,r,n,i,t[l+5],12,1200080426),i=o(i,c,r,n,t[l+6],17,-1473231341),n=o(n,i,c,r,t[l+7],22,-45705983),r=o(r,n,i,c,t[l+8],7,1770035416),c=o(c,r,n,i,t[l+9],12,-1958414417),i=o(i,c,r,n,t[l+10],17,-42063),n=o(n,i,c,r,t[l+11],22,-1990404162),r=o(r,n,i,c,t[l+12],7,1804603682),c=o(c,r,n,i,t[l+13],12,-40341101),i=o(i,c,r,n,t[l+14],17,-1502002290),n=o(n,i,c,r,t[l+15],22,1236535329),r=s(r,n,i,c,t[l+1],5,-165796510),c=s(c,r,n,i,t[l+6],9,-1069501632),i=s(i,c,r,n,t[l+11],14,643717713),n=s(n,i,c,r,t[l+0],20,-373897302),r=s(r,n,i,c,t[l+5],5,-701558691),c=s(c,r,n,i,t[l+10],9,38016083),i=s(i,c,r,n,t[l+15],14,-660478335),n=s(n,i,c,r,t[l+4],20,-405537848),r=s(r,n,i,c,t[l+9],5,568446438),c=s(c,r,n,i,t[l+14],9,-1019803690),i=s(i,c,r,n,t[l+3],14,-187363961),n=s(n,i,c,r,t[l+8],20,1163531501),r=s(r,n,i,c,t[l+13],5,-1444681467),c=s(c,r,n,i,t[l+2],9,-51403784),i=s(i,c,r,n,t[l+7],14,1735328473),n=s(n,i,c,r,t[l+12],20,-1926607734),r=a(r,n,i,c,t[l+5],4,-378558),c=a(c,r,n,i,t[l+8],11,-2022574463),i=a(i,c,r,n,t[l+11],16,1839030562),n=a(n,i,c,r,t[l+14],23,-35309556),r=a(r,n,i,c,t[l+1],4,-1530992060),c=a(c,r,n,i,t[l+4],11,1272893353),i=a(i,c,r,n,t[l+7],16,-155497632),n=a(n,i,c,r,t[l+10],23,-1094730640),r=a(r,n,i,c,t[l+13],4,681279174),c=a(c,r,n,i,t[l+0],11,-358537222),i=a(i,c,r,n,t[l+3],16,-722521979),n=a(n,i,c,r,t[l+6],23,76029189),r=a(r,n,i,c,t[l+9],4,-640364487),c=a(c,r,n,i,t[l+12],11,-421815835),i=a(i,c,r,n,t[l+15],16,530742520),n=a(n,i,c,r,t[l+2],23,-995338651),r=u(r,n,i,c,t[l+0],6,-198630844),c=u(c,r,n,i,t[l+7],10,1126891415),i=u(i,c,r,n,t[l+14],15,-1416354905),n=u(n,i,c,r,t[l+5],21,-57434055),r=u(r,n,i,c,t[l+12],6,1700485571),c=u(c,r,n,i,t[l+3],10,-1894986606),i=u(i,c,r,n,t[l+10],15,-1051523),n=u(n,i,c,r,t[l+1],21,-2054922799),r=u(r,n,i,c,t[l+8],6,1873313359),c=u(c,r,n,i,t[l+15],10,-30611744),i=u(i,c,r,n,t[l+6],15,-1560198380),n=u(n,i,c,r,t[l+13],21,1309151649),r=u(r,n,i,c,t[l+4],6,-145523070),c=u(c,r,n,i,t[l+11],10,-1120210379),i=u(i,c,r,n,t[l+2],15,718787259),n=u(n,i,c,r,t[l+9],21,-343485551),r=f(r,h),n=f(n,p),i=f(i,d),c=f(c,_)}return[r,n,i,c]}function i(t,e,r,n,i,o){return f(c(f(f(e,t),f(n,o)),i),r)}function o(t,e,r,n,o,s,a){return i(e&r|~e&n,t,e,o,s,a)}function s(t,e,r,n,o,s,a){return i(e&n|r&~n,t,e,o,s,a)}function a(t,e,r,n,o,s,a){return i(e^r^n,t,e,o,s,a)}function u(t,e,r,n,o,s,a){return i(r^(e|~n),t,e,o,s,a)}function f(t,e){var r=(65535&t)+(65535&e),n=(t>>16)+(e>>16)+(r>>16);return n<<16|65535&r}function c(t,e){return t<<e|t>>>32-e}var l=r(113);t.exports=function(t){return l(t,n)}},function(t,e,r){(function(e){"use strict";function r(t){if(t.length%n!==0){var r=t.length+(n-t.length%n);t=e.concat([t,i],r)}for(var o=new Array(t.length>>>2),s=0,a=0;s<t.length;s+=n,a++)o[a]=t.readInt32LE(s);return o}var n=4,i=new e(n);i.fill(0);var o=8,s=16;t.exports=function(t,n){var i=n(r(t),t.length*o);t=new e(s);for(var a=0;a<i.length;a++)t.writeInt32LE(i[a],a<<2,!0);return t}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(){l.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function i(t,e){return t<<e|t>>>32-e}function o(t,e,r,n,o,s,a,u){return i(t+(e^r^n)+s+a|0,u)+o|0}function s(t,e,r,n,o,s,a,u){return i(t+(e&r|~e&n)+s+a|0,u)+o|0}function a(t,e,r,n,o,s,a,u){return i(t+((e|~r)^n)+s+a|0,u)+o|0}function u(t,e,r,n,o,s,a,u){return i(t+(e&n|r&~n)+s+a|0,u)+o|0}function f(t,e,r,n,o,s,a,u){return i(t+(e^(r|~n))+s+a|0,u)+o|0}var c=r(111),l=r(115);c(n,l),n.prototype._update=function(){for(var t=new Array(16),e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,c=this._c,l=this._d,h=this._e;r=o(r,n,c,l,h,t[0],0,11),c=i(c,10),h=o(h,r,n,c,l,t[1],0,14),n=i(n,10),l=o(l,h,r,n,c,t[2],0,15),r=i(r,10),c=o(c,l,h,r,n,t[3],0,12),h=i(h,10),n=o(n,c,l,h,r,t[4],0,5),l=i(l,10),r=o(r,n,c,l,h,t[5],0,8),c=i(c,10),h=o(h,r,n,c,l,t[6],0,7),n=i(n,10),l=o(l,h,r,n,c,t[7],0,9),r=i(r,10),c=o(c,l,h,r,n,t[8],0,11),h=i(h,10),n=o(n,c,l,h,r,t[9],0,13),l=i(l,10),r=o(r,n,c,l,h,t[10],0,14),c=i(c,10),h=o(h,r,n,c,l,t[11],0,15),n=i(n,10),l=o(l,h,r,n,c,t[12],0,6),r=i(r,10),c=o(c,l,h,r,n,t[13],0,7),h=i(h,10),n=o(n,c,l,h,r,t[14],0,9),l=i(l,10),r=o(r,n,c,l,h,t[15],0,8),c=i(c,10),h=s(h,r,n,c,l,t[7],1518500249,7),n=i(n,10),l=s(l,h,r,n,c,t[4],1518500249,6),r=i(r,10),c=s(c,l,h,r,n,t[13],1518500249,8),h=i(h,10),n=s(n,c,l,h,r,t[1],1518500249,13),l=i(l,10),r=s(r,n,c,l,h,t[10],1518500249,11),c=i(c,10),h=s(h,r,n,c,l,t[6],1518500249,9),n=i(n,10),l=s(l,h,r,n,c,t[15],1518500249,7),r=i(r,10),c=s(c,l,h,r,n,t[3],1518500249,15),h=i(h,10),n=s(n,c,l,h,r,t[12],1518500249,7),l=i(l,10),r=s(r,n,c,l,h,t[0],1518500249,12),c=i(c,10),h=s(h,r,n,c,l,t[9],1518500249,15),n=i(n,10),l=s(l,h,r,n,c,t[5],1518500249,9),r=i(r,10),c=s(c,l,h,r,n,t[2],1518500249,11),h=i(h,10),n=s(n,c,l,h,r,t[14],1518500249,7),l=i(l,10),r=s(r,n,c,l,h,t[11],1518500249,13),c=i(c,10),h=s(h,r,n,c,l,t[8],1518500249,12),n=i(n,10),l=a(l,h,r,n,c,t[3],1859775393,11),r=i(r,10),c=a(c,l,h,r,n,t[10],1859775393,13),h=i(h,10),n=a(n,c,l,h,r,t[14],1859775393,6),l=i(l,10),r=a(r,n,c,l,h,t[4],1859775393,7),c=i(c,10),h=a(h,r,n,c,l,t[9],1859775393,14),n=i(n,10),l=a(l,h,r,n,c,t[15],1859775393,9),r=i(r,10),c=a(c,l,h,r,n,t[8],1859775393,13),h=i(h,10),n=a(n,c,l,h,r,t[1],1859775393,15),l=i(l,10),r=a(r,n,c,l,h,t[2],1859775393,14),c=i(c,10),h=a(h,r,n,c,l,t[7],1859775393,8),n=i(n,10),l=a(l,h,r,n,c,t[0],1859775393,13),r=i(r,10),c=a(c,l,h,r,n,t[6],1859775393,6),h=i(h,10),n=a(n,c,l,h,r,t[13],1859775393,5),l=i(l,10),r=a(r,n,c,l,h,t[11],1859775393,12),c=i(c,10),h=a(h,r,n,c,l,t[5],1859775393,7),n=i(n,10),l=a(l,h,r,n,c,t[12],1859775393,5),r=i(r,10),c=u(c,l,h,r,n,t[1],2400959708,11),h=i(h,10),n=u(n,c,l,h,r,t[9],2400959708,12),l=i(l,10),r=u(r,n,c,l,h,t[11],2400959708,14),c=i(c,10),h=u(h,r,n,c,l,t[10],2400959708,15),n=i(n,10),l=u(l,h,r,n,c,t[0],2400959708,14),r=i(r,10),c=u(c,l,h,r,n,t[8],2400959708,15),h=i(h,10),n=u(n,c,l,h,r,t[12],2400959708,9),l=i(l,10),r=u(r,n,c,l,h,t[4],2400959708,8),c=i(c,10),h=u(h,r,n,c,l,t[13],2400959708,9),n=i(n,10),l=u(l,h,r,n,c,t[3],2400959708,14),r=i(r,10),c=u(c,l,h,r,n,t[7],2400959708,5),h=i(h,10),n=u(n,c,l,h,r,t[15],2400959708,6),l=i(l,10),r=u(r,n,c,l,h,t[14],2400959708,8),c=i(c,10),h=u(h,r,n,c,l,t[5],2400959708,6),n=i(n,10),l=u(l,h,r,n,c,t[6],2400959708,5),r=i(r,10),c=u(c,l,h,r,n,t[2],2400959708,12),h=i(h,10),n=f(n,c,l,h,r,t[4],2840853838,9),l=i(l,10),r=f(r,n,c,l,h,t[0],2840853838,15),c=i(c,10),h=f(h,r,n,c,l,t[5],2840853838,5),n=i(n,10),l=f(l,h,r,n,c,t[9],2840853838,11),r=i(r,10),c=f(c,l,h,r,n,t[7],2840853838,6),h=i(h,10),n=f(n,c,l,h,r,t[12],2840853838,8),l=i(l,10),r=f(r,n,c,l,h,t[2],2840853838,13),c=i(c,10),h=f(h,r,n,c,l,t[10],2840853838,12),n=i(n,10),l=f(l,h,r,n,c,t[14],2840853838,5),r=i(r,10),c=f(c,l,h,r,n,t[1],2840853838,12),h=i(h,10),n=f(n,c,l,h,r,t[3],2840853838,13),l=i(l,10),r=f(r,n,c,l,h,t[8],2840853838,14),c=i(c,10),h=f(h,r,n,c,l,t[11],2840853838,11),n=i(n,10),l=f(l,h,r,n,c,t[6],2840853838,8),r=i(r,10),c=f(c,l,h,r,n,t[15],2840853838,5),h=i(h,10),n=f(n,c,l,h,r,t[13],2840853838,6),l=i(l,10);var p=this._a,d=this._b,_=this._c,y=this._d,v=this._e;p=f(p,d,_,y,v,t[5],1352829926,8),_=i(_,10),v=f(v,p,d,_,y,t[14],1352829926,9),d=i(d,10),y=f(y,v,p,d,_,t[7],1352829926,9),p=i(p,10),_=f(_,y,v,p,d,t[0],1352829926,11),v=i(v,10),d=f(d,_,y,v,p,t[9],1352829926,13),y=i(y,10),p=f(p,d,_,y,v,t[2],1352829926,15),_=i(_,10),v=f(v,p,d,_,y,t[11],1352829926,15),d=i(d,10),y=f(y,v,p,d,_,t[4],1352829926,5),p=i(p,10),_=f(_,y,v,p,d,t[13],1352829926,7),v=i(v,10),d=f(d,_,y,v,p,t[6],1352829926,7),y=i(y,10),p=f(p,d,_,y,v,t[15],1352829926,8),_=i(_,10),v=f(v,p,d,_,y,t[8],1352829926,11),d=i(d,10),y=f(y,v,p,d,_,t[1],1352829926,14),p=i(p,10),_=f(_,y,v,p,d,t[10],1352829926,14),v=i(v,10),d=f(d,_,y,v,p,t[3],1352829926,12),y=i(y,10),p=f(p,d,_,y,v,t[12],1352829926,6),_=i(_,10),v=u(v,p,d,_,y,t[6],1548603684,9),d=i(d,10),y=u(y,v,p,d,_,t[11],1548603684,13),p=i(p,10),_=u(_,y,v,p,d,t[3],1548603684,15),v=i(v,10),d=u(d,_,y,v,p,t[7],1548603684,7),y=i(y,10),p=u(p,d,_,y,v,t[0],1548603684,12),_=i(_,10),v=u(v,p,d,_,y,t[13],1548603684,8),d=i(d,10),y=u(y,v,p,d,_,t[5],1548603684,9),p=i(p,10),_=u(_,y,v,p,d,t[10],1548603684,11),v=i(v,10),d=u(d,_,y,v,p,t[14],1548603684,7),y=i(y,10),p=u(p,d,_,y,v,t[15],1548603684,7),_=i(_,10),v=u(v,p,d,_,y,t[8],1548603684,12),d=i(d,10),y=u(y,v,p,d,_,t[12],1548603684,7),p=i(p,10),_=u(_,y,v,p,d,t[4],1548603684,6),v=i(v,10),d=u(d,_,y,v,p,t[9],1548603684,15),y=i(y,10),p=u(p,d,_,y,v,t[1],1548603684,13),_=i(_,10),v=u(v,p,d,_,y,t[2],1548603684,11),d=i(d,10),y=a(y,v,p,d,_,t[15],1836072691,9),p=i(p,10),_=a(_,y,v,p,d,t[5],1836072691,7),v=i(v,10),d=a(d,_,y,v,p,t[1],1836072691,15),y=i(y,10),p=a(p,d,_,y,v,t[3],1836072691,11),_=i(_,10),v=a(v,p,d,_,y,t[7],1836072691,8),d=i(d,10),y=a(y,v,p,d,_,t[14],1836072691,6),p=i(p,10),_=a(_,y,v,p,d,t[6],1836072691,6),v=i(v,10),d=a(d,_,y,v,p,t[9],1836072691,14),y=i(y,10),p=a(p,d,_,y,v,t[11],1836072691,12),_=i(_,10),v=a(v,p,d,_,y,t[8],1836072691,13),d=i(d,10),y=a(y,v,p,d,_,t[12],1836072691,5),p=i(p,10),_=a(_,y,v,p,d,t[2],1836072691,14),v=i(v,10),d=a(d,_,y,v,p,t[10],1836072691,13),y=i(y,10),p=a(p,d,_,y,v,t[0],1836072691,13),_=i(_,10),v=a(v,p,d,_,y,t[4],1836072691,7),d=i(d,10),y=a(y,v,p,d,_,t[13],1836072691,5),p=i(p,10),_=s(_,y,v,p,d,t[8],2053994217,15),v=i(v,10),d=s(d,_,y,v,p,t[6],2053994217,5),y=i(y,10),p=s(p,d,_,y,v,t[4],2053994217,8),_=i(_,10),v=s(v,p,d,_,y,t[1],2053994217,11),d=i(d,10),y=s(y,v,p,d,_,t[3],2053994217,14),p=i(p,10),_=s(_,y,v,p,d,t[11],2053994217,14),v=i(v,10),d=s(d,_,y,v,p,t[15],2053994217,6),y=i(y,10),p=s(p,d,_,y,v,t[0],2053994217,14),_=i(_,10),v=s(v,p,d,_,y,t[5],2053994217,6),d=i(d,10),y=s(y,v,p,d,_,t[12],2053994217,9),p=i(p,10),_=s(_,y,v,p,d,t[2],2053994217,12),v=i(v,10),d=s(d,_,y,v,p,t[13],2053994217,9),y=i(y,10),p=s(p,d,_,y,v,t[9],2053994217,12),_=i(_,10),v=s(v,p,d,_,y,t[7],2053994217,5),d=i(d,10),y=s(y,v,p,d,_,t[10],2053994217,15),p=i(p,10),_=s(_,y,v,p,d,t[14],2053994217,8),v=i(v,10),d=o(d,_,y,v,p,t[12],0,8),y=i(y,10),p=o(p,d,_,y,v,t[15],0,5),_=i(_,10),v=o(v,p,d,_,y,t[10],0,12),d=i(d,10),y=o(y,v,p,d,_,t[4],0,9),p=i(p,10),_=o(_,y,v,p,d,t[1],0,12),v=i(v,10),d=o(d,_,y,v,p,t[5],0,5),y=i(y,10),p=o(p,d,_,y,v,t[8],0,14),_=i(_,10),v=o(v,p,d,_,y,t[7],0,6),d=i(d,10),y=o(y,v,p,d,_,t[6],0,8),p=i(p,10),_=o(_,y,v,p,d,t[2],0,13),v=i(v,10),d=o(d,_,y,v,p,t[13],0,6),y=i(y,10),p=o(p,d,_,y,v,t[14],0,5),_=i(_,10),v=o(v,p,d,_,y,t[0],0,15),d=i(d,10),y=o(y,v,p,d,_,t[3],0,13),p=i(p,10),_=o(_,y,v,p,d,t[9],0,11),v=i(v,10),d=o(d,_,y,v,p,t[11],0,11),y=i(y,10);var g=this._b+c+y|0;this._b=this._c+l+v|0,this._c=this._d+h+p|0,this._d=this._e+r+d|0,this._e=this._a+n+_|0,this._a=g},n.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=new e(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t},t.exports=n}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t){i.call(this),this._block=new e(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}var i=r(116).Transform,o=r(111);o(n,i),n.prototype._transform=function(t,r,n){var i=null;try{"buffer"!==r&&(t=new e(t,r)),this.update(t)}catch(t){i=t}n(i)},n.prototype._flush=function(t){var e=null;try{this.push(this._digest())}catch(t){e=t}t(e)},n.prototype.update=function(t,r){if(!e.isBuffer(t)&&"string"!=typeof t)throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");e.isBuffer(t)||(t=new e(t,r||"binary"));for(var n=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var o=this._blockOffset;o<this._blockSize;)n[o++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)n[this._blockOffset++]=t[i++];for(var s=0,a=8*t.length;a>0;++s)this._length[s]+=a,a=this._length[s]/4294967296|0,a>0&&(this._length[s]-=4294967296*a);return this},n.prototype._update=function(t){throw new Error("_update is not implemented")},n.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();return void 0!==t&&(e=e.toString(t)),e},n.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=n}).call(e,r(99).Buffer)},function(t,e,r){"use strict";function n(){i.call(this)}t.exports=n;var i=r(2).EventEmitter,o=r(111);o(n,i),n.Readable=r(117),n.Writable=r(133),n.Duplex=r(134),n.Transform=r(135),n.PassThrough=r(136),n.Stream=n,n.prototype.pipe=function(t,e){function r(e){t.writable&&!1===t.write(e)&&f.pause&&f.pause()}function n(){f.readable&&f.resume&&f.resume()}function o(){c||(c=!0,t.end())}function s(){c||(c=!0,"function"==typeof t.destroy&&t.destroy())}function a(t){if(u(),0===i.listenerCount(this,"error"))throw t}function u(){f.removeListener("data",r),t.removeListener("drain",n),f.removeListener("end",o),f.removeListener("close",s),f.removeListener("error",a),t.removeListener("error",a),f.removeListener("end",u),f.removeListener("close",u),t.removeListener("close",u)}var f=this;f.on("data",r),t.on("drain",n),t._isStdio||e&&e.end===!1||(f.on("end",o),f.on("close",s));var c=!1;return f.on("error",a),t.on("error",a),f.on("end",u),f.on("close",u),t.on("close",u),t.emit("pipe",f),t}},function(t,e,r){"use strict";e=t.exports=r(118),e.Stream=e,e.Readable=e,e.Writable=r(128),e.Duplex=r(127),e.Transform=r(131),e.PassThrough=r(132)},function(t,e,r){(function(e,n){"use strict";function i(t){return P.from(t)}function o(t){return P.isBuffer(t)||t instanceof U}function s(t,e,r){return"function"==typeof t.prependListener?t.prependListener(e,r):void(t._events&&t._events[e]?L(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r))}function a(t,e){R=R||r(127),t=t||{},this.objectMode=!!t.objectMode,e instanceof R&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var n=t.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new V,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(z||(z=r(130).StringDecoder),this.decoder=new z(t.encoding),this.encoding=t.encoding)}function u(t){return R=R||r(127),this instanceof u?(this._readableState=new a(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),void D.call(this)):new u(t)}function f(t,e,r,n,o){var s=t._readableState;if(null===e)s.reading=!1,_(t,s);else{var a;o||(a=l(s,e)),a?t.emit("error",a):s.objectMode||e&&e.length>0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===P.prototype||(e=i(e)),n?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):c(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?c(t,s,e,!1):g(t,s)):c(t,s,e,!1))):n||(s.reading=!1)}return h(s)}function c(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(t.emit("data",r),t.read(0)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&y(t)),g(t,e)}function l(t,e){var r;return o(e)||"string"==typeof e||void 0===e||t.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function h(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}function p(t){return t>=X?t=X:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function d(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=p(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function _(t,e){if(!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,y(t)}}function y(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(q("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?j(v,t):v(t))}function v(t){q("emit readable"),t.emit("readable"),S(t)}function g(t,e){e.readingMore||(e.readingMore=!0,j(m,t,e))}function m(t,e){for(var r=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(q("maybeReadMore read 0"),t.read(0),r!==e.length);)r=e.length;e.readingMore=!1}function b(t){return function(){var e=t._readableState;q("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&F(t,"data")&&(e.flowing=!0,S(t))}}function w(t){q("readable nexttick read 0"),t.read(0)}function E(t,e){e.resumeScheduled||(e.resumeScheduled=!0,j(k,t,e))}function k(t,e){e.reading||(q("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),S(t),e.flowing&&!e.reading&&t.read(0)}function S(t){var e=t._readableState;for(q("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){if(0===e.length)return null;var r;return e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):r=T(t,e.buffer,e.decoder),r}function T(t,e,r){var n;return t<e.head.data.length?(n=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):n=t===e.head.data.length?e.shift():r?x(t,e):A(t,e),n}function x(t,e){var r=e.head,n=1,i=r.data;for(t-=i.length;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(i+=s===o.length?o:o.slice(0,t),t-=s,0===t){s===o.length?(++n,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(s));break}++n}return e.length-=n,i}function A(t,e){var r=P.allocUnsafe(t),n=e.head,i=1;for(n.data.copy(r),t-=n.data.length;n=n.next;){var o=n.data,s=t>o.length?o.length:t;if(o.copy(r,r.length-t,0,s),t-=s,0===t){s===o.length?(++i,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++i}return e.length-=i,r}function I(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,j(C,e,t))}function C(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function O(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}var j=r(119);t.exports=u;var R,L=r(102);u.ReadableState=a;var F=(r(2).EventEmitter,function(t,e){return t.listeners(e).length}),D=r(120),P=r(121).Buffer,U=e.Uint8Array||function(){},M=r(123);M.inherits=r(111);var N=r(124),q=void 0;q=N&&N.debuglog?N.debuglog("stream"):function(){};var z,V=r(125),H=r(126);M.inherits(u,D);var K=["error","close","destroy","pause","resume"];Object.defineProperty(u.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),u.prototype.destroy=H.destroy,u.prototype._undestroy=H.undestroy,u.prototype._destroy=function(t,e){this.push(null),e(t)},u.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&(e=e||n.defaultEncoding,e!==n.encoding&&(t=P.from(t,e),e=""),r=!0),f(this,t,e,!1,r)},u.prototype.unshift=function(t){return f(this,t,null,!0,!1)},u.prototype.isPaused=function(){return this._readableState.flowing===!1},u.prototype.setEncoding=function(t){return z||(z=r(130).StringDecoder),this._readableState.decoder=new z(t),this._readableState.encoding=t,this};var X=8388608;u.prototype.read=function(t){q("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return q("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?I(this):y(this),null;if(t=d(t,e),0===t&&e.ended)return 0===e.length&&I(this),null;var n=e.needReadable;q("need readable",n),(0===e.length||e.length-t<e.highWaterMark)&&(n=!0,q("length less than watermark",n)),e.ended||e.reading?(n=!1,q("reading or ended",n)):n&&(q("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=d(r,e)));var i;return i=t>0?B(t,e):null,null===i?(e.needReadable=!0,t=0):e.length-=t, +0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&I(this)),null!==i&&this.emit("data",i),i},u.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},u.prototype.pipe=function(t,e){function r(t,e){q("onunpipe"),t===h&&e&&e.hasUnpiped===!1&&(e.hasUnpiped=!0,o())}function i(){q("onend"),t.end()}function o(){q("cleanup"),t.removeListener("close",f),t.removeListener("finish",c),t.removeListener("drain",y),t.removeListener("error",u),t.removeListener("unpipe",r),h.removeListener("end",i),h.removeListener("end",l),h.removeListener("data",a),v=!0,!p.awaitDrain||t._writableState&&!t._writableState.needDrain||y()}function a(e){q("ondata"),g=!1;var r=t.write(e);!1!==r||g||((1===p.pipesCount&&p.pipes===t||p.pipesCount>1&&O(p.pipes,t)!==-1)&&!v&&(q("false write response, pause",h._readableState.awaitDrain),h._readableState.awaitDrain++,g=!0),h.pause())}function u(e){q("onerror",e),l(),t.removeListener("error",u),0===F(t,"error")&&t.emit("error",e)}function f(){t.removeListener("finish",c),l()}function c(){q("onfinish"),t.removeListener("close",f),l()}function l(){q("unpipe"),h.unpipe(t)}var h=this,p=this._readableState;switch(p.pipesCount){case 0:p.pipes=t;break;case 1:p.pipes=[p.pipes,t];break;default:p.pipes.push(t)}p.pipesCount+=1,q("pipe count=%d opts=%j",p.pipesCount,e);var d=(!e||e.end!==!1)&&t!==n.stdout&&t!==n.stderr,_=d?i:l;p.endEmitted?j(_):h.once("end",_),t.on("unpipe",r);var y=b(h);t.on("drain",y);var v=!1,g=!1;return h.on("data",a),s(t,"error",u),t.once("close",f),t.once("finish",c),t.emit("pipe",h),p.flowing||(q("pipe resume"),h.resume()),t},u.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,r);return this}var s=O(e.pipes,t);return s===-1?this:(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r),this)},u.prototype.on=function(t,e){var r=D.prototype.on.call(this,t,e);if("data"===t)this._readableState.flowing!==!1&&this.resume();else if("readable"===t){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&y(this):j(w,this))}return r},u.prototype.addListener=u.prototype.on,u.prototype.resume=function(){var t=this._readableState;return t.flowing||(q("resume"),t.flowing=!0,E(this,t)),this},u.prototype.pause=function(){return q("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(q("pause"),this._readableState.flowing=!1,this.emit("pause")),this},u.prototype.wrap=function(t){var e=this._readableState,r=!1,n=this;t.on("end",function(){if(q("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&n.push(t)}n.push(null)}),t.on("data",function(i){if(q("wrapped data"),e.decoder&&(i=e.decoder.write(i)),(!e.objectMode||null!==i&&void 0!==i)&&(e.objectMode||i&&i.length)){var o=n.push(i);o||(r=!0,t.pause())}});for(var i in t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<K.length;o++)t.on(K[o],n.emit.bind(n,K[o]));return n._read=function(e){q("wrapped _read",e),r&&(r=!1,t.resume())},n},u._fromList=B}).call(e,function(){return this}(),r(5))},function(t,e,r){(function(e){"use strict";function r(t,r,n,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick(function(){t.call(null,r)});case 3:return e.nextTick(function(){t.call(null,r,n)});case 4:return e.nextTick(function(){t.call(null,r,n,i)});default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return e.nextTick(function(){t.apply(null,o)})}}!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports=r:t.exports=e.nextTick}).call(e,r(5))},function(t,e,r){"use strict";t.exports=r(2).EventEmitter},function(t,e,r){"use strict";function n(t,e){for(var r in t)e[r]=t[r]}function i(t,e,r){return s(t,e,r)}var o=r(122),s=o.Buffer;s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?t.exports=o:(n(o,e),e.Buffer=i),n(s,i),i.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return s(t,e,r)},i.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=s(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},i.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return s(t)},i.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return o.SlowBuffer(t)}},function(t,e,r){(function(t){"use strict";function n(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}function i(e){if(e>$)throw new RangeError("Invalid typed array length");var r=new Uint8Array(e);return r.__proto__=t.prototype,r}function t(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return u(t)}return o(t,e,r)}function o(t,e,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return K(t)?l(t,e,r):"string"==typeof t?f(t,e):h(t)}function s(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function a(t,e,r){return s(t),t<=0?i(t):void 0!==e?"string"==typeof r?i(t).fill(e,r):i(t).fill(e):i(t)}function u(t){return s(t),i(t<0?0:0|p(t))}function f(e,r){if("string"==typeof r&&""!==r||(r="utf8"),!t.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|_(e,r),o=i(n),s=o.write(e,r);return s!==n&&(o=o.slice(0,s)),o}function c(t){for(var e=t.length<0?0:0|p(t.length),r=i(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function l(e,r,n){if(r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");var i;return i=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n),i.__proto__=t.prototype,i}function h(e){if(t.isBuffer(e)){var r=0|p(e.length),n=i(r);return 0===n.length?n:(e.copy(n,0,0,r),n)}if(e){if(X(e)||"length"in e)return"number"!=typeof e.length||G(e.length)?i(0):c(e);if("Buffer"===e.type&&Array.isArray(e.data))return c(e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function p(t){if(t>=$)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+$.toString(16)+" bytes");return 0|t}function d(e){return+e!=e&&(e=0),t.alloc(+e)}function _(e,r){if(t.isBuffer(e))return e.length;if(X(e)||K(e))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return N(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(i)return N(e).length;r=(""+r).toLowerCase(),i=!0}}function y(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return O(this,e,r);case"utf8":case"utf-8":return x(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return C(this,e,r);case"base64":return T(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(e,r,n,i,o){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,G(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof r&&(r=t.from(r,i)),t.isBuffer(r))return 0===r.length?-1:m(e,r,n,i,o);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,r,n):Uint8Array.prototype.lastIndexOf.call(e,r,n):m(e,[r],n,i,o);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){function o(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}var s=1,a=t.length,u=e.length;if(void 0!==n&&(n=String(n).toLowerCase(),"ucs2"===n||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}var f;if(i){var c=-1;for(f=r;f<a;f++)if(o(t,f)===o(e,c===-1?0:f-c)){if(c===-1&&(c=f),f-c+1===u)return c*s}else c!==-1&&(f-=f-c),c=-1}else for(r+u>a&&(r=a-u),f=r;f>=0;f--){for(var l=!0,h=0;h<u;h++)if(o(t,f+h)!==o(e,h)){l=!1;break}if(l)return f}return-1}function b(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var o=e.length;if(o%2!==0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s<n;++s){var a=parseInt(e.substr(2*s,2),16);if(G(a))return s;t[r+s]=a}return s}function w(t,e,r,n){return H(N(e,t.length-r),t,r,n)}function E(t,e,r,n){return H(q(e),t,r,n)}function k(t,e,r,n){return E(t,e,r,n)}function S(t,e,r,n){return H(V(e),t,r,n)}function B(t,e,r,n){return H(z(e,t.length-r),t,r,n)}function T(t,e,r){return 0===e&&r===t.length?Y.fromByteArray(t):Y.fromByteArray(t.slice(e,r))}function x(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var o=t[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=r){var u,f,c,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=t[i+1],128===(192&u)&&(l=(31&o)<<6|63&u,l>127&&(s=l));break;case 3:u=t[i+1],f=t[i+2],128===(192&u)&&128===(192&f)&&(l=(15&o)<<12|(63&u)<<6|63&f,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=t[i+1],f=t[i+2],c=t[i+3],128===(192&u)&&128===(192&f)&&128===(192&c)&&(l=(15&o)<<18|(63&u)<<12|(63&f)<<6|63&c,l>65535&&l<1114112&&(s=l))}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return A(n)}function A(t){var e=t.length;if(e<=Z)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Z));return r}function I(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function C(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function O(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",o=e;o<r;++o)i+=M(t[o]);return i}function j(t,e,r){for(var n=t.slice(e,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function R(t,e,r){if(t%1!==0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function L(e,r,n,i,o,s){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>o||r<s)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function F(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function D(t,e,r,n,i){return e=+e,r>>>=0,i||F(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),W.write(t,e,r,n,23,4),r+4}function P(t,e,r,n,i){return e=+e,r>>>=0,i||F(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),W.write(t,e,r,n,52,8),r+8}function U(t){if(t=t.trim().replace(J,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function M(t){return t<16?"0"+t.toString(16):t.toString(16)}function N(t,e){e=e||1/0;for(var r,n=t.length,i=null,o=[],s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}function z(t,e){for(var r,n,i,o=[],s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}function V(t){return Y.toByteArray(U(t))}function H(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function K(t){return t instanceof ArrayBuffer||null!=t&&null!=t.constructor&&"ArrayBuffer"===t.constructor.name&&"number"==typeof t.byteLength}function X(t){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(t)}function G(t){return t!==t}var Y=r(100),W=r(101);e.Buffer=t,e.SlowBuffer=d,e.INSPECT_MAX_BYTES=50;var $=2147483647;e.kMaxLength=$,t.TYPED_ARRAY_SUPPORT=n(),t.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),"undefined"!=typeof Symbol&&Symbol.species&&t[Symbol.species]===t&&Object.defineProperty(t,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),t.poolSize=8192,t.from=function(t,e,r){return o(t,e,r)},t.prototype.__proto__=Uint8Array.prototype,t.__proto__=Uint8Array,t.alloc=function(t,e,r){return a(t,e,r)},t.allocUnsafe=function(t){return u(t)},t.allocUnsafeSlow=function(t){return u(t)},t.isBuffer=function(t){return null!=t&&t._isBuffer===!0},t.compare=function(e,r){if(!t.isBuffer(e)||!t.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(e===r)return 0;for(var n=e.length,i=r.length,o=0,s=Math.min(n,i);o<s;++o)if(e[o]!==r[o]){n=e[o],i=r[o];break}return n<i?-1:i<n?1:0},t.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},t.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return t.alloc(0);var n;if(void 0===r)for(r=0,n=0;n<e.length;++n)r+=e[n].length;var i=t.allocUnsafe(r),o=0;for(n=0;n<e.length;++n){var s=e[n];if(!t.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(i,o),o+=s.length}return i},t.byteLength=_,t.prototype._isBuffer=!0,t.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)v(this,e,e+1);return this},t.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)v(this,e,e+3),v(this,e+1,e+2);return this},t.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)v(this,e,e+7),v(this,e+1,e+6),v(this,e+2,e+5),v(this,e+3,e+4);return this},t.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?x(this,0,t):y.apply(this,arguments)},t.prototype.equals=function(e){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===t.compare(this,e)},t.prototype.inspect=function(){var t="",r=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),"<Buffer "+t+">"},t.prototype.compare=function(e,r,n,i,o){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===e)return 0;for(var s=o-i,a=n-r,u=Math.min(s,a),f=this.slice(i,o),c=e.slice(r,n),l=0;l<u;++l)if(f[l]!==c[l]){s=f[l],a=c[l];break}return s<a?-1:a<s?1:0},t.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1},t.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},t.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},t.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return b(this,t,e,r);case"utf8":case"utf-8":return w(this,t,e,r);case"ascii":return E(this,t,e,r);case"latin1":case"binary":return k(this,t,e,r);case"base64":return S(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Z=4096;t.prototype.slice=function(e,r){var n=this.length;e=~~e,r=void 0===r?n:~~r,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<e&&(r=e);var i=this.subarray(e,r);return i.__proto__=t.prototype,i},t.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return n},t.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},t.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},t.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},t.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},t.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},t.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},t.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);for(var n=this[t],i=1,o=0;++o<e&&(i*=256);)n+=this[t+o]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},t.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},t.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?(255-this[t]+1)*-1:this[t]},t.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},t.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},t.prototype.readFloatLE=function(t,e){return t>>>=0,e||R(t,4,this.length),W.read(this,t,!0,23,4)},t.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),W.read(this,t,!1,23,4)},t.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),W.read(this,t,!0,52,8)},t.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),W.read(this,t,!1,52,8)},t.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;L(this,t,e,r,i,0)}var o=1,s=0;for(this[e]=255&t;++s<r&&(o*=256);)this[e+s]=t/o&255;return e+r},t.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;L(this,t,e,r,i,0)}var o=r-1,s=1;for(this[e+o]=255&t;--o>=0&&(s*=256);)this[e+o]=t/s&255;return e+r},t.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,255,0),this[e]=255&t,e+1},t.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},t.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},t.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},t.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},t.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var o=0,s=1,a=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===a&&0!==this[e+o-1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},t.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);L(this,t,e,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[e+o+1]&&(a=1),this[e+o]=(t/s>>0)-a&255;return e+r},t.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},t.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},t.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},t.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},t.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},t.prototype.writeFloatLE=function(t,e,r){return D(this,t,e,!0,r)},t.prototype.writeFloatBE=function(t,e,r){return D(this,t,e,!1,r)},t.prototype.writeDoubleLE=function(t,e,r){return P(this,t,e,!0,r)},t.prototype.writeDoubleBE=function(t,e,r){return P(this,t,e,!1,r)},t.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i,o=n-r;if(this===t&&r<e&&e<n)for(i=o-1;i>=0;--i)t[i+e]=this[i+r];else if(o<1e3)for(i=0;i<o;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},t.prototype.fill=function(e,r,n,i){if("string"==typeof e){if("string"==typeof r?(i=r,r=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var s;if("number"==typeof e)for(s=r;s<n;++s)this[s]=e;else{var a=t.isBuffer(e)?e:new t(e,i),u=a.length;for(s=0;s<n-r;++s)this[s+r]=a[s%u]}return this};var J=/[^+/0-9A-Za-z-_]/g}).call(e,r(99).Buffer)},function(t,e,r){(function(t){"use strict";function r(t){return Array.isArray?Array.isArray(t):"[object Array]"===y(t)}function n(t){return"boolean"==typeof t}function i(t){return null===t}function o(t){return null==t}function s(t){return"number"==typeof t}function a(t){return"string"==typeof t}function u(t){return"symbol"===("undefined"==typeof t?"undefined":v(t))}function f(t){return void 0===t}function c(t){return"[object RegExp]"===y(t)}function l(t){return"object"===("undefined"==typeof t?"undefined":v(t))&&null!==t}function h(t){return"[object Date]"===y(t)}function p(t){return"[object Error]"===y(t)||t instanceof Error}function d(t){return"function"==typeof t}function _(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"===("undefined"==typeof t?"undefined":v(t))||"undefined"==typeof t}function y(t){return Object.prototype.toString.call(t)}var v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.isArray=r,e.isBoolean=n,e.isNull=i,e.isNullOrUndefined=o,e.isNumber=s,e.isString=a,e.isSymbol=u,e.isUndefined=f,e.isRegExp=c,e.isObject=l,e.isDate=h,e.isError=p,e.isFunction=d,e.isPrimitive=_,e.isBuffer=t.isBuffer}).call(e,r(99).Buffer)},96,function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e,r){t.copy(e,r)}var o=r(121).Buffer;t.exports=function(){function t(){n(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r},t.prototype.concat=function(t){if(0===this.length)return o.alloc(0);if(1===this.length)return this.head.data;for(var e=o.allocUnsafe(t>>>0),r=this.head,n=0;r;)i(r.data,e,n),n+=r.data.length,r=r.next;return e},t}()},function(t,e,r){"use strict";function n(t,e){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?void(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||s(o,this,t)):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),void this._destroy(t||null,function(t){!e&&t?(s(o,r,t),r._writableState&&(r._writableState.errorEmitted=!0)):e&&e(t)}))}function i(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(t,e){t.emit("error",e)}var s=r(119);t.exports={destroy:n,undestroy:i}},function(t,e,r){"use strict";function n(t){return this instanceof n?(f.call(this,t),c.call(this,t),t&&t.readable===!1&&(this.readable=!1),t&&t.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,t&&t.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",i)):new n(t)}function i(){this.allowHalfOpen||this._writableState.ended||s(o,this)}function o(t){t.end()}var s=r(119),a=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=n;var u=r(123);u.inherits=r(111);var f=r(118),c=r(128);u.inherits(n,f);for(var l=a(c.prototype),h=0;h<l.length;h++){var p=l[h];n.prototype[p]||(n.prototype[p]=c.prototype[p])}Object.defineProperty(n.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),n.prototype._destroy=function(t,e){this.push(null),this.end(),s(e,t)}},function(t,e,r){(function(e,n,i){"use strict";function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){x(e,t)}}function s(t){return L.from(t)}function a(t){return L.isBuffer(t)||t instanceof F}function u(){}function f(t,e){I=I||r(127),t=t||{},this.objectMode=!!t.objectMode,e instanceof I&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var n=t.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=t.decodeStrings===!1;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){g(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function c(t){return I=I||r(127),P.call(c,this)||this instanceof I?(this._writableState=new f(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),void R.call(this)):new c(t)}function l(t,e){var r=new Error("write after end");t.emit("error",r),A(e,r)}function h(t,e,r,n){var i=!0,o=!1;return null===r?o=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(t.emit("error",o),A(n,o),i=!1),i}function p(t,e,r){return t.objectMode||t.decodeStrings===!1||"string"!=typeof e||(e=L.from(e,r)),e}function d(t,e,r,n,i,o){if(!r){var s=p(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var u=e.length<e.highWaterMark;if(u||(e.needDrain=!0),e.writing||e.corked){var f=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},f?f.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else _(t,e,!1,a,n,i,o);return u}function _(t,e,r,n,i,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function y(t,e,r,n,i){--e.pendingcb,r?(A(i,n),A(B,t,e),t._writableState.errorEmitted=!0,t.emit("error",n)):(i(n),t._writableState.errorEmitted=!0,t.emit("error",n),B(t,e))}function v(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}function g(t,e){var r=t._writableState,n=r.sync,i=r.writecb;if(v(r),e)y(t,r,n,e,i);else{var o=E(r);o||r.corked||r.bufferProcessing||!r.bufferedRequest||w(t,r),n?C(m,t,r,o,i):m(t,r,o,i)}}function m(t,e,r,n){r||b(t,e),e.pendingcb--,n(),B(t,e)}function b(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}function w(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),s=e.corkedRequestsFree;s.entry=r;for(var a=0,u=!0;r;)i[a]=r,r.isBuf||(u=!1),r=r.next,a+=1;i.allBuffers=u,_(t,e,!0,e.length,i,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e)}else{for(;r;){var f=r.chunk,c=r.encoding,l=r.callback,h=e.objectMode?1:f.length;if(_(t,e,!1,h,f,c,l),r=r.next,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequestCount=0,e.bufferedRequest=r,e.bufferProcessing=!1}function E(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final(function(r){e.pendingcb--,r&&t.emit("error",r), +e.prefinished=!0,t.emit("prefinish"),B(t,e)})}function S(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,A(k,t,e)):(e.prefinished=!0,t.emit("prefinish")))}function B(t,e){var r=E(e);return r&&(S(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),r}function T(t,e,r){e.ending=!0,B(t,e),r&&(e.finished?A(r):t.once("finish",r)),e.ended=!0,t.writable=!1}function x(t,e,r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}var A=r(119);t.exports=c;var I,C=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?n:A;c.WritableState=f;var O=r(123);O.inherits=r(111);var j={deprecate:r(129)},R=r(120),L=r(121).Buffer,F=i.Uint8Array||function(){},D=r(126);O.inherits(c,R),f.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(f.prototype,"buffer",{get:j.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}();var P;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(P=Function.prototype[Symbol.hasInstance],Object.defineProperty(c,Symbol.hasInstance,{value:function(t){return!!P.call(this,t)||t&&t._writableState instanceof f}})):P=function(t){return t instanceof this},c.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},c.prototype.write=function(t,e,r){var n=this._writableState,i=!1,o=a(t)&&!n.objectMode;return o&&!L.isBuffer(t)&&(t=s(t)),"function"==typeof e&&(r=e,e=null),o?e="buffer":e||(e=n.defaultEncoding),"function"!=typeof r&&(r=u),n.ended?l(this,r):(o||h(this,n,t,r))&&(n.pendingcb++,i=d(this,n,o,t,e,r)),i},c.prototype.cork=function(){var t=this._writableState;t.corked++},c.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||w(this,t))},c.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},c.prototype._write=function(t,e,r){r(new Error("_write() is not implemented"))},c.prototype._writev=null,c.prototype.end=function(t,e,r){var n=this._writableState;"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!==t&&void 0!==t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||T(this,n,r)},Object.defineProperty(c.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),c.prototype.destroy=D.destroy,c.prototype._undestroy=D.undestroy,c.prototype._destroy=function(t,e){this.end(),e(t)}}).call(e,r(5),r(10).setImmediate,function(){return this}())},function(t,e){(function(e){"use strict";function r(t,e){function r(){if(!i){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),i=!0}return t.apply(this,arguments)}if(n("noDeprecation"))return t;var i=!1;return r}function n(t){try{if(!e.localStorage)return!1}catch(t){return!1}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=r}).call(e,function(){return this}())},function(t,e,r){"use strict";function n(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function i(t){var e=n(t);if("string"!=typeof e&&(g.isEncoding===m||!m(t)))throw new Error("Unknown encoding: "+t);return e||t}function o(t){this.encoding=i(t);var e;switch(this.encoding){case"utf16le":this.text=h,this.end=p,e=4;break;case"utf8":this.fillLast=f,e=4;break;case"base64":this.text=d,this.end=_,e=3;break;default:return this.write=y,void(this.end=v)}this.lastNeed=0,this.lastTotal=0,this.lastChar=g.allocUnsafe(e)}function s(t){return t<=127?0:t>>5===6?2:t>>4===14?3:t>>3===30?4:-1}function a(t,e,r){var n=e.length-1;if(n<r)return 0;var i=s(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r?0:(i=s(e[n]),i>=0?(i>0&&(t.lastNeed=i-2),i):--n<r?0:(i=s(e[n]),i>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0))}function u(t,e,r){if(128!==(192&e[0]))return t.lastNeed=0,"�".repeat(r);if(t.lastNeed>1&&e.length>1){if(128!==(192&e[1]))return t.lastNeed=1,"�".repeat(r+1);if(t.lastNeed>2&&e.length>2&&128!==(192&e[2]))return t.lastNeed=2,"�".repeat(r+2)}}function f(t){var e=this.lastTotal-this.lastNeed,r=u(this,t,e);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){var r=a(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)}function l(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�".repeat(this.lastTotal-this.lastNeed):e}function h(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function p(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function d(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function _(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function y(t){return t.toString(this.encoding)}function v(t){return t&&t.length?this.write(t):""}var g=r(121).Buffer,m=g.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),void 0===e)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=l,o.prototype.text=c,o.prototype.fillLast=function(t){return this.lastNeed<=t.length?(t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),void(this.lastNeed-=t.length))}},function(t,e,r){"use strict";function n(t){this.afterTransform=function(e,r){return i(t,e,r)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function i(t,e,r){var n=t._transformState;n.transforming=!1;var i=n.writecb;if(!i)return t.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!==r&&void 0!==r&&t.push(r),i(e);var o=t._readableState;o.reading=!1,(o.needReadable||o.length<o.highWaterMark)&&t._read(o.highWaterMark)}function o(t){if(!(this instanceof o))return new o(t);a.call(this,t),this._transformState=new n(this);var e=this;this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(t,r){s(e,t,r)}):s(e)})}function s(t,e,r){if(e)return t.emit("error",e);null!==r&&void 0!==r&&t.push(r);var n=t._writableState,i=t._transformState;if(n.length)throw new Error("Calling transform done when ws.length != 0");if(i.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}t.exports=o;var a=r(127),u=r(123);u.inherits=r(111),u.inherits(o,a),o.prototype.push=function(t,e){return this._transformState.needTransform=!1,a.prototype.push.call(this,t,e)},o.prototype._transform=function(t,e,r){throw new Error("_transform() is not implemented")},o.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},o.prototype._destroy=function(t,e){var r=this;a.prototype._destroy.call(this,t,function(t){e(t),r.emit("close")})}},function(t,e,r){"use strict";function n(t){return this instanceof n?void i.call(this,t):new n(t)}t.exports=n;var i=r(131),o=r(123);o.inherits=r(111),o.inherits(n,i),n.prototype._transform=function(t,e,r){r(null,t)}},function(t,e,r){"use strict";t.exports=r(128)},function(t,e,r){"use strict";t.exports=r(127)},function(t,e,r){"use strict";t.exports=r(117).Transform},function(t,e,r){"use strict";t.exports=r(117).PassThrough},function(t,e,r){"use strict";var n=t.exports=function(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=r(138),n.sha1=r(140),n.sha224=r(141),n.sha256=r(142),n.sha384=r(143),n.sha512=r(144)},function(t,e,r){"use strict";function n(){this.init(),this._w=l,u.call(this,64,56)}function i(t){return t<<5|t>>>27}function o(t){return t<<30|t>>>2}function s(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}var a=r(111),u=r(139),f=r(121).Buffer,c=[1518500249,1859775393,-1894007588,-899497514],l=new Array(80);a(n,u),n.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},n.prototype._update=function(t){for(var e=this._w,r=0|this._a,n=0|this._b,a=0|this._c,u=0|this._d,f=0|this._e,l=0;l<16;++l)e[l]=t.readInt32BE(4*l);for(;l<80;++l)e[l]=e[l-3]^e[l-8]^e[l-14]^e[l-16];for(var h=0;h<80;++h){var p=~~(h/20),d=i(r)+s(p,n,a,u)+f+e[h]+c[p]|0;f=u,u=a,a=o(n),n=r,r=d}this._a=r+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=u+this._d|0,this._e=f+this._e|0},n.prototype._hash=function(){var t=f.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=n},function(t,e,r){"use strict";function n(t,e){this._block=i.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}var i=r(121).Buffer;n.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=i.from(t,e));for(var r=this._block,n=this._blockSize,o=t.length,s=this._len,a=0;a<o;){for(var u=s%n,f=Math.min(o-a,n-u),c=0;c<f;c++)r[u+c]=t[a+c];s+=f,a+=f,s%n===0&&this._update(r)}return this._len+=o,this},n.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=4294967295&r,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},n.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=n},function(t,e,r){"use strict";function n(){this.init(),this._w=h,f.call(this,64,56)}function i(t){return t<<1|t>>>31}function o(t){return t<<5|t>>>27}function s(t){return t<<30|t>>>2}function a(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}var u=r(111),f=r(139),c=r(121).Buffer,l=[1518500249,1859775393,-1894007588,-899497514],h=new Array(80);u(n,f),n.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},n.prototype._update=function(t){for(var e=this._w,r=0|this._a,n=0|this._b,u=0|this._c,f=0|this._d,c=0|this._e,h=0;h<16;++h)e[h]=t.readInt32BE(4*h);for(;h<80;++h)e[h]=i(e[h-3]^e[h-8]^e[h-14]^e[h-16]);for(var p=0;p<80;++p){var d=~~(p/20),_=o(r)+a(d,n,u,f)+c+e[p]+l[d]|0;c=f,f=u,u=s(n),n=r,r=_}this._a=r+this._a|0,this._b=n+this._b|0,this._c=u+this._c|0,this._d=f+this._d|0,this._e=c+this._e|0},n.prototype._hash=function(){var t=c.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=n},function(t,e,r){"use strict";function n(){this.init(),this._w=u,s.call(this,64,56)}var i=r(111),o=r(142),s=r(139),a=r(121).Buffer,u=new Array(64);i(n,o),n.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},n.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=n},function(t,e,r){"use strict";function n(){this.init(),this._w=d,l.call(this,64,56)}function i(t,e,r){return r^t&(e^r)}function o(t,e,r){return t&e|r&(t|e)}function s(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function a(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function u(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function f(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}var c=r(111),l=r(139),h=r(121).Buffer,p=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],d=new Array(64);c(n,l),n.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},n.prototype._update=function(t){for(var e=this._w,r=0|this._a,n=0|this._b,c=0|this._c,l=0|this._d,h=0|this._e,d=0|this._f,_=0|this._g,y=0|this._h,v=0;v<16;++v)e[v]=t.readInt32BE(4*v);for(;v<64;++v)e[v]=f(e[v-2])+e[v-7]+u(e[v-15])+e[v-16]|0;for(var g=0;g<64;++g){var m=y+a(h)+i(h,d,_)+p[g]+e[g]|0,b=s(r)+o(r,n,c)|0;y=_,_=d,d=h,h=l+m|0,l=c,c=n,n=r,r=m+b|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=c+this._c|0,this._d=l+this._d|0,this._e=h+this._e|0,this._f=d+this._f|0,this._g=_+this._g|0,this._h=y+this._h|0},n.prototype._hash=function(){var t=h.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=n},function(t,e,r){"use strict";function n(){this.init(),this._w=u,s.call(this,128,112)}var i=r(111),o=r(144),s=r(139),a=r(121).Buffer,u=new Array(160);i(n,o),n.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},n.prototype._hash=function(){function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}var e=a.allocUnsafe(48);return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},t.exports=n},function(t,e,r){"use strict";function n(){this.init(),this._w=v,d.call(this,128,112)}function i(t,e,r){return r^t&(e^r)}function o(t,e,r){return t&e|r&(t|e)}function s(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function a(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function u(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function f(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function c(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function l(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function h(t,e){return t>>>0<e>>>0?1:0}var p=r(111),d=r(139),_=r(121).Buffer,y=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],v=new Array(160);p(n,d),n.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},n.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,p=0|this._ch,d=0|this._dh,_=0|this._eh,v=0|this._fh,g=0|this._gh,m=0|this._hh,b=0|this._al,w=0|this._bl,E=0|this._cl,k=0|this._dl,S=0|this._el,B=0|this._fl,T=0|this._gl,x=0|this._hl,A=0;A<32;A+=2)e[A]=t.readInt32BE(4*A),e[A+1]=t.readInt32BE(4*A+4);for(;A<160;A+=2){var I=e[A-30],C=e[A-30+1],O=u(I,C),j=f(C,I);I=e[A-4],C=e[A-4+1];var R=c(I,C),L=l(C,I),F=e[A-14],D=e[A-14+1],P=e[A-32],U=e[A-32+1],M=j+D|0,N=O+F+h(M,j)|0;M=M+L|0,N=N+R+h(M,L)|0,M=M+U|0,N=N+P+h(M,U)|0,e[A]=N,e[A+1]=M}for(var q=0;q<160;q+=2){N=e[q],M=e[q+1];var z=o(r,n,p),V=o(b,w,E),H=s(r,b),K=s(b,r),X=a(_,S),G=a(S,_),Y=y[q],W=y[q+1],$=i(_,v,g),Z=i(S,B,T),J=x+G|0,Q=m+X+h(J,x)|0;J=J+Z|0,Q=Q+$+h(J,Z)|0,J=J+W|0,Q=Q+Y+h(J,W)|0,J=J+M|0,Q=Q+N+h(J,M)|0;var tt=K+V|0,et=H+z+h(tt,K)|0;m=g,x=T,g=v,T=B,v=_,B=S,S=k+J|0,_=d+Q+h(S,k)|0,d=p,k=E,p=n,E=w,n=r,w=b,b=J+tt|0,r=Q+et+h(b,J)|0}this._al=this._al+b|0,this._bl=this._bl+w|0,this._cl=this._cl+E|0,this._dl=this._dl+k|0,this._el=this._el+S|0,this._fl=this._fl+B|0,this._gl=this._gl+T|0,this._hl=this._hl+x|0,this._ah=this._ah+r+h(this._al,b)|0,this._bh=this._bh+n+h(this._bl,w)|0,this._ch=this._ch+p+h(this._cl,E)|0,this._dh=this._dh+d+h(this._dl,k)|0,this._eh=this._eh+_+h(this._el,S)|0,this._fh=this._fh+v+h(this._fl,B)|0,this._gh=this._gh+g+h(this._gl,T)|0,this._hh=this._hh+m+h(this._hl,x)|0},n.prototype._hash=function(){function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}var e=_.allocUnsafe(64);return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},t.exports=n},function(t,e,r){"use strict";function n(t){o.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}var i=r(121).Buffer,o=r(116).Transform,s=r(130).StringDecoder,a=r(111);a(n,o),n.prototype.update=function(t,e,r){"string"==typeof t&&(t=i.from(t,e));var n=this._update(t);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)},n.prototype.setAutoPadding=function(){},n.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},n.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},n.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},n.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){n=t}finally{r(n)}},n.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},n.prototype._finalOrDigest=function(t){var e=this.__final()||i.alloc(0);return t&&(e=this._toString(e,t,!0)),e},n.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new s(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n},t.exports=n},function(t,e,r){"use strict";function n(t,e){s.call(this,"digest"),"string"==typeof e&&(e=a.from(e));var r="sha512"===t||"sha384"===t?128:64;if(this._alg=t,this._key=e,e.length>r){var n="rmd160"===t?new f:c(t);e=n.update(e).digest()}else e.length<r&&(e=a.concat([e,l],r));for(var i=this._ipad=a.allocUnsafe(r),o=this._opad=a.allocUnsafe(r),u=0;u<r;u++)i[u]=54^e[u],o[u]=92^e[u];this._hash="rmd160"===t?new f:c(t),this._hash.update(i)}var i=r(111),o=r(147),s=r(145),a=r(121).Buffer,u=r(112),f=r(114),c=r(137),l=a.alloc(128);i(n,s),n.prototype._update=function(t){this._hash.update(t)},n.prototype._final=function(){var t=this._hash.digest(),e="rmd160"===this._alg?new f:c(this._alg);return e.update(this._opad).update(t).digest()},t.exports=function(t,e){return t=t.toLowerCase(),"rmd160"===t||"ripemd160"===t?new n("rmd160",e):"md5"===t?new o(u,e):new n(t,e)}},function(t,e,r){"use strict";function n(t,e){s.call(this,"digest"),"string"==typeof e&&(e=o.from(e)),this._alg=t,this._key=e,e.length>u?e=t(e):e.length<u&&(e=o.concat([e,a],u));for(var r=this._ipad=o.allocUnsafe(u),n=this._opad=o.allocUnsafe(u),i=0;i<u;i++)r[i]=54^e[i],n[i]=92^e[i];this._hash=[r]}var i=r(111),o=r(121).Buffer,s=r(145),a=o.alloc(128),u=64;i(n,s),n.prototype._update=function(t){this._hash.push(t)},n.prototype._final=function(){var t=this._alg(o.concat(this._hash));return this._alg(o.concat([this._opad,t]))},t.exports=n},function(t,e,r){"use strict";var n=r(149),i="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";t.exports=n(i)},function(t,e,r){"use strict";var n=r(121).Buffer;t.exports=function(t){function e(e){if(0===e.length)return"";for(var r=[0],n=0;n<e.length;++n){for(var i=0,o=e[n];i<r.length;++i)o+=r[i]<<8,r[i]=o%s,o=o/s|0;for(;o>0;)r.push(o%s),o=o/s|0}for(var a="",u=0;0===e[u]&&u<e.length-1;++u)a+=t[0];for(var f=r.length-1;f>=0;--f)a+=t[r[f]];return a}function r(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return n.allocUnsafe(0);for(var e=[0],r=0;r<t.length;r++){var i=o[t[r]];if(void 0===i)return;for(var u=0,f=i;u<e.length;++u)f+=e[u]*s,e[u]=255&f,f>>=8;for(;f>0;)e.push(255&f),f>>=8}for(var c=0;t[c]===a&&c<t.length-1;++c)e.push(0);return n.from(e.reverse())}function i(t){var e=r(t);if(e)return e;throw new Error("Non-base"+s+" character")}for(var o={},s=t.length,a=t.charAt(0),u=0;u<t.length;u++){var f=t.charAt(u);if(void 0!==o[f])throw new TypeError(f+" is ambiguous");o[f]=u}return{encode:e,decodeUnsafe:r,decode:i}}},function(t,e,r){(function(t){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f();return s(t,e,n,r)}function o(t,e,r,n,i){return s(t,e,r,n,i).message}function s(e,r,n,i,o){if(e=T(e),!e)throw new TypeError("private_key is required");if(r=x(r),!r)throw new TypeError("public_key is required");if(n=A(n),!n)throw new TypeError("nonce is required");if(!t.isBuffer(i)){if("string"!=typeof i)throw new TypeError("message should be buffer or string");i=new t(i,"binary")}if(o&&"number"!=typeof o)throw new TypeError("checksum should be a number");var s=e.get_shared_secret(r),f=new p.default(p.default.DEFAULT_CAPACITY,p.default.LITTLE_ENDIAN);f.writeUint64(n),f.append(s.toString("binary"),"binary"),f=new t(f.copy(0,f.offset).toBinary(),"binary");var c=k.default.sha512(f),l=c.slice(32,48),h=c.slice(0,32),d=k.default.sha256(c);d=d.slice(0,4);var _=p.default.fromBinary(d.toString("binary"),p.default.DEFAULT_CAPACITY,p.default.LITTLE_ENDIAN);if(d=_.readUint32(),o){if(d!==o)throw new Error("Invalid key");i=a(i,h,l)}else i=u(i,h,l);return{nonce:n,message:i,checksum:d}}function a(e,r,n){(0,v.default)(e,"Missing cipher text"),e=I(e);var i=_.default.createDecipheriv("aes-256-cbc",r,n);return e=t.concat([i.update(e),i.final()])}function u(e,r,n){(0,v.default)(e,"Missing plain text"),e=I(e);var i=_.default.createCipheriv("aes-256-cbc",r,n);return e=t.concat([i.update(e),i.final()])}function f(){if(null===B){var t=l.default.randomUint8Array(2);B=parseInt(t[0]<<8|t[1],10)}var e=S.fromNumber(Date.now()),r=++B%65535;return e=e.shiftLeft(16).or(S.fromNumber(r)),e.toString()}Object.defineProperty(e,"__esModule",{value:!0}),e.encrypt=i,e.decrypt=o;var c=r(151),l=n(c),h=r(153),p=n(h),d=r(156),_=n(d),y=r(105),v=n(y),g=r(177),m=n(g),b=r(187),w=n(b),E=r(109),k=n(E),S=p.default.Long,B=null,T=function(t){return t?t.d?t:w.default.fromWif(t):t},x=function(t){return t?t.Q?t:m.default.fromString(t):t},A=function(t){return t?S.isLong(t)?t:S.fromString(t):t},I=function(e){return e?t.isBuffer(e)?e:new t(e,"binary"):e}}).call(e,r(99).Buffer)},function(t,e,r){var n,i;(function(o,s){"use strict";!function(a){function u(t,e){if(e=e||{type:"Array"},"undefined"!=typeof o&&"number"==typeof o.pid&&o.versions&&o.versions.node)return f(t,e);var r=window.crypto||window.msCrypto;if(!r)throw new Error("Your browser does not support window.crypto.");return c(t,e)}function f(t,e){var n=r(152),i=n.randomBytes(t);switch(e.type){case"Array":return[].slice.call(i);case"Buffer":return i;case"Uint8Array":for(var o=new Uint8Array(t),s=0;s<t;++s)o[s]=i.readUInt8(s);return o;default:throw new Error(e.type+" is unsupported.")}}function c(t,e){var r=new Uint8Array(t),n=window.crypto||window.msCrypto;switch(n.getRandomValues(r),e.type){case"Array":return[].slice.call(r);case"Buffer":try{new s(1)}catch(t){throw new Error("Buffer not supported in this environment. Use Node.js or Browserify for browser support.")}return new s(r);case"Uint8Array":return r;default:throw new Error(e.type+" is unsupported.")}}n=[],i=function(){return u}.apply(e,n),!(void 0!==i&&(t.exports=i)),u.randomArray=function(t){return u(t,{type:"Array"})},u.randomUint8Array=function(t){return u(t,{type:"Uint8Array"})},u.randomBuffer=function(t){return u(t,{type:"Buffer"})}}(void 0)}).call(e,r(5),r(99).Buffer)},96,function(t,e,r){var n,i,o;(function(t){"use strict";var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(a,u){r(154).amd?(i=[r(155)],n=u,o="function"==typeof n?n.apply(e,i):n,!(void 0!==o&&(t.exports=o))):"object"===s(t)&&t&&t.exports?t.exports=function(){var t;try{t=r(155)}catch(t){}return u(t)}():(a.dcodeIO=a.dcodeIO||{}).ByteBuffer=u(a.dcodeIO.Long)}(void 0,function(t){function e(t){var e=0;return function(){return e<t.length?t.charCodeAt(e++):null}}function r(){var t=[],e=[];return function(){return 0===arguments.length?e.join("")+f.apply(String,t):(t.length+arguments.length>1024&&(e.push(f.apply(String,t)),t.length=0),void Array.prototype.push.apply(t,arguments))}}function n(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<<a)-1,f=u>>1,c=-7,l=r?i-1:0,h=r?-1:1,p=t[e+l];for(l+=h,o=p&(1<<-c)-1,p>>=-c,c+=a;c>0;o=256*o+t[e+l],l+=h,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=n;c>0;s=256*s+t[e+l],l+=h,c-=8);if(0===o)o=1-f;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s+=Math.pow(2,n),o-=f}return(p?-1:1)*s*Math.pow(2,o-n)}function i(t,e,r,n,i,o){var s,a,u,f=8*o-i-1,c=(1<<f)-1,l=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,_=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),e+=s+l>=1?h/u:h*Math.pow(2,1-l),e*u>=2&&(s++,u/=2),s+l>=c?(a=0,s=c):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+p]=255&a,p+=d,a/=256,i-=8);for(s=s<<i|a,f+=i;f>0;t[r+p]=255&s,p+=d,s/=256,f-=8);t[r+p-d]|=128*_}var o=function t(e,r,n){if("undefined"==typeof e&&(e=t.DEFAULT_CAPACITY),"undefined"==typeof r&&(r=t.DEFAULT_ENDIAN),"undefined"==typeof n&&(n=t.DEFAULT_NOASSERT),!n){if(e|=0,e<0)throw RangeError("Illegal capacity");r=!!r,n=!!n}this.buffer=0===e?u:new ArrayBuffer(e),this.view=0===e?null:new Uint8Array(this.buffer),this.offset=0,this.markedOffset=-1,this.limit=e,this.littleEndian=r,this.noAssert=n};o.VERSION="5.0.1",o.LITTLE_ENDIAN=!0,o.BIG_ENDIAN=!1,o.DEFAULT_CAPACITY=16,o.DEFAULT_ENDIAN=o.BIG_ENDIAN,o.DEFAULT_NOASSERT=!1,o.Long=t||null;var a=o.prototype;a.__isByteBuffer__,Object.defineProperty(a,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var u=new ArrayBuffer(0),f=String.fromCharCode;o.accessor=function(){return Uint8Array},o.allocate=function(t,e,r){return new o(t,e,r)},o.concat=function(t,e,r,n){"boolean"!=typeof e&&"string"==typeof e||(n=r,r=e,e=void 0);for(var i,s=0,a=0,u=t.length;a<u;++a)o.isByteBuffer(t[a])||(t[a]=o.wrap(t[a],e)),i=t[a].limit-t[a].offset,i>0&&(s+=i);if(0===s)return new o(0,r,n);var f,c=new o(s,r,n);for(a=0;a<u;)f=t[a++],i=f.limit-f.offset,i<=0||(c.view.set(f.view.subarray(f.offset,f.limit),c.offset),c.offset+=i);return c.limit=c.offset,c.offset=0,c},o.isByteBuffer=function(t){return(t&&t.__isByteBuffer__)===!0},o.type=function(){return ArrayBuffer},o.wrap=function(t,e,r,n){if("string"!=typeof e&&(n=r,r=e,e=void 0),"string"==typeof t)switch("undefined"==typeof e&&(e="utf8"),e){case"base64":return o.fromBase64(t,r);case"hex":return o.fromHex(t,r);case"binary":return o.fromBinary(t,r);case"utf8":return o.fromUTF8(t,r);case"debug":return o.fromDebug(t,r);default:throw Error("Unsupported encoding: "+e)}if(null===t||"object"!==("undefined"==typeof t?"undefined":s(t)))throw TypeError("Illegal buffer");var i;if(o.isByteBuffer(t))return i=a.clone.call(t),i.markedOffset=-1,i;if(t instanceof Uint8Array)i=new o(0,r,n),t.length>0&&(i.buffer=t.buffer,i.offset=t.byteOffset,i.limit=t.byteOffset+t.byteLength,i.view=new Uint8Array(t.buffer));else if(t instanceof ArrayBuffer)i=new o(0,r,n), +t.byteLength>0&&(i.buffer=t,i.offset=0,i.limit=t.byteLength,i.view=t.byteLength>0?new Uint8Array(t):null);else{if("[object Array]"!==Object.prototype.toString.call(t))throw TypeError("Illegal buffer");i=new o(t.length,r,n),i.limit=t.length;for(var u=0;u<t.length;++u)i.view[u]=t[u]}return i},a.writeBitSet=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if(!(t instanceof Array))throw TypeError("Illegal BitSet: Not an array");if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}var n,i=e,o=t.length,s=o>>3,a=0;for(e+=this.writeVarint32(o,e);s--;)n=1&!!t[a++]|(1&!!t[a++])<<1|(1&!!t[a++])<<2|(1&!!t[a++])<<3|(1&!!t[a++])<<4|(1&!!t[a++])<<5|(1&!!t[a++])<<6|(1&!!t[a++])<<7,this.writeByte(n,e++);if(a<o){var u=0;for(n=0;a<o;)n|=(1&!!t[a++])<<u++;this.writeByte(n,e++)}return r?(this.offset=e,this):e-i},a.readBitSet=function(t){var e="undefined"==typeof t;e&&(t=this.offset);var r,n=this.readVarint32(t),i=n.value,o=i>>3,s=0,a=[];for(t+=n.length;o--;)r=this.readByte(t++),a[s++]=!!(1&r),a[s++]=!!(2&r),a[s++]=!!(4&r),a[s++]=!!(8&r),a[s++]=!!(16&r),a[s++]=!!(32&r),a[s++]=!!(64&r),a[s++]=!!(128&r);if(s<i){var u=0;for(r=this.readByte(t++);s<i;)a[s++]=!!(r>>u++&1)}return e&&(this.offset=t),a},a.readBytes=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+t>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+"+t+") <= "+this.buffer.byteLength)}var n=this.slice(e,e+t);return r&&(this.offset+=t),n},a.writeBytes=a.append,a.writeInt8=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t|=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=1;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=1,this.view[e]=t,r&&(this.offset+=1),this},a.writeByte=a.writeInt8,a.readInt8=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var r=this.view[t];return 128===(128&r)&&(r=-(255-r+1)),e&&(this.offset+=1),r},a.readByte=a.readInt8,a.writeUint8=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=1;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=1,this.view[e]=t,r&&(this.offset+=1),this},a.writeUInt8=a.writeUint8,a.readUint8=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var r=this.view[t];return e&&(this.offset+=1),r},a.readUInt8=a.readUint8,a.writeInt16=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t|=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=2;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=2,this.littleEndian?(this.view[e+1]=(65280&t)>>>8,this.view[e]=255&t):(this.view[e]=(65280&t)>>>8,this.view[e+1]=255&t),r&&(this.offset+=2),this},a.writeShort=a.writeInt16,a.readInt16=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+2) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[t],r|=this.view[t+1]<<8):(r=this.view[t]<<8,r|=this.view[t+1]),32768===(32768&r)&&(r=-(65535-r+1)),e&&(this.offset+=2),r},a.readShort=a.readInt16,a.writeUint16=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=2;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=2,this.littleEndian?(this.view[e+1]=(65280&t)>>>8,this.view[e]=255&t):(this.view[e]=(65280&t)>>>8,this.view[e+1]=255&t),r&&(this.offset+=2),this},a.writeUInt16=a.writeUint16,a.readUint16=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+2) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[t],r|=this.view[t+1]<<8):(r=this.view[t]<<8,r|=this.view[t+1]),e&&(this.offset+=2),r},a.readUInt16=a.readUint16,a.writeInt32=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t|=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=4;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=4,this.littleEndian?(this.view[e+3]=t>>>24&255,this.view[e+2]=t>>>16&255,this.view[e+1]=t>>>8&255,this.view[e]=255&t):(this.view[e]=t>>>24&255,this.view[e+1]=t>>>16&255,this.view[e+2]=t>>>8&255,this.view[e+3]=255&t),r&&(this.offset+=4),this},a.writeInt=a.writeInt32,a.readInt32=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+4) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[t+2]<<16,r|=this.view[t+1]<<8,r|=this.view[t],r+=this.view[t+3]<<24>>>0):(r=this.view[t+1]<<16,r|=this.view[t+2]<<8,r|=this.view[t+3],r+=this.view[t]<<24>>>0),r|=0,e&&(this.offset+=4),r},a.readInt=a.readInt32,a.writeUint32=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=4;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=4,this.littleEndian?(this.view[e+3]=t>>>24&255,this.view[e+2]=t>>>16&255,this.view[e+1]=t>>>8&255,this.view[e]=255&t):(this.view[e]=t>>>24&255,this.view[e+1]=t>>>16&255,this.view[e+2]=t>>>8&255,this.view[e+3]=255&t),r&&(this.offset+=4),this},a.writeUInt32=a.writeUint32,a.readUint32=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+4) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[t+2]<<16,r|=this.view[t+1]<<8,r|=this.view[t],r+=this.view[t+3]<<24>>>0):(r=this.view[t+1]<<16,r|=this.view[t+2]<<8,r|=this.view[t+3],r+=this.view[t]<<24>>>0),e&&(this.offset+=4),r},a.readUInt32=a.readUint32,t&&(a.writeInt64=function(e,r){var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("number"==typeof e)e=t.fromNumber(e);else if("string"==typeof e)e=t.fromString(e);else if(!(e&&e instanceof t))throw TypeError("Illegal value: "+e+" (not an integer or Long)");if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}"number"==typeof e?e=t.fromNumber(e):"string"==typeof e&&(e=t.fromString(e)),r+=8;var i=this.buffer.byteLength;r>i&&this.resize((i*=2)>r?i:r),r-=8;var o=e.low,s=e.high;return this.littleEndian?(this.view[r+3]=o>>>24&255,this.view[r+2]=o>>>16&255,this.view[r+1]=o>>>8&255,this.view[r]=255&o,r+=4,this.view[r+3]=s>>>24&255,this.view[r+2]=s>>>16&255,this.view[r+1]=s>>>8&255,this.view[r]=255&s):(this.view[r]=s>>>24&255,this.view[r+1]=s>>>16&255,this.view[r+2]=s>>>8&255,this.view[r+3]=255&s,r+=4,this.view[r]=o>>>24&255,this.view[r+1]=o>>>16&255,this.view[r+2]=o>>>8&255,this.view[r+3]=255&o),n&&(this.offset+=8),this},a.writeLong=a.writeInt64,a.readInt64=function(e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+8) <= "+this.buffer.byteLength)}var n=0,i=0;this.littleEndian?(n=this.view[e+2]<<16,n|=this.view[e+1]<<8,n|=this.view[e],n+=this.view[e+3]<<24>>>0,e+=4,i=this.view[e+2]<<16,i|=this.view[e+1]<<8,i|=this.view[e],i+=this.view[e+3]<<24>>>0):(i=this.view[e+1]<<16,i|=this.view[e+2]<<8,i|=this.view[e+3],i+=this.view[e]<<24>>>0,e+=4,n=this.view[e+1]<<16,n|=this.view[e+2]<<8,n|=this.view[e+3],n+=this.view[e]<<24>>>0);var o=new t(n,i,!1);return r&&(this.offset+=8),o},a.readLong=a.readInt64,a.writeUint64=function(e,r){var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("number"==typeof e)e=t.fromNumber(e);else if("string"==typeof e)e=t.fromString(e);else if(!(e&&e instanceof t))throw TypeError("Illegal value: "+e+" (not an integer or Long)");if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}"number"==typeof e?e=t.fromNumber(e):"string"==typeof e&&(e=t.fromString(e)),r+=8;var i=this.buffer.byteLength;r>i&&this.resize((i*=2)>r?i:r),r-=8;var o=e.low,s=e.high;return this.littleEndian?(this.view[r+3]=o>>>24&255,this.view[r+2]=o>>>16&255,this.view[r+1]=o>>>8&255,this.view[r]=255&o,r+=4,this.view[r+3]=s>>>24&255,this.view[r+2]=s>>>16&255,this.view[r+1]=s>>>8&255,this.view[r]=255&s):(this.view[r]=s>>>24&255,this.view[r+1]=s>>>16&255,this.view[r+2]=s>>>8&255,this.view[r+3]=255&s,r+=4,this.view[r]=o>>>24&255,this.view[r+1]=o>>>16&255,this.view[r+2]=o>>>8&255,this.view[r+3]=255&o),n&&(this.offset+=8),this},a.writeUInt64=a.writeUint64,a.readUint64=function(e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+8) <= "+this.buffer.byteLength)}var n=0,i=0;this.littleEndian?(n=this.view[e+2]<<16,n|=this.view[e+1]<<8,n|=this.view[e],n+=this.view[e+3]<<24>>>0,e+=4,i=this.view[e+2]<<16,i|=this.view[e+1]<<8,i|=this.view[e],i+=this.view[e+3]<<24>>>0):(i=this.view[e+1]<<16,i|=this.view[e+2]<<8,i|=this.view[e+3],i+=this.view[e]<<24>>>0,e+=4,n=this.view[e+1]<<16,n|=this.view[e+2]<<8,n|=this.view[e+3],n+=this.view[e]<<24>>>0);var o=new t(n,i,!0);return r&&(this.offset+=8),o},a.readUInt64=a.readUint64),a.writeFloat32=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t)throw TypeError("Illegal value: "+t+" (not a number)");if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=4;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=4,i(this.view,t,e,this.littleEndian,23,4),r&&(this.offset+=4),this},a.writeFloat=a.writeFloat32,a.readFloat32=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+4) <= "+this.buffer.byteLength)}var r=n(this.view,t,this.littleEndian,23,4);return e&&(this.offset+=4),r},a.readFloat=a.readFloat32,a.writeFloat64=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t)throw TypeError("Illegal value: "+t+" (not a number)");if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}e+=8;var n=this.buffer.byteLength;return e>n&&this.resize((n*=2)>e?n:e),e-=8,i(this.view,t,e,this.littleEndian,52,8),r&&(this.offset+=8),this},a.writeDouble=a.writeFloat64,a.readFloat64=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}var r=n(this.view,t,this.littleEndian,52,8);return e&&(this.offset+=8),r},a.readDouble=a.readFloat64,o.MAX_VARINT32_BYTES=5,o.calculateVarint32=function(t){return t>>>=0,t<128?1:t<16384?2:t<1<<21?3:t<1<<28?4:5},o.zigZagEncode32=function(t){return((t|=0)<<1^t>>31)>>>0},o.zigZagDecode32=function(t){return t>>>1^-(1&t)|0},a.writeVarint32=function(t,e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t|=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}var n,i=o.calculateVarint32(t);e+=i;var s=this.buffer.byteLength;for(e>s&&this.resize((s*=2)>e?s:e),e-=i,t>>>=0;t>=128;)n=127&t|128,this.view[e++]=n,t>>>=7;return this.view[e++]=t,r?(this.offset=e,this):i},a.writeVarint32ZigZag=function(t,e){return this.writeVarint32(o.zigZagEncode32(t),e)},a.readVarint32=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var r,n=0,i=0;do{if(!this.noAssert&&t>this.limit){var o=Error("Truncated");throw o.truncated=!0,o}r=this.view[t++],n<5&&(i|=(127&r)<<7*n),++n}while(0!==(128&r));return i|=0,e?(this.offset=t,i):{value:i,length:n}},a.readVarint32ZigZag=function(t){var e=this.readVarint32(t);return"object"===("undefined"==typeof e?"undefined":s(e))?e.value=o.zigZagDecode32(e.value):e=o.zigZagDecode32(e),e},t&&(o.MAX_VARINT64_BYTES=10,o.calculateVarint64=function(e){"number"==typeof e?e=t.fromNumber(e):"string"==typeof e&&(e=t.fromString(e));var r=e.toInt()>>>0,n=e.shiftRightUnsigned(28).toInt()>>>0,i=e.shiftRightUnsigned(56).toInt()>>>0;return 0==i?0==n?r<16384?r<128?1:2:r<1<<21?3:4:n<16384?n<128?5:6:n<1<<21?7:8:i<128?9:10},o.zigZagEncode64=function(e){return"number"==typeof e?e=t.fromNumber(e,!1):"string"==typeof e?e=t.fromString(e,!1):e.unsigned!==!1&&(e=e.toSigned()),e.shiftLeft(1).xor(e.shiftRight(63)).toUnsigned()},o.zigZagDecode64=function(e){return"number"==typeof e?e=t.fromNumber(e,!1):"string"==typeof e?e=t.fromString(e,!1):e.unsigned!==!1&&(e=e.toSigned()),e.shiftRightUnsigned(1).xor(e.and(t.ONE).toSigned().negate()).toSigned()},a.writeVarint64=function(e,r){var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("number"==typeof e)e=t.fromNumber(e);else if("string"==typeof e)e=t.fromString(e);else if(!(e&&e instanceof t))throw TypeError("Illegal value: "+e+" (not an integer or Long)");if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}"number"==typeof e?e=t.fromNumber(e,!1):"string"==typeof e?e=t.fromString(e,!1):e.unsigned!==!1&&(e=e.toSigned());var i=o.calculateVarint64(e),s=e.toInt()>>>0,a=e.shiftRightUnsigned(28).toInt()>>>0,u=e.shiftRightUnsigned(56).toInt()>>>0;r+=i;var f=this.buffer.byteLength;switch(r>f&&this.resize((f*=2)>r?f:r),r-=i,i){case 10:this.view[r+9]=u>>>7&1;case 9:this.view[r+8]=9!==i?128|u:127&u;case 8:this.view[r+7]=8!==i?a>>>21|128:a>>>21&127;case 7:this.view[r+6]=7!==i?a>>>14|128:a>>>14&127;case 6:this.view[r+5]=6!==i?a>>>7|128:a>>>7&127;case 5:this.view[r+4]=5!==i?128|a:127&a;case 4:this.view[r+3]=4!==i?s>>>21|128:s>>>21&127;case 3:this.view[r+2]=3!==i?s>>>14|128:s>>>14&127;case 2:this.view[r+1]=2!==i?s>>>7|128:s>>>7&127;case 1:this.view[r]=1!==i?128|s:127&s}return n?(this.offset+=i,this):i},a.writeVarint64ZigZag=function(t,e){return this.writeVarint64(o.zigZagEncode64(t),e)},a.readVarint64=function(e){var r="undefined"==typeof e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: "+e+" (not an integer)");if(e>>>=0,e<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var n=e,i=0,o=0,s=0,a=0;if(a=this.view[e++],i=127&a,128&a&&(a=this.view[e++],i|=(127&a)<<7,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],i|=(127&a)<<14,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],i|=(127&a)<<21,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],o=127&a,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],o|=(127&a)<<7,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],o|=(127&a)<<14,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],o|=(127&a)<<21,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],s=127&a,(128&a||this.noAssert&&"undefined"==typeof a)&&(a=this.view[e++],s|=(127&a)<<7,128&a||this.noAssert&&"undefined"==typeof a))))))))))throw Error("Buffer overrun");var u=t.fromBits(i|o<<28,o>>>4|s<<24,!1);return r?(this.offset=e,u):{value:u,length:e-n}},a.readVarint64ZigZag=function(e){var r=this.readVarint64(e);return r&&r.value instanceof t?r.value=o.zigZagDecode64(r.value):r=o.zigZagDecode64(r),r}),a.writeCString=function(t,r){var n="undefined"==typeof r;n&&(r=this.offset);var i,o=t.length;if(!this.noAssert){if("string"!=typeof t)throw TypeError("Illegal str: Not a string");for(i=0;i<o;++i)if(0===t.charCodeAt(i))throw RangeError("Illegal str: Contains NULL-characters");if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}o=l.calculateUTF16asUTF8(e(t))[1],r+=o+1;var s=this.buffer.byteLength;return r>s&&this.resize((s*=2)>r?s:r),r-=o+1,l.encodeUTF16toUTF8(e(t),function(t){this.view[r++]=t}.bind(this)),this.view[r++]=0,n?(this.offset=r,this):o},a.readCString=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var n,i=t,o=-1;return l.decodeUTF8toUTF16(function(){if(0===o)return null;if(t>=this.limit)throw RangeError("Illegal range: Truncated data, "+t+" < "+this.limit);return o=this.view[t++],0===o?null:o}.bind(this),n=r(),!0),e?(this.offset=t,n()):{string:n(),length:t-i}},a.writeIString=function(t,r){var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("string"!=typeof t)throw TypeError("Illegal str: Not a string");if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}var i,o=r;i=l.calculateUTF16asUTF8(e(t),this.noAssert)[1],r+=4+i;var s=this.buffer.byteLength;if(r>s&&this.resize((s*=2)>r?s:r),r-=4+i,this.littleEndian?(this.view[r+3]=i>>>24&255,this.view[r+2]=i>>>16&255,this.view[r+1]=i>>>8&255,this.view[r]=255&i):(this.view[r]=i>>>24&255,this.view[r+1]=i>>>16&255,this.view[r+2]=i>>>8&255,this.view[r+3]=255&i),r+=4,l.encodeUTF16toUTF8(e(t),function(t){this.view[r++]=t}.bind(this)),r!==o+4+i)throw RangeError("Illegal range: Truncated data, "+r+" == "+(r+4+i));return n?(this.offset=r,this):r-o},a.readIString=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+4) <= "+this.buffer.byteLength)}var r=t,n=this.readUint32(t),i=this.readUTF8String(n,o.METRICS_BYTES,t+=4);return t+=i.length,e?(this.offset=t,i.string):{string:i.string,length:t-r}},o.METRICS_CHARS="c",o.METRICS_BYTES="b",a.writeUTF8String=function(t,r){var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}var i,o=r;i=l.calculateUTF16asUTF8(e(t))[1],r+=i;var s=this.buffer.byteLength;return r>s&&this.resize((s*=2)>r?s:r),r-=i,l.encodeUTF16toUTF8(e(t),function(t){this.view[r++]=t}.bind(this)),n?(this.offset=r,this):r-o},a.writeString=a.writeUTF8String,o.calculateUTF8Chars=function(t){return l.calculateUTF16asUTF8(e(t))[0]},o.calculateUTF8Bytes=function(t){return l.calculateUTF16asUTF8(e(t))[1]},o.calculateString=o.calculateUTF8Bytes,a.readUTF8String=function(t,e,n){"number"==typeof e&&(n=e,e=void 0);var i="undefined"==typeof n;if(i&&(n=this.offset),"undefined"==typeof e&&(e=o.METRICS_CHARS),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal length: "+t+" (not an integer)");if(t|=0,"number"!=typeof n||n%1!==0)throw TypeError("Illegal offset: "+n+" (not an integer)");if(n>>>=0,n<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}var s,a=0,u=n;if(e===o.METRICS_CHARS){if(s=r(),l.decodeUTF8(function(){return a<t&&n<this.limit?this.view[n++]:null}.bind(this),function(t){++a,l.UTF8toUTF16(t,s)}),a!==t)throw RangeError("Illegal range: Truncated data, "+a+" == "+t);return i?(this.offset=n,s()):{string:s(),length:n-u}}if(e===o.METRICS_BYTES){if(!this.noAssert){if("number"!=typeof n||n%1!==0)throw TypeError("Illegal offset: "+n+" (not an integer)");if(n>>>=0,n<0||n+t>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+"+t+") <= "+this.buffer.byteLength)}var f=n+t;if(l.decodeUTF8toUTF16(function(){return n<f?this.view[n++]:null}.bind(this),s=r(),this.noAssert),n!==f)throw RangeError("Illegal range: Truncated data, "+n+" == "+f);return i?(this.offset=n,s()):{string:s(),length:n-u}}throw TypeError("Unsupported metrics: "+e)},a.readString=a.readUTF8String,a.writeVString=function(t,r){var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("string"!=typeof t)throw TypeError("Illegal str: Not a string");if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}var i,s,a=r;i=l.calculateUTF16asUTF8(e(t),this.noAssert)[1],s=o.calculateVarint32(i),r+=s+i;var u=this.buffer.byteLength;if(r>u&&this.resize((u*=2)>r?u:r),r-=s+i,r+=this.writeVarint32(i,r),l.encodeUTF16toUTF8(e(t),function(t){this.view[r++]=t}.bind(this)),r!==a+i+s)throw RangeError("Illegal range: Truncated data, "+r+" == "+(r+i+s));return n?(this.offset=r,this):r-a},a.readVString=function(t){var e="undefined"==typeof t;if(e&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var r=t,n=this.readVarint32(t),i=this.readUTF8String(n.value,o.METRICS_BYTES,t+=n.length);return t+=i.length,e?(this.offset=t,i.string):{string:i.string,length:t-r}},a.append=function(t,e,r){"number"!=typeof e&&"string"==typeof e||(r=e,e=void 0);var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}t instanceof o||(t=o.wrap(t,e));var i=t.limit-t.offset;if(i<=0)return this;r+=i;var s=this.buffer.byteLength;return r>s&&this.resize((s*=2)>r?s:r),r-=i,this.view.set(t.view.subarray(t.offset,t.limit),r),t.offset+=i,n&&(this.offset+=i),this},a.appendTo=function(t,e){return t.append(this,e),this},a.assert=function(t){return this.noAssert=!t,this},a.capacity=function(){return this.buffer.byteLength},a.clear=function(){return this.offset=0,this.limit=this.buffer.byteLength,this.markedOffset=-1,this},a.clone=function(t){var e=new o(0,this.littleEndian,this.noAssert);return t?(e.buffer=new ArrayBuffer(this.buffer.byteLength),e.view=new Uint8Array(e.buffer)):(e.buffer=this.buffer,e.view=this.view),e.offset=this.offset,e.markedOffset=this.markedOffset,e.limit=this.limit,e},a.compact=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal end: Not an integer");if(e>>>=0,t<0||t>e||e>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+e+" <= "+this.buffer.byteLength)}if(0===t&&e===this.buffer.byteLength)return this;var r=e-t;if(0===r)return this.buffer=u,this.view=null,this.markedOffset>=0&&(this.markedOffset-=t),this.offset=0,this.limit=0,this;var n=new ArrayBuffer(r),i=new Uint8Array(n);return i.set(this.view.subarray(t,e)),this.buffer=n,this.view=i,this.markedOffset>=0&&(this.markedOffset-=t),this.offset=0,this.limit=r,this},a.copy=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal end: Not an integer");if(e>>>=0,t<0||t>e||e>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+e+" <= "+this.buffer.byteLength)}if(t===e)return new o(0,this.littleEndian,this.noAssert);var r=e-t,n=new o(r,this.littleEndian,this.noAssert);return n.offset=0,n.limit=r,n.markedOffset>=0&&(n.markedOffset-=t),this.copyTo(n,0,t,e),n},a.copyTo=function(t,e,r,n){var i,s;if(!this.noAssert&&!o.isByteBuffer(t))throw TypeError("Illegal target: Not a ByteBuffer");if(e=(s="undefined"==typeof e)?t.offset:0|e,r=(i="undefined"==typeof r)?this.offset:0|r,n="undefined"==typeof n?this.limit:0|n,e<0||e>t.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+e+" <= "+t.buffer.byteLength);if(r<0||n>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+r+" <= "+this.buffer.byteLength);var a=n-r;return 0===a?t:(t.ensureCapacity(e+a),t.view.set(this.view.subarray(r,n),e),i&&(this.offset+=a),s&&(t.offset+=a),this)},a.ensureCapacity=function(t){var e=this.buffer.byteLength;return e<t?this.resize((e*=2)>t?e:t):this},a.fill=function(t,e,r){var n="undefined"==typeof e;if(n&&(e=this.offset),"string"==typeof t&&t.length>0&&(t=t.charCodeAt(0)),"undefined"==typeof e&&(e=this.offset),"undefined"==typeof r&&(r=this.limit),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal value: "+t+" (not an integer)");if(t|=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof r||r%1!==0)throw TypeError("Illegal end: Not an integer");if(r>>>=0,e<0||e>r||r>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+r+" <= "+this.buffer.byteLength)}if(e>=r)return this;for(;e<r;)this.view[e++]=t;return n&&(this.offset=e),this},a.flip=function(){return this.limit=this.offset,this.offset=0,this},a.mark=function(t){if(t="undefined"==typeof t?this.offset:t,!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal offset: "+t+" (not an integer)");if(t>>>=0,t<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}return this.markedOffset=t,this},a.order=function(t){if(!this.noAssert&&"boolean"!=typeof t)throw TypeError("Illegal littleEndian: Not a boolean");return this.littleEndian=!!t,this},a.LE=function(t){return this.littleEndian="undefined"==typeof t||!!t,this},a.BE=function(t){return this.littleEndian="undefined"!=typeof t&&!t,this},a.prepend=function(t,e,r){"number"!=typeof e&&"string"==typeof e||(r=e,e=void 0);var n="undefined"==typeof r;if(n&&(r=this.offset),!this.noAssert){if("number"!=typeof r||r%1!==0)throw TypeError("Illegal offset: "+r+" (not an integer)");if(r>>>=0,r<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}t instanceof o||(t=o.wrap(t,e));var i=t.limit-t.offset;if(i<=0)return this;var s=i-r;if(s>0){var a=new ArrayBuffer(this.buffer.byteLength+s),u=new Uint8Array(a);u.set(this.view.subarray(r,this.buffer.byteLength),i),this.buffer=a,this.view=u,this.offset+=s,this.markedOffset>=0&&(this.markedOffset+=s),this.limit+=s,r+=s}else{new Uint8Array(this.buffer)}return this.view.set(t.view.subarray(t.offset,t.limit),r-i),t.offset=t.limit,n&&(this.offset-=i),this},a.prependTo=function(t,e){return t.prepend(this,e),this},a.printDebug=function(t){"function"!=typeof t&&(t=console.log.bind(console)),t(this.toString()+"\n-------------------------------------------------------------------\n"+this.toDebug(!0))},a.remaining=function(){return this.limit-this.offset},a.reset=function(){return this.markedOffset>=0?(this.offset=this.markedOffset,this.markedOffset=-1):this.offset=0,this},a.resize=function(t){if(!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal capacity: "+t+" (not an integer)");if(t|=0,t<0)throw RangeError("Illegal capacity: 0 <= "+t)}if(this.buffer.byteLength<t){var e=new ArrayBuffer(t),r=new Uint8Array(e);r.set(this.view),this.buffer=e,this.view=r}return this},a.reverse=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal end: Not an integer");if(e>>>=0,t<0||t>e||e>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+e+" <= "+this.buffer.byteLength)}return t===e?this:(Array.prototype.reverse.call(this.view.subarray(t,e)),this)},a.skip=function(t){if(!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal length: "+t+" (not an integer)");t|=0}var e=this.offset+t;if(!this.noAssert&&(e<0||e>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+t+" <= "+this.buffer.byteLength); +return this.offset=e,this},a.slice=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal end: Not an integer");if(e>>>=0,t<0||t>e||e>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+e+" <= "+this.buffer.byteLength)}var r=this.clone();return r.offset=t,r.limit=e,r},a.toBuffer=function(t){var e=this.offset,r=this.limit;if(!this.noAssert){if("number"!=typeof e||e%1!==0)throw TypeError("Illegal offset: Not an integer");if(e>>>=0,"number"!=typeof r||r%1!==0)throw TypeError("Illegal limit: Not an integer");if(r>>>=0,e<0||e>r||r>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+r+" <= "+this.buffer.byteLength)}if(!t&&0===e&&r===this.buffer.byteLength)return this.buffer;if(e===r)return u;var n=new ArrayBuffer(r-e);return new Uint8Array(n).set(new Uint8Array(this.buffer).subarray(e,r),0),n},a.toArrayBuffer=a.toBuffer,a.toString=function(t,e,r){if("undefined"==typeof t)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch("number"==typeof t&&(t="utf8",e=t,r=e),t){case"utf8":return this.toUTF8(e,r);case"base64":return this.toBase64(e,r);case"hex":return this.toHex(e,r);case"binary":return this.toBinary(e,r);case"debug":return this.toDebug();case"columns":return this.toColumns();default:throw Error("Unsupported encoding: "+t)}};var c=function(){for(var t={},e=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],r=[],n=0,i=e.length;n<i;++n)r[e[n]]=n;return t.encode=function(t,r){for(var n,i;null!==(n=t());)r(e[n>>2&63]),i=(3&n)<<4,null!==(n=t())?(i|=n>>4&15,r(e[63&(i|n>>4&15)]),i=(15&n)<<2,null!==(n=t())?(r(e[63&(i|n>>6&3)]),r(e[63&n])):(r(e[63&i]),r(61))):(r(e[63&i]),r(61),r(61))},t.decode=function(t,e){function n(t){throw Error("Illegal character code: "+t)}for(var i,o,s;null!==(i=t());)if(o=r[i],"undefined"==typeof o&&n(i),null!==(i=t())&&(s=r[i],"undefined"==typeof s&&n(i),e(o<<2>>>0|(48&s)>>4),null!==(i=t()))){if(o=r[i],"undefined"==typeof o){if(61===i)break;n(i)}if(e((15&s)<<4>>>0|(60&o)>>2),null!==(i=t())){if(s=r[i],"undefined"==typeof s){if(61===i)break;n(i)}e((3&o)<<6>>>0|s)}}},t.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)},t}();a.toBase64=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),t|=0,e|=0,t<0||e>this.capacity||t>e)throw RangeError("begin, end");var n;return c.encode(function(){return t<e?this.view[t++]:null}.bind(this),n=r()),n()},o.fromBase64=function(t,r){if("string"!=typeof t)throw TypeError("str");var n=new o(t.length/4*3,r),i=0;return c.decode(e(t),function(t){n.view[i++]=t}),n.limit=i,n},o.btoa=function(t){return o.fromBinary(t).toBase64()},o.atob=function(t){return o.fromBase64(t).toBinary()},a.toBinary=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),t|=0,e|=0,t<0||e>this.capacity()||t>e)throw RangeError("begin, end");if(t===e)return"";for(var r=[],n=[];t<e;)r.push(this.view[t++]),r.length>=1024&&(n.push(String.fromCharCode.apply(String,r)),r=[]);return n.join("")+String.fromCharCode.apply(String,r)},o.fromBinary=function(t,e){if("string"!=typeof t)throw TypeError("str");for(var r,n=0,i=t.length,s=new o(i,e);n<i;){if(r=t.charCodeAt(n),r>255)throw RangeError("illegal char code: "+r);s.view[n++]=r}return s.limit=i,s},a.toDebug=function(t){for(var e,r=-1,n=this.buffer.byteLength,i="",o="",s="";r<n;){if(r!==-1&&(e=this.view[r],i+=e<16?"0"+e.toString(16).toUpperCase():e.toString(16).toUpperCase(),t&&(o+=e>32&&e<127?String.fromCharCode(e):".")),++r,t&&r>0&&r%16===0&&r!==n){for(;i.length<51;)i+=" ";s+=i+o+"\n",i=o=""}i+=r===this.offset&&r===this.limit?r===this.markedOffset?"!":"|":r===this.offset?r===this.markedOffset?"[":"<":r===this.limit?r===this.markedOffset?"]":">":r===this.markedOffset?"'":t||0!==r&&r!==n?" ":""}if(t&&" "!==i){for(;i.length<51;)i+=" ";s+=i+o+"\n"}return t?s:i},o.fromDebug=function(t,e,r){for(var n,i,s=t.length,a=new o((s+1)/3|0,e,r),u=0,f=0,c=!1,l=!1,h=!1,p=!1,d=!1;u<s;){switch(n=t.charAt(u++)){case"!":if(!r){if(l||h||p){d=!0;break}l=h=p=!0}a.offset=a.markedOffset=a.limit=f,c=!1;break;case"|":if(!r){if(l||p){d=!0;break}l=p=!0}a.offset=a.limit=f,c=!1;break;case"[":if(!r){if(l||h){d=!0;break}l=h=!0}a.offset=a.markedOffset=f,c=!1;break;case"<":if(!r){if(l){d=!0;break}l=!0}a.offset=f,c=!1;break;case"]":if(!r){if(p||h){d=!0;break}p=h=!0}a.limit=a.markedOffset=f,c=!1;break;case">":if(!r){if(p){d=!0;break}p=!0}a.limit=f,c=!1;break;case"'":if(!r){if(h){d=!0;break}h=!0}a.markedOffset=f,c=!1;break;case" ":c=!1;break;default:if(!r&&c){d=!0;break}if(i=parseInt(n+t.charAt(u++),16),!r&&(isNaN(i)||i<0||i>255))throw TypeError("Illegal str: Not a debug encoded string");a.view[f++]=i,c=!0}if(d)throw TypeError("Illegal str: Invalid symbol at "+u)}if(!r){if(!l||!p)throw TypeError("Illegal str: Missing offset or limit");if(f<a.buffer.byteLength)throw TypeError("Illegal str: Not a debug encoded string (is it hex?) "+f+" < "+s)}return a},a.toHex=function(t,e){if(t="undefined"==typeof t?this.offset:t,e="undefined"==typeof e?this.limit:e,!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal end: Not an integer");if(e>>>=0,t<0||t>e||e>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+e+" <= "+this.buffer.byteLength)}for(var r,n=new Array(e-t);t<e;)r=this.view[t++],r<16?n.push("0",r.toString(16)):n.push(r.toString(16));return n.join("")},o.fromHex=function(t,e,r){if(!r){if("string"!=typeof t)throw TypeError("Illegal str: Not a string");if(t.length%2!==0)throw TypeError("Illegal str: Length not a multiple of 2")}for(var n,i=t.length,s=new o(i/2|0,e),a=0,u=0;a<i;a+=2){if(n=parseInt(t.substring(a,a+2),16),!r&&(!isFinite(n)||n<0||n>255))throw TypeError("Illegal str: Contains non-hex characters");s.view[u++]=n}return s.limit=u,s};var l=function(){var t={};return t.MAX_CODEPOINT=1114111,t.encodeUTF8=function(t,e){var r=null;for("number"==typeof t&&(r=t,t=function(){return null});null!==r||null!==(r=t());)r<128?e(127&r):r<2048?(e(r>>6&31|192),e(63&r|128)):r<65536?(e(r>>12&15|224),e(r>>6&63|128),e(63&r|128)):(e(r>>18&7|240),e(r>>12&63|128),e(r>>6&63|128),e(63&r|128)),r=null},t.decodeUTF8=function(t,e){for(var r,n,i,o,s=function(t){t=t.slice(0,t.indexOf(null));var e=Error(t.toString());throw e.name="TruncatedError",e.bytes=t,e};null!==(r=t());)if(0===(128&r))e(r);else if(192===(224&r))null===(n=t())&&s([r,n]),e((31&r)<<6|63&n);else if(224===(240&r))(null===(n=t())||null===(i=t()))&&s([r,n,i]),e((15&r)<<12|(63&n)<<6|63&i);else{if(240!==(248&r))throw RangeError("Illegal starting byte: "+r);(null===(n=t())||null===(i=t())||null===(o=t()))&&s([r,n,i,o]),e((7&r)<<18|(63&n)<<12|(63&i)<<6|63&o)}},t.UTF16toUTF8=function(t,e){for(var r,n=null;;){if(null===(r=null!==n?n:t()))break;r>=55296&&r<=57343&&null!==(n=t())&&n>=56320&&n<=57343?(e(1024*(r-55296)+n-56320+65536),n=null):e(r)}null!==n&&e(n)},t.UTF8toUTF16=function(t,e){var r=null;for("number"==typeof t&&(r=t,t=function(){return null});null!==r||null!==(r=t());)r<=65535?e(r):(r-=65536,e((r>>10)+55296),e(r%1024+56320)),r=null},t.encodeUTF16toUTF8=function(e,r){t.UTF16toUTF8(e,function(e){t.encodeUTF8(e,r)})},t.decodeUTF8toUTF16=function(e,r){t.decodeUTF8(e,function(e){t.UTF8toUTF16(e,r)})},t.calculateCodePoint=function(t){return t<128?1:t<2048?2:t<65536?3:4},t.calculateUTF8=function(t){for(var e,r=0;null!==(e=t());)r+=e<128?1:e<2048?2:e<65536?3:4;return r},t.calculateUTF16asUTF8=function(e){var r=0,n=0;return t.UTF16toUTF8(e,function(t){++r,n+=t<128?1:t<2048?2:t<65536?3:4}),[r,n]},t}();return a.toUTF8=function(t,e){if("undefined"==typeof t&&(t=this.offset),"undefined"==typeof e&&(e=this.limit),!this.noAssert){if("number"!=typeof t||t%1!==0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof e||e%1!==0)throw TypeError("Illegal end: Not an integer");if(e>>>=0,t<0||t>e||e>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+e+" <= "+this.buffer.byteLength)}var n;try{l.decodeUTF8toUTF16(function(){return t<e?this.view[t++]:null}.bind(this),n=r())}catch(r){if(t!==e)throw RangeError("Illegal range: Truncated data, "+t+" != "+e)}return n()},o.fromUTF8=function(t,r,n){if(!n&&"string"!=typeof t)throw TypeError("Illegal str: Not a string");var i=new o(l.calculateUTF16asUTF8(e(t),!0)[1],r,n),s=0;return l.encodeUTF16toUTF8(e(t),function(t){i.view[s++]=t}),i.limit=s,i},o})}).call(e,r(64)(t))},function(t,e){t.exports=function(){throw new Error("define cannot be used indirect")}},function(t,e,r){var n,i,o;(function(t){"use strict";var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(a,u){r(154).amd?(i=[],n=u,o="function"==typeof n?n.apply(e,i):n,!(void 0!==o&&(t.exports=o))):"object"===s(t)&&t&&t.exports?t.exports=u():(a.dcodeIO=a.dcodeIO||{}).Long=u()}(void 0,function(){function t(t,e,r){this.low=0|t,this.high=0|e,this.unsigned=!!r}function e(t){return(t&&t.__isLong__)===!0}function r(t,e){var r,n,o;return e?(t>>>=0,(o=0<=t&&t<256)&&(n=u[t])?n:(r=i(t,(0|t)<0?-1:0,!0),o&&(u[t]=r),r)):(t|=0,(o=-128<=t&&t<128)&&(n=a[t])?n:(r=i(t,t<0?-1:0,!1),o&&(a[t]=r),r))}function n(t,e){if(isNaN(t)||!isFinite(t))return e?y:_;if(e){if(t<0)return y;if(t>=h)return w}else{if(t<=-p)return E;if(t+1>=p)return b}return t<0?n(-t,e).neg():i(t%l|0,t/l|0,e)}function i(e,r,n){return new t(e,r,n)}function o(t,e,r){if(0===t.length)throw Error("empty string");if("NaN"===t||"Infinity"===t||"+Infinity"===t||"-Infinity"===t)return _;if("number"==typeof e?(r=e,e=!1):e=!!e,r=r||10,r<2||36<r)throw RangeError("radix");var i;if((i=t.indexOf("-"))>0)throw Error("interior hyphen");if(0===i)return o(t.substring(1),e,r).neg();for(var s=n(f(r,8)),a=_,u=0;u<t.length;u+=8){var c=Math.min(8,t.length-u),l=parseInt(t.substring(u,u+c),r);if(c<8){var h=n(f(r,c));a=a.mul(h).add(n(l))}else a=a.mul(s),a=a.add(n(l))}return a.unsigned=e,a}function s(e){return e instanceof t?e:"number"==typeof e?n(e):"string"==typeof e?o(e):i(e.low,e.high,e.unsigned)}t.prototype.__isLong__,Object.defineProperty(t.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1}),t.isLong=e;var a={},u={};t.fromInt=r,t.fromNumber=n,t.fromBits=i;var f=Math.pow;t.fromString=o,t.fromValue=s;var c=1<<24,l=4294967296,h=0x10000000000000000,p=h/2,d=r(c),_=r(0);t.ZERO=_;var y=r(0,!0);t.UZERO=y;var v=r(1);t.ONE=v;var g=r(1,!0);t.UONE=g;var m=r(-1);t.NEG_ONE=m;var b=i(-1,2147483647,!1);t.MAX_VALUE=b;var w=i(-1,-1,!0);t.MAX_UNSIGNED_VALUE=w;var E=i(0,-2147483648,!1);t.MIN_VALUE=E;var k=t.prototype;return k.toInt=function(){return this.unsigned?this.low>>>0:this.low},k.toNumber=function(){return this.unsigned?(this.high>>>0)*l+(this.low>>>0):this.high*l+(this.low>>>0)},k.toString=function(t){if(t=t||10,t<2||36<t)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(E)){var e=n(t),r=this.div(e),i=r.mul(e).sub(this);return r.toString(t)+i.toInt().toString(t)}return"-"+this.neg().toString(t)}for(var o=n(f(t,6),this.unsigned),s=this,a="";;){var u=s.div(o),c=s.sub(u.mul(o)).toInt()>>>0,l=c.toString(t);if(s=u,s.isZero())return l+a;for(;l.length<6;)l="0"+l;a=""+l+a}},k.getHighBits=function(){return this.high},k.getHighBitsUnsigned=function(){return this.high>>>0},k.getLowBits=function(){return this.low},k.getLowBitsUnsigned=function(){return this.low>>>0},k.getNumBitsAbs=function(){if(this.isNegative())return this.eq(E)?64:this.neg().getNumBitsAbs();for(var t=0!=this.high?this.high:this.low,e=31;e>0&&0==(t&1<<e);e--);return 0!=this.high?e+33:e+1},k.isZero=function(){return 0===this.high&&0===this.low},k.isNegative=function(){return!this.unsigned&&this.high<0},k.isPositive=function(){return this.unsigned||this.high>=0},k.isOdd=function(){return 1===(1&this.low)},k.isEven=function(){return 0===(1&this.low)},k.equals=function(t){return e(t)||(t=s(t)),(this.unsigned===t.unsigned||this.high>>>31!==1||t.high>>>31!==1)&&(this.high===t.high&&this.low===t.low)},k.eq=k.equals,k.notEquals=function(t){return!this.eq(t)},k.neq=k.notEquals,k.lessThan=function(t){return this.comp(t)<0},k.lt=k.lessThan,k.lessThanOrEqual=function(t){return this.comp(t)<=0},k.lte=k.lessThanOrEqual,k.greaterThan=function(t){return this.comp(t)>0},k.gt=k.greaterThan,k.greaterThanOrEqual=function(t){return this.comp(t)>=0},k.gte=k.greaterThanOrEqual,k.compare=function(t){if(e(t)||(t=s(t)),this.eq(t))return 0;var r=this.isNegative(),n=t.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1:this.sub(t).isNegative()?-1:1},k.comp=k.compare,k.negate=function(){return!this.unsigned&&this.eq(E)?E:this.not().add(v)},k.neg=k.negate,k.add=function(t){e(t)||(t=s(t));var r=this.high>>>16,n=65535&this.high,o=this.low>>>16,a=65535&this.low,u=t.high>>>16,f=65535&t.high,c=t.low>>>16,l=65535&t.low,h=0,p=0,d=0,_=0;return _+=a+l,d+=_>>>16,_&=65535,d+=o+c,p+=d>>>16,d&=65535,p+=n+f,h+=p>>>16,p&=65535,h+=r+u,h&=65535,i(d<<16|_,h<<16|p,this.unsigned)},k.subtract=function(t){return e(t)||(t=s(t)),this.add(t.neg())},k.sub=k.subtract,k.multiply=function(t){if(this.isZero())return _;if(e(t)||(t=s(t)),t.isZero())return _;if(this.eq(E))return t.isOdd()?E:_;if(t.eq(E))return this.isOdd()?E:_;if(this.isNegative())return t.isNegative()?this.neg().mul(t.neg()):this.neg().mul(t).neg();if(t.isNegative())return this.mul(t.neg()).neg();if(this.lt(d)&&t.lt(d))return n(this.toNumber()*t.toNumber(),this.unsigned);var r=this.high>>>16,o=65535&this.high,a=this.low>>>16,u=65535&this.low,f=t.high>>>16,c=65535&t.high,l=t.low>>>16,h=65535&t.low,p=0,y=0,v=0,g=0;return g+=u*h,v+=g>>>16,g&=65535,v+=a*h,y+=v>>>16,v&=65535,v+=u*l,y+=v>>>16,v&=65535,y+=o*h,p+=y>>>16,y&=65535,y+=a*l,p+=y>>>16,y&=65535,y+=u*c,p+=y>>>16,y&=65535,p+=r*h+o*l+a*c+u*f,p&=65535,i(v<<16|g,p<<16|y,this.unsigned)},k.mul=k.multiply,k.divide=function(t){if(e(t)||(t=s(t)),t.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?y:_;var r,i,o;if(this.unsigned){if(t.unsigned||(t=t.toUnsigned()),t.gt(this))return y;if(t.gt(this.shru(1)))return g;o=y}else{if(this.eq(E)){if(t.eq(v)||t.eq(m))return E;if(t.eq(E))return v;var a=this.shr(1);return r=a.div(t).shl(1),r.eq(_)?t.isNegative()?v:m:(i=this.sub(t.mul(r)),o=r.add(i.div(t)))}if(t.eq(E))return this.unsigned?y:_;if(this.isNegative())return t.isNegative()?this.neg().div(t.neg()):this.neg().div(t).neg();if(t.isNegative())return this.div(t.neg()).neg();o=_}for(i=this;i.gte(t);){r=Math.max(1,Math.floor(i.toNumber()/t.toNumber()));for(var u=Math.ceil(Math.log(r)/Math.LN2),c=u<=48?1:f(2,u-48),l=n(r),h=l.mul(t);h.isNegative()||h.gt(i);)r-=c,l=n(r,this.unsigned),h=l.mul(t);l.isZero()&&(l=v),o=o.add(l),i=i.sub(h)}return o},k.div=k.divide,k.modulo=function(t){return e(t)||(t=s(t)),this.sub(this.div(t).mul(t))},k.mod=k.modulo,k.not=function(){return i(~this.low,~this.high,this.unsigned)},k.and=function(t){return e(t)||(t=s(t)),i(this.low&t.low,this.high&t.high,this.unsigned)},k.or=function(t){return e(t)||(t=s(t)),i(this.low|t.low,this.high|t.high,this.unsigned)},k.xor=function(t){return e(t)||(t=s(t)),i(this.low^t.low,this.high^t.high,this.unsigned)},k.shiftLeft=function(t){return e(t)&&(t=t.toInt()),0===(t&=63)?this:t<32?i(this.low<<t,this.high<<t|this.low>>>32-t,this.unsigned):i(0,this.low<<t-32,this.unsigned)},k.shl=k.shiftLeft,k.shiftRight=function(t){return e(t)&&(t=t.toInt()),0===(t&=63)?this:t<32?i(this.low>>>t|this.high<<32-t,this.high>>t,this.unsigned):i(this.high>>t-32,this.high>=0?0:-1,this.unsigned)},k.shr=k.shiftRight,k.shiftRightUnsigned=function(t){if(e(t)&&(t=t.toInt()),t&=63,0===t)return this;var r=this.high;if(t<32){var n=this.low;return i(n>>>t|r<<32-t,r>>>t,this.unsigned)}return 32===t?i(r,0,this.unsigned):i(r>>>t-32,0,this.unsigned)},k.shru=k.shiftRightUnsigned,k.toSigned=function(){return this.unsigned?i(this.low,this.high,!1):this},k.toUnsigned=function(){return this.unsigned?this:i(this.low,this.high,!0)},k.toBytes=function(t){return t?this.toBytesLE():this.toBytesBE()},k.toBytesLE=function(){var t=this.high,e=this.low;return[255&e,e>>>8&255,e>>>16&255,e>>>24&255,255&t,t>>>8&255,t>>>16&255,t>>>24&255]},k.toBytesBE=function(){var t=this.high,e=this.low;return[t>>>24&255,t>>>16&255,t>>>8&255,255&t,e>>>24&255,e>>>16&255,e>>>8&255,255&e]},t})}).call(e,r(64)(t))},function(t,e,r){"use strict";function n(){return Object.keys(s)}var i=r(157),o=r(176),s=r(168);e.createCipher=e.Cipher=i.createCipher,e.createCipheriv=e.Cipheriv=i.createCipheriv,e.createDecipher=e.Decipher=o.createDecipher,e.createDecipheriv=e.Decipheriv=o.createDecipheriv,e.listCiphers=e.getCiphers=n},function(t,e,r){"use strict";function n(t,e,r){l.call(this),this._cache=new i,this._cipher=new h.AES(e),this._prev=f.from(r),this._mode=t,this._autopadding=!0}function i(){this.cache=f.allocUnsafe(0)}function o(t,e,r){var i=a[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=f.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=f.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===i.type?new c(i.module,e,r):"auth"===i.type?new u(i.module,e,r):new n(i.module,e,r)}function s(t,e){var r=a[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=p(e,!1,r.key,r.iv);return o(t,n.key,n.iv)}var a=r(158),u=r(169),f=r(121).Buffer,c=r(172),l=r(145),h=r(170),p=r(173),d=r(111);d(n,l),n.prototype._update=function(t){this._cache.add(t);for(var e,r,n=[];e=this._cache.get();)r=this._mode.encrypt(this,e),n.push(r);return f.concat(n)};var _=f.alloc(16,16);n.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(_))throw this._cipher.scrub(),new Error("data not multiple of block length")},n.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},i.prototype.add=function(t){this.cache=f.concat([this.cache,t])},i.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},i.prototype.flush=function(){for(var t=16-this.cache.length,e=f.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return f.concat([this.cache,e])},e.createCipheriv=o,e.createCipher=s},function(t,e,r){"use strict";var n={ECB:r(159),CBC:r(160),CFB:r(162),CFB8:r(163),CFB1:r(164),OFB:r(165),CTR:r(166),GCM:r(166)},i=r(168);for(var o in i)i[o].module=n[i[o].mode];t.exports=i},function(t,e){"use strict";e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},function(t,e,r){"use strict";var n=r(161);e.encrypt=function(t,e){var r=n(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return n(i,r)}},function(t,e,r){(function(e){"use strict";t.exports=function(t,r){for(var n=Math.min(t.length,r.length),i=new e(n),o=0;o<n;++o)i[o]=t[o]^r[o];return i}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";function n(t,e,r){var n=e.length,s=o(e,t._cache);return t._cache=t._cache.slice(n),t._prev=i.concat([t._prev,r?e:s]),s}var i=r(121).Buffer,o=r(161);e.encrypt=function(t,e,r){for(var o,s=i.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=i.allocUnsafe(0)),!(t._cache.length<=e.length)){s=i.concat([s,n(t,e,r)]);break}o=t._cache.length,s=i.concat([s,n(t,e.slice(0,o),r)]),e=e.slice(o)}return s}},function(t,e,r){"use strict";function n(t,e,r){var n=t._cipher.encryptBlock(t._prev),o=n[0]^e;return t._prev=i.concat([t._prev.slice(1),i.from([r?e:o])]),o}var i=r(121).Buffer;e.encrypt=function(t,e,r){for(var o=e.length,s=i.allocUnsafe(o),a=-1;++a<o;)s[a]=n(t,e[a],r);return s}},function(t,e,r){"use strict";function n(t,e,r){for(var n,o,s,a=-1,u=8,f=0;++a<u;)n=t._cipher.encryptBlock(t._prev),o=e&1<<7-a?128:0,s=n[0]^o,f+=(128&s)>>a%8,t._prev=i(t._prev,r?o:s);return f}function i(t,e){var r=t.length,n=-1,i=o.allocUnsafe(t.length);for(t=o.concat([t,o.from([e])]);++n<r;)i[n]=t[n]<<1|t[n+1]>>7;return i}var o=r(121).Buffer;e.encrypt=function(t,e,r){for(var i=e.length,s=o.allocUnsafe(i),a=-1;++a<i;)s[a]=n(t,e[a],r);return s}},function(t,e,r){(function(t){"use strict";function n(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}var i=r(161);e.encrypt=function(e,r){for(;e._cache.length<r.length;)e._cache=t.concat([e._cache,n(e)]);var o=e._cache.slice(0,r.length);return e._cache=e._cache.slice(r.length),i(r,o)}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";function n(t){var e=t._cipher.encryptBlockRaw(t._prev);return s(t._prev),e}var i=r(161),o=r(121).Buffer,s=r(167),a=16;e.encrypt=function(t,e){var r=Math.ceil(e.length/a),s=t._cache.length;t._cache=o.concat([t._cache,o.allocUnsafe(r*a)]);for(var u=0;u<r;u++){var f=n(t),c=s+u*a;t._cache.writeUInt32BE(f[0],c+0),t._cache.writeUInt32BE(f[1],c+4),t._cache.writeUInt32BE(f[2],c+8),t._cache.writeUInt32BE(f[3],c+12)}var l=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),i(e,l)}},function(t,e){"use strict";function r(t){for(var e,r=t.length;r--;){if(e=t.readUInt8(r),255!==e){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}t.exports=r},function(t,e){t.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},function(t,e,r){"use strict";function n(t,e){var r=0;t.length!==e.length&&r++;for(var n=Math.min(t.length,e.length),i=0;i<n;++i)r+=t[i]^e[i];return r}function i(t,e,r){if(12===e.length)return t._finID=a.concat([e,a.from([0,0,0,1])]),a.concat([e,a.from([0,0,0,2])]);var n=new c(r),i=e.length,o=i%16;n.update(e),o&&(o=16-o,n.update(a.alloc(o,0))),n.update(a.alloc(8,0));var s=8*i,u=a.alloc(8);u.writeUIntBE(s,0,8),n.update(u),t._finID=n.state;var f=a.from(t._finID);return h(f),f}function o(t,e,r,n){u.call(this);var o=a.alloc(4,0);this._cipher=new s.AES(e);var f=this._cipher.encryptBlock(o);this._ghash=new c(f),r=i(this,r,f),this._prev=a.from(r),this._cache=a.allocUnsafe(0),this._secCache=a.allocUnsafe(0),this._decrypt=n,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}var s=r(170),a=r(121).Buffer,u=r(145),f=r(111),c=r(171),l=r(161),h=r(167);f(o,u),o.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=a.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},o.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&n(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},o.prototype.getAuthTag=function(){if(this._decrypt||!a.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},o.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},o.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length},t.exports=o},function(t,e,r){"use strict";function n(t){a.isBuffer(t)||(t=a.from(t));for(var e=t.length/4|0,r=new Array(e),n=0;n<e;n++)r[n]=t.readUInt32BE(4*n);return r}function i(t){for(var e=0;e<t.length;t++)t[e]=0}function o(t,e,r,n,i){for(var o,s,a,u,f=r[0],c=r[1],l=r[2],h=r[3],p=t[0]^e[0],d=t[1]^e[1],_=t[2]^e[2],y=t[3]^e[3],v=4,g=1;g<i;g++)o=f[p>>>24]^c[d>>>16&255]^l[_>>>8&255]^h[255&y]^e[v++],s=f[d>>>24]^c[_>>>16&255]^l[y>>>8&255]^h[255&p]^e[v++],a=f[_>>>24]^c[y>>>16&255]^l[p>>>8&255]^h[255&d]^e[v++],u=f[y>>>24]^c[p>>>16&255]^l[d>>>8&255]^h[255&_]^e[v++],p=o,d=s,_=a,y=u;return o=(n[p>>>24]<<24|n[d>>>16&255]<<16|n[_>>>8&255]<<8|n[255&y])^e[v++],s=(n[d>>>24]<<24|n[_>>>16&255]<<16|n[y>>>8&255]<<8|n[255&p])^e[v++],a=(n[_>>>24]<<24|n[y>>>16&255]<<16|n[p>>>8&255]<<8|n[255&d])^e[v++],u=(n[y>>>24]<<24|n[p>>>16&255]<<16|n[d>>>8&255]<<8|n[255&_])^e[v++],o>>>=0,s>>>=0,a>>>=0,u>>>=0,[o,s,a,u]}function s(t){this._key=n(t),this._reset()}var a=r(121).Buffer,u=[0,1,2,4,8,16,32,64,128,27,54],f=function(){for(var t=new Array(256),e=0;e<256;e++)e<128?t[e]=e<<1:t[e]=e<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,u=0;u<256;++u){var f=a^a<<1^a<<2^a<<3^a<<4;f=f>>>8^255&f^99,r[s]=f,n[f]=s;var c=t[s],l=t[c],h=t[l],p=257*t[f]^16843008*f;i[0][s]=p<<24|p>>>8,i[1][s]=p<<16|p>>>16,i[2][s]=p<<8|p>>>24,i[3][s]=p,p=16843009*h^65537*l^257*c^16843008*s,o[0][f]=p<<24|p>>>8,o[1][f]=p<<16|p>>>16,o[2][f]=p<<8|p>>>24,o[3][f]=p,0===s?s=a=1:(s=c^t[t[t[h^c]]],a^=t[t[a]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();s.blockSize=16,s.keySize=32,s.prototype.blockSize=s.blockSize,s.prototype.keySize=s.keySize,s.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,n=4*(r+1),i=[],o=0;o<e;o++)i[o]=t[o];for(o=e;o<n;o++){var s=i[o-1];o%e===0?(s=s<<8|s>>>24,s=f.SBOX[s>>>24]<<24|f.SBOX[s>>>16&255]<<16|f.SBOX[s>>>8&255]<<8|f.SBOX[255&s],s^=u[o/e|0]<<24):e>6&&o%e===4&&(s=f.SBOX[s>>>24]<<24|f.SBOX[s>>>16&255]<<16|f.SBOX[s>>>8&255]<<8|f.SBOX[255&s]),i[o]=i[o-e]^s}for(var a=[],c=0;c<n;c++){var l=n-c,h=i[l-(c%4?0:4)];c<4||l<=4?a[c]=h:a[c]=f.INV_SUB_MIX[0][f.SBOX[h>>>24]]^f.INV_SUB_MIX[1][f.SBOX[h>>>16&255]]^f.INV_SUB_MIX[2][f.SBOX[h>>>8&255]]^f.INV_SUB_MIX[3][f.SBOX[255&h]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=a},s.prototype.encryptBlockRaw=function(t){return t=n(t),o(t,this._keySchedule,f.SUB_MIX,f.SBOX,this._nRounds)},s.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=a.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},s.prototype.decryptBlock=function(t){t=n(t);var e=t[1];t[1]=t[3],t[3]=e;var r=o(t,this._invKeySchedule,f.INV_SUB_MIX,f.INV_SBOX,this._nRounds),i=a.allocUnsafe(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[3],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[1],12),i},s.prototype.scrub=function(){i(this._keySchedule),i(this._invKeySchedule),i(this._key)},t.exports.AES=s},function(t,e,r){"use strict";function n(t){return[t.readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)]}function i(t){var e=s.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function o(t){this.h=t,this.state=s.alloc(16,0),this.cache=s.allocUnsafe(0)}var s=r(121).Buffer,a=s.alloc(16,0);o.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},o.prototype._multiply=function(){for(var t,e,r,o=n(this.h),s=[0,0,0,0],a=-1;++a<128;){for(e=0!==(this.state[~~(a/8)]&1<<7-a%8),e&&(s[0]^=o[0],s[1]^=o[1],s[2]^=o[2],s[3]^=o[3]),r=0!==(1&o[3]),t=3;t>0;t--)o[t]=o[t]>>>1|(1&o[t-1])<<31;o[0]=o[0]>>>1,r&&(o[0]=o[0]^225<<24)}this.state=i(s)},o.prototype.update=function(t){this.cache=s.concat([this.cache,t]);for(var e;this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},o.prototype.final=function(t,e){return this.cache.length&&this.ghash(s.concat([this.cache,a],16)),this.ghash(i([0,t,0,e])),this.state},t.exports=o},function(t,e,r){"use strict";function n(t,e,r,n){s.call(this),this._cipher=new i.AES(e),this._prev=o.from(r),this._cache=o.allocUnsafe(0),this._secCache=o.allocUnsafe(0),this._decrypt=n,this._mode=t}var i=r(170),o=r(121).Buffer,s=r(145),a=r(111);a(n,s),n.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},n.prototype._final=function(){this._cipher.scrub()},t.exports=n},function(t,e,r){"use strict";function n(t,e,r,n){if(i.isBuffer(t)||(t=i.from(t,"binary")),e&&(i.isBuffer(e)||(e=i.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=r/8,a=i.alloc(s),u=i.alloc(n||0),f=i.alloc(0);s>0||n>0;){var c=new o;c.update(f),c.update(t),e&&c.update(e),f=c.digest();var l=0;if(s>0){var h=a.length-s;l=Math.min(s,f.length),f.copy(a,h,0,l),s-=l}if(l<f.length&&n>0){var p=u.length-n,d=Math.min(n,f.length-l);f.copy(u,p,l,l+d),n-=d}}return f.fill(0),{key:a,iv:u}}var i=r(121).Buffer,o=r(174);t.exports=n},function(t,e,r){(function(e){"use strict";function n(){c.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function i(t,e){return t<<e|t>>>32-e}function o(t,e,r,n,o,s,a){return i(t+(e&r|~e&n)+o+s|0,a)+e|0}function s(t,e,r,n,o,s,a){return i(t+(e&n|r&~n)+o+s|0,a)+e|0}function a(t,e,r,n,o,s,a){return i(t+(e^r^n)+o+s|0,a)+e|0}function u(t,e,r,n,o,s,a){return i(t+(r^(e|~n))+o+s|0,a)+e|0}var f=r(111),c=r(175),l=new Array(16);f(n,c),n.prototype._update=function(){for(var t=l,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,n=this._b,i=this._c,f=this._d;r=o(r,n,i,f,t[0],3614090360,7),f=o(f,r,n,i,t[1],3905402710,12),i=o(i,f,r,n,t[2],606105819,17),n=o(n,i,f,r,t[3],3250441966,22),r=o(r,n,i,f,t[4],4118548399,7),f=o(f,r,n,i,t[5],1200080426,12),i=o(i,f,r,n,t[6],2821735955,17),n=o(n,i,f,r,t[7],4249261313,22),r=o(r,n,i,f,t[8],1770035416,7),f=o(f,r,n,i,t[9],2336552879,12),i=o(i,f,r,n,t[10],4294925233,17),n=o(n,i,f,r,t[11],2304563134,22),r=o(r,n,i,f,t[12],1804603682,7),f=o(f,r,n,i,t[13],4254626195,12),i=o(i,f,r,n,t[14],2792965006,17),n=o(n,i,f,r,t[15],1236535329,22),r=s(r,n,i,f,t[1],4129170786,5),f=s(f,r,n,i,t[6],3225465664,9),i=s(i,f,r,n,t[11],643717713,14),n=s(n,i,f,r,t[0],3921069994,20),r=s(r,n,i,f,t[5],3593408605,5),f=s(f,r,n,i,t[10],38016083,9),i=s(i,f,r,n,t[15],3634488961,14),n=s(n,i,f,r,t[4],3889429448,20),r=s(r,n,i,f,t[9],568446438,5),f=s(f,r,n,i,t[14],3275163606,9), +i=s(i,f,r,n,t[3],4107603335,14),n=s(n,i,f,r,t[8],1163531501,20),r=s(r,n,i,f,t[13],2850285829,5),f=s(f,r,n,i,t[2],4243563512,9),i=s(i,f,r,n,t[7],1735328473,14),n=s(n,i,f,r,t[12],2368359562,20),r=a(r,n,i,f,t[5],4294588738,4),f=a(f,r,n,i,t[8],2272392833,11),i=a(i,f,r,n,t[11],1839030562,16),n=a(n,i,f,r,t[14],4259657740,23),r=a(r,n,i,f,t[1],2763975236,4),f=a(f,r,n,i,t[4],1272893353,11),i=a(i,f,r,n,t[7],4139469664,16),n=a(n,i,f,r,t[10],3200236656,23),r=a(r,n,i,f,t[13],681279174,4),f=a(f,r,n,i,t[0],3936430074,11),i=a(i,f,r,n,t[3],3572445317,16),n=a(n,i,f,r,t[6],76029189,23),r=a(r,n,i,f,t[9],3654602809,4),f=a(f,r,n,i,t[12],3873151461,11),i=a(i,f,r,n,t[15],530742520,16),n=a(n,i,f,r,t[2],3299628645,23),r=u(r,n,i,f,t[0],4096336452,6),f=u(f,r,n,i,t[7],1126891415,10),i=u(i,f,r,n,t[14],2878612391,15),n=u(n,i,f,r,t[5],4237533241,21),r=u(r,n,i,f,t[12],1700485571,6),f=u(f,r,n,i,t[3],2399980690,10),i=u(i,f,r,n,t[10],4293915773,15),n=u(n,i,f,r,t[1],2240044497,21),r=u(r,n,i,f,t[8],1873313359,6),f=u(f,r,n,i,t[15],4264355552,10),i=u(i,f,r,n,t[6],2734768916,15),n=u(n,i,f,r,t[13],1309151649,21),r=u(r,n,i,f,t[4],4149444226,6),f=u(f,r,n,i,t[11],3174756917,10),i=u(i,f,r,n,t[2],718787259,15),n=u(n,i,f,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+f|0},n.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=new e(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t},t.exports=n}).call(e,r(99).Buffer)},function(t,e,r){"use strict";function n(t,e){if(!o.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}function i(t){s.call(this),this._block=o.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}var o=r(121).Buffer,s=r(116).Transform,a=r(111);a(i,s),i.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(t){n=t}r(n)},i.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},i.prototype.update=function(t,e){if(n(t,"Data"),this._finalized)throw new Error("Digest already called");o.isBuffer(t)||(t=o.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var s=this._blockOffset;s<this._blockSize;)r[s++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)r[this._blockOffset++]=t[i++];for(var a=0,u=8*t.length;u>0;++a)this._length[a]+=u,u=this._length[a]/4294967296|0,u>0&&(this._length[a]-=4294967296*u);return this},i.prototype._update=function(){throw new Error("_update is not implemented")},i.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},i.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=i},function(t,e,r){"use strict";function n(t,e,r){h.call(this),this._cache=new i,this._last=void 0,this._cipher=new p.AES(e),this._prev=f.from(r),this._mode=t,this._autopadding=!0}function i(){this.cache=f.allocUnsafe(0)}function o(t){for(var e=t[15],r=-1;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16!==e)return t.slice(0,16-e)}function s(t,e,r){var i=c[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=f.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=f.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===i.type?new l(i.module,e,r,!0):"auth"===i.type?new u(i.module,e,r,!0):new n(i.module,e,r)}function a(t,e){var r=c[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=d(e,!1,r.key,r.iv);return s(t,n.key,n.iv)}var u=r(169),f=r(121).Buffer,c=r(158),l=r(172),h=r(145),p=r(170),d=r(173),_=r(111);_(n,h),n.prototype._update=function(t){this._cache.add(t);for(var e,r,n=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),n.push(r);return f.concat(n)},n.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return o(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},n.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},i.prototype.add=function(t){this.cache=f.concat([this.cache,t])},i.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},i.prototype.flush=function(){if(this.cache.length)return this.cache},e.createDecipher=a,e.createDecipheriv=s},function(t,e,r){(function(e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=r(178),s=r(182),a=s.getCurveByName("secp256k1");o=r(178);var u=r(148),f=r(109),c=r(42),l=r(105),h=a.G,p=a.n,d=function(){function t(e){n(this,t),this.Q=e}return i(t,[{key:"toBuffer",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.Q?this.Q.compressed:null;return null===this.Q?e.from("000000000000000000000000000000000000000000000000000000000000000000","hex"):this.Q.getEncoded(t)}},{key:"toUncompressed",value:function(){var e=this.Q.getEncoded(!1),r=s.Point.decodeFrom(a,e);return t.fromPoint(r)}},{key:"toBlockchainAddress",value:function(){var t=this.toBuffer(),e=f.sha512(t);return f.ripemd160(e)}},{key:"toString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.get("address_prefix");return this.toPublicKeyString(t)}},{key:"toPublicKeyString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.get("address_prefix");if(this.pubdata)return t+this.pubdata;var r=this.toBuffer(),n=f.ripemd160(r),i=e.concat([r,n.slice(0,4)]);return this.pubdata=u.encode(i),t+this.pubdata}},{key:"toAddressString",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c.get("address_prefix"),r=this.toBuffer(),n=f.sha512(r),i=f.ripemd160(n),o=f.ripemd160(i);return i=e.concat([i,o.slice(0,4)]),t+u.encode(i)}},{key:"toPtsAddy",value:function(){var t=this.toBuffer(),r=f.sha256(t),n=f.ripemd160(r);n=e.concat([new e([56]),n]);var i=f.sha256(n);return i=f.sha256(i),n=e.concat([n,i.slice(0,4)]),u.encode(n)}},{key:"child",value:function(r){l(e.isBuffer(r),"Buffer required: offset"),l.equal(r.length,32,"offset length"),r=e.concat([this.toBuffer(),r]),r=f.sha256(r);var n=o.fromBuffer(r);if(n.compareTo(p)>=0)throw new Error("Child offset went out of bounds, try again");var i=h.multiply(n),s=this.Q.add(i);if(a.isInfinity(s))throw new Error("Child offset derived to an invalid key, try again");return t.fromPoint(s)}},{key:"toHex",value:function(){return this.toBuffer().toString("hex")}}],[{key:"fromBinary",value:function(r){return t.fromBuffer(new e(r,"binary"))}},{key:"fromBuffer",value:function(e){return new t("000000000000000000000000000000000000000000000000000000000000000000"===e.toString("hex")?null:s.Point.decodeFrom(a,e))}},{key:"fromPoint",value:function(e){return new t(e)}},{key:"fromString",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.get("address_prefix");try{return t.fromStringOrThrow(e,r)}catch(t){return null}}},{key:"fromStringOrThrow",value:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.get("address_prefix"),i=r.slice(0,n.length);l.equal(n,i,"Expecting key to begin with "+n+", instead got "+i),r=r.slice(n.length),r=new e(u.decode(r),"binary");var o=r.slice(-4);r=r.slice(0,-4);var s=f.ripemd160(r);return s=s.slice(0,4),l.deepEqual(o,s,"Checksum did not match"),t.fromBuffer(r)}},{key:"fromHex",value:function(r){return t.fromBuffer(new e(r,"hex"))}},{key:"fromStringHex",value:function(r){return t.fromString(new e(r,"hex"))}}]),t}();t.exports=d}).call(e,r(99).Buffer)},function(t,e,r){"use strict";var n=r(179);r(181),t.exports=n},function(t,e,r){"use strict";function n(t,e,r){return this instanceof n?void(null!=t&&("number"==typeof t?this.fromNumber(t,e,r):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))):new n(t,e,r)}function i(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i}function o(t){return oe.charAt(t)}function s(t,e){var r=se[t.charCodeAt(e)];return null==r?-1:r}function a(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s}function u(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+ee:this.t=0}function f(t){var e=new n;return e.fromInt(t),e}function c(t,e){var r,i=this;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void i.fromRadix(t,e);r=2}i.t=0,i.s=0;for(var o=t.length,a=!1,u=0;--o>=0;){var f=8==r?255&t[o]:s(t,o);f<0?"-"==t.charAt(o)&&(a=!0):(a=!1,0==u?i[i.t++]=f:u+r>i.DB?(i[i.t-1]|=(f&(1<<i.DB-u)-1)<<u,i[i.t++]=f>>i.DB-u):i[i.t-1]|=f<<u,u+=r,u>=i.DB&&(u-=i.DB))}8==r&&0!=(128&t[0])&&(i.s=-1,u>0&&(i[i.t-1]|=(1<<i.DB-u)-1<<u)),i.clamp(),a&&n.ZERO.subTo(i,i)}function l(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t}function h(t){var e=this;if(e.s<0)return"-"+e.negate().toString(t);var r;if(16==t)r=4;else if(8==t)r=3;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return e.toRadix(t);r=2}var n,i=(1<<r)-1,s=!1,a="",u=e.t,f=e.DB-u*e.DB%r;if(u-- >0)for(f<e.DB&&(n=e[u]>>f)>0&&(s=!0,a=o(n));u>=0;)f<r?(n=(e[u]&(1<<f)-1)<<r-f,n|=e[--u]>>(f+=e.DB-r)):(n=e[u]>>(f-=r)&i,f<=0&&(f+=e.DB,--u)),n>0&&(s=!0),s&&(a+=o(n));return s?a:"0"}function p(){var t=new n;return n.ZERO.subTo(this,t),t}function d(){return this.s<0?this.negate():this}function _(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(e=r-t.t,0!=e)return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0}function y(t){var e,r=1;return 0!=(e=t>>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function v(){return this.t<=0?0:this.DB*(this.t-1)+y(this[this.t-1]^this.s&this.DM)}function g(){return this.bitLength()>>3}function m(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s}function b(t,e){for(var r=t;r<this.t;++r)e[r-t]=this[r];e.t=Math.max(this.t-t,0),e.s=this.s}function w(t,e){var r,n=this,i=t%n.DB,o=n.DB-i,s=(1<<o)-1,a=Math.floor(t/n.DB),u=n.s<<i&n.DM;for(r=n.t-1;r>=0;--r)e[r+a+1]=n[r]>>o|u,u=(n[r]&s)<<i;for(r=a-1;r>=0;--r)e[r]=0;e[a]=u,e.t=n.t+a+1,e.s=n.s,e.clamp()}function E(t,e){var r=this;e.s=r.s;var n=Math.floor(t/r.DB);if(n>=r.t)return void(e.t=0);var i=t%r.DB,o=r.DB-i,s=(1<<i)-1;e[0]=r[n]>>i;for(var a=n+1;a<r.t;++a)e[a-n-1]|=(r[a]&s)<<o,e[a-n]=r[a]>>i;i>0&&(e[r.t-n-1]|=(r.s&s)<<o),e.t=r.t-n,e.clamp()}function k(t,e){for(var r=this,n=0,i=0,o=Math.min(t.t,r.t);n<o;)i+=r[n]-t[n],e[n++]=i&r.DM,i>>=r.DB;if(t.t<r.t){for(i-=t.s;n<r.t;)i+=r[n],e[n++]=i&r.DM,i>>=r.DB;i+=r.s}else{for(i+=r.s;n<t.t;)i-=t[n],e[n++]=i&r.DM,i>>=r.DB;i-=t.s}e.s=i<0?-1:0,i<-1?e[n++]=r.DV+i:i>0&&(e[n++]=i),e.t=n,e.clamp()}function S(t,e){var r=this.abs(),i=t.abs(),o=r.t;for(e.t=o+i.t;--o>=0;)e[o]=0;for(o=0;o<i.t;++o)e[o+r.t]=r.am(0,i[o],e,o,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&n.ZERO.subTo(e,e)}function B(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e[r],t,2*r,0,1);(t[r+e.t]+=e.am(r+1,2*e[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()}function T(t,e,r){var i=this,o=t.abs();if(!(o.t<=0)){var s=i.abs();if(s.t<o.t)return null!=e&&e.fromInt(0),void(null!=r&&i.copyTo(r));null==r&&(r=new n);var a=new n,u=i.s,f=t.s,c=i.DB-y(o[o.t-1]);c>0?(o.lShiftTo(c,a),s.lShiftTo(c,r)):(o.copyTo(a),s.copyTo(r));var l=a.t,h=a[l-1];if(0!=h){var p=h*(1<<i.F1)+(l>1?a[l-2]>>i.F2:0),d=i.FV/p,_=(1<<i.F1)/p,v=1<<i.F2,g=r.t,m=g-l,b=null==e?new n:e;for(a.dlShiftTo(m,b),r.compareTo(b)>=0&&(r[r.t++]=1,r.subTo(b,r)),n.ONE.dlShiftTo(l,b),b.subTo(a,a);a.t<l;)a[a.t++]=0;for(;--m>=0;){var w=r[--g]==h?i.DM:Math.floor(r[g]*d+(r[g-1]+v)*_);if((r[g]+=a.am(0,w,r,m,0,l))<w)for(a.dlShiftTo(m,b),r.subTo(b,r);r[g]<--w;)r.subTo(b,r)}null!=e&&(r.drShiftTo(l,e),u!=f&&n.ZERO.subTo(e,e)),r.t=l,r.clamp(),c>0&&r.rShiftTo(c,r),u<0&&n.ZERO.subTo(r,r)}}}function x(t){var e=new n;return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(n.ZERO)>0&&t.subTo(e,e),e}function A(t){this.m=t}function I(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function C(t){return t}function O(t){t.divRemTo(this.m,null,t)}function j(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function R(t,e){t.squareTo(e),this.reduce(e)}function L(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return e=e*(2-(15&t)*e)&15,e=e*(2-(255&t)*e)&255,e=e*(2-((65535&t)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function F(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function D(t){var e=new n;return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(n.ZERO)>0&&this.m.subTo(e,e),e}function P(t){var e=new n;return t.copyTo(e),this.reduce(e),e}function U(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=32767&t[e],n=r*this.mpl+((r*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t[r]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function M(t,e){t.squareTo(e),this.reduce(e)}function N(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function q(){return 0==(this.t>0?1&this[0]:this.s)}function z(t,e){if(t>4294967295||t<1)return n.ONE;var r=new n,i=new n,o=e.convert(this),s=y(t)-1;for(o.copyTo(r);--s>=0;)if(e.sqrTo(r,i),(t&1<<s)>0)e.mulTo(i,o,r);else{var a=r;r=i,i=a}return e.revert(r)}function V(t,e){var r;return r=t<256||e.isEven()?new A(e):new F(e),this.exp(t,r)}function H(){var t=new n;return this.copyTo(t),t}function K(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function X(){return 0==this.t?this.s:this[0]<<24>>24}function G(){return 0==this.t?this.s:this[0]<<16>>16}function Y(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function W(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function $(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),i=f(r),o=new n,s=new n,a="";for(this.divRemTo(i,o,s);o.signum()>0;)a=(r+s.intValue()).toString(t).substr(1)+a,o.divRemTo(i,o,s);return s.intValue().toString(t)+a}function Z(t,e){var r=this;r.fromInt(0),null==e&&(e=10);for(var i=r.chunkSize(e),o=Math.pow(e,i),a=!1,u=0,f=0,c=0;c<t.length;++c){var l=s(t,c);l<0?"-"==t.charAt(c)&&0==r.signum()&&(a=!0):(f=e*f+l,++u>=i&&(r.dMultiply(o),r.dAddOffset(f,0),u=0,f=0))}u>0&&(r.dMultiply(Math.pow(e,u)),r.dAddOffset(f,0)),a&&n.ZERO.subTo(r,r)}function J(t,e,r){var i=this;if("number"==typeof e)if(t<2)i.fromInt(1);else for(i.fromNumber(t,r),i.testBit(t-1)||i.bitwiseTo(n.ONE.shiftLeft(t-1),st,i),i.isEven()&&i.dAddOffset(1,0);!i.isProbablePrime(e);)i.dAddOffset(2,0),i.bitLength()>t&&i.subTo(n.ONE.shiftLeft(t-1),i);else{var o=new Array,s=7&t;o.length=(t>>3)+1,e.nextBytes(o),s>0?o[0]&=(1<<s)-1:o[0]=0,i.fromString(o,256)}}function Q(){var t=this,e=t.t,r=new Array;r[0]=t.s;var n,i=t.DB-e*t.DB%8,o=0;if(e-- >0)for(i<t.DB&&(n=t[e]>>i)!=(t.s&t.DM)>>i&&(r[o++]=n|t.s<<t.DB-i);e>=0;)i<8?(n=(t[e]&(1<<i)-1)<<8-i,n|=t[--e]>>(i+=t.DB-8)):(n=t[e]>>(i-=8)&255,i<=0&&(i+=t.DB,--e)),0!=(128&n)&&(n|=-256),0===o&&(128&t.s)!=(128&n)&&++o,(o>0||n!=t.s)&&(r[o++]=n);return r}function tt(t){return 0==this.compareTo(t)}function et(t){return this.compareTo(t)<0?this:t}function rt(t){return this.compareTo(t)>0?this:t}function nt(t,e,r){var n,i,o=this,s=Math.min(t.t,o.t);for(n=0;n<s;++n)r[n]=e(o[n],t[n]);if(t.t<o.t){for(i=t.s&o.DM,n=s;n<o.t;++n)r[n]=e(o[n],i);r.t=o.t}else{for(i=o.s&o.DM,n=s;n<t.t;++n)r[n]=e(i,t[n]);r.t=t.t}r.s=e(o.s,t.s),r.clamp()}function it(t,e){return t&e}function ot(t){var e=new n;return this.bitwiseTo(t,it,e),e}function st(t,e){return t|e}function at(t){var e=new n;return this.bitwiseTo(t,st,e),e}function ut(t,e){return t^e}function ft(t){var e=new n;return this.bitwiseTo(t,ut,e),e}function ct(t,e){return t&~e}function lt(t){var e=new n;return this.bitwiseTo(t,ct,e),e}function ht(){for(var t=new n,e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t}function pt(t){var e=new n;return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function dt(t){var e=new n;return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function _t(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function yt(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+_t(this[t]);return this.s<0?this.t*this.DB:-1}function vt(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function gt(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=vt(this[r]^e);return t}function mt(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)}function bt(t,e){var r=n.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function wt(t){return this.changeBit(t,st)}function Et(t){return this.changeBit(t,ct)}function kt(t){return this.changeBit(t,ut)}function St(t,e){for(var r=this,n=0,i=0,o=Math.min(t.t,r.t);n<o;)i+=r[n]+t[n],e[n++]=i&r.DM,i>>=r.DB;if(t.t<r.t){for(i+=t.s;n<r.t;)i+=r[n],e[n++]=i&r.DM,i>>=r.DB;i+=r.s}else{for(i+=r.s;n<t.t;)i+=t[n],e[n++]=i&r.DM,i>>=r.DB;i+=t.s}e.s=i<0?-1:0,i>0?e[n++]=i:i<-1&&(e[n++]=r.DV+i),e.t=n,e.clamp()}function Bt(t){var e=new n;return this.addTo(t,e),e}function Tt(t){var e=new n;return this.subTo(t,e),e}function xt(t){var e=new n;return this.multiplyTo(t,e),e}function At(){var t=new n;return this.squareTo(t),t}function It(t){var e=new n;return this.divRemTo(t,e,null),e}function Ct(t){var e=new n;return this.divRemTo(t,null,e),e}function Ot(t){var e=new n,r=new n;return this.divRemTo(t,e,r),new Array(e,r)}function jt(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Rt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}}function Lt(){}function Ft(t){return t}function Dt(t,e,r){t.multiplyTo(e,r)}function Pt(t,e){t.squareTo(e)}function Ut(t){return this.exp(t,new Lt)}function Mt(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r[n+this.t]=this.am(0,t[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t[n],r,n,0,e-n);r.clamp()}function Nt(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r[this.t+n-e]=this.am(e-n,t[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function qt(t){this.r2=new n,this.q3=new n,n.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function zt(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=new n;return t.copyTo(e),this.reduce(e),e}function Vt(t){return t}function Ht(t){var e=this;for(t.drShiftTo(e.m.t-1,e.r2),t.t>e.m.t+1&&(t.t=e.m.t+1,t.clamp()),e.mu.multiplyUpperTo(e.r2,e.m.t+1,e.q3),e.m.multiplyLowerTo(e.q3,e.m.t+1,e.r2);t.compareTo(e.r2)<0;)t.dAddOffset(1,e.m.t+1);for(t.subTo(e.r2,t);t.compareTo(e.m)>=0;)t.subTo(e.m,t)}function Kt(t,e){t.squareTo(e),this.reduce(e)}function Xt(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Gt(t,e){var r,i,o=t.bitLength(),s=f(1);if(o<=0)return s;r=o<18?1:o<48?3:o<144?4:o<768?5:6,i=o<8?new A(e):e.isEven()?new qt(e):new F(e);var a=new Array,u=3,c=r-1,l=(1<<r)-1;if(a[1]=i.convert(this),r>1){var h=new n;for(i.sqrTo(a[1],h);u<=l;)a[u]=new n,i.mulTo(h,a[u-2],a[u]),u+=2}var p,d,_=t.t-1,v=!0,g=new n;for(o=y(t[_])-1;_>=0;){for(o>=c?p=t[_]>>o-c&l:(p=(t[_]&(1<<o+1)-1)<<c-o,_>0&&(p|=t[_-1]>>this.DB+o-c)),u=r;0==(1&p);)p>>=1,--u;if((o-=u)<0&&(o+=this.DB,--_),v)a[p].copyTo(s),v=!1;else{for(;u>1;)i.sqrTo(s,g),i.sqrTo(g,s),u-=2;u>0?i.sqrTo(s,g):(d=s,s=g,g=d),i.mulTo(g,a[p],s)}for(;_>=0&&0==(t[_]&1<<o);)i.sqrTo(s,g),d=s,s=g,g=d,--o<0&&(o=this.DB-1,--_)}return i.revert(s)}function Yt(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Wt(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r}function $t(t){var e=t.isEven();if(0===this.signum())throw new Error("division by zero");if(this.isEven()&&e||0==t.signum())return n.ZERO;for(var r=t.clone(),i=this.clone(),o=f(1),s=f(0),a=f(0),u=f(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),e?(o.isEven()&&s.isEven()||(o.addTo(this,o),s.subTo(t,s)),o.rShiftTo(1,o)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;i.isEven();)i.rShiftTo(1,i),e?(a.isEven()&&u.isEven()||(a.addTo(this,a),u.subTo(t,u)),a.rShiftTo(1,a)):u.isEven()||u.subTo(t,u),u.rShiftTo(1,u);r.compareTo(i)>=0?(r.subTo(i,r),e&&o.subTo(a,o),s.subTo(u,s)):(i.subTo(r,i),e&&a.subTo(o,a),u.subTo(s,u))}if(0!=i.compareTo(n.ONE))return n.ZERO;for(;u.compareTo(t)>=0;)u.subTo(t,u);for(;u.signum()<0;)u.addTo(t,u);return u}function Zt(t){var e,r=this.abs();if(1==r.t&&r[0]<=ae[ae.length-1]){for(e=0;e<ae.length;++e)if(r[0]==ae[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<ae.length;){for(var n=ae[e],i=e+1;i<ae.length&&n<ue;)n*=ae[i++];for(n=r.modInt(n);e<i;)if(n%ae[e++]==0)return!1}return r.millerRabin(t)}function Jt(t){var e=this.subtract(n.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var i=e.shiftRight(r);t=t+1>>1,t>ae.length&&(t=ae.length);for(var o,s=new n(null),a=[],u=0;u<t;++u){for(;o=ae[Math.floor(Math.random()*ae.length)],a.indexOf(o)!=-1;);a.push(o),s.fromInt(o);var f=s.modPow(i,this);if(0!=f.compareTo(n.ONE)&&0!=f.compareTo(e)){for(var o=1;o++<r&&0!=f.compareTo(e);)if(f=f.modPowInt(2,this),0==f.compareTo(n.ONE))return!1;if(0!=f.compareTo(e))return!1}}return!0}var Qt=n.prototype;Qt.__bigi=r(180).version,n.isBigInteger=function(t,e){return t&&t.__bigi&&(!e||t.__bigi===Qt.__bigi)};var te;n.prototype.am=i,te=26,n.prototype.DB=te,n.prototype.DM=(1<<te)-1;var ee=n.prototype.DV=1<<te,re=52;n.prototype.FV=Math.pow(2,re),n.prototype.F1=re-te,n.prototype.F2=2*te-re;var ne,ie,oe="0123456789abcdefghijklmnopqrstuvwxyz",se=new Array;for(ne="0".charCodeAt(0),ie=0;ie<=9;++ie)se[ne++]=ie;for(ne="a".charCodeAt(0),ie=10;ie<36;++ie)se[ne++]=ie;for(ne="A".charCodeAt(0),ie=10;ie<36;++ie)se[ne++]=ie;A.prototype.convert=I,A.prototype.revert=C,A.prototype.reduce=O,A.prototype.mulTo=j,A.prototype.sqrTo=R,F.prototype.convert=D,F.prototype.revert=P,F.prototype.reduce=U,F.prototype.mulTo=N,F.prototype.sqrTo=M,Qt.copyTo=a,Qt.fromInt=u,Qt.fromString=c,Qt.clamp=l,Qt.dlShiftTo=m,Qt.drShiftTo=b,Qt.lShiftTo=w,Qt.rShiftTo=E,Qt.subTo=k,Qt.multiplyTo=S,Qt.squareTo=B,Qt.divRemTo=T,Qt.invDigit=L,Qt.isEven=q,Qt.exp=z,Qt.toString=h,Qt.negate=p,Qt.abs=d,Qt.compareTo=_,Qt.bitLength=v,Qt.byteLength=g,Qt.mod=x,Qt.modPowInt=V,Lt.prototype.convert=Ft,Lt.prototype.revert=Ft,Lt.prototype.mulTo=Dt,Lt.prototype.sqrTo=Pt,qt.prototype.convert=zt,qt.prototype.revert=Vt,qt.prototype.reduce=Ht,qt.prototype.mulTo=Xt,qt.prototype.sqrTo=Kt;var ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],ue=(1<<26)/ae[ae.length-1];Qt.chunkSize=Y,Qt.toRadix=$,Qt.fromRadix=Z,Qt.fromNumber=J,Qt.bitwiseTo=nt,Qt.changeBit=bt,Qt.addTo=St,Qt.dMultiply=jt,Qt.dAddOffset=Rt,Qt.multiplyLowerTo=Mt,Qt.multiplyUpperTo=Nt,Qt.modInt=Wt,Qt.millerRabin=Jt,Qt.clone=H,Qt.intValue=K,Qt.byteValue=X,Qt.shortValue=G,Qt.signum=W,Qt.toByteArray=Q,Qt.equals=tt,Qt.min=et,Qt.max=rt,Qt.and=ot,Qt.or=at,Qt.xor=ft,Qt.andNot=lt,Qt.not=ht,Qt.shiftLeft=pt,Qt.shiftRight=dt,Qt.getLowestSetBit=yt,Qt.bitCount=gt,Qt.testBit=mt,Qt.setBit=wt,Qt.clearBit=Et,Qt.flipBit=kt,Qt.add=Bt,Qt.subtract=Tt,Qt.multiply=xt,Qt.divide=It,Qt.remainder=Ct,Qt.divideAndRemainder=Ot,Qt.modPow=Gt,Qt.modInverse=$t,Qt.pow=Ut,Qt.gcd=Yt,Qt.isProbablePrime=Zt,Qt.square=At,n.ZERO=f(0),n.ONE=f(1),n.valueOf=f,t.exports=n},function(t,e){t.exports={name:"bigi",version:"1.4.2",description:"Big integers.",keywords:["cryptography","math","bitcoin","arbitrary","precision","arithmetic","big","integer","int","number","biginteger","bigint","bignumber","decimal","float"],devDependencies:{coveralls:"^2.11.2",istanbul:"^0.3.5",jshint:"^2.5.1",mocha:"^2.1.0",mochify:"^2.1.0"},repository:{url:"https://github.com/cryptocoinjs/bigi",type:"git"},main:"./lib/index.js",scripts:{"browser-test":"./node_modules/.bin/mochify --wd -R spec",test:"./node_modules/.bin/_mocha -- test/*.js",jshint:"./node_modules/.bin/jshint --config jshint.json lib/*.js ; true",unit:"./node_modules/.bin/mocha",coverage:"./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",coveralls:"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"},dependencies:{},testling:{files:"test/*.js",harness:"mocha",browsers:["ie/9..latest","firefox/latest","chrome/latest","safari/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]}}},function(t,e,r){(function(t){"use strict";var e=r(105),n=r(179);n.fromByteArrayUnsigned=function(t){return new n(128&t[0]?[0].concat(t):t)},n.prototype.toByteArrayUnsigned=function(){var t=this.toByteArray();return 0===t[0]?t.slice(1):t},n.fromDERInteger=function(t){return new n(t)},n.prototype.toDERInteger=n.prototype.toByteArray,n.fromBuffer=function(t){if(128&t[0]){var e=Array.prototype.slice.call(t);return new n([0].concat(e))}return new n(t)},n.fromHex=function(t){return""===t?n.ZERO:(e.equal(t,t.match(/^[A-Fa-f0-9]+/),"Invalid hex string"),e.equal(t.length%2,0,"Incomplete hex"),new n(t,16))},n.prototype.toBuffer=function(e){for(var r=this.toByteArrayUnsigned(),n=[],i=e-r.length;n.length<i;)n.push(0);return new t(n.concat(r))},n.prototype.toHex=function(t){return this.toBuffer(t).toString("hex")}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";var n=r(183),i=r(184),o=r(185);t.exports={Curve:i,Point:n,getCurveByName:o}},function(t,e,r){"use strict";function n(t,e,r,n){i.notStrictEqual(n,void 0,"Missing Z coordinate"),this.curve=t,this.x=e,this.y=r,this.z=n,this._zInv=null,this.compressed=!0}var i=r(105),o=r(121).Buffer,s=r(178),a=s.valueOf(3);Object.defineProperty(n.prototype,"zInv",{get:function(){return null===this._zInv&&(this._zInv=this.z.modInverse(this.curve.p)),this._zInv}}),Object.defineProperty(n.prototype,"affineX",{get:function(){return this.x.multiply(this.zInv).mod(this.curve.p)}}),Object.defineProperty(n.prototype,"affineY",{get:function(){return this.y.multiply(this.zInv).mod(this.curve.p)}}),n.fromAffine=function(t,e,r){return new n(t,e,r,s.ONE)},n.prototype.equals=function(t){if(t===this)return!0;if(this.curve.isInfinity(this))return this.curve.isInfinity(t);if(this.curve.isInfinity(t))return this.curve.isInfinity(this);var e=t.y.multiply(this.z).subtract(this.y.multiply(t.z)).mod(this.curve.p);if(0!==e.signum())return!1;var r=t.x.multiply(this.z).subtract(this.x.multiply(t.z)).mod(this.curve.p);return 0===r.signum()},n.prototype.negate=function(){var t=this.curve.p.subtract(this.y);return new n(this.curve,this.x,t,this.z)},n.prototype.add=function(t){if(this.curve.isInfinity(this))return t;if(this.curve.isInfinity(t))return this;var e=this.x,r=this.y,i=t.x,o=t.y,s=o.multiply(this.z).subtract(r.multiply(t.z)).mod(this.curve.p),u=i.multiply(this.z).subtract(e.multiply(t.z)).mod(this.curve.p);if(0===u.signum())return 0===s.signum()?this.twice():this.curve.infinity;var f=u.square(),c=f.multiply(u),l=e.multiply(f),h=s.square().multiply(this.z),p=h.subtract(l.shiftLeft(1)).multiply(t.z).subtract(c).multiply(u).mod(this.curve.p),d=l.multiply(a).multiply(s).subtract(r.multiply(c)).subtract(h.multiply(s)).multiply(t.z).add(s.multiply(c)).mod(this.curve.p),_=c.multiply(this.z).multiply(t.z).mod(this.curve.p);return new n(this.curve,p,d,_)},n.prototype.twice=function(){if(this.curve.isInfinity(this))return this;if(0===this.y.signum())return this.curve.infinity;var t=this.x,e=this.y,r=e.multiply(this.z).mod(this.curve.p),i=r.multiply(e).mod(this.curve.p),o=this.curve.a,s=t.square().multiply(a);0!==o.signum()&&(s=s.add(this.z.square().multiply(o))),s=s.mod(this.curve.p);var u=s.square().subtract(t.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(r).mod(this.curve.p),f=s.multiply(a).multiply(t).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.pow(3)).mod(this.curve.p),c=r.pow(3).shiftLeft(3).mod(this.curve.p);return new n(this.curve,u,f,c)},n.prototype.multiply=function(t){if(this.curve.isInfinity(this))return this;if(0===t.signum())return this.curve.infinity;for(var e=t,r=e.multiply(a),n=this.negate(),i=this,o=r.bitLength()-2;o>0;--o){var s=r.testBit(o),u=e.testBit(o);i=i.twice(),s!==u&&(i=i.add(s?this:n))}return i},n.prototype.multiplyTwo=function(t,e,r){for(var n=Math.max(t.bitLength(),r.bitLength())-1,i=this.curve.infinity,o=this.add(e);n>=0;){var s=t.testBit(n),a=r.testBit(n);i=i.twice(),s?i=a?i.add(o):i.add(this):a&&(i=i.add(e)),--n}return i},n.prototype.getEncoded=function(t){if(null==t&&(t=this.compressed),this.curve.isInfinity(this))return o.alloc(1,0);var e,r=this.affineX,n=this.affineY,i=this.curve.pLength;return t?(e=o.allocUnsafe(1+i),e.writeUInt8(n.isEven()?2:3,0)):(e=o.allocUnsafe(1+i+i),e.writeUInt8(4,0),n.toBuffer(i).copy(e,1+i)),r.toBuffer(i).copy(e,1),e},n.decodeFrom=function(t,e){var r,o=e.readUInt8(0),a=4!==o,u=Math.floor((t.p.bitLength()+7)/8),f=s.fromBuffer(e.slice(1,1+u));if(a){i.equal(e.length,u+1,"Invalid sequence length"),i(2===o||3===o,"Invalid sequence tag");var c=3===o;r=t.pointFromX(c,f)}else{i.equal(e.length,1+u+u,"Invalid sequence length");var l=s.fromBuffer(e.slice(1+u));r=n.fromAffine(t,f,l)}return r.compressed=a,r},n.prototype.toString=function(){return this.curve.isInfinity(this)?"(INFINITY)":"("+this.affineX.toString()+","+this.affineY.toString()+")"},t.exports=n},function(t,e,r){"use strict";function n(t,e,r,n,i,a,u){this.p=t,this.a=e,this.b=r,this.G=s.fromAffine(this,n,i),this.n=a,this.h=u,this.infinity=new s(this,null,null,o.ZERO),this.pOverFour=t.add(o.ONE).shiftRight(2),this.pLength=Math.floor((this.p.bitLength()+7)/8)}var i=r(105),o=r(178),s=r(183);n.prototype.pointFromX=function(t,e){var r=e.pow(3).add(this.a.multiply(e)).add(this.b).mod(this.p),n=r.modPow(this.pOverFour,this.p),i=n;return n.isEven()^!t&&(i=this.p.subtract(i)),s.fromAffine(this,e,i)},n.prototype.isInfinity=function(t){return t===this.infinity||0===t.z.signum()&&0!==t.y.signum(); +},n.prototype.isOnCurve=function(t){if(this.isInfinity(t))return!0;var e=t.affineX,r=t.affineY,n=this.a,i=this.b,o=this.p;if(e.signum()<0||e.compareTo(o)>=0)return!1;if(r.signum()<0||r.compareTo(o)>=0)return!1;var s=r.square().mod(o),a=e.pow(3).add(n.multiply(e)).add(i).mod(o);return s.equals(a)},n.prototype.validate=function(t){i(!this.isInfinity(t),"Point is at infinity"),i(this.isOnCurve(t),"Point is not on the curve");var e=t.multiply(this.n);return i(this.isInfinity(e),"Point is not a scalar multiple of G"),!0},t.exports=n},function(t,e,r){"use strict";function n(t){var e=o[t];if(!e)return null;var r=new i(e.p,16),n=new i(e.a,16),a=new i(e.b,16),u=new i(e.n,16),f=new i(e.h,16),c=new i(e.Gx,16),l=new i(e.Gy,16);return new s(r,n,a,c,l,u,f)}var i=r(178),o=r(186),s=r(184);t.exports=n},function(t,e){t.exports={secp128r1:{p:"fffffffdffffffffffffffffffffffff",a:"fffffffdfffffffffffffffffffffffc",b:"e87579c11079f43dd824993c2cee5ed3",n:"fffffffe0000000075a30d1b9038a115",h:"01",Gx:"161ff7528b899b2d0c28607ca52c5b86",Gy:"cf5ac8395bafeb13c02da292dded7a83"},secp160k1:{p:"fffffffffffffffffffffffffffffffeffffac73",a:"00",b:"07",n:"0100000000000000000001b8fa16dfab9aca16b6b3",h:"01",Gx:"3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",Gy:"938cf935318fdced6bc28286531733c3f03c4fee"},secp160r1:{p:"ffffffffffffffffffffffffffffffff7fffffff",a:"ffffffffffffffffffffffffffffffff7ffffffc",b:"1c97befc54bd7a8b65acf89f81d4d4adc565fa45",n:"0100000000000000000001f4c8f927aed3ca752257",h:"01",Gx:"4a96b5688ef573284664698968c38bb913cbfc82",Gy:"23a628553168947d59dcc912042351377ac5fb32"},secp192k1:{p:"fffffffffffffffffffffffffffffffffffffffeffffee37",a:"00",b:"03",n:"fffffffffffffffffffffffe26f2fc170f69466a74defd8d",h:"01",Gx:"db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",Gy:"9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"},secp192r1:{p:"fffffffffffffffffffffffffffffffeffffffffffffffff",a:"fffffffffffffffffffffffffffffffefffffffffffffffc",b:"64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",n:"ffffffffffffffffffffffff99def836146bc9b1b4d22831",h:"01",Gx:"188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",Gy:"07192b95ffc8da78631011ed6b24cdd573f977a11e794811"},secp256k1:{p:"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",a:"00",b:"07",n:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",h:"01",Gx:"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",Gy:"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"},secp256r1:{p:"ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",a:"ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",b:"5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",n:"ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",h:"01",Gx:"6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",Gy:"4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"}}},function(t,e,r){(function(e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=r(182),s=o.Point,a=o.getCurveByName("secp256k1"),u=r(178),f=r(148),c=r(105),l=r(109),h=r(177),p=(a.G,a.n),d=function(){function t(e){n(this,t),this.d=e}return i(t,[{key:"toWif",value:function(){var t=this.toBuffer();t=e.concat([new e([128]),t]);var r=l.sha256(t);r=l.sha256(r),r=r.slice(0,4);var n=e.concat([t,r]);return f.encode(n)}},{key:"toString",value:function(){return this.toWif()}},{key:"toPublicKeyPoint",value:function(){var t;return t=a.G.multiply(this.d)}},{key:"toPublic",value:function(){return this.public_key?this.public_key:this.public_key=h.fromPoint(this.toPublicKeyPoint())}},{key:"toBuffer",value:function(){return this.d.toBuffer(32)}},{key:"get_shared_secret",value:function(t){t=_(t);var e=t.toUncompressed().toBuffer(),r=s.fromAffine(a,u.fromBuffer(e.slice(1,33)),u.fromBuffer(e.slice(33,65))),n=this.toBuffer(),i=r.multiply(u.fromBuffer(n)),o=i.affineX.toBuffer({size:32});return l.sha512(o)}},{key:"child",value:function(r){r=e.concat([this.toPublicKey().toBuffer(),r]),r=l.sha256(r);var n=u.fromBuffer(r);if(n.compareTo(p)>=0)throw new Error("Child offset went out of bounds, try again");var i=this.d.add(n);if(0===i.signum())throw new Error("Child offset derived to an invalid key, try again");return new t(i)}},{key:"toHex",value:function(){return this.toBuffer().toString("hex")}},{key:"toPublicKey",value:function(){return this.toPublic()}}],[{key:"fromBuffer",value:function(r){if(!e.isBuffer(r))throw new Error("Expecting paramter to be a Buffer type");if(32!==r.length&&console.log("WARN: Expecting 32 bytes, instead got "+r.length+", stack trace:",(new Error).stack),0===r.length)throw new Error("Empty buffer");return new t(u.fromBuffer(r))}},{key:"fromSeed",value:function(e){if("string"!=typeof e)throw new Error("seed must be of type string");return t.fromBuffer(l.sha256(e))}},{key:"isWif",value:function(t){try{return this.fromWif(t),!0}catch(t){return!1}}},{key:"fromWif",value:function(r){var n=new e(f.decode(r)),i=n.readUInt8(0);c.equal(128,i,"Expected version 128, instead got "+i);var o=n.slice(0,-4),s=n.slice(-4),a=l.sha256(o);if(a=l.sha256(a),a=a.slice(0,4),s.toString()!==a.toString())throw new Error("Invalid WIF key (checksum miss-match)");return o=o.slice(1),t.fromBuffer(o)}},{key:"fromHex",value:function(r){return t.fromBuffer(new e(r,"hex"))}}]),t}();t.exports=d;var _=function(t){return null==t?t:t.Q?t:h.fromStringOrThrow(t)}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=r(189),s=r(109),a=r(182).getCurveByName("secp256k1"),u=r(105),f=r(178),c=r(177),l=r(187),h=function(){function t(e,r,i){n(this,t),this.r=e,this.s=r,this.i=i,u.equal(null!=this.r,!0,"Missing parameter"),u.equal(null!=this.s,!0,"Missing parameter"),u.equal(null!=this.i,!0,"Missing parameter")}return i(t,[{key:"toBuffer",value:function(){var t;return t=new e(65),t.writeUInt8(this.i,0),this.r.toBuffer(32).copy(t,1),this.s.toBuffer(32).copy(t,33),t}},{key:"recoverPublicKeyFromBuffer",value:function(t){return this.recoverPublicKey(s.sha256(t))}},{key:"recoverPublicKey",value:function(t){var e=void 0,r=void 0,n=void 0;return r=f.fromBuffer(t),n=this.i,n-=27,n&=3,e=o.recoverPubKey(a,r,this,n),c.fromPoint(e)}},{key:"verifyBuffer",value:function(t,e){var r=s.sha256(t);return this.verifyHash(r,e)}},{key:"verifyHash",value:function(t,e){return u.equal(t.length,32,"A SHA 256 should be 32 bytes long, instead got "+t.length),o.verify(a,t,{r:this.r,s:this.s},e.Q)}},{key:"toHex",value:function(){return this.toBuffer().toString("hex")}},{key:"verifyHex",value:function(t,r){var n;return n=new e(t,"hex"),this.verifyBuffer(n,r)}}],[{key:"fromBuffer",value:function(e){var r,n,i;return u.equal(e.length,65,"Invalid signature length"),r=e.readUInt8(0),u.equal(r-27,r-27&7,"Invalid signature parameter"),n=f.fromBuffer(e.slice(1,33)),i=f.fromBuffer(e.slice(33)),new t(n,i,r)}},{key:"signBuffer",value:function(e,r){var n=s.sha256(e);return t.signBufferSha256(n,r)}},{key:"signBufferSha256",value:function(r,n){if(32!==r.length||!e.isBuffer(r))throw new Error("buf_sha256: 32 byte buffer requred");n=p(n),u(n,"private_key required");var i,s,c,l,h,d,_;for(l=null,_=0,s=f.fromBuffer(r);;){if(c=o.sign(a,r,n.d,_++),i=c.toDER(),h=i[3],d=i[5+h],32===h&&32===d){l=o.calcPubKeyRecoveryParam(a,s,c,n.toPublicKey().Q),l+=4,l+=27;break}_%10===0&&console.log("WARN: "+_+" attempts to find canonical signature")}return new t(c.r,c.s,l)}},{key:"sign",value:function(r,n){return t.signBuffer(new e(r),n)}},{key:"fromHex",value:function(r){return t.fromBuffer(new e(r,"hex"))}},{key:"signHex",value:function(r,n){var i;return i=new e(r,"hex"),t.signBuffer(i,n)}}]),t}(),p=function(t){return t?t.d?t:l.fromWif(t):t};t.exports=h}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,r,n,i,o){l("Buffer",r),l(h,n),o&&(r=c.sha256(e.concat([r,new e(o)]))),f.equal(r.length,32,"Hash must be 256 bit");var s=n.toBuffer(32),a=new e(32),u=new e(32);u.fill(1),a.fill(0),a=c.HmacSHA256(e.concat([u,new e([0]),s,r]),a),u=c.HmacSHA256(u,a),a=c.HmacSHA256(e.concat([u,new e([1]),s,r]),a),u=c.HmacSHA256(u,a),u=c.HmacSHA256(u,a);for(var p=h.fromBuffer(u);p.signum()<=0||p.compareTo(t.n)>=0||!i(p);)a=c.HmacSHA256(e.concat([u,new e([0])]),a),u=c.HmacSHA256(u,a),u=c.HmacSHA256(u,a),p=h.fromBuffer(u);return p}function i(t,e,r,i){var o,s,a=h.fromBuffer(e),u=t.n,f=t.G,c=(n(t,e,r,function(e){var n=f.multiply(e);return!t.isInfinity(n)&&(o=n.affineX.mod(u),0!==o.signum()&&(s=e.modInverse(u).multiply(a.add(r.multiply(o))).mod(u),0!==s.signum()))},i),u.shiftRight(1));return s.compareTo(c)>0&&(s=u.subtract(s)),new p(o,s)}function o(t,e,r,n){var i=t.n,o=t.G,s=r.r,a=r.s;if(s.signum()<=0||s.compareTo(i)>=0)return!1;if(a.signum()<=0||a.compareTo(i)>=0)return!1;var u=a.modInverse(i),f=e.multiply(u).mod(i),c=s.multiply(u).mod(i),l=o.multiplyTwo(f,n,c);if(t.isInfinity(l))return!1;var h=l.affineX,p=h.mod(i);return p.equals(s)}function s(t,e,r,n){var i=h.fromBuffer(e);return o(t,i,r,n)}function a(t,e,r,n){f.strictEqual(3&n,n,"Recovery param is more than two bits");var i=t.n,o=t.G,s=r.r,a=r.s;f(s.signum()>0&&s.compareTo(i)<0,"Invalid r value"),f(a.signum()>0&&a.compareTo(i)<0,"Invalid s value");var u=1&n,c=n>>1,l=c?s.add(i):s,h=t.pointFromX(u,l),p=h.multiply(i);f(t.isInfinity(p),"nR is not a valid curve point");var d=e.negate().mod(i),_=s.modInverse(i),y=h.multiplyTwo(a,o,d).multiply(_);return t.validate(y),y}function u(t,e,r,n){for(var i=0;i<4;i++){var o=a(t,e,r,i);if(o.equals(n))return i}throw new Error("Unable to find valid recovery factor")}var f=r(105),c=r(109),l=r(190),h=r(178),p=r(191);t.exports={calcPubKeyRecoveryParam:u,deterministicGenerateK:n,recoverPubKey:a,sign:i,verify:s,verifyRaw:o}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function r(t){var e=t.toString().match(/function (.*?)\(/);return e?e[1]:null}t.exports=function(t,n){switch(t){case"Array":if(Array.isArray(n))return;break;case"Boolean":if("boolean"==typeof n)return;break;case"Buffer":if(e.isBuffer(n))return;break;case"Number":if("number"==typeof n)return;break;case"String":if("string"==typeof n)return;break;default:if(r(n.constructor)===r(t))return}throw new TypeError("Expected "+(r(t)||t)+", got "+n)}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,e){o(s,t),o(s,e),this.r=t,this.s=e}var i=r(105),o=r(190),s=r(178);n.parseCompact=function(t){i.equal(t.length,65,"Invalid signature length");var e=t.readUInt8(0)-27;i.equal(e,7&e,"Invalid signature parameter");var r=!!(4&e);e&=3;var o=s.fromBuffer(t.slice(1,33)),a=s.fromBuffer(t.slice(33));return{compressed:r,i:e,signature:new n(o,a)}},n.fromDER=function(t){i.equal(t.readUInt8(0),48,"Not a DER sequence"),i.equal(t.readUInt8(1),t.length-2,"Invalid sequence length"),i.equal(t.readUInt8(2),2,"Expected a DER integer");var e=t.readUInt8(3);i(e>0,"R length is zero");var r=4+e;i.equal(t.readUInt8(r),2,"Expected a DER integer (2)");var o=t.readUInt8(r+1);i(o>0,"S length is zero");var a=t.slice(4,r),u=t.slice(r+2);r+=2+o,e>1&&0===a.readUInt8(0)&&i(128&a.readUInt8(1),"R value excessively padded"),o>1&&0===u.readUInt8(0)&&i(128&u.readUInt8(1),"S value excessively padded"),i.equal(r,t.length,"Invalid DER encoding");var f=s.fromDERInteger(a),c=s.fromDERInteger(u);return i(f.signum()>=0,"R value is negative"),i(c.signum()>=0,"S value is negative"),new n(f,c)},n.parseScriptSignature=function(t){var e=t.readUInt8(t.length-1),r=e&-129;return i(r>0&&r<4,"Invalid hashType"),{signature:n.fromDER(t.slice(0,-1)),hashType:e}},n.prototype.toCompact=function(t,r){r&&(t+=4),t+=27;var n=new e(65);return n.writeUInt8(t,0),this.r.toBuffer(32).copy(n,1),this.s.toBuffer(32).copy(n,33),n},n.prototype.toDER=function(){var t=this.r.toDERInteger(),r=this.s.toDERInteger(),n=[];return n.push(2,t.length),n=n.concat(t),n.push(2,r.length),n=n.concat(r),n.unshift(48,n.length),new e(n)},n.prototype.toScriptSignature=function(t){var r=new e(1);return r.writeUInt8(t,0),e.concat([this.toDER(),r])},t.exports=n}).call(e,r(99).Buffer)},function(t,e){"use strict";function r(t){if("string"!=typeof t)throw new Error("string required for brain_key");return t=t.trim(),t.split(/[\t\n\v\f\r ]+/).join(" ")}Object.defineProperty(e,"__esModule",{value:!0}),e.normalize=r},function(t,e,r){(function(e){"use strict";var n=r(187),i=r(109),o=r(151),s=250,a=0,u=0,f=o.randomBuffer(101);t.exports={addEntropy:function(){u++;for(var t=arguments.length,e=Array(t),r=0;r<t;r++)e[r]=arguments[r];var n=!0,i=!1,o=void 0;try{for(var s,c=e[Symbol.iterator]();!(n=(s=c.next()).done);n=!0){var l=s.value,h=a++%101,p=f[h]+=l;p>9007199254740991&&(f[h]=0)}}catch(t){i=!0,o=t}finally{try{!n&&c.return&&c.return()}finally{if(i)throw o}}},random32ByteBuffer:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.browserEntropy();if("string"!=typeof t)throw new Error("string required for entropy");if(t.length<32)throw new Error("expecting at least 32 bytes of entropy");for(var r=Date.now();Date.now()-r<s;)t=i.sha256(t);var n=[];return n.push(t),n.push(o.randomBuffer(32)),i.sha256(e.concat(n))},get_random_key:function(t){return n.fromBuffer(this.random32ByteBuffer(t))},browserEntropy:function(){var t=Array(f).join();try{t+=(new Date).toString()+" "+window.screen.height+" "+window.screen.width+" "+window.screen.colorDepth+" "+window.screen.availHeight+" "+window.screen.availWidth+" "+window.screen.pixelDepth+navigator.language+" "+window.location+" "+window.history.length;for(var r,n=0;n<navigator.mimeTypes.length;n++)r=navigator.mimeTypes[n],t+=r.description+" "+r.type+" "+r.suffixes+" ";console.log("INFO\tbrowserEntropy gathered",u,"events")}catch(e){t+=i.sha256((new Date).toString())}var o=new e(t);return t+=o.toString("binary")+" "+(new Date).toString()}}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){"number"==typeof t?((0,f.default)(t<=9007199254740991,"overflow"),t=""+t):t.toString&&(t=t.toString()),(0,f.default)("string"==typeof t,"number should be an actual number or string: "+("undefined"==typeof t?"undefined":a(t))),t=t.trim(),(0,f.default)(/^[0-9]*\.?[0-9]*$/.test(t),"Invalid decimal number "+t);var r=t.split("."),n=s(r,2),i=n[0],o=void 0===i?"":i,u=n[1],c=void 0===u?"":u,l=e-c.length;(0,f.default)(l>=0,"Too many decimal digits in "+t+" to create an implied decimal of "+e);for(var h=0;h<l;h++)c+="0";for(;"0"===o.charAt(0);)o=o.substring(1);return o+c}function o(t,e){for("number"==typeof t?((0,f.default)(t<=9007199254740991,"overflow"),t=""+t):t.toString&&(t=t.toString());t.length<e+1;)t="0"+t;var r=t.substring(t.length-e);return t.substring(0,t.length-e)+(r?"."+r:"")}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}return function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.toImpliedDecimal=i,e.fromImpliedDecimal=o;var u=r(105),f=n(u)},function(t,e,r){"use strict";var n,i,o,s,a,u,f,c,l,h,p,d,_,y,v,g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m=r(153).Long,b=r(196),w=9007199254740991,E=-9007199254740991;t.exports=n={is_empty:i=function(t){return null===t||void 0===t},required:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(i(t))throw new Error("value required "+e+" "+t);return t},require_long:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!m.isLong(t))throw new Error("Long value required "+e+" "+t);return t},string:function(t){if(i(t))return t;if("string"!=typeof t)throw new Error("string required: "+t);return t},number:function(t){if(i(t))return t;if("number"!=typeof t)throw new Error("number required: "+t);return t},whole_number:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(i(t))return t;if(/\./.test(t))throw new Error("whole number required "+e+" "+t);return t},unsigned:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(i(t))return t;if(/-/.test(t))throw new Error("unsigned required "+e+" "+t);return t},is_digits:o=function(t){return"numeric"==typeof t||/^[0-9]+$/.test(t)},to_number:s=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(i(t))return t;n.no_overflow53(t,e);var r=function(){return"number"==typeof t?t:parseInt(t)}();return r},to_long:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return i(t)?t:m.isLong(t)?t:(n.no_overflow64(t,e),"number"==typeof t&&(t=""+t),m.fromString(t))},to_string:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(i(t))return t;if("string"==typeof t)return t;if("number"==typeof t)return n.no_overflow53(t,e),""+t;if(m.isLong(t))return t.toString();throw"unsupported type "+e+": ("+("undefined"==typeof t?"undefined":g(t))+") "+t},require_test:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(i(e))return e;if(!t.test(e))throw new Error("unmatched "+t+" "+r+" "+e);return e},require_match:a=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(i(e))return e;var n=e.match(t);if(null===n)throw new Error("unmatched "+t+" "+r+" "+e);return n},require_range:function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(i(r))return r;s(r);if(r<t||r>e)throw new Error("out of range "+r+" "+n+" "+r);return r},require_object_type:f=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=arguments[1],r=arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";if(i(r))return r;var o=b.object_type[e];if(!o)throw new Error("Unknown object type: "+e+", "+n+", "+r);var s=new RegExp(t+"."+o+".[0-9]+$");if(!s.test(r))throw new Error("Expecting "+e+" in format "+(t+"."+o+".[0-9]+ ")+("instead of "+r+" "+n+" "+r));return r},get_instance:c=function(t,e,r,n){return i(r)?r:(f(t,e,r,n),s(r.split(".")[2]))},require_relative_type:l=function(t,e,r){return f(0,t,e,r),e},get_relative_instance:h=function(t,e,r){return i(e)?e:(f(0,t,e,r),s(e.split(".")[2]))},require_protocol_type:p=function(t,e,r){return f(1,t,e,r),e},get_protocol_instance:d=function(t,e,r){return i(e)?e:(f(1,t,e,r),s(e.split(".")[2]))},get_protocol_type:_=function(t,e){if(i(t))return t;u(t,e);var r=t.split(".");return s(r[1])},get_protocol_type_name:function(t,e){if(i(t))return t;var r=_(t,e);return Object.keys(b.object_type)[r]},require_implementation_type:y=function(t,e,r){return f(2,t,e,r),e},get_implementation_instance:v=function(t,e,r){return i(e)?e:(f(2,t,e,r),s(e.split(".")[2]))},no_overflow53:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if("number"!=typeof t){if("string"!=typeof t){if(m.isLong(t))return void n.no_overflow53(t.toInt(),e);throw"unsupported type "+e+": ("+("undefined"==typeof t?"undefined":g(t))+") "+t}parseInt(t);if(t>w||t<E)throw new Error("overflow "+e+" "+t)}else if(t>w||t<E)throw new Error("overflow "+e+" "+t)},no_overflow64:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!m.isLong(t)){if(void 0!==t.t&&void 0!==t.s)return void n.no_overflow64(t.toString(),e);if("string"!=typeof t){if("number"!=typeof t)throw"unsupported type "+e+": ("+("undefined"==typeof t?"undefined":g(t))+") "+t;if(t>w||t<E)throw new Error("overflow "+e+" "+t)}else{for(t=t.replace(/^0+/,"");/0$/.test(t);)t=t.substring(0,t.length-1);/\.$/.test(t)&&(t=t.substring(0,t.length-1)),""===t&&(t="0");var r=m.fromString(t).toString();if(r!==t.trim())throw new Error("overflow "+e+" "+t)}}}}},function(t,e){"use strict";var r={};r.reserved_spaces={relative_protocol_ids:0,protocol_ids:1,implementation_ids:2},r.operations={vote:0,comment:1,transfer:2,transfer_to_vesting:3,withdraw_vesting:4,limit_order_create:5,limit_order_cancel:6,feed_publish:7,convert:8,account_create:9,account_update:10,witness_update:11,account_witness_vote:12,account_witness_proxy:13,pow:14,custom:15,report_over_production:16,delete_comment:17,custom_json:18,comment_options:19,set_withdraw_vesting_route:20,limit_order_create2:21,claim_account:22,create_claimed_account:23,request_account_recovery:24,recover_account:25,change_recovery_account:26,escrow_transfer:27,escrow_dispute:28,escrow_release:29,pow2:30,escrow_approve:31,transfer_to_savings:32,transfer_from_savings:33,cancel_transfer_from_savings:34,custom_binary:35,decline_voting_rights:36,reset_account:37,set_reset_account:38,claim_reward_balance:39,delegate_vesting_shares:40,account_create_with_delegation:41,witness_set_properties:42,account_update2:43,create_proposal:44,update_proposal_votes:45,remove_proposal:46,update_proposal:47,fill_convert_request:48,author_reward:49,curation_reward:50,comment_reward:51,liquidity_reward:52,interest:53,fill_vesting_withdraw:54,fill_order:55,shutdown_witness:56,fill_transfer_from_savings:57,hardfork:58,comment_payout_update:59,return_vesting_delegation:60,comment_benefactor_reward:61,producer_reward:62,clear_null_account_balance:63,proposal_pay:64,sps_fund:65,hardfork_hive:66,hardfork_hive_restore:67,delayed_voting:68,consolidate_treasury_balance:69,effective_comment_vote:70,ineffective_delete_comment:71,sps_convert:72},r.object_type={null:0,base:1},t.exports=r},function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=r(153).Long,s=r(195),a=o.fromNumber(Math.pow(2,48)-1),u=function(){function t(e,r,i){n(this,t),this.space=e,this.type=r,this.instance=i;var o=this.instance.toString(),a=this.space+"."+this.type+"."+o;if(!s.is_digits(o))throw new("Invalid object id "+a)}return i(t,[{key:"toLong",value:function(){return o.fromNumber(this.space).shiftLeft(56).or(o.fromNumber(this.type).shiftLeft(48).or(this.instance))}},{key:"appendByteBuffer",value:function(t){return t.writeUint64(this.toLong())}},{key:"toString",value:function(){return this.space+"."+this.type+"."+this.instance.toString()}}],[{key:"fromString",value:function(e){if(void 0!==e.space&&void 0!==e.type&&void 0!==e.instance)return e;var r=s.require_match(/^([0-9]+)\.([0-9]+)\.([0-9]+)$/,s.required(e,"object_id"),"object_id");return new t(parseInt(r[1]),parseInt(r[2]),o.fromString(r[3]))}},{key:"fromLong",value:function(e){var r=e.shiftRight(56).toInt(),n=255&e.shiftRight(48).toInt(),i=e.and(a);return new t(r,n,i)}},{key:"fromByteBuffer",value:function(e){return t.fromLong(e.readUint64())}}]),t}();t.exports=u},function(t,e,r){(function(e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),o=r(103),s=function(){function t(){n(this,t)}return i(t,null,[{key:"fixed_data",value:function(t,r,n){if(t){if(!n){var i=t.copy(t.offset,t.offset+r);return t.skip(r),new e(i.toBinary(),"binary")}var o=n.slice(0,r).toString("binary");for(t.append(o,"binary");r-- >o.length;)t.writeUint8(0)}}},{key:"public_key",value:function(e,r){if(e){if(r){var n=r.toBuffer();return void e.append(n.toString("binary"),"binary")}return n=t.fixed_data(e,33),o.PublicKey.fromBuffer(n)}}},{key:"ripemd160",value:function(e,r){if(e)return r?void t.fixed_data(e,20,r):t.fixed_data(e,20)}},{key:"time_point_sec",value:function(t,e){return e?(e=Math.ceil(e/1e3),void t.writeInt32(e)):(e=t.readInt32(),new Date(1e3*e))}}]),t}();t.exports=s}).call(e,r(99).Buffer)},function(t,e,r){(function(e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),s=r(153),a=r(200),u=e.env.npm_config__graphene_serializer_hex_dump,f=function(){function t(e,r){i(this,t),this.operation_name=e,this.types=r,this.types&&(this.keys=Object.keys(this.types)),t.printDebug=!0}return o(t,[{key:"fromByteBuffer",value:function(e){var r={},n=null;try{for(var n,i=this.keys,o=0;o<i.length;o++){n=i[o];var s=this.types[n];try{if(u)if(s.operation_name)console.error(s.operation_name);else{var f=e.offset;s.fromByteBuffer(e);var c=e.offset;e.offset=f;var l=e.copy(f,c);console.error(this.operation_name+"."+n+"\t",l.toHex())}r[n]=s.fromByteBuffer(e)}catch(r){throw t.printDebug&&(console.error("Error reading "+this.operation_name+"."+n+" in data:"),e.printDebug()),r}}}catch(t){a.throw(this.operation_name+"."+n,t)}return r}},{key:"appendByteBuffer",value:function(t,e){var r=null;try{for(var r,n=this.keys,i=0;i<n.length;i++){r=n[i];var o=this.types[r];o.appendByteBuffer(t,e[r])}}catch(t){try{a.throw(this.operation_name+"."+r+" = "+JSON.stringify(e[r]),t)}catch(n){a.throw(this.operation_name+"."+r+" = "+e[r],t)}}}},{key:"fromObject",value:function(t){var e={},r=null;try{for(var r,n=this.keys,i=0;i<n.length;i++){r=n[i];var o=this.types[r],s=t[r],u=o.fromObject(s);e[r]=u}}catch(t){a.throw(this.operation_name+"."+r,t)}return e}},{key:"toObject",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{use_default:!1,annotate:!1},r={},n=null;try{if(!this.types)return r;for(var n,i=this.keys,o=0;o<i.length;o++){n=i[o];var f=this.types[n],c=f.toObject("undefined"!=typeof t&&null!==t?t[n]:void 0,e);if(r[n]=c,u){var l=new s(s.DEFAULT_CAPACITY,s.LITTLE_ENDIAN),h="undefined"!=typeof t&&null!==t;if(h){var p=t[n];p&&f.appendByteBuffer(l,p)}l=l.copy(0,l.offset),console.error(this.operation_name+"."+n,l.toHex())}}}catch(t){a.throw(this.operation_name+"."+n,t)}return r}},{key:"compare",value:function(t,e){var r=this.keys[0],i=this.types[r],o=t[r],s=e[r];if(i.compare)return i.compare(o,s);if("number"==typeof o&&"number"==typeof s)return o-s;var a=void 0;n.isBuffer(o)&&n.isBuffer(s)&&(a="hex");var u=o.toString(a),f=s.toString(a);return u>f?1:u<f?-1:0}},{key:"fromHex",value:function(t){var e=s.fromHex(t,s.LITTLE_ENDIAN);return this.fromByteBuffer(e)}},{key:"fromBuffer",value:function(t){var e=s.fromBinary(t.toString("binary"),s.LITTLE_ENDIAN);return this.fromByteBuffer(e)}},{key:"toHex",value:function(t){var e=this.toByteBuffer(t);return e.toHex()}},{key:"toByteBuffer",value:function(t){var e=new s(s.DEFAULT_CAPACITY,s.LITTLE_ENDIAN);return this.appendByteBuffer(e,t),e.copy(0,e.offset)}},{key:"toBuffer",value:function(t){return new n(this.toByteBuffer(t).toBinary(),"binary")}}]),t}();t.exports=f}).call(e,r(5),r(99).Buffer)},function(t,e){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=function(){function t(e,n){r(this,t),this.message=e,("undefined"!=typeof n&&null!==n?n.message:void 0)&&(this.message="cause\t"+n.message+"\t"+this.message);var i="";("undefined"!=typeof n&&null!==n?n.stack:void 0)&&(i="caused by\n\t"+n.stack+"\t"+i),this.stack=this.message+"\n"+i}return n(t,null,[{key:"throw",value:function(t,e){var r=t;throw("undefined"!=typeof e&&null!==e?e.message:void 0)&&(r+="\t cause: "+e.message+" "),("undefined"!=typeof e&&null!==e?e.stack:void 0)&&(r+="\n stack: "+e.stack+" "),new Error(r)}}]),t}();t.exports=i},function(t,e,r){"use strict";t.exports={Serializer:r(199),fp:r(198),types:r(98),ops:r(202),template:r(203),number_utils:r(194),ChainTypes:r(196),makeBitMaskFilter:r(204)}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}var i=r(98),o=n(i),s=r(199),a=n(s),u=r(42),f=(n(u),o.default.uint8),c=o.default.uint16,l=o.default.int16,h=o.default.uint32,p=o.default.uint64,d=o.default.int64,_=o.default.uint128,y=o.default.string,v=o.default.string_binary,g=o.default.bytes,m=o.default.bool,b=o.default.array,w=o.default.static_variant,E=o.default.map,k=o.default.set,S=o.default.public_key,B=o.default.time_point_sec,T=o.default.optional,x=o.default.asset,A=o.default.asset_symbol,I=o.default.void,C=o.default.void,O=o.default.void,j=o.default.void,R=o.default.void,L=w();t.exports.operation=L;var F=function(e,r){var n=new a.default(e,r);return t.exports[e]=n},D=new F("beneficiaries",{account:y,weight:c}),P=new F(0,{beneficiaries:k(D)}),U=new F("votable_asset_options",{max_accepted_payout:d,allow_curation_rewards:m,beneficiaries:P}),M=new F(1,{votable_assets:E(A,U)}),N=new F("smt_generation_unit",{hive_unit:E(y,c),token_unit:E(y,c)}),q=new F(0,{generation_unit:N,extensions:k(I)}),z=new F("smt_emissions_unit",{token_unit:E(y,c)}),V=new F(0,{value:m}),H=new F(0,{cashout_window_seconds:h,reverse_auction_window_seconds:h}),K=new F(1,{vote_regeneration_period_seconds:h,votes_per_regeneration_period:h}),X=new F(2,{content_constant:_,percent_curation_rewards:c,author_reward_curve:d,curation_reward_curve:d}),G=new F(3,{value:m}),Y=new F(1,{end_date:B}),W=new F("signed_transaction",{ref_block_num:c,ref_block_prefix:h,expiration:B,operations:b(L),extensions:k(I),signatures:b(g(65))}),$=(new F("signed_block",{previous:g(20),timestamp:B,witness:y,transaction_merkle_root:g(20),extensions:k(w([I,O,C,j,R])),witness_signature:g(65),transactions:b(W)}),new F("block_header",{previous:g(20),timestamp:B,witness:y,transaction_merkle_root:g(20),extensions:k(w([I,O,C]))}),new F("signed_block_header",{previous:g(20),timestamp:B,witness:y,transaction_merkle_root:g(20),extensions:k(w([I,O,C,j,R])),witness_signature:g(65)})),Z=new F("vote",{voter:y,author:y,permlink:y,weight:l}),J=new F("comment",{parent_author:y,parent_permlink:y,author:y,permlink:y,title:y,body:y,json_metadata:y}),Q=new F("transfer",{from:y,to:y,amount:x,memo:y}),tt=new F("transfer_to_vesting",{from:y,to:y,amount:x}),et=new F("withdraw_vesting",{account:y,vesting_shares:x}),rt=new F("limit_order_create",{owner:y,orderid:h,amount_to_sell:x,min_to_receive:x,fill_or_kill:m,expiration:B}),nt=new F("limit_order_cancel",{owner:y,orderid:h}),it=new F("price",{base:x,quote:x}),ot=new F("feed_publish",{publisher:y,exchange_rate:it}),st=new F("convert",{owner:y,requestid:h,amount:x}),at=new F("collateralized_convert",{owner:y,requestid:h,amount:x}),ut=new F("authority",{weight_threshold:h,account_auths:E(y,c),key_auths:E(S,c)}),ft=new F("account_create",{fee:x,creator:y,new_account_name:y,owner:ut,active:ut, +posting:ut,memo_key:S,json_metadata:y}),ct=new F("account_update",{account:y,owner:T(ut),active:T(ut),posting:T(ut),memo_key:S,json_metadata:y}),lt=new F("chain_properties",{account_creation_fee:x,maximum_block_size:h,hbd_interest_rate:c}),ht=new F("witness_update",{owner:y,url:y,block_signing_key:S,props:lt,fee:x}),pt=new F("account_witness_vote",{account:y,witness:y,approve:m}),dt=new F("account_witness_proxy",{account:y,proxy:y}),_t=new F("pow",{worker:S,input:g(32),signature:g(65),work:g(32)}),yt=new F("custom",{required_auths:k(y),id:c,data:g()}),vt=new F("report_over_production",{reporter:y,first_block:$,second_block:$}),gt=new F("delete_comment",{author:y,permlink:y}),mt=new F("custom_json",{required_auths:k(y),required_posting_auths:k(y),id:y,json:y}),bt=new F("comment_options",{author:y,permlink:y,max_accepted_payout:x,percent_hbd:c,allow_votes:m,allow_curation_rewards:m,extensions:k(w([P,M]))}),wt=new F("set_withdraw_vesting_route",{from_account:y,to_account:y,percent:c,auto_vest:m}),Et=new F("limit_order_create2",{owner:y,orderid:h,amount_to_sell:x,exchange_rate:it,fill_or_kill:m,expiration:B}),kt=new F("claim_account",{creator:y,fee:x,extensions:k(I)}),St=new F("create_claimed_account",{creator:y,new_account_name:y,owner:ut,active:ut,posting:ut,memo_key:S,json_metadata:y,extensions:k(I)}),Bt=new F("request_account_recovery",{recovery_account:y,account_to_recover:y,new_owner_authority:ut,extensions:k(I)}),Tt=new F("recover_account",{account_to_recover:y,new_owner_authority:ut,recent_owner_authority:ut,extensions:k(I)}),xt=new F("change_recovery_account",{account_to_recover:y,new_recovery_account:y,extensions:k(I)}),At=new F("escrow_transfer",{from:y,to:y,hbd_amount:x,hive_amount:x,escrow_id:h,agent:y,fee:x,json_meta:y,ratification_deadline:B,escrow_expiration:B}),It=new F("escrow_dispute",{from:y,to:y,agent:y,who:y,escrow_id:h}),Ct=new F("escrow_release",{from:y,to:y,agent:y,who:y,receiver:y,escrow_id:h,hbd_amount:x,hive_amount:x}),Ot=new F("pow2_input",{worker_account:y,prev_block:g(20),nonce:p}),jt=new F("pow2",{input:Ot,pow_summary:h}),Rt=new F("equihash_proof",{n:h,k:h,seed:g(32),inputs:b(h)}),Lt=(new F("equihash_pow",{input:Ot,proof:Rt,prev_block:g(20),pow_summary:h}),new F("escrow_approve",{from:y,to:y,agent:y,who:y,escrow_id:h,approve:m})),Ft=new F("transfer_to_savings",{from:y,to:y,amount:x,memo:y}),Dt=new F("transfer_from_savings",{from:y,request_id:h,to:y,amount:x,memo:y}),Pt=new F("cancel_transfer_from_savings",{from:y,request_id:h}),Ut=new F("custom_binary",{required_owner_auths:k(y),required_active_auths:k(y),required_posting_auths:k(y),required_auths:b(ut),id:y,data:g()}),Mt=new F("decline_voting_rights",{account:y,decline:m}),Nt=new F("reset_account",{reset_account:y,account_to_reset:y,new_owner_authority:ut}),qt=new F("set_reset_account",{account:y,current_reset_account:y,reset_account:y}),zt=new F("claim_reward_balance",{account:y,reward_hive:x,reward_hbd:x,reward_vests:x}),Vt=new F("delegate_vesting_shares",{delegator:y,delegatee:y,vesting_shares:x}),Ht=new F("account_create_with_delegation",{fee:x,delegation:x,creator:y,new_account_name:y,owner:ut,active:ut,posting:ut,memo_key:S,json_metadata:y,extensions:k(I)}),Kt=new F("witness_set_properties",{owner:y,props:E(y,g()),extensions:k(I)}),Xt=new F("account_update2",{account:y,owner:T(ut),active:T(ut),posting:T(ut),memo_key:T(S),json_metadata:y,posting_json_metadata:y,extensions:k(I)}),Gt=new F("create_proposal",{creator:y,receiver:y,start_date:B,end_date:B,daily_pay:x,subject:y,permlink:y,extensions:k(I)}),Yt=new F("update_proposal_votes",{voter:y,proposal_ids:b(p),approve:m,extensions:k(I)}),Wt=new F("remove_proposal",{proposal_owner:y,proposal_ids:b(p),extensions:k(I)}),$t=new F("update_proposal",{proposal_id:p,creator:y,daily_pay:x,subject:y,permlink:y,extensions:k(w([I,Y]))}),Zt=new F("recurrent_transfer",{from:y,to:y,amount:x,memo:y,recurrence:c,executions:c,extensions:k(I)}),Jt=new F("claim_reward_balance2",{account:y,reward_tokens:b(x),extensions:k(I)}),Qt=new F("vote2",{voter:y,author:y,permlink:y,rshares:E(A,d),extensions:k(I)}),te=new F("smt_create",{control_account:y,symbol:A,smt_creation_fee:x,precision:f,extensions:k(I)}),ee=new F("smt_setup",{control_account:y,symbol:A,max_supply:d,contribution_begin_time:B,contribution_end_time:B,launch_time:B,hive_units_min:d,min_unit_ratio:h,max_unit_ratio:h,extensions:k(I)}),re=new F("smt_setup_emissions",{control_account:y,symbol:A,schedule_time:B,emissions_unit:z,interval_seconds:h,emission_count:h,lep_time:B,rep_time:B,lep_abs_amount:d,rep_abs_amount:d,lep_rel_amount_numerator:h,rep_rel_amount_numerator:h,rel_amount_denom_bits:f,remove:m,floor_emissions:m,extensions:k(I)}),ne=new F("smt_setup_ico_tier",{control_account:y,symbol:A,hive_units_cap:d,generation_policy:w([q]),remove:m,extensions:k(I)}),ie=new F("smt_set_setup_parameters",{control_account:y,symbol:A,setup_parameters:k(w([V])),extensions:k(I)}),oe=new F("smt_set_runtime_parameters",{control_account:y,symbol:A,runtime_parameters:k(w([H,K,X,G])),extensions:k(I)}),se=new F("smt_contribute",{contributor:y,symbol:A,contribution_id:h,contribution:x,extensions:k(I)}),ae=new F("fill_convert_request",{owner:y,requestid:h,amount_in:x,amount_out:x}),ue=new F("author_reward",{author:y,permlink:y,hbd_payout:x,hive_payout:x,vesting_payout:x}),fe=new F("curation_reward",{curator:y,reward:x,comment_author:y,comment_permlink:y}),ce=new F("comment_reward",{author:y,permlink:y,payout:x}),le=new F("liquidity_reward",{owner:y,payout:x}),he=new F("interest",{owner:y,interest:x}),pe=new F("fill_vesting_withdraw",{from_account:y,to_account:y,withdrawn:x,deposited:x}),de=new F("fill_order",{current_owner:y,current_orderid:h,current_pays:x,open_owner:y,open_orderid:h,open_pays:x}),_e=new F("shutdown_witness",{owner:y}),ye=new F("fill_transfer_from_savings",{from:y,to:y,amount:x,request_id:h,memo:y}),ve=new F("hardfork",{hardfork_id:h}),ge=new F("comment_payout_update",{author:y,permlink:y}),me=new F("return_vesting_delegation",{account:y,vesting_shares:x}),be=new F("comment_benefactor_reward",{benefactor:y,author:y,permlink:y,reward:x});L.st_operations=[Z,J,Q,tt,et,rt,nt,ot,st,ft,ct,ht,pt,dt,_t,yt,vt,gt,mt,bt,wt,Et,kt,St,Bt,Tt,xt,At,It,Ct,jt,Lt,Ft,Dt,Pt,Ut,Mt,Nt,qt,zt,Vt,Ht,Kt,Xt,Gt,Yt,Wt,$t,at,Zt,Jt,Qt,ee,re,ne,ie,oe,te,se,ae,ue,fe,ce,le,he,pe,de,_e,ye,ve,ge,me,be];new F("transaction",{ref_block_num:c,ref_block_prefix:h,expiration:B,operations:b(L),extensions:k(I)}),new F("encrypted_memo",{from:S,to:S,nonce:p,check:h,encrypted:v})},function(t,e){"use strict";t.exports=function(t){var e=t.toObject(void 0,{use_default:!0,annotate:!0});console.error(JSON.stringify(e,null,4)),e=t.toObject(void 0,{use_default:!0,annotate:!1}),console.error(JSON.stringify(e))}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}var i=function(){function t(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}return function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=r(205),s=n(o),a=function(t){return t.reduce(function(t,e){var r=i(t,2),n=r[0],o=r[1];return e<64?[s.default.bitwiseOr(n,s.default.leftShift(s.default.BigInt(1),s.default.BigInt(e))),o]:[n,s.default.bitwiseOr(o,s.default.leftShift(s.default.BigInt(1),s.default.BigInt(e-64)))]},[s.default.BigInt(0),s.default.BigInt(0)]).map(function(t){return s.default.notEqual(t,s.default.BigInt(0))?t.toString():null})};t.exports=a},function(t,e,r){var n,i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(s,a){"object"==o(e)&&"undefined"!=typeof t?t.exports=a():(n=a,i="function"==typeof n?n.call(e,r,e,t):n,!(void 0!==i&&(t.exports=i)))}(void 0,function(){"use strict";function t(e){"@babel/helpers - typeof";return(t="function"==typeof Symbol&&"symbol"==o(Symbol.iterator)?function(t){return"undefined"==typeof t?"undefined":o(t)}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":"undefined"==typeof t?"undefined":o(t)})(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r,n=0;n<e.length;n++)r=e[n],r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}function n(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t}function i(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function a(t,e){return(a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function f(){return f=u()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var i=Function.bind.apply(t,n),o=new i;return r&&a(o,r.prototype),o},f.apply(null,arguments)}function c(t){return-1!==Function.toString.call(t).indexOf("[native code]")}function l(t){var e="function"==typeof Map?new Map:void 0;return(l=function(t){function r(){return f(t,arguments,s(this).constructor)}if(null===t||!c(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if("undefined"!=typeof e){if(e.has(t))return e.get(t);e.set(t,r)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),a(r,t)})(t)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function p(t,e){return!e||"object"!=("undefined"==typeof e?"undefined":o(e))&&"function"!=typeof e?h(t):e}function d(t){var e=u();return function(){var r,n=s(t);if(e){var i=s(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return p(this,r)}}function _(t,e){if(t){if("string"==typeof t)return y(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(t,e):void 0}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function v(t,e){var r;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=_(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){r=t[Symbol.iterator]()},n:function(){var t=r.next();return s=t.done,t},e:function(t){a=!0,o=t},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw o}}}}var g=Math.imul,m=Math.clz32,b=function(r){function o(t,r){var n;if(e(this,o),t>o.__kMaxLength)throw new RangeError("Maximum BigInt size exceeded");return n=u.call(this,t),n.sign=r,n}var s=Math.abs,a=Math.max;i(o,r);var u=d(o);return n(o,[{key:"toDebugString",value:function(){var t,e=["BigInt["],r=v(this);try{for(r.s();!(t=r.n()).done;){var n=t.value;e.push((n?(n>>>0).toString(16):n)+", ")}}catch(t){r.e(t)}finally{r.f()}return e.push("]"),e.join("")}},{key:"toString",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10;if(2>t||36<t)throw new RangeError("toString() radix argument must be between 2 and 36");return 0===this.length?"0":0==(t&t-1)?o.__toStringBasePowerOfTwo(this,t):o.__toStringGeneric(this,t,!1)}},{key:"__copy",value:function(){for(var t=new o(this.length,this.sign),e=0;e<this.length;e++)t[e]=this[e];return t}},{key:"__trim",value:function(){for(var t=this.length,e=this[t-1];0===e;)t--,e=this[t-1],this.pop();return 0===t&&(this.sign=!1),this}},{key:"__initializeDigits",value:function(){for(var t=0;t<this.length;t++)this[t]=0}},{key:"__clzmsd",value:function(){return o.__clz32(this[this.length-1])}},{key:"__inplaceMultiplyAdd",value:function(t,e,r){r>this.length&&(r=this.length);for(var n=65535&t,i=t>>>16,s=0,a=65535&e,u=e>>>16,f=0;f<r;f++){var c=this.__digit(f),l=65535&c,h=c>>>16,p=o.__imul(l,n),d=o.__imul(l,i),_=o.__imul(h,n),y=o.__imul(h,i),v=a+(65535&p),g=u+s+(v>>>16)+(p>>>16)+(65535&d)+(65535&_);a=(d>>>16)+(_>>>16)+(65535&y)+(g>>>16),s=a>>>16,a&=65535,u=y>>>16,this.__setDigit(f,65535&v|g<<16)}if(0!==s||0!==a||0!==u)throw new Error("implementation bug")}},{key:"__inplaceAdd",value:function(t,e,r){for(var n,i=0,o=0;o<r;o++)n=this.__halfDigit(e+o)+t.__halfDigit(o)+i,i=n>>>16,this.__setHalfDigit(e+o,n);return i}},{key:"__inplaceSub",value:function(t,e,r){var n=0;if(1&e){e>>=1;for(var i=this.__digit(e),o=65535&i,s=0;s<r-1>>>1;s++){var a=t.__digit(s),u=(i>>>16)-(65535&a)-n;n=1&u>>>16,this.__setDigit(e+s,u<<16|65535&o),i=this.__digit(e+s+1),o=(65535&i)-(a>>>16)-n,n=1&o>>>16}var f=t.__digit(s),c=(i>>>16)-(65535&f)-n;if(n=1&c>>>16,this.__setDigit(e+s,c<<16|65535&o),e+s+1>=this.length)throw new RangeError("out of bounds");0==(1&r)&&(i=this.__digit(e+s+1),o=(65535&i)-(f>>>16)-n,n=1&o>>>16,this.__setDigit(e+t.length,4294901760&i|65535&o))}else{e>>=1;for(var l=0;l<t.length-1;l++){var h=this.__digit(e+l),p=t.__digit(l),d=(65535&h)-(65535&p)-n;n=1&d>>>16;var _=(h>>>16)-(p>>>16)-n;n=1&_>>>16,this.__setDigit(e+l,_<<16|65535&d)}var y=this.__digit(e+l),v=t.__digit(l),g=(65535&y)-(65535&v)-n;n=1&g>>>16;var m=0;0==(1&r)&&(m=(y>>>16)-(v>>>16)-n,n=1&m>>>16),this.__setDigit(e+l,m<<16|65535&g)}return n}},{key:"__inplaceRightShift",value:function(t){if(0!==t){for(var e,r=this.__digit(0)>>>t,n=this.length-1,i=0;i<n;i++)e=this.__digit(i+1),this.__setDigit(i,e<<32-t|r),r=e>>>t;this.__setDigit(n,r)}}},{key:"__digit",value:function(t){return this[t]}},{key:"__unsignedDigit",value:function(t){return this[t]>>>0}},{key:"__setDigit",value:function(t,e){this[t]=0|e}},{key:"__setDigitGrow",value:function(t,e){this[t]=0|e}},{key:"__halfDigitLength",value:function(){var t=this.length;return 65535>=this.__unsignedDigit(t-1)?2*t-1:2*t}},{key:"__halfDigit",value:function(t){return 65535&this[t>>>1]>>>((1&t)<<4)}},{key:"__setHalfDigit",value:function(t,e){var r=t>>>1,n=this.__digit(r),i=1&t?65535&n|e<<16:4294901760&n|65535&e;this.__setDigit(r,i)}}],[{key:"BigInt",value:function(e){var r=Math.floor,n=Number.isFinite;if("number"==typeof e){if(0===e)return o.__zero();if((0|e)===e)return 0>e?o.__oneDigit(-e,!0):o.__oneDigit(e,!1);if(!n(e)||r(e)!==e)throw new RangeError("The number "+e+" cannot be converted to BigInt because it is not an integer");return o.__fromDouble(e)}if("string"==typeof e){var i=o.__fromString(e);if(null===i)throw new SyntaxError("Cannot convert "+e+" to a BigInt");return i}if("boolean"==typeof e)return!0===e?o.__oneDigit(1,!1):o.__zero();if("object"===t(e)){if(e.constructor===o)return e;var s=o.__toPrimitive(e);return o.BigInt(s)}throw new TypeError("Cannot convert "+e+" to a BigInt")}},{key:"toNumber",value:function(t){var e=t.length;if(0===e)return 0;if(1===e){var r=t.__unsignedDigit(0);return t.sign?-r:r}var n=t.__digit(e-1),i=o.__clz32(n),s=32*e-i;if(1024<s)return t.sign?-(1/0):1/0;var a=s-1,u=n,f=e-1,c=i+1,l=32===c?0:u<<c;l>>>=12;var h=c-12,p=12<=c?0:u<<20+c,d=20+c;0<h&&0<f&&(f--,u=t.__digit(f),l|=u>>>32-h,p=u<<h,d=h),0<d&&0<f&&(f--,u=t.__digit(f),p|=u>>>32-d,d-=32);var _=o.__decideRounding(t,d,f,u);if((1===_||0===_&&1==(1&p))&&(p=p+1>>>0,0===p&&(l++,0!=l>>>20&&(l=0,a++,1023<a))))return t.sign?-(1/0):1/0;var y=t.sign?-2147483648:0;return a=a+1023<<20,o.__kBitConversionInts[1]=y|a|l,o.__kBitConversionInts[0]=p,o.__kBitConversionDouble[0]}},{key:"unaryMinus",value:function(t){if(0===t.length)return t;var e=t.__copy();return e.sign=!t.sign,e}},{key:"bitwiseNot",value:function(t){return t.sign?o.__absoluteSubOne(t).__trim():o.__absoluteAddOne(t,!0)}},{key:"exponentiate",value:function(t,e){if(e.sign)throw new RangeError("Exponent must be positive");if(0===e.length)return o.__oneDigit(1,!1);if(0===t.length)return t;if(1===t.length&&1===t.__digit(0))return t.sign&&0==(1&e.__digit(0))?o.unaryMinus(t):t;if(1<e.length)throw new RangeError("BigInt too big");var r=e.__unsignedDigit(0);if(1===r)return t;if(r>=o.__kMaxLengthBits)throw new RangeError("BigInt too big");if(1===t.length&&2===t.__digit(0)){var n=1+(r>>>5),i=t.sign&&0!=(1&r),s=new o(n,i);s.__initializeDigits();var a=1<<(31&r);return s.__setDigit(n-1,a),s}var u=null,f=t;for(0!=(1&r)&&(u=t),r>>=1;0!==r;r>>=1)f=o.multiply(f,f),0!=(1&r)&&(u=null===u?f:o.multiply(u,f));return u}},{key:"multiply",value:function(t,e){if(0===t.length)return t;if(0===e.length)return e;var r=t.length+e.length;32<=t.__clzmsd()+e.__clzmsd()&&r--;var n=new o(r,t.sign!==e.sign);n.__initializeDigits();for(var i=0;i<t.length;i++)o.__multiplyAccumulate(e,t.__digit(i),n,i);return n.__trim()}},{key:"divide",value:function(t,e){if(0===e.length)throw new RangeError("Division by zero");if(0>o.__absoluteCompare(t,e))return o.__zero();var r,n=t.sign!==e.sign,i=e.__unsignedDigit(0);if(1===e.length&&65535>=i){if(1===i)return n===t.sign?t:o.unaryMinus(t);r=o.__absoluteDivSmall(t,i,null)}else r=o.__absoluteDivLarge(t,e,!0,!1);return r.sign=n,r.__trim()}},{key:"remainder",value:function t(e,r){if(0===r.length)throw new RangeError("Division by zero");if(0>o.__absoluteCompare(e,r))return e;var n=r.__unsignedDigit(0);if(1===r.length&&65535>=n){if(1===n)return o.__zero();var i=o.__absoluteModSmall(e,n);return 0===i?o.__zero():o.__oneDigit(i,e.sign)}var t=o.__absoluteDivLarge(e,r,!1,!0);return t.sign=e.sign,t.__trim()}},{key:"add",value:function(t,e){var r=t.sign;return r===e.sign?o.__absoluteAdd(t,e,r):0<=o.__absoluteCompare(t,e)?o.__absoluteSub(t,e,r):o.__absoluteSub(e,t,!r)}},{key:"subtract",value:function(t,e){var r=t.sign;return r===e.sign?0<=o.__absoluteCompare(t,e)?o.__absoluteSub(t,e,r):o.__absoluteSub(e,t,!r):o.__absoluteAdd(t,e,r)}},{key:"leftShift",value:function(t,e){return 0===e.length||0===t.length?t:e.sign?o.__rightShiftByAbsolute(t,e):o.__leftShiftByAbsolute(t,e)}},{key:"signedRightShift",value:function(t,e){return 0===e.length||0===t.length?t:e.sign?o.__leftShiftByAbsolute(t,e):o.__rightShiftByAbsolute(t,e)}},{key:"unsignedRightShift",value:function(){throw new TypeError("BigInts have no unsigned right shift; use >> instead")}},{key:"lessThan",value:function(t,e){return 0>o.__compareToBigInt(t,e)}},{key:"lessThanOrEqual",value:function(t,e){return 0>=o.__compareToBigInt(t,e)}},{key:"greaterThan",value:function(t,e){return 0<o.__compareToBigInt(t,e)}},{key:"greaterThanOrEqual",value:function(t,e){return 0<=o.__compareToBigInt(t,e)}},{key:"equal",value:function(t,e){if(t.sign!==e.sign)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(t.__digit(r)!==e.__digit(r))return!1;return!0}},{key:"notEqual",value:function(t,e){return!o.equal(t,e)}},{key:"bitwiseAnd",value:function(t,e){if(!t.sign&&!e.sign)return o.__absoluteAnd(t,e).__trim();if(t.sign&&e.sign){var r=a(t.length,e.length)+1,n=o.__absoluteSubOne(t,r),i=o.__absoluteSubOne(e);return n=o.__absoluteOr(n,i,n),o.__absoluteAddOne(n,!0,n).__trim()}if(t.sign){var s=[e,t];t=s[0],e=s[1]}return o.__absoluteAndNot(t,o.__absoluteSubOne(e)).__trim()}},{key:"bitwiseXor",value:function(t,e){if(!t.sign&&!e.sign)return o.__absoluteXor(t,e).__trim();if(t.sign&&e.sign){var r=a(t.length,e.length),n=o.__absoluteSubOne(t,r),i=o.__absoluteSubOne(e);return o.__absoluteXor(n,i,n).__trim()}var s=a(t.length,e.length)+1;if(t.sign){var u=[e,t];t=u[0],e=u[1]}var f=o.__absoluteSubOne(e,s);return f=o.__absoluteXor(f,t,f),o.__absoluteAddOne(f,!0,f).__trim()}},{key:"bitwiseOr",value:function(t,e){var r=a(t.length,e.length);if(!t.sign&&!e.sign)return o.__absoluteOr(t,e).__trim();if(t.sign&&e.sign){var n=o.__absoluteSubOne(t,r),i=o.__absoluteSubOne(e);return n=o.__absoluteAnd(n,i,n),o.__absoluteAddOne(n,!0,n).__trim()}if(t.sign){var s=[e,t];t=s[0],e=s[1]}var u=o.__absoluteSubOne(e,r);return u=o.__absoluteAndNot(u,t,u),o.__absoluteAddOne(u,!0,u).__trim()}},{key:"asIntN",value:function(t,e){if(0===e.length)return e;if(0===t)return o.__zero();if(t>=o.__kMaxLengthBits)return e;var r=t+31>>>5;if(e.length<r)return e;var n=e.__unsignedDigit(r-1),i=1<<(31&t-1);if(e.length===r&&n<i)return e;if((n&i)!==i)return o.__truncateToNBits(t,e);if(!e.sign)return o.__truncateAndSubFromPowerOfTwo(t,e,!0);if(0==(n&i-1)){for(var s=r-2;0<=s;s--)if(0!==e.__digit(s))return o.__truncateAndSubFromPowerOfTwo(t,e,!1);return e.length===r&&n===i?e:o.__truncateToNBits(t,e)}return o.__truncateAndSubFromPowerOfTwo(t,e,!1)}},{key:"asUintN",value:function(t,e){if(0===e.length)return e;if(0===t)return o.__zero();if(e.sign){if(t>o.__kMaxLengthBits)throw new RangeError("BigInt too big");return o.__truncateAndSubFromPowerOfTwo(t,e,!1)}if(t>=o.__kMaxLengthBits)return e;var r=t+31>>>5;if(e.length<r)return e;var n=31&t;if(e.length==r){if(0===n)return e;var i=e.__digit(r-1);if(0==i>>>n)return e}return o.__truncateToNBits(t,e)}},{key:"ADD",value:function(t,e){if(t=o.__toPrimitive(t),e=o.__toPrimitive(e),"string"==typeof t)return"string"!=typeof e&&(e=e.toString()),t+e;if("string"==typeof e)return t.toString()+e;if(t=o.__toNumeric(t),e=o.__toNumeric(e),o.__isBigInt(t)&&o.__isBigInt(e))return o.add(t,e);if("number"==typeof t&&"number"==typeof e)return t+e;throw new TypeError("Cannot mix BigInt and other types, use explicit conversions")}},{key:"LT",value:function(t,e){return o.__compare(t,e,0)}},{key:"LE",value:function(t,e){return o.__compare(t,e,1)}},{key:"GT",value:function(t,e){return o.__compare(t,e,2)}},{key:"GE",value:function(t,e){return o.__compare(t,e,3)}},{key:"EQ",value:function(e,r){for(;;){if(o.__isBigInt(e))return o.__isBigInt(r)?o.equal(e,r):o.EQ(r,e);if("number"==typeof e){if(o.__isBigInt(r))return o.__equalToNumber(r,e);if("object"!==t(r))return e==r;r=o.__toPrimitive(r)}else if("string"==typeof e){if(o.__isBigInt(r))return e=o.__fromString(e),null!==e&&o.equal(e,r);if("object"!==t(r))return e==r;r=o.__toPrimitive(r)}else if("boolean"==typeof e){if(o.__isBigInt(r))return o.__equalToNumber(r,+e);if("object"!==t(r))return e==r;r=o.__toPrimitive(r)}else if("symbol"===t(e)){if(o.__isBigInt(r))return!1;if("object"!==t(r))return e==r;r=o.__toPrimitive(r)}else{if("object"!==t(e))return e==r;if("object"===t(r)&&r.constructor!==o)return e==r;e=o.__toPrimitive(e)}}}},{key:"NE",value:function(t,e){return!o.EQ(t,e)}},{key:"__zero",value:function(){return new o(0,!1)}},{key:"__oneDigit",value:function(t,e){var r=new o(1,e);return r.__setDigit(0,t),r}},{key:"__decideRounding",value:function(t,e,r,n){if(0<e)return-1;var i;if(0>e)i=-e-1;else{if(0===r)return-1;r--,n=t.__digit(r),i=31}var o=1<<i;if(0==(n&o))return-1;if(o-=1,0!=(n&o))return 1;for(;0<r;)if(r--,0!==t.__digit(r))return 1;return 0}},{key:"__fromDouble",value:function(t){o.__kBitConversionDouble[0]=t;var e,r=2047&o.__kBitConversionInts[1]>>>20,n=r-1023,i=(n>>>5)+1,s=new o(i,0>t),a=1048575&o.__kBitConversionInts[1]|1048576,u=o.__kBitConversionInts[0],f=20,c=31&n,l=0;if(c<f){var h=f-c;l=h+32,e=a>>>h,a=a<<32-h|u>>>h,u<<=32-h}else if(c===f)l=32,e=a,a=u;else{var p=c-f;l=32-p,e=a<<p|u>>>32-p,a=u<<p}s.__setDigit(i-1,e);for(var d=i-2;0<=d;d--)0<l?(l-=32,e=a,a=u):e=0,s.__setDigit(d,e);return s.__trim()}},{key:"__isWhitespace",value:function(t){return!!(13>=t&&9<=t)||(159>=t?32==t:131071>=t?160==t||5760==t:196607>=t?(t&=131071,10>=t||40==t||41==t||47==t||95==t||4096==t):65279==t)}},{key:"__fromString",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,r=0,n=t.length,i=0;if(i===n)return o.__zero();for(var s=t.charCodeAt(i);o.__isWhitespace(s);){if(++i===n)return o.__zero();s=t.charCodeAt(i)}if(43===s){if(++i===n)return null;s=t.charCodeAt(i),r=1}else if(45===s){if(++i===n)return null;s=t.charCodeAt(i),r=-1}if(0===e){if(e=10,48===s){if(++i===n)return o.__zero();if(s=t.charCodeAt(i),88===s||120===s){if(e=16,++i===n)return null;s=t.charCodeAt(i)}else if(79===s||111===s){if(e=8,++i===n)return null;s=t.charCodeAt(i)}else if(66===s||98===s){if(e=2,++i===n)return null;s=t.charCodeAt(i)}}}else if(16===e&&48===s){if(++i===n)return o.__zero();if(s=t.charCodeAt(i),88===s||120===s){if(++i===n)return null;s=t.charCodeAt(i)}}for(;48===s;){if(++i===n)return o.__zero();s=t.charCodeAt(i)}var a=n-i,u=o.__kMaxBitsPerChar[e],f=o.__kBitsPerCharTableMultiplier-1;if(a>1073741824/u)return null;var c=u*a+f>>>o.__kBitsPerCharTableShift,l=new o(c+31>>>5,!1),h=10>e?e:10,p=10<e?e-10:0;if(0==(e&e-1)){u>>=o.__kBitsPerCharTableShift;var d=[],_=[],y=!1;do{for(var v,g=0,m=0;;){if(v=void 0,s-48>>>0<h)v=s-48;else{if(!((32|s)-97>>>0<p)){y=!0;break}v=(32|s)-87}if(m+=u,g=g<<u|v,++i===n){y=!0;break}if(s=t.charCodeAt(i),32<m+u)break}d.push(g),_.push(m)}while(!y);o.__fillFromParts(l,d,_)}else{l.__initializeDigits();var b=!1,w=0;do{for(var E,k=0,S=1;;){if(E=void 0,s-48>>>0<h)E=s-48;else{if(!((32|s)-97>>>0<p)){b=!0;break}E=(32|s)-87}var B=S*e;if(4294967295<B)break;if(S=B,k=k*e+E,w++,++i===n){b=!0;break}s=t.charCodeAt(i)}f=32*o.__kBitsPerCharTableMultiplier-1;var T=u*w+f>>>o.__kBitsPerCharTableShift+5;l.__inplaceMultiplyAdd(S,k,T)}while(!b)}if(i!==n){if(!o.__isWhitespace(s))return null;for(i++;i<n;i++)if(s=t.charCodeAt(i),!o.__isWhitespace(s))return null}return 0!==r&&10!==e?null:(l.sign=-1===r,l.__trim())}},{key:"__fillFromParts",value:function(t,e,r){for(var n=0,i=0,o=0,s=e.length-1;0<=s;s--){var a=e[s],u=r[s];i|=a<<o,o+=u,32===o?(t.__setDigit(n++,i),o=0,i=0):32<o&&(t.__setDigit(n++,i),o-=32,i=a>>>u-o)}if(0!==i){if(n>=t.length)throw new Error("implementation bug");t.__setDigit(n++,i)}for(;n<t.length;n++)t.__setDigit(n,0)}},{key:"__toStringBasePowerOfTwo",value:function(t,e){var r=t.length,n=e-1;n=(85&n>>>1)+(85&n),n=(51&n>>>2)+(51&n),n=(15&n>>>4)+(15&n);var i=n,s=e-1,a=t.__digit(r-1),u=o.__clz32(a),f=0|(32*r-u+i-1)/i;if(t.sign&&f++,268435456<f)throw new Error("string too long");for(var c=Array(f),l=f-1,h=0,p=0,d=0;d<r-1;d++){var _=t.__digit(d),y=(h|_<<p)&s;c[l--]=o.__kConversionChars[y];var v=i-p;for(h=_>>>v,p=32-v;p>=i;)c[l--]=o.__kConversionChars[h&s],h>>>=i,p-=i}var g=(h|a<<p)&s;for(c[l--]=o.__kConversionChars[g],h=a>>>i-p;0!==h;)c[l--]=o.__kConversionChars[h&s],h>>>=i;if(t.sign&&(c[l--]="-"),-1!==l)throw new Error("implementation bug");return c.join("")}},{key:"__toStringGeneric",value:function(t,e,r){var n=t.length;if(0===n)return"";if(1===n){var i=t.__unsignedDigit(0).toString(e);return!1===r&&t.sign&&(i="-"+i),i}var s=32*n-o.__clz32(t.__digit(n-1)),a=o.__kMaxBitsPerChar[e],u=a-1,f=s*o.__kBitsPerCharTableMultiplier;f+=u-1,f=0|f/u;var c,l,h=f+1>>1,p=o.exponentiate(o.__oneDigit(e,!1),o.__oneDigit(h,!1)),d=p.__unsignedDigit(0);if(1===p.length&&65535>=d){c=new o(t.length,!1),c.__initializeDigits();for(var _,y=0,v=2*t.length-1;0<=v;v--)_=y<<16|t.__halfDigit(v),c.__setHalfDigit(v,0|_/d),y=0|_%d;l=y.toString(e)}else{var g=o.__absoluteDivLarge(t,p,!0,!0);c=g.quotient;var m=g.remainder.__trim();l=o.__toStringGeneric(m,e,!0)}c.__trim();for(var b=o.__toStringGeneric(c,e,!0);l.length<h;)l="0"+l;return!1===r&&t.sign&&(b="-"+b),b+l}},{key:"__unequalSign",value:function(t){return t?-1:1}},{key:"__absoluteGreater",value:function(t){return t?-1:1}},{key:"__absoluteLess",value:function(t){return t?1:-1}},{key:"__compareToBigInt",value:function(t,e){var r=t.sign;if(r!==e.sign)return o.__unequalSign(r);var n=o.__absoluteCompare(t,e);return 0<n?o.__absoluteGreater(r):0>n?o.__absoluteLess(r):0}},{key:"__compareToNumber",value:function(t,e){if(!0|e){var r=t.sign,n=0>e;if(r!==n)return o.__unequalSign(r);if(0===t.length){if(n)throw new Error("implementation bug");return 0===e?0:-1}if(1<t.length)return o.__absoluteGreater(r);var i=s(e),a=t.__unsignedDigit(0);return a>i?o.__absoluteGreater(r):a<i?o.__absoluteLess(r):0}return o.__compareToDouble(t,e)}},{key:"__compareToDouble",value:function(t,e){if(e!==e)return e;if(e===1/0)return-1;if(e===-(1/0))return 1;var r=t.sign;if(r!==0>e)return o.__unequalSign(r);if(0===e)throw new Error("implementation bug: should be handled elsewhere");if(0===t.length)return-1;o.__kBitConversionDouble[0]=e;var n=2047&o.__kBitConversionInts[1]>>>20;if(2047==n)throw new Error("implementation bug: handled elsewhere");var i=n-1023;if(0>i)return o.__absoluteGreater(r);var s=t.length,a=t.__digit(s-1),u=o.__clz32(a),f=32*s-u,c=i+1;if(f<c)return o.__absoluteLess(r);if(f>c)return o.__absoluteGreater(r);var l=1048576|1048575&o.__kBitConversionInts[1],h=o.__kBitConversionInts[0],p=20,d=31-u;if(d!==(f-1)%31)throw new Error("implementation bug");var _,y=0;if(d<p){var v=p-d;y=v+32,_=l>>>v,l=l<<32-v|h>>>v,h<<=32-v}else if(d===p)y=32,_=l,l=h;else{var g=d-p;y=32-g,_=l<<g|h>>>32-g,l=h<<g}if(a>>>=0,_>>>=0,a>_)return o.__absoluteGreater(r);if(a<_)return o.__absoluteLess(r);for(var m=s-2;0<=m;m--){0<y?(y-=32,_=l>>>0,l=h,h=0):_=0;var b=t.__unsignedDigit(m);if(b>_)return o.__absoluteGreater(r);if(b<_)return o.__absoluteLess(r)}if(0!==l||0!==h){if(0===y)throw new Error("implementation bug");return o.__absoluteLess(r)}return 0}},{key:"__equalToNumber",value:function(t,e){return e|0===e?0===e?0===t.length:1===t.length&&t.sign===0>e&&t.__unsignedDigit(0)===s(e):0===o.__compareToDouble(t,e)}},{key:"__comparisonResultToBool",value:function(t,e){switch(e){case 0:return 0>t;case 1:return 0>=t;case 2:return 0<t;case 3:return 0<=t}throw new Error("unreachable")}},{key:"__compare",value:function(t,e,r){if(t=o.__toPrimitive(t),e=o.__toPrimitive(e),"string"==typeof t&&"string"==typeof e)switch(r){case 0:return t<e;case 1:return t<=e;case 2:return t>e;case 3:return t>=e}if(o.__isBigInt(t)&&"string"==typeof e)return e=o.__fromString(e),null!==e&&o.__comparisonResultToBool(o.__compareToBigInt(t,e),r);if("string"==typeof t&&o.__isBigInt(e))return t=o.__fromString(t),null!==t&&o.__comparisonResultToBool(o.__compareToBigInt(t,e),r);if(t=o.__toNumeric(t),e=o.__toNumeric(e),o.__isBigInt(t)){if(o.__isBigInt(e))return o.__comparisonResultToBool(o.__compareToBigInt(t,e),r);if("number"!=typeof e)throw new Error("implementation bug");return o.__comparisonResultToBool(o.__compareToNumber(t,e),r)}if("number"!=typeof t)throw new Error("implementation bug");if(o.__isBigInt(e))return o.__comparisonResultToBool(o.__compareToNumber(e,t),2^r);if("number"!=typeof e)throw new Error("implementation bug");return 0===r?t<e:1===r?t<=e:2===r?t>e:3===r?t>=e:void 0}},{key:"__absoluteAdd",value:function(t,e,r){if(t.length<e.length)return o.__absoluteAdd(e,t,r);if(0===t.length)return t;if(0===e.length)return t.sign===r?t:o.unaryMinus(t);var n=t.length;(0===t.__clzmsd()||e.length===t.length&&0===e.__clzmsd())&&n++;for(var i=new o(n,r),s=0,a=0;a<e.length;a++){var u=e.__digit(a),f=t.__digit(a),c=(65535&f)+(65535&u)+s,l=(f>>>16)+(u>>>16)+(c>>>16);s=l>>>16,i.__setDigit(a,65535&c|l<<16)}for(;a<t.length;a++){var h=t.__digit(a),p=(65535&h)+s,d=(h>>>16)+(p>>>16);s=d>>>16,i.__setDigit(a,65535&p|d<<16)}return a<i.length&&i.__setDigit(a,s),i.__trim()}},{key:"__absoluteSub",value:function(t,e,r){if(0===t.length)return t;if(0===e.length)return t.sign===r?t:o.unaryMinus(t);for(var n=new o(t.length,r),i=0,s=0;s<e.length;s++){var a=t.__digit(s),u=e.__digit(s),f=(65535&a)-(65535&u)-i;i=1&f>>>16;var c=(a>>>16)-(u>>>16)-i;i=1&c>>>16,n.__setDigit(s,65535&f|c<<16)}for(;s<t.length;s++){var l=t.__digit(s),h=(65535&l)-i;i=1&h>>>16;var p=(l>>>16)-i;i=1&p>>>16,n.__setDigit(s,65535&h|p<<16)}return n.__trim()}},{key:"__absoluteAddOne",value:function(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=t.length; +null===r?r=new o(n,e):r.sign=e;for(var i,s=!0,a=0;a<n;a++){if(i=t.__digit(a),s){var u=-1===i;i=0|i+1,s=u}r.__setDigit(a,i)}return s&&r.__setDigitGrow(n,1),r}},{key:"__absoluteSubOne",value:function(t,e){var r=t.length;e=e||r;for(var n,i=new o(e,!1),s=!0,a=0;a<r;a++){if(n=t.__digit(a),s){var u=0===n;n=0|n-1,s=u}i.__setDigit(a,n)}if(s)throw new Error("implementation bug");for(var f=r;f<e;f++)i.__setDigit(f,0);return i}},{key:"__absoluteAnd",value:function(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=t.length,i=e.length,s=i;if(n<i){s=n;var a=t,u=n;t=e,n=i,e=a,i=u}var f=s;null===r?r=new o(f,!1):f=r.length;for(var c=0;c<s;c++)r.__setDigit(c,t.__digit(c)&e.__digit(c));for(;c<f;c++)r.__setDigit(c,0);return r}},{key:"__absoluteAndNot",value:function(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=t.length,i=e.length,s=i;n<i&&(s=n);var a=n;null===r?r=new o(a,!1):a=r.length;for(var u=0;u<s;u++)r.__setDigit(u,t.__digit(u)&~e.__digit(u));for(;u<n;u++)r.__setDigit(u,t.__digit(u));for(;u<a;u++)r.__setDigit(u,0);return r}},{key:"__absoluteOr",value:function(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=t.length,i=e.length,s=i;if(n<i){s=n;var a=t,u=n;t=e,n=i,e=a,i=u}var f=n;null===r?r=new o(f,!1):f=r.length;for(var c=0;c<s;c++)r.__setDigit(c,t.__digit(c)|e.__digit(c));for(;c<n;c++)r.__setDigit(c,t.__digit(c));for(;c<f;c++)r.__setDigit(c,0);return r}},{key:"__absoluteXor",value:function(t,e){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=t.length,i=e.length,s=i;if(n<i){s=n;var a=t,u=n;t=e,n=i,e=a,i=u}var f=n;null===r?r=new o(f,!1):f=r.length;for(var c=0;c<s;c++)r.__setDigit(c,t.__digit(c)^e.__digit(c));for(;c<n;c++)r.__setDigit(c,t.__digit(c));for(;c<f;c++)r.__setDigit(c,0);return r}},{key:"__absoluteCompare",value:function(t,e){var r=t.length-e.length;if(0!=r)return r;for(var n=t.length-1;0<=n&&t.__digit(n)===e.__digit(n);)n--;return 0>n?0:t.__unsignedDigit(n)>e.__unsignedDigit(n)?1:-1}},{key:"__multiplyAccumulate",value:function(t,e,r,n){if(0!==e){for(var i=65535&e,s=e>>>16,a=0,u=0,f=0,c=0;c<t.length;c++,n++){var l=r.__digit(n),h=65535&l,p=l>>>16,d=t.__digit(c),_=65535&d,y=d>>>16,v=o.__imul(_,i),g=o.__imul(_,s),m=o.__imul(y,i),b=o.__imul(y,s);h+=u+(65535&v),p+=f+a+(h>>>16)+(v>>>16)+(65535&g)+(65535&m),a=p>>>16,u=(g>>>16)+(m>>>16)+(65535&b)+a,a=u>>>16,u&=65535,f=b>>>16,l=65535&h|p<<16,r.__setDigit(n,l)}for(;0!==a||0!==u||0!==f;n++){var w=r.__digit(n),E=(65535&w)+u,k=(w>>>16)+(E>>>16)+f+a;u=0,f=0,a=k>>>16,w=65535&E|k<<16,r.__setDigit(n,w)}}}},{key:"__internalMultiplyAdd",value:function(t,e,r,n,i){for(var s=r,a=0,u=0;u<n;u++){var f=t.__digit(u),c=o.__imul(65535&f,e),l=(65535&c)+a+s;s=l>>>16;var h=o.__imul(f>>>16,e),p=(65535&h)+(c>>>16)+s;s=p>>>16,a=h>>>16,i.__setDigit(u,p<<16|65535&l)}if(i.length>n)for(i.__setDigit(n++,s+a);n<i.length;)i.__setDigit(n++,0);else if(0!==s+a)throw new Error("implementation bug")}},{key:"__absoluteDivSmall",value:function(t,e,r){null===r&&(r=new o(t.length,!1));for(var n=0,i=2*t.length-1;0<=i;i-=2){var s=(n<<16|t.__halfDigit(i))>>>0,a=0|s/e;n=0|s%e,s=(n<<16|t.__halfDigit(i-1))>>>0;var u=0|s/e;n=0|s%e,r.__setDigit(i>>>1,a<<16|u)}return r}},{key:"__absoluteModSmall",value:function(t,e){for(var r,n=0,i=2*t.length-1;0<=i;i--)r=(n<<16|t.__halfDigit(i))>>>0,n=0|r%e;return n}},{key:"__absoluteDivLarge",value:function(t,e,r,n){var i=e.__halfDigitLength(),s=e.length,a=t.__halfDigitLength()-i,u=null;r&&(u=new o(a+2>>>1,!1),u.__initializeDigits());var f=new o(i+2>>>1,!1);f.__initializeDigits();var c=o.__clz16(e.__halfDigit(i-1));0<c&&(e=o.__specialLeftShift(e,c,0));for(var l=o.__specialLeftShift(t,c,1),h=e.__halfDigit(i-1),p=0,d=a;0<=d;d--){var _=65535,y=l.__halfDigit(d+i);if(y!==h){var v=(y<<16|l.__halfDigit(d+i-1))>>>0;_=0|v/h;for(var g=0|v%h,m=e.__halfDigit(i-2),b=l.__halfDigit(d+i-2);o.__imul(_,m)>>>0>(g<<16|b)>>>0&&(_--,g+=h,!(65535<g)););}o.__internalMultiplyAdd(e,_,0,s,f);var w=l.__inplaceSub(f,d,i+1);0!==w&&(w=l.__inplaceAdd(e,d,i),l.__setHalfDigit(d+i,l.__halfDigit(d+i)+w),_--),r&&(1&d?p=_<<16:u.__setDigit(d>>>1,p|_))}return n?(l.__inplaceRightShift(c),r?{quotient:u,remainder:l}:l):r?u:void 0}},{key:"__clz16",value:function(t){return o.__clz32(t)-16}},{key:"__specialLeftShift",value:function(t,e,r){var n=t.length,i=new o(n+r,!1);if(0===e){for(var s=0;s<n;s++)i.__setDigit(s,t.__digit(s));return 0<r&&i.__setDigit(n,0),i}for(var a,u=0,f=0;f<n;f++)a=t.__digit(f),i.__setDigit(f,a<<e|u),u=a>>>32-e;return 0<r&&i.__setDigit(n,u),i}},{key:"__leftShiftByAbsolute",value:function(t,e){var r=o.__toShiftAmount(e);if(0>r)throw new RangeError("BigInt too big");var n=r>>>5,i=31&r,s=t.length,a=0!==i&&0!=t.__digit(s-1)>>>32-i,u=s+n+(a?1:0),f=new o(u,t.sign);if(0===i){for(var c=0;c<n;c++)f.__setDigit(c,0);for(;c<u;c++)f.__setDigit(c,t.__digit(c-n))}else{for(var l=0,h=0;h<n;h++)f.__setDigit(h,0);for(var p,d=0;d<s;d++)p=t.__digit(d),f.__setDigit(d+n,p<<i|l),l=p>>>32-i;if(a)f.__setDigit(s+n,l);else if(0!==l)throw new Error("implementation bug")}return f.__trim()}},{key:"__rightShiftByAbsolute",value:function(t,e){var r=t.length,n=t.sign,i=o.__toShiftAmount(e);if(0>i)return o.__rightShiftByMaximum(n);var s=i>>>5,a=31&i,u=r-s;if(0>=u)return o.__rightShiftByMaximum(n);var f=!1;if(n)if(0!=(t.__digit(s)&(1<<a)-1))f=!0;else for(var c=0;c<s;c++)if(0!==t.__digit(c)){f=!0;break}if(f&&0===a){var l=t.__digit(r-1);0==~l&&u++}var h=new o(u,n);if(0===a)for(var p=s;p<r;p++)h.__setDigit(p-s,t.__digit(p));else{for(var d,_=t.__digit(s)>>>a,y=r-s-1,v=0;v<y;v++)d=t.__digit(v+s+1),h.__setDigit(v,d<<32-a|_),_=d>>>a;h.__setDigit(y,_)}return f&&(h=o.__absoluteAddOne(h,!0,h)),h.__trim()}},{key:"__rightShiftByMaximum",value:function(t){return t?o.__oneDigit(1,!0):o.__zero()}},{key:"__toShiftAmount",value:function(t){if(1<t.length)return-1;var e=t.__unsignedDigit(0);return e>o.__kMaxLengthBits?-1:e}},{key:"__toPrimitive",value:function(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"default";if("object"!==t(e))return e;if(e.constructor===o)return e;var n=e[Symbol.toPrimitive];if(n){var i=n(r);if("object"!==t(i))return i;throw new TypeError("Cannot convert object to primitive value")}var s=e.valueOf;if(s){var a=s.call(e);if("object"!==t(a))return a}var u=e.toString;if(u){var f=u.call(e);if("object"!==t(f))return f}throw new TypeError("Cannot convert object to primitive value")}},{key:"__toNumeric",value:function(t){return o.__isBigInt(t)?t:+t}},{key:"__isBigInt",value:function(e){return"object"===t(e)&&e.constructor===o}},{key:"__truncateToNBits",value:function(t,e){for(var r=t+31>>>5,n=new o(r,e.sign),i=r-1,s=0;s<i;s++)n.__setDigit(s,e.__digit(s));var a=e.__digit(i);if(0!=(31&t)){var u=32-(31&t);a=a<<u>>>u}return n.__setDigit(i,a),n.__trim()}},{key:"__truncateAndSubFromPowerOfTwo",value:function(t,e,r){for(var n=Math.min,i=t+31>>>5,s=new o(i,r),a=0,u=i-1,f=0,c=n(u,e.length);a<c;a++){var l=e.__digit(a),h=0-(65535&l)-f;f=1&h>>>16;var p=0-(l>>>16)-f;f=1&p>>>16,s.__setDigit(a,65535&h|p<<16)}for(;a<u;a++)s.__setDigit(a,0|-f);var d,_=u<e.length?e.__digit(u):0,y=31&t;if(0===y){var v=0-(65535&_)-f;f=1&v>>>16;var g=0-(_>>>16)-f;d=65535&v|g<<16}else{var m=32-y;_=_<<m>>>m;var b=1<<32-m,w=(65535&b)-(65535&_)-f;f=1&w>>>16;var E=(b>>>16)-(_>>>16)-f;d=65535&w|E<<16,d&=b-1}return s.__setDigit(u,d),s.__trim()}},{key:"__digitPow",value:function(t,e){for(var r=1;0<e;)1&e&&(r*=t),e>>>=1,t*=t;return r}}]),o}(l(Array));return b.__kMaxLength=33554432,b.__kMaxLengthBits=b.__kMaxLength<<5,b.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],b.__kBitsPerCharTableShift=5,b.__kBitsPerCharTableMultiplier=1<<b.__kBitsPerCharTableShift,b.__kConversionChars=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],b.__kBitConversionBuffer=new ArrayBuffer(8),b.__kBitConversionDouble=new Float64Array(b.__kBitConversionBuffer),b.__kBitConversionInts=new Int32Array(b.__kBitConversionBuffer),b.__clz32=m||function(t){var e=Math.LN2,r=Math.log;return 0===t?32:0|31-(0|r(t>>>0)/e)},b.__imul=g||function(t,e){return 0|t*e},b})},function(t,e,r){(function(t){"use strict";function n(t,r,n,i,o){var s=c.createHash("sha256");s.update(t),s.update(r),s.update(n),s.update(i);var a=c.createHash("sha256");return a.update(e.K),a.update(s.digest()),a.update(o),a.digest()}function i(e,r,i){if(!e.params)throw new Error("Unable to sign a request without params");for(var o=t.from(JSON.stringify(e.params),"utf8").toString("base64"),s=c.randomBytes(8),a=s.toString("hex"),u=(new Date).toISOString(),l=n(u,r,e.method,o,s),h=[],p=0,d=i;p<d.length;p++){var _=d[p];"string"==typeof _&&(_=f.PrivateKey.from(_));var y=f.hexify(_.sign(l.buffer));h.push(y)}return{jsonrpc:"2.0",method:e.method,id:e.id,params:{__signed:{account:r,nonce:a,params:o,signatures:h,timestamp:u}}}}function o(e,r){return a(this,void 0,void 0,function(){var i,o,s,a,f,c,h;return u(this,function(u){switch(u.label){case 0:if("2.0"!==e.jsonrpc||"string"!=typeof e.method)throw new l("Invalid JSON RPC Request");if(void 0==e.params||void 0==e.params.__signed)throw new l("Signed payload missing");if(1!==Object.keys(e.params).length)throw new l("Invalid request params");if(i=e.params.__signed,void 0==i.account)throw new l("Missing account");try{s=t.from(i.params,"base64").toString("utf8"),o=JSON.parse(s)}catch(t){throw new l("Invalid encoded params",t)}if(void 0==i.nonce||"string"!=typeof i.nonce)throw new l("Invalid nonce");if(a=t.from(i.nonce,"hex"),8!==a.length)throw new l("Invalid nonce");if(f=Date.parse(i.timestamp),Number.isNaN(f))throw new l("Invalid timestamp");if(Date.now()-f>6e4)throw new l("Signature expired");c=n(i.timestamp,i.account,e.method,i.params,a),u.label=1;case 1:return u.trys.push([1,3,,4]),[4,r(c,i.signatures,i.account)];case 2:return u.sent(),[3,4];case 3:throw h=u.sent(),new l("Verification failed",h);case 4:return[2,o]}})})}var s=function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),a=function(t,e,r,n){return new(r||(r=Promise))(function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){t.done?i(t.value):new r(function(e){e(t.value)}).then(s,a)}u((n=n.apply(t,e||[])).next())})},u=function(t,e){function r(t){return function(e){return n([t,e])}}function n(r){if(i)throw new TypeError("Generator is already executing.");for(;u;)try{if(i=1,o&&(s=o[2&r[0]?"return":r[0]?"throw":"next"])&&!(s=s.call(o,r[1])).done)return s;switch(o=0,s&&(r=[0,s.value]),r[0]){case 0:case 1:s=r;break;case 4:return u.label++,{value:r[1],done:!1};case 5:u.label++,o=r[1],r=[0];continue;case 7:r=u.ops.pop(),u.trys.pop();continue;default:if(s=u.trys,!(s=s.length>0&&s[s.length-1])&&(6===r[0]||2===r[0])){u=0;continue}if(3===r[0]&&(!s||r[1]>s[0]&&r[1]<s[3])){u.label=r[1];break}if(6===r[0]&&u.label<s[1]){u.label=s[1],s=r;break}if(s&&u.label<s[2]){u.label=s[2],u.ops.push(r);break}s[2]&&u.ops.pop(),u.trys.pop();continue}r=e.call(t,u)}catch(t){r=[6,t],o=0}finally{i=s=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}var i,o,s,a,u={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return a={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a};Object.defineProperty(e,"__esModule",{value:!0});var f=r(207),c=r(208);e.K=t.from("3b3b081e46ea808d5a96b08c4bc5003f5e15767090f344faab531ec57565136b","hex");var l=function(t){function e(e,r){var n=t.call(this,e)||this;return n.name="ValidationError",r&&(n.cause=r,n.message+=" ("+r.message+")"),n}return s(e,t),e}(Error);e.sign=i,e.validate=o}).call(e,r(99).Buffer)},function(t,e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function(t,r){"object"===n(e)&&"string"!=typeof e.nodeName?r(e):(t.steemit=t.steemit||{},r(t.steemit.crypto={}))}("undefined"!=typeof self?self:void 0,function(e){function i(t,e){this.getPublicKey=function(){return e||(e=d.ecc.ecdsa.generateKeys(d.ecc.curves.k256,void 0,d.bn.fromBits(t.get())).pub),new o(e)},this.sign=function(e){return p(d.codec.steemit.signRecoverably(t,h(e)))}}function o(t){this._p=t}function s(){var t=d.ecc.ecdsa.generateKeys(d.ecc.curves.k256);return l(t)}function a(t,e){var r=d.codec.steemit.keysFromPassword(t,e);return{owner:l(r.owner),memo:l(r.memo),posting:l(r.posting),active:l(r.active)}}function u(t){return p(d.hash.sha256.hash(h(t)))}function f(t){return p(d.hash.ripemd160.hash(h(t)))}function c(t){for(var e="",r=new Uint8Array(t),n=0;n<r.byteLength;n++)r[n]<16&&(e+="0"),e+=r[n].toString(16);return e}function l(t){return{private:d.codec.steemit.serializePrivateKey(t.sec),public:d.codec.steemit.serializePublicKey(t.pub)}}function h(t){if(t instanceof ArrayBuffer)return d.codec.arrayBuffer.toBits(t);throw new Error("You must supply an ArrayBuffer")}function p(t){return d.codec.arrayBuffer.fromBits(t,0,0)}e.PrivateKey=i,e.PublicKey=o,e.generateKeys=s,e.keysFromPassword=a,e.sha256=u,e.ripemd160=f,e.hexify=c;var d=function(){var e={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(t){this.toString=function(){return"CORRUPT: "+this.message},this.message=t},invalid:function(t){this.toString=function(){return"INVALID: "+this.message},this.message=t},bug:function(t){this.toString=function(){return"BUG: "+this.message},this.message=t},notReady:function(t){this.toString=function(){return"NOT READY: "+this.message},this.message=t}}};e.bitArray={bitSlice:function(t,r,n){return t=e.bitArray._shiftRight(t.slice(r/32),32-(31&r)).slice(1),void 0===n?t:e.bitArray.clamp(t,n-r)},extract:function(t,e,r){var n,i=Math.floor(-e-r&31);return n=(e+r-1^e)&-32?t[e/32|0]<<32-i^t[e/32+1|0]>>>i:t[e/32|0]>>>i,n&(1<<r)-1},concat:function(t,r){if(0===t.length||0===r.length)return t.concat(r);var n=t[t.length-1],i=e.bitArray.getPartial(n);return 32===i?t.concat(r):e.bitArray._shiftRight(r,i,0|n,t.slice(0,t.length-1))},bitLength:function(t){var r,n=t.length;return 0===n?0:(r=t[n-1],32*(n-1)+e.bitArray.getPartial(r))},clamp:function(t,r){if(32*t.length<r)return t;t=t.slice(0,Math.ceil(r/32));var n=t.length;return r&=31,n>0&&r&&(t[n-1]=e.bitArray.partial(r,t[n-1]&2147483648>>r-1,1)),t},partial:function(t,e,r){return 32===t?e:(r?0|e:e<<32-t)+1099511627776*t},getPartial:function(t){return Math.round(t/1099511627776)||32},equal:function(t,r){if(e.bitArray.bitLength(t)!==e.bitArray.bitLength(r))return!1;var n,i=0;for(n=0;n<t.length;n++)i|=t[n]^r[n];return 0===i},_shiftRight:function(t,r,n,i){var o,s,a=0;for(void 0===i&&(i=[]);r>=32;r-=32)i.push(n),n=0;if(0===r)return i.concat(t);for(o=0;o<t.length;o++)i.push(n|t[o]>>>r),n=t[o]<<32-r;return a=t.length?t[t.length-1]:0,s=e.bitArray.getPartial(a),i.push(e.bitArray.partial(r+s&31,r+s>32?n:i.pop(),1)),i},_xor4:function(t,e){return[t[0]^e[0],t[1]^e[1],t[2]^e[2],t[3]^e[3]]},byteswapM:function(t){var e,r,n=65280;for(e=0;e<t.length;++e)r=t[e],t[e]=r>>>24|r>>>8&n|(r&n)<<8|r<<24;return t}},e.cipher.aes=function(t){this._tables[0][0][0]||this._precompute();var r,n,i,o,s,a=this._tables[0][4],u=this._tables[1],f=t.length,c=1;if(4!==f&&6!==f&&8!==f)throw new e.exception.invalid("invalid aes key size");for(this._key=[o=t.slice(0),s=[]],r=f;r<4*f+28;r++)i=o[r-1],(r%f===0||8===f&&r%f===4)&&(i=a[i>>>24]<<24^a[i>>16&255]<<16^a[i>>8&255]<<8^a[255&i],r%f===0&&(i=i<<8^i>>>24^c<<24,c=c<<1^283*(c>>7))),o[r]=o[r-f]^i;for(n=0;r;n++,r--)i=o[3&n?r:r-4],r<=4||n<4?s[n]=i:s[n]=u[0][a[i>>>24]]^u[1][a[i>>16&255]]^u[2][a[i>>8&255]]^u[3][a[255&i]]},e.cipher.aes.prototype={encrypt:function(t){return this._crypt(t,0)},decrypt:function(t){return this._crypt(t,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){var t,e,r,n,i,o,s,a,u,f=this._tables[0],c=this._tables[1],l=f[4],h=c[4],p=[],d=[];for(t=0;t<256;t++)d[(p[t]=t<<1^283*(t>>7))^t]=t;for(e=r=0;!l[e];e^=n||1,r=d[r]||1)for(s=r^r<<1^r<<2^r<<3^r<<4,s=s>>8^255&s^99,l[e]=s,h[s]=e,o=p[i=p[n=p[e]]],u=16843009*o^65537*i^257*n^16843008*e,a=257*p[s]^16843008*s,t=0;t<4;t++)f[t][e]=a=a<<24^a>>>8,c[t][s]=u=u<<24^u>>>8;for(t=0;t<5;t++)f[t]=f[t].slice(0),c[t]=c[t].slice(0)},_crypt:function(t,r){if(4!==t.length)throw new e.exception.invalid("invalid aes block size");var n,i,o,s,a=this._key[r],u=t[0]^a[0],f=t[r?3:1]^a[1],c=t[2]^a[2],l=t[r?1:3]^a[3],h=a.length/4-2,p=4,d=[0,0,0,0],_=this._tables[r],y=_[0],v=_[1],g=_[2],m=_[3],b=_[4];for(s=0;s<h;s++)n=y[u>>>24]^v[f>>16&255]^g[c>>8&255]^m[255&l]^a[p],i=y[f>>>24]^v[c>>16&255]^g[l>>8&255]^m[255&u]^a[p+1],o=y[c>>>24]^v[l>>16&255]^g[u>>8&255]^m[255&f]^a[p+2],l=y[l>>>24]^v[u>>16&255]^g[f>>8&255]^m[255&c]^a[p+3],p+=4,u=n,f=i,c=o;for(s=0;s<4;s++)d[r?3&-s:s]=b[u>>>24]<<24^b[f>>16&255]<<16^b[c>>8&255]<<8^b[255&l]^a[p++],n=u,u=f,f=c,c=l,l=n;return d}},e.bn=function(t){this.initWith(t)},e.bn.prototype={radix:24,maxMul:8,_class:e.bn,copy:function(){return new this._class(this)},initWith:function(t){var e,r=0;switch("undefined"==typeof t?"undefined":n(t)){case"object":this.limbs=t.limbs.slice(0);break;case"number":this.limbs=[t],this.normalize();break;case"string":for(t=t.replace(/^0x/,""),this.limbs=[],e=this.radix/4,r=0;r<t.length;r+=e)this.limbs.push(parseInt(t.substring(Math.max(t.length-r-e,0),t.length-r),16));break;default:this.limbs=[0]}return this},equals:function(t){"number"==typeof t&&(t=new this._class(t));var e,r=0;for(this.fullReduce(),t.fullReduce(),e=0;e<this.limbs.length||e<t.limbs.length;e++)r|=this.getLimb(e)^t.getLimb(e);return 0===r},getLimb:function(t){return t>=this.limbs.length?0:this.limbs[t]},greaterEquals:function(t){"number"==typeof t&&(t=new this._class(t));var e,r,n,i=0,o=0;for(e=Math.max(this.limbs.length,t.limbs.length)-1;e>=0;e--)r=this.getLimb(e),n=t.getLimb(e),o|=n-r&~i,i|=r-n&~o;return(o|~i)>>>31},toString:function(){this.fullReduce();var t,e,r="",n=this.limbs;for(t=0;t<this.limbs.length;t++){for(e=n[t].toString(16);t<this.limbs.length-1&&e.length<6;)e="0"+e;r=e+r}return"0x"+r},addM:function(t){"object"!==("undefined"==typeof t?"undefined":n(t))&&(t=new this._class(t));var e,r=this.limbs,i=t.limbs;for(e=r.length;e<i.length;e++)r[e]=0;for(e=0;e<i.length;e++)r[e]+=i[e];return this},doubleM:function(){var t,e,r=0,n=this.radix,i=this.radixMask,o=this.limbs;for(t=0;t<o.length;t++)e=o[t],e=e+e+r,o[t]=e&i,r=e>>n;return r&&o.push(r),this},halveM:function(){var t,e,r=0,n=this.radix,i=this.limbs;for(t=i.length-1;t>=0;t--)e=i[t],i[t]=e+r>>1,r=(1&e)<<n;return i[i.length-1]||i.pop(),this},subM:function(t){"object"!==("undefined"==typeof t?"undefined":n(t))&&(t=new this._class(t));var e,r=this.limbs,i=t.limbs;for(e=r.length;e<i.length;e++)r[e]=0;for(e=0;e<i.length;e++)r[e]-=i[e];return this},mod:function(t){var r=!this.greaterEquals(new e.bn(0));t=new e.bn(t).normalize();var n=new e.bn(this).normalize(),i=0;for(r&&(n=new e.bn(0).subM(n).normalize());n.greaterEquals(t);i++)t.doubleM();for(r&&(n=t.sub(n).normalize());i>0;i--)t.halveM(),n.greaterEquals(t)&&n.subM(t).normalize();return n.trim()},inverseMod:function(t){var r,n,i=new e.bn(1),o=new e.bn(0),s=new e.bn(this),a=new e.bn(t),u=1;if(!(1&t.limbs[0]))throw new e.exception.invalid("inverseMod: p must be odd");do for(1&s.limbs[0]&&(s.greaterEquals(a)||(r=s,s=a,a=r,r=i,i=o,o=r),s.subM(a),s.normalize(),i.greaterEquals(o)||i.addM(t),i.subM(o)),s.halveM(),1&i.limbs[0]&&i.addM(t),i.normalize(),i.halveM(),n=u=0;n<s.limbs.length;n++)u|=s.limbs[n];while(u);if(!a.equals(1))throw new e.exception.invalid("inverseMod: p and x must be relatively prime");return o},add:function(t){return this.copy().addM(t)},sub:function(t){return this.copy().subM(t)},mul:function(t){"number"==typeof t&&(t=new this._class(t));var e,r,n,i=this.limbs,o=t.limbs,s=i.length,a=o.length,u=new this._class,f=u.limbs,c=this.maxMul;for(e=0;e<this.limbs.length+t.limbs.length+1;e++)f[e]=0;for(e=0;e<s;e++){for(n=i[e],r=0;r<a;r++)f[e+r]+=n*o[r];--c||(c=this.maxMul,u.cnormalize())}return u.cnormalize().reduce()},square:function(){return this.mul(this)},power:function(t){t=new e.bn(t).normalize().trim().limbs;var r,n,i=new this._class(1),o=this;for(r=0;r<t.length;r++)for(n=0;n<this.radix&&(t[r]&1<<n&&(i=i.mul(o)),r!=t.length-1||t[r]>>n+1!=0);n++)o=o.square();return i},mulmod:function(t,e){return this.mod(e).mul(t.mod(e)).mod(e)},powermod:function(t,r){if(t=new e.bn(t),r=new e.bn(r),1==(1&r.limbs[0])){var n=this.montpowermod(t,r);if(0!=n)return n}var i,o,s=t.normalize().trim().limbs,a=new this._class(1),u=this;for(i=0;i<s.length;i++)for(o=0;o<this.radix&&(s[i]&1<<o&&(a=a.mulmod(u,r)),i!=s.length-1||s[i]>>o+1!=0);o++)u=u.mulmod(u,r);return a},montpowermod:function(t,r){t=new e.bn(t).normalize().trim(),r=new e.bn(r);var n,i,o,s,a,u=this.radix,f=new this._class(1),c=this.copy(),l=t.bitLength();for(o=new e.bn({limbs:r.copy().normalize().trim().limbs.map(function(){return 0})}),s=this.radix;s>0;s--)if(1==(r.limbs[r.limbs.length-1]>>s&1)){o.limbs[o.limbs.length-1]=1<<s;break}if(0==l)return this;a=l<18?1:l<48?3:l<144?4:l<768?5:6;for(var h=o.copy(),p=r.copy(),d=new e.bn(1),_=new e.bn(0),y=o.copy();y.greaterEquals(1);)y.halveM(),0==(1&d.limbs[0])?(d.halveM(),_.halveM()):(d.addM(p),d.halveM(),_.halveM(),_.addM(h));d=d.normalize(),_=_.normalize(),h.doubleM();var v=h.mulmod(h,r);if(!h.mul(d).sub(r.mul(_)).equals(1))return!1;var g=function(t){return m(t,v)},m=function(t,e){var n,i,a,f,c=(1<<s+1)-1;for(i=t.mul(e),a=i.mul(_),a.limbs=a.limbs.slice(0,o.limbs.length),a.limbs.length==o.limbs.length&&(a.limbs[o.limbs.length-1]&=c),a=a.mul(r),f=i.add(a).normalize().trim(),f.limbs=f.limbs.slice(o.limbs.length-1),n=0;n<f.limbs.length;n++)n>0&&(f.limbs[n-1]|=(f.limbs[n]&c)<<u-s-1),f.limbs[n]=f.limbs[n]>>s+1;return f.greaterEquals(r)&&f.subM(r),f},b=function(t){return m(t,1)};c=g(c),f=g(f);var w,E={},k=(1<<a-1)-1;for(E[1]=c.copy(),E[2]=m(c,c),w=1;w<=k;w++)E[2*w+1]=m(E[2*w-1],E[2]);var S=function(t,e){var r=e%t.radix;return(t.limbs[Math.floor(e/t.radix)]&1<<r)>>r};for(n=t.bitLength()-1;n>=0;)if(0==S(t,n))f=m(f,f),n-=1;else{for(var B=n-a+1;0==S(t,B);)B++;var T=0;for(i=B;i<=n;i++)T+=S(t,i)<<i-B,f=m(f,f);f=m(f,E[T]),n=B-1}return b(f)},trim:function(){var t,e=this.limbs;do t=e.pop();while(e.length&&0===t);return e.push(t),this},reduce:function(){return this},fullReduce:function(){return this.normalize()},normalize:function(){var t,e,r,n=0,i=this.placeVal,o=this.ipv,s=this.limbs,a=s.length,u=this.radixMask;for(t=0;t<a||0!==n&&n!==-1;t++)e=(s[t]||0)+n,r=s[t]=e&u,n=(e-r)*o;return n===-1&&(s[t-1]-=i),this.trim(),this},cnormalize:function(){var t,e,r,n=0,i=this.ipv,o=this.limbs,s=o.length,a=this.radixMask;for(t=0;t<s-1;t++)e=o[t]+n,r=o[t]=e&a,n=(e-r)*i;return o[t]+=n,this},toBits:function(t){this.fullReduce(),t=t||this.exponent||this.bitLength();var r=Math.floor((t-1)/24),n=e.bitArray,i=(t+7&-8)%this.radix||this.radix,o=[n.partial(i,this.getLimb(r))];for(r--;r>=0;r--)o=n.concat(o,[n.partial(Math.min(this.radix,t),this.getLimb(r))]),t-=this.radix;return o},bitLength:function(){this.fullReduce();for(var t=this.radix*(this.limbs.length-1),e=this.limbs[this.limbs.length-1];e;e>>>=1)t++;return t+7&-8}},e.bn.fromBits=function(t){var r=this,n=new r,i=[],o=e.bitArray,s=this.prototype,a=Math.min(this.bitLength||4294967296,o.bitLength(t)),u=a%s.radix||s.radix;for(i[0]=o.extract(t,0,u);u<a;u+=s.radix)i.unshift(o.extract(t,u,s.radix));return n.limbs=i,n},e.bn.prototype.ipv=1/(e.bn.prototype.placeVal=Math.pow(2,e.bn.prototype.radix)),e.bn.prototype.radixMask=(1<<e.bn.prototype.radix)-1,e.bn.pseudoMersennePrime=function(t,r){function n(t){this.initWith(t)}var i,o,s,a=n.prototype=new e.bn;for(s=a.modOffset=Math.ceil(o=t/a.radix),a.exponent=t,a.offset=[],a.factor=[],a.minOffset=s,a.fullMask=0,a.fullOffset=[],a.fullFactor=[],a.modulus=n.modulus=new e.bn(Math.pow(2,t)),a.fullMask=0|-Math.pow(2,t%a.radix),i=0;i<r.length;i++)a.offset[i]=Math.floor(r[i][0]/a.radix-o),a.fullOffset[i]=Math.ceil(r[i][0]/a.radix-o),a.factor[i]=r[i][1]*Math.pow(.5,t-r[i][0]+a.offset[i]*a.radix),a.fullFactor[i]=r[i][1]*Math.pow(.5,t-r[i][0]+a.fullOffset[i]*a.radix),a.modulus.addM(new e.bn(Math.pow(2,r[i][0])*r[i][1])),a.minOffset=Math.min(a.minOffset,-a.offset[i]);return a._class=n,a.modulus.cnormalize(),a.reduce=function(){var t,e,r,n,i=this.modOffset,o=this.limbs,s=this.offset,a=this.offset.length,u=this.factor;for(t=this.minOffset;o.length>i;){for(r=o.pop(),n=o.length,e=0;e<a;e++)o[n+s[e]]-=u[e]*r;t--,t||(o.push(0),this.cnormalize(),t=this.minOffset)}return this.cnormalize(),this},a._strongReduce=a.fullMask===-1?a.reduce:function(){var t,e,r=this.limbs,n=r.length-1;if(this.reduce(),n===this.modOffset-1){for(e=r[n]&this.fullMask,r[n]-=e,t=0;t<this.fullOffset.length;t++)r[n+this.fullOffset[t]]-=this.fullFactor[t]*e;this.normalize()}},a.fullReduce=function(){var t,e;for(this._strongReduce(),this.addM(this.modulus),this.addM(this.modulus),this.normalize(),this._strongReduce(),e=this.limbs.length;e<this.modOffset;e++)this.limbs[e]=0;for(t=this.greaterEquals(this.modulus),e=0;e<this.limbs.length;e++)this.limbs[e]-=this.modulus.limbs[e]*t;return this.cnormalize(),this},a.inverse=function(){return this.power(this.modulus.sub(2))},n.fromBits=e.bn.fromBits,n};var i=e.bn.pseudoMersennePrime;return e.bn.prime={p127:i(127,[[0,-1]]),p25519:i(255,[[0,-19]]),p192k:i(192,[[32,-1],[12,-1],[8,-1],[7,-1],[6,-1],[3,-1],[0,-1]]),p224k:i(224,[[32,-1],[12,-1],[11,-1],[9,-1],[7,-1],[4,-1],[1,-1],[0,-1]]),p256k:i(256,[[32,-1],[9,-1],[8,-1],[7,-1],[6,-1],[4,-1],[0,-1]]),p192:i(192,[[0,-1],[64,-1]]),p224:i(224,[[0,1],[96,-1]]),p256:i(256,[[0,-1],[96,1],[192,1],[224,-1]]),p384:i(384,[[0,-1],[32,1],[96,-1],[128,-1]]),p521:i(521,[[0,-1]])},e.bn.random=function(t,r){"object"!==("undefined"==typeof t?"undefined":n(t))&&(t=new e.bn(t));for(var i,o,s=t.limbs.length,a=t.limbs[s-1]+1,u=new e.bn;;){do i=e.random.randomWords(s,r),i[s-1]<0&&(i[s-1]+=4294967296);while(Math.floor(i[s-1]/a)===Math.floor(4294967296/a));for(i[s-1]%=a,o=0;o<s-1;o++)i[o]&=t.radixMask;if(u.limbs=i,!u.greaterEquals(t))return u}},"undefined"==typeof ArrayBuffer&&!function(t){t.ArrayBuffer=function(){},t.DataView=function(){}}(this),e.codec.arrayBuffer={fromBits:function(t,r,n){var i,o,s,a,u;if(r=void 0==r||r,n=n||8,0===t.length)return new ArrayBuffer(0);if(s=e.bitArray.bitLength(t)/8,e.bitArray.bitLength(t)%8!==0)throw new e.exception.invalid("Invalid bit size, must be divisble by 8 to fit in an arraybuffer correctly");for(r&&s%n!==0&&(s+=n-s%n),a=new DataView(new ArrayBuffer(4*t.length)),o=0;o<t.length;o++)a.setUint32(4*o,t[o]<<32);if(i=new DataView(new ArrayBuffer(s)),i.byteLength===a.byteLength)return a.buffer;for(u=a.byteLength<i.byteLength?a.byteLength:i.byteLength,o=0;o<u;o++)i.setUint8(o,a.getUint8(o));return i.buffer},toBits:function(t){var r,n,i,o,s=[];if(0===t.byteLength)return[];i=new DataView(t),n=i.byteLength-i.byteLength%4;for(var r=0;r<n;r+=4)s.push(i.getUint32(r));if(i.byteLength%4!=0){o=new DataView(new ArrayBuffer(4));for(var r=0,a=i.byteLength%4;r<a;r++)o.setUint8(r+4-a,i.getUint8(n+r));s.push(e.bitArray.partial(i.byteLength%4*8,o.getUint32(0)))}return s},hexDumpBuffer:function(t){for(var e=new DataView(t),r="",i=function(t,e){return t+="",t.length>=e?t:new Array(e-t.length+1).join("0")+t},o=0;o<e.byteLength;o+=2)o%16==0&&(r+="\n"+o.toString(16)+"\t"),r+=i(e.getUint16(o).toString(16),4)+" ";void 0===("undefined"==typeof console?"undefined":n(console))&&(console=console||{log:function(){}}),console.log(r.toUpperCase())}},e.codec.utf8String={fromBits:function(t){var r,n,i="",o=e.bitArray.bitLength(t);for(r=0;r<o/8;r++)0===(3&r)&&(n=t[r/4]),i+=String.fromCharCode(n>>>8>>>8>>>8),n<<=8;return decodeURIComponent(escape(i))},toBits:function(t){t=unescape(encodeURIComponent(t));var r,n=[],i=0;for(r=0;r<t.length;r++)i=i<<8|t.charCodeAt(r),3===(3&r)&&(n.push(i),i=0);return 3&r&&n.push(e.bitArray.partial(8*(3&r),i)),n}},e.ecc={},e.ecc.point=function(t,r,n){void 0===r?this.isIdentity=!0:(r instanceof e.bn&&(r=new t.field(r)),n instanceof e.bn&&(n=new t.field(n)),this.x=r,this.y=n,this.isIdentity=!1),this.curve=t},e.ecc.point.prototype={toJac:function(){return new e.ecc.pointJac(this.curve,this.x,this.y,new this.curve.field(1))},mult:function(t){return this.toJac().mult(t,this).toAffine()},mult2:function(t,e,r){return this.toJac().mult2(t,this,e,r).toAffine()},multiples:function(){var t,r,n;if(void 0===this._multiples)for(n=this.toJac().doubl(),t=this._multiples=[new e.ecc.point(this.curve),this,n.toAffine()],r=3;r<16;r++)n=n.add(this),t.push(n.toAffine());return this._multiples},negate:function(){var t=new this.curve.field(0).sub(this.y).normalize().reduce();return new e.ecc.point(this.curve,this.x,t)},isValid:function(){return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))))},toBits:function(){return e.bitArray.concat(this.x.toBits(),this.y.toBits())}},e.ecc.pointJac=function(t,e,r,n){void 0===e?this.isIdentity=!0:(this.x=e,this.y=r,this.z=n,this.isIdentity=!1),this.curve=t},e.ecc.pointJac.prototype={add:function(t){var r,n,i,o,s,a,u,f,c,l,h,p=this;if(p.curve!==t.curve)throw new e.exception.invalid("sjcl.ecc.add(): Points must be on the same curve to add them!");return p.isIdentity?t.toJac():t.isIdentity?p:(r=p.z.square(),n=t.x.mul(r).subM(p.x),n.equals(0)?p.y.equals(t.y.mul(r.mul(p.z)))?p.doubl():new e.ecc.pointJac(p.curve):(i=t.y.mul(r.mul(p.z)).subM(p.y),o=n.square(),s=i.square(),a=n.square().mul(n).addM(p.x.add(p.x).mul(o)),u=s.subM(a),f=p.x.mul(o).subM(u).mul(i),c=p.y.mul(n.square().mul(n)),l=f.subM(c),h=p.z.mul(n),new e.ecc.pointJac(this.curve,u,l,h)))},doubl:function(){if(this.isIdentity)return this;var t=this.y.square(),r=t.mul(this.x.mul(4)),n=t.square().mul(8),i=this.z.square(),o=this.curve.a.toString()==new e.bn(-3).toString()?this.x.sub(i).mul(3).mul(this.x.add(i)):this.x.square().mul(3).add(i.square().mul(this.curve.a)),s=o.square().subM(r).subM(r),a=r.sub(s).mul(o).subM(n),u=this.y.add(this.y).mul(this.z);return new e.ecc.pointJac(this.curve,s,a,u)},toAffine:function(){if(this.isIdentity||this.z.equals(0))return new e.ecc.point(this.curve);var t=this.z.inverse(),r=t.square();return new e.ecc.point(this.curve,this.x.mul(r).fullReduce(),this.y.mul(r.mul(t)).fullReduce())},mult:function(t,r){"number"==typeof t?t=[t]:void 0!==t.limbs&&(t=t.normalize().limbs);var n,i,o=new e.ecc.point(this.curve).toJac(),s=r.multiples();for(n=t.length-1;n>=0;n--)for(i=e.bn.prototype.radix-4;i>=0;i-=4)o=o.doubl().doubl().doubl().doubl().add(s[t[n]>>i&15]);return o},mult2:function(t,r,n,i){"number"==typeof t?t=[t]:void 0!==t.limbs&&(t=t.normalize().limbs),"number"==typeof n?n=[n]:void 0!==n.limbs&&(n=n.normalize().limbs);var o,s,a,u,f=new e.ecc.point(this.curve).toJac(),c=r.multiples(),l=i.multiples();for(o=Math.max(t.length,n.length)-1;o>=0;o--)for(a=0|t[o],u=0|n[o],s=e.bn.prototype.radix-4;s>=0;s-=4)f=f.doubl().doubl().doubl().doubl().add(c[a>>s&15]).add(l[u>>s&15]);return f},negate:function(){return this.toAffine().negate().toJac()},isValid:function(){var t=this.z.square(),e=t.square(),r=e.mul(t);return this.y.square().equals(this.curve.b.mul(r).add(this.x.mul(this.curve.a.mul(e).add(this.x.square()))))}},e.ecc.curve=function(t,r,n,i,o,s){this.field=t,this.r=new e.bn(r),this.a=new t(n),this.b=new t(i),this.G=new e.ecc.point(this,new t(o),new t(s))},e.ecc.curve.prototype.fromBits=function(t){var r=e.bitArray,n=this.field.prototype.exponent+7&-8,i=new e.ecc.point(this,this.field.fromBits(r.bitSlice(t,0,n)),this.field.fromBits(r.bitSlice(t,n,2*n)));if(!i.isValid())throw new e.exception.corrupt("not on the curve!");return i},e.ecc.curves={c192:new e.ecc.curve(e.bn.prime.p192,"0xffffffffffffffffffffffff99def836146bc9b1b4d22831",-3,"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1","0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012","0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"), +c224:new e.ecc.curve(e.bn.prime.p224,"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",-3,"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4","0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21","0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"),c256:new e.ecc.curve(e.bn.prime.p256,"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",-3,"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b","0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296","0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),c384:new e.ecc.curve(e.bn.prime.p384,"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",-3,"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef","0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7","0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),c521:new e.ecc.curve(e.bn.prime.p521,"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409",-3,"0x051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00","0xC6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66","0x11839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650"),k192:new e.ecc.curve(e.bn.prime.p192k,"0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d",0,3,"0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d","0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"),k224:new e.ecc.curve(e.bn.prime.p224k,"0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7",0,5,"0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c","0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5"),k256:new e.ecc.curve(e.bn.prime.p256k,"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",0,7,"0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},e.ecc.curveName=function(t){var r;for(r in e.ecc.curves)if(e.ecc.curves.hasOwnProperty(r)&&e.ecc.curves[r]===t)return r;throw new e.exception.invalid("no such curve")},e.ecc.deserialize=function(t){var r=["elGamal","ecdsa"];if(!t||!t.curve||!e.ecc.curves[t.curve])throw new e.exception.invalid("invalid serialization");if(r.indexOf(t.type)===-1)throw new e.exception.invalid("invalid type");var n=e.ecc.curves[t.curve];if(t.secretKey){if(!t.exponent)throw new e.exception.invalid("invalid exponent");var i=new e.bn(t.exponent);return new e.ecc[t.type].secretKey(n,i)}if(!t.point)throw new e.exception.invalid("invalid point");var o=n.fromBits(e.codec.hex.toBits(t.point));return new e.ecc[t.type].publicKey(n,o)},e.ecc.basicKey={publicKey:function(t,r){this._curve=t,this._curveBitLength=t.r.bitLength(),r instanceof Array?this._point=t.fromBits(r):this._point=r,this.serialize=function(){var r=e.ecc.curveName(t);return{type:this.getType(),secretKey:!1,point:e.codec.hex.fromBits(this._point.toBits()),curve:r}},this.get=function(){var t=this._point.toBits(),r=e.bitArray.bitLength(t),n=e.bitArray.bitSlice(t,0,r/2),i=e.bitArray.bitSlice(t,r/2);return{x:n,y:i}}},secretKey:function(t,r){this._curve=t,this._curveBitLength=t.r.bitLength(),this._exponent=r,this.serialize=function(){var r=this.get(),n=e.ecc.curveName(t);return{type:this.getType(),secretKey:!0,exponent:e.codec.hex.fromBits(r),curve:n}},this.get=function(){return this._exponent.toBits()}}},e.ecc.basicKey.generateKeys=function(t){return function(r,n,i){if(r=r||256,"number"==typeof r&&(r=e.ecc.curves["c"+r],void 0===r))throw new e.exception.invalid("no such curve");i=i||e.bn.random(r.r,n);var o=r.G.mult(i);return{pub:new e.ecc[t].publicKey(r,o),sec:new e.ecc[t].secretKey(r,i)}}},e.ecc.elGamal={generateKeys:e.ecc.basicKey.generateKeys("elGamal"),publicKey:function(t,r){e.ecc.basicKey.publicKey.apply(this,arguments)},secretKey:function(t,r){e.ecc.basicKey.secretKey.apply(this,arguments)}},e.ecc.elGamal.publicKey.prototype={kem:function(t){var r=e.bn.random(this._curve.r,t),n=this._curve.G.mult(r).toBits(),i=e.hash.sha256.hash(this._point.mult(r).toBits());return{key:i,tag:n}},getType:function(){return"elGamal"}},e.ecc.elGamal.secretKey.prototype={unkem:function(t){return e.hash.sha256.hash(this._curve.fromBits(t).mult(this._exponent).toBits())},dh:function(t){return e.hash.sha256.hash(t._point.mult(this._exponent).toBits())},dhJavaEc:function(t){return t._point.mult(this._exponent).x.toBits()},getType:function(){return"elGamal"}},e.ecc.ecdsa={generateKeys:e.ecc.basicKey.generateKeys("ecdsa")},e.ecc.ecdsa.publicKey=function(t,r){e.ecc.basicKey.publicKey.apply(this,arguments)},e.ecc.ecdsa.publicKey.prototype={verify:function(t,r,n){e.bitArray.bitLength(t)>this._curveBitLength&&(t=e.bitArray.clamp(t,this._curveBitLength));var i=e.bitArray,o=this._curve.r,s=this._curveBitLength,a=e.bn.fromBits(i.bitSlice(r,0,s)),u=e.bn.fromBits(i.bitSlice(r,s,2*s)),f=n?u:u.inverseMod(o),c=e.bn.fromBits(t).mul(f).mod(o),l=a.mul(f).mod(o),h=this._curve.G.mult2(c,l,this._point).x;if(a.equals(0)||u.equals(0)||a.greaterEquals(o)||u.greaterEquals(o)||!h.equals(a)){if(void 0===n)return this.verify(t,r,!0);throw new e.exception.corrupt("signature didn't check out")}return!0},getType:function(){return"ecdsa"}},e.ecc.ecdsa.secretKey=function(t,r){e.ecc.basicKey.secretKey.apply(this,arguments)},e.ecc.ecdsa.secretKey.prototype={sign:function(t,r,n,i){e.bitArray.bitLength(t)>this._curveBitLength&&(t=e.bitArray.clamp(t,this._curveBitLength));var o=this._curve.r,s=o.bitLength(),a=i||e.bn.random(o.sub(1),r).add(1),u=this._curve.G.mult(a).x.mod(o),f=e.bn.fromBits(t).add(u.mul(this._exponent)),c=n?f.inverseMod(o).mul(a).mod(o):f.mul(a.inverseMod(o)).mod(o);return e.bitArray.concat(u.toBits(s),c.toBits(s))},getType:function(){return"ecdsa"}},function(){function t(t,e,r){return t^e^r}function r(t,e,r){return t&e|~t&r}function n(t,e,r){return(t|~e)^r}function i(t,e,r){return t&r|e&~r}function o(t,e,r){return t^(e|~r)}function s(t,e){return t<<e|t>>>32-e}function a(t){return(255&t)<<24|(65280&t)<<8|(t&255<<16)>>>8|(t&255<<24)>>>24}function u(e){for(var a,u=this._h[0],f=this._h[1],h=this._h[2],p=this._h[3],g=this._h[4],m=this._h[0],b=this._h[1],w=this._h[2],E=this._h[3],k=this._h[4],S=0;S<16;++S)a=s(u+t(f,h,p)+e[d[S]]+c[S],y[S])+g,u=g,g=p,p=s(h,10),h=f,f=a,a=s(m+o(b,w,E)+e[_[S]]+l[S],v[S])+k,m=k,k=E,E=s(w,10),w=b,b=a;for(;S<32;++S)a=s(u+r(f,h,p)+e[d[S]]+c[S],y[S])+g,u=g,g=p,p=s(h,10),h=f,f=a,a=s(m+i(b,w,E)+e[_[S]]+l[S],v[S])+k,m=k,k=E,E=s(w,10),w=b,b=a;for(;S<48;++S)a=s(u+n(f,h,p)+e[d[S]]+c[S],y[S])+g,u=g,g=p,p=s(h,10),h=f,f=a,a=s(m+n(b,w,E)+e[_[S]]+l[S],v[S])+k,m=k,k=E,E=s(w,10),w=b,b=a;for(;S<64;++S)a=s(u+i(f,h,p)+e[d[S]]+c[S],y[S])+g,u=g,g=p,p=s(h,10),h=f,f=a,a=s(m+r(b,w,E)+e[_[S]]+l[S],v[S])+k,m=k,k=E,E=s(w,10),w=b,b=a;for(;S<80;++S)a=s(u+o(f,h,p)+e[d[S]]+c[S],y[S])+g,u=g,g=p,p=s(h,10),h=f,f=a,a=s(m+t(b,w,E)+e[_[S]]+l[S],v[S])+k,m=k,k=E,E=s(w,10),w=b,b=a;a=this._h[1]+h+E,this._h[1]=this._h[2]+p+k,this._h[2]=this._h[3]+g+m,this._h[3]=this._h[4]+u+b,this._h[4]=this._h[0]+f+w,this._h[0]=a}e.hash.ripemd160=function(t){t?(this._h=t._h.slice(0),this._buffer=t._buffer.slice(0),this._length=t._length):this.reset()},e.hash.ripemd160.hash=function(t){return(new e.hash.ripemd160).update(t).finalize()},e.hash.ripemd160.prototype={reset:function(){return this._h=f.slice(0),this._buffer=[],this._length=0,this},update:function(t){"string"==typeof t&&(t=e.codec.utf8String.toBits(t));var r,n=this._buffer=e.bitArray.concat(this._buffer,t),i=this._length,o=this._length=i+e.bitArray.bitLength(t);if(o>9007199254740991)throw new e.exception.invalid("Cannot hash more than 2^53 - 1 bits");for(r=512+i-(512+i&511);r<=o;r+=512){for(var s=n.splice(0,16),f=0;f<16;++f)s[f]=a(s[f]);u.call(this,s)}return this},finalize:function(){var t=e.bitArray.concat(this._buffer,[e.bitArray.partial(1,1)]),r=(this._length+1)%512,n=(r>448?512:448)-r%448,i=n%32;for(i>0&&(t=e.bitArray.concat(t,[e.bitArray.partial(i,0)]));n>=32;n-=32)t.push(0);for(t.push(a(0|this._length)),t.push(a(Math.floor(this._length/4294967296)));t.length;){for(var o=t.splice(0,16),s=0;s<16;++s)o[s]=a(o[s]);u.call(this,o)}var f=this._h;this.reset();for(var s=0;s<5;++s)f[s]=a(f[s]);return f}};for(var f=[1732584193,4023233417,2562383102,271733878,3285377520],c=[0,1518500249,1859775393,2400959708,2840853838],l=[1352829926,1548603684,1836072691,2053994217,0],h=4;h>=0;--h)for(var p=1;p<16;++p)c.splice(h,0,c[h]),l.splice(h,0,l[h]);var d=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],_=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],y=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],v=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]}(),e.hash.sha256=function(t){this._key[0]||this._precompute(),t?(this._h=t._h.slice(0),this._buffer=t._buffer.slice(0),this._length=t._length):this.reset()},e.hash.sha256.hash=function(t){return(new e.hash.sha256).update(t).finalize()},e.hash.sha256.prototype={blockSize:512,reset:function(){return this._h=this._init.slice(0),this._buffer=[],this._length=0,this},update:function(t){"string"==typeof t&&(t=e.codec.utf8String.toBits(t));var r,n=this._buffer=e.bitArray.concat(this._buffer,t),i=this._length,o=this._length=i+e.bitArray.bitLength(t);if(o>9007199254740991)throw new e.exception.invalid("Cannot hash more than 2^53 - 1 bits");if("undefined"!=typeof Uint32Array){var s=new Uint32Array(n),a=0;for(r=512+i-(512+i&511);r<=o;r+=512)this._block(s.subarray(16*a,16*(a+1))),a+=1;n.splice(0,16*a)}else for(r=512+i-(512+i&511);r<=o;r+=512)this._block(n.splice(0,16));return this},finalize:function(){var t,r=this._buffer,n=this._h;for(r=e.bitArray.concat(r,[e.bitArray.partial(1,1)]),t=r.length+2;15&t;t++)r.push(0);for(r.push(Math.floor(this._length/4294967296)),r.push(0|this._length);r.length;)this._block(r.splice(0,16));return this.reset(),n},_init:[],_key:[],_precompute:function(){function t(t){return 4294967296*(t-Math.floor(t))|0}for(var e,r,n=0,i=2;n<64;i++){for(r=!0,e=2;e*e<=i;e++)if(i%e===0){r=!1;break}r&&(n<8&&(this._init[n]=t(Math.pow(i,.5))),this._key[n]=t(Math.pow(i,1/3)),n++)}},_block:function(t){var e,r,n,i,o=this._h,s=this._key,a=o[0],u=o[1],f=o[2],c=o[3],l=o[4],h=o[5],p=o[6],d=o[7];for(e=0;e<64;e++)e<16?r=t[e]:(n=t[e+1&15],i=t[e+14&15],r=t[15&e]=(n>>>7^n>>>18^n>>>3^n<<25^n<<14)+(i>>>17^i>>>19^i>>>10^i<<15^i<<13)+t[15&e]+t[e+9&15]|0),r=r+d+(l>>>6^l>>>11^l>>>25^l<<26^l<<21^l<<7)+(p^l&(h^p))+s[e],d=p,p=h,h=l,l=c+r|0,c=f,f=u,u=a,a=r+(u&f^c&(u^f))+(u>>>2^u>>>13^u>>>22^u<<30^u<<19^u<<10)|0;o[0]=o[0]+a|0,o[1]=o[1]+u|0,o[2]=o[2]+f|0,o[3]=o[3]+c|0,o[4]=o[4]+l|0,o[5]=o[5]+h|0,o[6]=o[6]+p|0,o[7]=o[7]+d|0}},e.prng=function(t){this._pools=[new e.hash.sha256],this._poolEntropy=[0],this._reseedCount=0,this._robins={},this._eventId=0,this._collectorIds={},this._collectorIdNext=0,this._strength=0,this._poolStrength=0,this._nextReseed=0,this._key=[0,0,0,0,0,0,0,0],this._counter=[0,0,0,0],this._cipher=void 0,this._defaultParanoia=t,this._collectorsStarted=!1,this._callbacks={progress:{},seeded:{}},this._callbackI=0,this._NOT_READY=0,this._READY=1,this._REQUIRES_RESEED=2,this._MAX_WORDS_PER_BURST=65536,this._PARANOIA_LEVELS=[0,48,64,96,128,192,256,384,512,768,1024],this._MILLISECONDS_PER_RESEED=3e4,this._BITS_PER_RESEED=80},e.prng.prototype={randomWords:function(t,r){var n,i,o=[],s=this.isReady(r);if(s===this._NOT_READY)throw new e.exception.notReady("generator isn't seeded");for(s&this._REQUIRES_RESEED&&this._reseedFromPools(!(s&this._READY)),n=0;n<t;n+=4)(n+1)%this._MAX_WORDS_PER_BURST===0&&this._gate(),i=this._gen4words(),o.push(i[0],i[1],i[2],i[3]);return this._gate(),o.slice(0,t)},setDefaultParanoia:function(t,r){if(0===t&&"Setting paranoia=0 will ruin your security; use it only for testing"!==r)throw new e.exception.invalid("Setting paranoia=0 will ruin your security; use it only for testing");this._defaultParanoia=t},addEntropy:function(t,r,i){i=i||"user";var o,s,a,u,f=(new Date).valueOf(),c=this._robins[i],l=this.isReady(),h=0;switch(o=this._collectorIds[i],void 0===o&&(o=this._collectorIds[i]=this._collectorIdNext++),void 0===c&&(c=this._robins[i]=0),this._robins[i]=(this._robins[i]+1)%this._pools.length,"undefined"==typeof t?"undefined":n(t)){case"number":void 0===r&&(r=1),this._pools[c].update([o,this._eventId++,1,r,f,1,0|t]);break;case"object":if(u=Object.prototype.toString.call(t),"[object Uint32Array]"===u){for(a=[],s=0;s<t.length;s++)a.push(t[s]);t=a}else for("[object Array]"!==u&&(h=1),s=0;s<t.length&&!h;s++)"number"!=typeof t[s]&&(h=1);if(!h){if(void 0===r)for(r=0,s=0;s<t.length;s++)for(a=t[s];a>0;)r++,a>>>=1;this._pools[c].update([o,this._eventId++,2,r,f,t.length].concat(t))}break;case"string":void 0===r&&(r=t.length),this._pools[c].update([o,this._eventId++,3,r,f,t.length]),this._pools[c].update(t);break;default:h=1}if(h)throw new e.exception.bug("random: addEntropy only supports number, array of numbers or string");this._poolEntropy[c]+=r,this._poolStrength+=r,l===this._NOT_READY&&(this.isReady()!==this._NOT_READY&&this._fireEvent("seeded",Math.max(this._strength,this._poolStrength)),this._fireEvent("progress",this.getProgress()))},isReady:function(t){var e=this._PARANOIA_LEVELS[void 0!==t?t:this._defaultParanoia];return this._strength&&this._strength>=e?this._poolEntropy[0]>this._BITS_PER_RESEED&&(new Date).valueOf()>this._nextReseed?this._REQUIRES_RESEED|this._READY:this._READY:this._poolStrength>=e?this._REQUIRES_RESEED|this._NOT_READY:this._NOT_READY},getProgress:function(t){var e=this._PARANOIA_LEVELS[t?t:this._defaultParanoia];return this._strength>=e?1:this._poolStrength>e?1:this._poolStrength/e},startCollectors:function(){if(!this._collectorsStarted){if(this._eventListener={loadTimeCollector:this._bind(this._loadTimeCollector),mouseCollector:this._bind(this._mouseCollector),keyboardCollector:this._bind(this._keyboardCollector),accelerometerCollector:this._bind(this._accelerometerCollector),touchCollector:this._bind(this._touchCollector)},window.addEventListener)window.addEventListener("load",this._eventListener.loadTimeCollector,!1),window.addEventListener("mousemove",this._eventListener.mouseCollector,!1),window.addEventListener("keypress",this._eventListener.keyboardCollector,!1),window.addEventListener("devicemotion",this._eventListener.accelerometerCollector,!1),window.addEventListener("touchmove",this._eventListener.touchCollector,!1);else{if(!document.attachEvent)throw new e.exception.bug("can't attach event");document.attachEvent("onload",this._eventListener.loadTimeCollector),document.attachEvent("onmousemove",this._eventListener.mouseCollector),document.attachEvent("keypress",this._eventListener.keyboardCollector)}this._collectorsStarted=!0}},stopCollectors:function(){this._collectorsStarted&&(window.removeEventListener?(window.removeEventListener("load",this._eventListener.loadTimeCollector,!1),window.removeEventListener("mousemove",this._eventListener.mouseCollector,!1),window.removeEventListener("keypress",this._eventListener.keyboardCollector,!1),window.removeEventListener("devicemotion",this._eventListener.accelerometerCollector,!1),window.removeEventListener("touchmove",this._eventListener.touchCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this._eventListener.loadTimeCollector),document.detachEvent("onmousemove",this._eventListener.mouseCollector),document.detachEvent("keypress",this._eventListener.keyboardCollector)),this._collectorsStarted=!1)},addEventListener:function(t,e){this._callbacks[t][this._callbackI++]=e},removeEventListener:function(t,e){var r,n,i=this._callbacks[t],o=[];for(n in i)i.hasOwnProperty(n)&&i[n]===e&&o.push(n);for(r=0;r<o.length;r++)n=o[r],delete i[n]},_bind:function(t){var e=this;return function(){t.apply(e,arguments)}},_gen4words:function(){for(var t=0;t<4&&(this._counter[t]=this._counter[t]+1|0,!this._counter[t]);t++);return this._cipher.encrypt(this._counter)},_gate:function(){this._key=this._gen4words().concat(this._gen4words()),this._cipher=new e.cipher.aes(this._key)},_reseed:function(t){this._key=e.hash.sha256.hash(this._key.concat(t)),this._cipher=new e.cipher.aes(this._key);for(var r=0;r<4&&(this._counter[r]=this._counter[r]+1|0,!this._counter[r]);r++);},_reseedFromPools:function(t){var r,n=[],i=0;for(this._nextReseed=n[0]=(new Date).valueOf()+this._MILLISECONDS_PER_RESEED,r=0;r<16;r++)n.push(4294967296*Math.random()|0);for(r=0;r<this._pools.length&&(n=n.concat(this._pools[r].finalize()),i+=this._poolEntropy[r],this._poolEntropy[r]=0,t||!(this._reseedCount&1<<r));r++);this._reseedCount>=1<<this._pools.length&&(this._pools.push(new e.hash.sha256),this._poolEntropy.push(0)),this._poolStrength-=i,i>this._strength&&(this._strength=i),this._reseedCount++,this._reseed(n)},_keyboardCollector:function(){this._addCurrentTimeToEntropy(1)},_mouseCollector:function(t){var e,r;try{e=t.x||t.clientX||t.offsetX||0,r=t.y||t.clientY||t.offsetY||0}catch(t){e=0,r=0}0!=e&&0!=r&&this.addEntropy([e,r],2,"mouse"),this._addCurrentTimeToEntropy(0)},_touchCollector:function(t){var e=t.touches[0]||t.changedTouches[0],r=e.pageX||e.clientX,n=e.pageY||e.clientY;this.addEntropy([r,n],1,"touch"),this._addCurrentTimeToEntropy(0)},_loadTimeCollector:function(){this._addCurrentTimeToEntropy(2)},_addCurrentTimeToEntropy:function(t){"undefined"!=typeof window&&window.performance&&"function"==typeof window.performance.now?this.addEntropy(window.performance.now(),t,"loadtime"):this.addEntropy((new Date).valueOf(),t,"loadtime")},_accelerometerCollector:function(t){var e=t.accelerationIncludingGravity.x||t.accelerationIncludingGravity.y||t.accelerationIncludingGravity.z;if(window.orientation){var r=window.orientation;"number"==typeof r&&this.addEntropy(r,1,"accelerometer")}e&&this.addEntropy(e,2,"accelerometer"),this._addCurrentTimeToEntropy(0)},_fireEvent:function(t,r){var n,i=e.random._callbacks[t],o=[];for(n in i)i.hasOwnProperty(n)&&o.push(i[n]);for(n=0;n<o.length;n++)o[n](r)}},e.random=new e.prng(6),function(){function n(){try{return r(208)}catch(t){return null}}try{var i,o,s;if("undefined"!=typeof t&&t.exports&&(o=n())&&o.randomBytes)i=o.randomBytes(128),i=new Uint32Array(new Uint8Array(i).buffer),e.random.addEntropy(i,1024,"crypto.randomBytes");else if("undefined"!=typeof window&&"undefined"!=typeof Uint32Array){if(s=new Uint32Array(32),window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(s);else{if(!window.msCrypto||!window.msCrypto.getRandomValues)return;window.msCrypto.getRandomValues(s)}e.random.addEntropy(s,1024,"crypto.getRandomValues")}}catch(t){"undefined"!=typeof window&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(t))}}(),e.codec.base58={alpha:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",lookup:{1:0,2:1,3:2,4:3,5:4,6:5,7:6,8:7,9:8,A:9,B:10,C:11,D:12,E:13,F:14,G:15,H:16,J:17,K:18,L:19,M:20,N:21,P:22,Q:23,R:24,S:25,T:26,U:27,V:28,W:29,X:30,Y:31,Z:32,a:33,b:34,c:35,d:36,e:37,f:38,g:39,h:40,i:41,j:42,k:43,m:44,n:45,o:46,p:47,q:48,r:49,s:50,t:51,u:52,v:53,w:54,x:55,y:56,z:57},toBits:function(t){for(var r=new e.bn,n=new e.bn(58),i=0;i<t.length;i++){var o=new e.bn(e.codec.base58.lookup[t[i]]);r.addM(o.mul(n.power(t.length-i-1)))}return r.fullReduce(),r.toBits()},fromBits:function(t){for(var r=e.bn.fromBits(t),n=e.bitArray.bitLength(t),i=Math.ceil(n*(Math.log(2)/Math.log(58))),o=new e.bn(58),s="",a=i-1;a>=0;a--){for(var u=new e.bn(a),f=o.power(u),c=0;r.greaterEquals(f);)r.subM(f),r.normalize(),c++;a===i-1&&0===c||(s+=e.codec.base58.alpha[c])}return s}},e.codec.base58Check={defaultChecksumFn:function(t){return e.bitArray.bitSlice(e.hash.sha256.hash(e.hash.sha256.hash(t)),0,32)},fromBits:function(t,r,n){n=n||e.codec.base58Check.defaultChecksumFn;for(var i=e.bitArray.concat([e.bitArray.partial(8,t)],r),o=n(i),s=e.bitArray.concat(i,o),a=e.codec.base58.fromBits(s),u=0;0==e.bitArray.extract(s,u,8);)a="1"+a,u+=8;return a},toBits:function(t,r){r=r||e.codec.base58Check.defaultChecksumFn;var n=e.codec.base58.toBits(t),i=e.bitArray.bitLength(n),o=e.bitArray.bitSlice(n,0,i-32),s=e.bitArray.bitSlice(n,i-32),a=r(o);if(!e.bitArray.equal(a,s))throw new Error("Checksums do not match");return o}},e.codec.steemit={ROLES:["owner","memo","active","posting"],MAINNET:{pubHeader:0,privHeader:128,pubPrefix:"STM"},TESTNET:{pubHeader:0,privHeader:128,pubPrefix:"TST"},keyChecksum:function(t){return e.bitArray.bitSlice(e.hash.ripemd160.hash(t),0,32)},keysFromPassword:function(t,r){for(var n={},i=e.ecc.curves.k256,o=0;o<e.codec.steemit.ROLES.length;o++){var s=e.codec.steemit.ROLES[o],a=t+s+r,u=e.bn.fromBits(e.hash.sha256.hash(e.codec.utf8String.toBits(a)));n[s]=e.ecc.ecdsa.generateKeys(i,0,u)}return n},signRecoverably:function(t,r,n,i){for(e.bitArray.bitLength(r)>this._curveBitLength&&(r=e.bitArray.clamp(r,this._curveBitLength));;){var o=e.ecc.curves.k256,s=o.r,a=s.bitLength(),u=i||e.bn.random(s.sub(1),n).add(1),f=o.G.mult(u);if(i&&(i=i.add(1)),!f.isIdentity){var c=f.x.mod(s),l=e.bn.fromBits(r).add(c.mul(t._exponent)),h=l.mul(u.inverseMod(s)).mod(s),p=f.y.limbs[0]&!0,d=31;p&&d++;var _=c.toBits(a),y=h.toBits(a),v=e.bitArray.extract(_,0,8),g=e.bitArray.extract(_,8,8),m=e.bitArray.extract(y,0,8),b=e.bitArray.extract(y,8,8);if(!(128&v)&&(0!=v||128&g)&&!(128&m)&&(0!=m||128&b)){var w=e.bitArray.concat(c.toBits(a),h.toBits(a));return e.bitArray.concat([e.bitArray.partial(8,d)],w)}}}},recoverPublicKey:function(t,r){var n=e.ecc.curves.k256,i=n.r,o=n.G,s=e.bitArray.extract(r,0,8)-31,a=e.bn.fromBits(t),u=e.bn.fromBits(e.bitArray.bitSlice(r,8,264)),f=e.bn.fromBits(e.bitArray.bitSlice(r,264));if(s<0||s>4)throw new Error("Corrupt signature: recovery parameter is wrong");for(var c=1===(1&s),l=0;l<=1;l++){var h=u.add(i.mul(l)),p=e.codec.steemit._yFromX(h,c),d=new e.ecc.point(n,h,p),_=u.inverseMod(i),y=new e.bn(0).sub(a).mod(i),v=o.mult2(y,f,d).mult(_),g=new e.ecc.ecdsa.publicKey(n,v);try{return g.verify(t,e.bitArray.bitSlice(r,8)),g}catch(t){}}throw new Error("public key was unrecoverable")},serializePublicKey:function(t,r){r=r||e.codec.steemit.MAINNET;var n=t.get(),i=r.pubHeader;return i|=1&e.bn.fromBits(n.y).limbs[0]?3:2,r.pubPrefix+e.codec.base58Check.fromBits(i,n.x,e.codec.steemit.keyChecksum)},deserializePublicKey:function(t,r){r=r||e.codec.steemit.MAINNET;var n=e.ecc.curves.k256;if(0!==t.indexOf(r.pubPrefix))throw new Error('Public key is not in correct format, it should begin with "'+r.pubPrefix+'"');var i=e.codec.base58Check.toBits(t.slice(3),e.codec.steemit.keyChecksum),o=e.bitArray.extract(i,0,8),s=3==o;if((o&r.pubHeader)!==r.pubHeader)throw new Error("public key has invalid header");if(0===(3&o)&&0===(2&o))throw new Error("public key has invalid header: should set 0x2 or 0x3, but got 0x"+o.toString(16));var a=e.bitArray.bitSlice(i,8),u=e.bn.fromBits(a),f=e.codec.steemit._yFromX(u,s);return new e.ecc.ecdsa.publicKey(n,new e.ecc.point(n,u,f))},serializePrivateKey:function(t,r){return r=r||e.codec.steemit.MAINNET,e.codec.base58Check.fromBits(r.privHeader,t.get())},deserializePrivateKey:function(t,r){r=r||e.codec.steemit.MAINNET.privHeader;var n=e.ecc.curves.k256,i=e.codec.base58Check.toBits(t),o=e.bitArray.extract(i,0,8);if(o!==r)throw new Error("private key has invalid header: wanted 0x"+r.toString(16)+", got 0x"+o.toString(16));var s=e.bitArray.bitSlice(i,8);return new e.ecc.ecdsa.secretKey(n,e.bn.fromBits(s))},_yFromX:function(t,r){var n=e.ecc.curves.k256,i=e.codec.steemit._getPident(),o=t.powermod(3,n.field.modulus).add(t.mulmod(n.a,n.field.modulus)).add(n.b).mod(n.field.modulus),s=o.powermod(i,n.field.modulus),a=s.mod(2).equals(1);return a&&r||!a&&!r?s:n.field.modulus.sub(s).normalize()},_getPident:function(){return e.codec.steemit.PIDENT||(e.codec.steemit.PIDENT=e.ecc.curves.k256.field.modulus.add(1).normalize().halveM().halveM().normalize()),e.codec.steemit.PIDENT}},e}();e.sjcl=d,i.from=function(t,e){return new i(d.codec.steemit.deserializePrivateKey(t,e))},o.from=function(t){return new o(d.codec.steemit.deserializePublicKey(t))},o.recover=function(t,e){return new o(d.codec.steemit.recoverPublicKey(h(t),h(e)))},o.prototype={toString:function(){return d.codec.steemit.serializePublicKey(this._p)},verify:function(t,e){try{var r=d.bitArray.bitSlice(h(e),8);return this._p.verify(h(t),r),!0}catch(t){return!1}}}})},function(t,e,r){(function(n){"use strict";function i(){var t=[].slice.call(arguments).join(" ");throw new Error([t,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}function o(t,e){for(var r in t)e(t[r],r)}var s=r(209);e.createHash=r(211),e.createHmac=r(220),e.randomBytes=function(t,e){if(!e||!e.call)return new n(s(t));try{e.call(this,void 0,new n(s(t)))}catch(t){e(t)}},e.getHashes=function(){return["sha1","sha256","sha512","md5","rmd160"]};var a=r(221)(e);e.pbkdf2=a.pbkdf2,e.pbkdf2Sync=a.pbkdf2Sync,r(223)(e,t.exports),o(["createCredentials","createSign","createVerify","createDiffieHellman"],function(t){e[t]=function(){i("sorry,",t,"is not implemented yet")}})}).call(e,r(99).Buffer)},function(t,e,r){(function(e,n){"use strict";!function(){var i=("undefined"==typeof window?e:window)||{};_crypto=i.crypto||i.msCrypto||r(210),t.exports=function(t){if(_crypto.getRandomValues){var e=new n(t);return _crypto.getRandomValues(e),e}if(_crypto.randomBytes)return _crypto.randomBytes(t);throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}}()}).call(e,function(){return this}(),r(99).Buffer)},96,function(t,e,r){(function(e){"use strict";function n(t){return function(){var r=[],n={update:function(t,n){return e.isBuffer(t)||(t=new e(t,n)),r.push(t),this},digest:function(n){var i=e.concat(r),o=t(i);return r=null,n?o.toString(n):o}};return n}}var i=r(212),o=n(r(217)),s=n(r(219));t.exports=function(t){return"md5"===t?new o:"rmd160"===t?new s:i(t)}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";var n=t.exports=function(t){var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e},i=r(122).Buffer,o=r(213)(i);n.sha1=r(214)(i,o),n.sha256=r(215)(i,o),n.sha512=r(216)(i,o)},function(t,e){"use strict";t.exports=function(t){function e(e,r){this._block=new t(e),this._finalSize=r,this._blockSize=e,this._len=0,this._s=0}return e.prototype.init=function(){this._s=0,this._len=0},e.prototype.update=function(e,r){"string"==typeof e&&(r=r||"utf8",e=new t(e,r));for(var n=this._len+=e.length,i=this._s=this._s||0,o=0,s=this._block;i<n;){for(var a=Math.min(e.length,o+this._blockSize-i%this._blockSize),u=a-o,f=0;f<u;f++)s[i%this._blockSize+f]=e[f+o];i+=u,o+=u,i%this._blockSize===0&&this._update(s)}return this._s=i,this},e.prototype.digest=function(t){var e=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),e%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(e,this._blockSize-4);var r=this._update(this._block)||this._hash();return t?r.toString(t):r},e.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e}},function(t,e,r){"use strict";var n=r(106).inherits;t.exports=function(t,e){function r(){return d.length?d.pop().init():this instanceof r?(this._w=p,e.call(this,64,56),this._h=null,void this.init()):new r}function i(t,e,r,n){return t<20?e&r|~e&n:t<40?e^r^n:t<60?e&r|e&n|r&n:e^r^n}function o(t){return t<20?1518500249:t<40?1859775393:t<60?-1894007588:-899497514}function s(t,e){return t+e|0}function a(t,e){return t<<e|t>>>32-e}var u=0,f=4,c=8,l=12,h=16,p=new("undefined"==typeof Int32Array?Array:Int32Array)(80),d=[];return n(r,e),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,e.prototype.init.call(this),this},r.prototype._POOL=d,r.prototype._update=function(t){var e,r,n,u,f,c,l,h,p,d;e=c=this._a,r=l=this._b,n=h=this._c,u=p=this._d,f=d=this._e;for(var _=this._w,y=0;y<80;y++){var v=_[y]=y<16?t.readInt32BE(4*y):a(_[y-3]^_[y-8]^_[y-14]^_[y-16],1),g=s(s(a(e,5),i(y,r,n,u)),s(s(f,v),o(y)));f=u,u=n,n=a(r,30),r=e,e=g}this._a=s(e,c),this._b=s(r,l),this._c=s(n,h),this._d=s(u,p),this._e=s(f,d)},r.prototype._hash=function(){d.length<100&&d.push(this);var e=new t(20);return e.writeInt32BE(0|this._a,u),e.writeInt32BE(0|this._b,f),e.writeInt32BE(0|this._c,c),e.writeInt32BE(0|this._d,l),e.writeInt32BE(0|this._e,h),e},r}},function(t,e,r){"use strict";var n=r(106).inherits;t.exports=function(t,e){function r(){this.init(),this._w=p,e.call(this,64,56)}function i(t,e){return t>>>e|t<<32-e}function o(t,e){return t>>>e}function s(t,e,r){return t&e^~t&r}function a(t,e,r){return t&e^t&r^e&r}function u(t){return i(t,2)^i(t,13)^i(t,22)}function f(t){return i(t,6)^i(t,11)^i(t,25)}function c(t){return i(t,7)^i(t,18)^o(t,3)}function l(t){return i(t,17)^i(t,19)^o(t,10)}var h=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],p=new Array(64);return n(r,e),r.prototype.init=function(){return this._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._len=this._s=0,this},r.prototype._update=function(t){var e,r,n,i,o,p,d,_,y,v,g=this._w;e=0|this._a,r=0|this._b,n=0|this._c,i=0|this._d,o=0|this._e,p=0|this._f,d=0|this._g,_=0|this._h;for(var m=0;m<64;m++){var b=g[m]=m<16?t.readInt32BE(4*m):l(g[m-2])+g[m-7]+c(g[m-15])+g[m-16];y=_+f(o)+s(o,p,d)+h[m]+b,v=u(e)+a(e,r,n),_=d,d=p,p=o,o=i+y,i=n,n=r,r=e,e=y+v}this._a=e+this._a|0,this._b=r+this._b|0,this._c=n+this._c|0,this._d=i+this._d|0,this._e=o+this._e|0,this._f=p+this._f|0,this._g=d+this._g|0,this._h=_+this._h|0},r.prototype._hash=function(){var e=new t(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},r}},function(t,e,r){"use strict";var n=r(106).inherits;t.exports=function(t,e){function r(){this.init(),this._w=u,e.call(this,128,112)}function i(t,e,r){return t>>>r|e<<32-r}function o(t,e,r){return t&e^~t&r}function s(t,e,r){return t&e^t&r^e&r}var a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],u=new Array(160); +return n(r,e),r.prototype.init=function(){return this._a=1779033703,this._b=-1150833019,this._c=1013904242,this._d=-1521486534,this._e=1359893119,this._f=-1694144372,this._g=528734635,this._h=1541459225,this._al=-205731576,this._bl=-2067093701,this._cl=-23791573,this._dl=1595750129,this._el=-1377402159,this._fl=725511199,this._gl=-79577749,this._hl=327033209,this._len=this._s=0,this},r.prototype._update=function(t){var e,r,n,u,f,c,l,h,p,d,_,y,v,g,m,b,w=this._w;e=0|this._a,r=0|this._b,n=0|this._c,u=0|this._d,f=0|this._e,c=0|this._f,l=0|this._g,h=0|this._h,p=0|this._al,d=0|this._bl,_=0|this._cl,y=0|this._dl,v=0|this._el,g=0|this._fl,m=0|this._gl,b=0|this._hl;for(var E=0;E<80;E++){var k,S,B=2*E;if(E<16)k=w[B]=t.readInt32BE(4*B),S=w[B+1]=t.readInt32BE(4*B+4);else{var T=w[B-30],x=w[B-30+1],A=i(T,x,1)^i(T,x,8)^T>>>7,I=i(x,T,1)^i(x,T,8)^i(x,T,7);T=w[B-4],x=w[B-4+1];var C=i(T,x,19)^i(x,T,29)^T>>>6,O=i(x,T,19)^i(T,x,29)^i(x,T,6),j=w[B-14],R=w[B-14+1],L=w[B-32],F=w[B-32+1];S=I+R,k=A+j+(S>>>0<I>>>0?1:0),S+=O,k=k+C+(S>>>0<O>>>0?1:0),S+=F,k=k+L+(S>>>0<F>>>0?1:0),w[B]=k,w[B+1]=S}var D=s(e,r,n),P=s(p,d,_),U=i(e,p,28)^i(p,e,2)^i(p,e,7),M=i(p,e,28)^i(e,p,2)^i(e,p,7),N=i(f,v,14)^i(f,v,18)^i(v,f,9),q=i(v,f,14)^i(v,f,18)^i(f,v,9),z=a[B],V=a[B+1],H=o(f,c,l),K=o(v,g,m),X=b+q,G=h+N+(X>>>0<b>>>0?1:0);X+=K,G=G+H+(X>>>0<K>>>0?1:0),X+=V,G=G+z+(X>>>0<V>>>0?1:0),X+=S,G=G+k+(X>>>0<S>>>0?1:0);var Y=M+P,W=U+D+(Y>>>0<M>>>0?1:0);h=l,b=m,l=c,m=g,c=f,g=v,v=y+X|0,f=u+G+(v>>>0<y>>>0?1:0)|0,u=n,y=_,n=r,_=d,r=e,d=p,p=X+Y|0,e=G+W+(p>>>0<X>>>0?1:0)|0}this._al=this._al+p|0,this._bl=this._bl+d|0,this._cl=this._cl+_|0,this._dl=this._dl+y|0,this._el=this._el+v|0,this._fl=this._fl+g|0,this._gl=this._gl+m|0,this._hl=this._hl+b|0,this._a=this._a+e+(this._al>>>0<p>>>0?1:0)|0,this._b=this._b+r+(this._bl>>>0<d>>>0?1:0)|0,this._c=this._c+n+(this._cl>>>0<_>>>0?1:0)|0,this._d=this._d+u+(this._dl>>>0<y>>>0?1:0)|0,this._e=this._e+f+(this._el>>>0<v>>>0?1:0)|0,this._f=this._f+c+(this._fl>>>0<g>>>0?1:0)|0,this._g=this._g+l+(this._gl>>>0<m>>>0?1:0)|0,this._h=this._h+h+(this._hl>>>0<b>>>0?1:0)|0},r.prototype._hash=function(){function e(t,e,n){r.writeInt32BE(t,n),r.writeInt32BE(e,n+4)}var r=new t(64);return e(this._a,this._al,0),e(this._b,this._bl,8),e(this._c,this._cl,16),e(this._d,this._dl,24),e(this._e,this._el,32),e(this._f,this._fl,40),e(this._g,this._gl,48),e(this._h,this._hl,56),r},r}},function(t,e,r){"use strict";function n(t,e){t[e>>5]|=128<<e%32,t[(e+64>>>9<<4)+14]=e;for(var r=1732584193,n=-271733879,i=-1732584194,c=271733878,l=0;l<t.length;l+=16){var h=r,p=n,d=i,_=c;r=o(r,n,i,c,t[l+0],7,-680876936),c=o(c,r,n,i,t[l+1],12,-389564586),i=o(i,c,r,n,t[l+2],17,606105819),n=o(n,i,c,r,t[l+3],22,-1044525330),r=o(r,n,i,c,t[l+4],7,-176418897),c=o(c,r,n,i,t[l+5],12,1200080426),i=o(i,c,r,n,t[l+6],17,-1473231341),n=o(n,i,c,r,t[l+7],22,-45705983),r=o(r,n,i,c,t[l+8],7,1770035416),c=o(c,r,n,i,t[l+9],12,-1958414417),i=o(i,c,r,n,t[l+10],17,-42063),n=o(n,i,c,r,t[l+11],22,-1990404162),r=o(r,n,i,c,t[l+12],7,1804603682),c=o(c,r,n,i,t[l+13],12,-40341101),i=o(i,c,r,n,t[l+14],17,-1502002290),n=o(n,i,c,r,t[l+15],22,1236535329),r=s(r,n,i,c,t[l+1],5,-165796510),c=s(c,r,n,i,t[l+6],9,-1069501632),i=s(i,c,r,n,t[l+11],14,643717713),n=s(n,i,c,r,t[l+0],20,-373897302),r=s(r,n,i,c,t[l+5],5,-701558691),c=s(c,r,n,i,t[l+10],9,38016083),i=s(i,c,r,n,t[l+15],14,-660478335),n=s(n,i,c,r,t[l+4],20,-405537848),r=s(r,n,i,c,t[l+9],5,568446438),c=s(c,r,n,i,t[l+14],9,-1019803690),i=s(i,c,r,n,t[l+3],14,-187363961),n=s(n,i,c,r,t[l+8],20,1163531501),r=s(r,n,i,c,t[l+13],5,-1444681467),c=s(c,r,n,i,t[l+2],9,-51403784),i=s(i,c,r,n,t[l+7],14,1735328473),n=s(n,i,c,r,t[l+12],20,-1926607734),r=a(r,n,i,c,t[l+5],4,-378558),c=a(c,r,n,i,t[l+8],11,-2022574463),i=a(i,c,r,n,t[l+11],16,1839030562),n=a(n,i,c,r,t[l+14],23,-35309556),r=a(r,n,i,c,t[l+1],4,-1530992060),c=a(c,r,n,i,t[l+4],11,1272893353),i=a(i,c,r,n,t[l+7],16,-155497632),n=a(n,i,c,r,t[l+10],23,-1094730640),r=a(r,n,i,c,t[l+13],4,681279174),c=a(c,r,n,i,t[l+0],11,-358537222),i=a(i,c,r,n,t[l+3],16,-722521979),n=a(n,i,c,r,t[l+6],23,76029189),r=a(r,n,i,c,t[l+9],4,-640364487),c=a(c,r,n,i,t[l+12],11,-421815835),i=a(i,c,r,n,t[l+15],16,530742520),n=a(n,i,c,r,t[l+2],23,-995338651),r=u(r,n,i,c,t[l+0],6,-198630844),c=u(c,r,n,i,t[l+7],10,1126891415),i=u(i,c,r,n,t[l+14],15,-1416354905),n=u(n,i,c,r,t[l+5],21,-57434055),r=u(r,n,i,c,t[l+12],6,1700485571),c=u(c,r,n,i,t[l+3],10,-1894986606),i=u(i,c,r,n,t[l+10],15,-1051523),n=u(n,i,c,r,t[l+1],21,-2054922799),r=u(r,n,i,c,t[l+8],6,1873313359),c=u(c,r,n,i,t[l+15],10,-30611744),i=u(i,c,r,n,t[l+6],15,-1560198380),n=u(n,i,c,r,t[l+13],21,1309151649),r=u(r,n,i,c,t[l+4],6,-145523070),c=u(c,r,n,i,t[l+11],10,-1120210379),i=u(i,c,r,n,t[l+2],15,718787259),n=u(n,i,c,r,t[l+9],21,-343485551),r=f(r,h),n=f(n,p),i=f(i,d),c=f(c,_)}return Array(r,n,i,c)}function i(t,e,r,n,i,o){return f(c(f(f(e,t),f(n,o)),i),r)}function o(t,e,r,n,o,s,a){return i(e&r|~e&n,t,e,o,s,a)}function s(t,e,r,n,o,s,a){return i(e&n|r&~n,t,e,o,s,a)}function a(t,e,r,n,o,s,a){return i(e^r^n,t,e,o,s,a)}function u(t,e,r,n,o,s,a){return i(r^(e|~n),t,e,o,s,a)}function f(t,e){var r=(65535&t)+(65535&e),n=(t>>16)+(e>>16)+(r>>16);return n<<16|65535&r}function c(t,e){return t<<e|t>>>32-e}var l=r(218);t.exports=function(t){return l.hash(t,n,16)}},function(t,e,r){(function(e){"use strict";function r(t,r){if(t.length%o!==0){var n=t.length+(o-t.length%o);t=e.concat([t,s],n)}for(var i=[],a=r?t.readInt32BE:t.readInt32LE,u=0;u<t.length;u+=o)i.push(a.call(t,u));return i}function n(t,r,n){for(var i=new e(r),o=n?i.writeInt32BE:i.writeInt32LE,s=0;s<t.length;s++)o.call(i,t[s],4*s,!0);return i}function i(t,i,o,s){e.isBuffer(t)||(t=new e(t));var u=i(r(t,s),t.length*a);return n(u,o,s)}var o=4,s=new e(o);s.fill(0);var a=8;t.exports={hash:i}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function r(t,e,r){return t^e^r}function n(t,e,r){return t&e|~t&r}function i(t,e,r){return(t|~e)^r}function o(t,e,r){return t&r|e&~r}function s(t,e,r){return t^(e|~r)}function a(t,e){return t<<e|t>>>32-e}function u(t){var r=[1732584193,4023233417,2562383102,271733878,3285377520];"string"==typeof t&&(t=new e(t,"utf8"));var n=_(t),i=8*t.length,o=8*t.length;n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);for(var s=0;s<n.length;s+=16)v(r,n,s);for(var s=0;s<5;s++){var a=r[s];r[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}var u=y(r);return new e(u)}t.exports=u;var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],h=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],p=[0,1518500249,1859775393,2400959708,2840853838],d=[1352829926,1548603684,1836072691,2053994217,0],_=function(t){for(var e=[],r=0,n=0;r<t.length;r++,n+=8)e[n>>>5]|=t[r]<<24-n%32;return e},y=function(t){for(var e=[],r=0;r<32*t.length;r+=8)e.push(t[r>>>5]>>>24-r%32&255);return e},v=function(t,e,u){for(var _=0;_<16;_++){var y=u+_,v=e[y];e[y]=16711935&(v<<8|v>>>24)|4278255360&(v<<24|v>>>8)}var g,m,b,w,E,k,S,B,T,x;k=g=t[0],S=m=t[1],B=b=t[2],T=w=t[3],x=E=t[4];for(var A,_=0;_<80;_+=1)A=g+e[u+f[_]]|0,A+=_<16?r(m,b,w)+p[0]:_<32?n(m,b,w)+p[1]:_<48?i(m,b,w)+p[2]:_<64?o(m,b,w)+p[3]:s(m,b,w)+p[4],A|=0,A=a(A,l[_]),A=A+E|0,g=E,E=w,w=a(b,10),b=m,m=A,A=k+e[u+c[_]]|0,A+=_<16?s(S,B,T)+d[0]:_<32?o(S,B,T)+d[1]:_<48?i(S,B,T)+d[2]:_<64?n(S,B,T)+d[3]:r(S,B,T)+d[4],A|=0,A=a(A,h[_]),A=A+x|0,k=x,x=T,T=a(B,10),B=S,S=A;A=t[1]+b+T|0,t[1]=t[2]+w+x|0,t[2]=t[3]+E+k|0,t[3]=t[4]+g+S|0,t[4]=t[0]+m+B|0,t[0]=A}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,r){if(!(this instanceof n))return new n(t,r);this._opad=u,this._alg=t;var s="sha512"===t?128:64;r=this._key=e.isBuffer(r)?r:new e(r),r.length>s?r=i(t).update(r).digest():r.length<s&&(r=e.concat([r,o],s));for(var a=this._ipad=new e(s),u=this._opad=new e(s),f=0;f<s;f++)a[f]=54^r[f],u[f]=92^r[f];this._hash=i(t).update(a)}var i=r(211),o=new e(128);o.fill(0),t.exports=n,n.prototype.update=function(t,e){return this._hash.update(t,e),this},n.prototype.digest=function(t){var e=this._hash.digest();return i(this._alg).update(this._opad).update(e).digest(t)}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";var n=r(222);t.exports=function(t,e){e=e||{};var r=n(t);return e.pbkdf2=r.pbkdf2,e.pbkdf2Sync=r.pbkdf2Sync,e}},function(t,e,r){(function(e){"use strict";t.exports=function(t){function r(t,e,r,i,o,s){if("function"==typeof o&&(s=o,o=void 0),"function"!=typeof s)throw new Error("No callback provided to pbkdf2");setTimeout(function(){var a;try{a=n(t,e,r,i,o)}catch(t){return s(t)}s(void 0,a)})}function n(r,n,i,o,s){if("number"!=typeof i)throw new TypeError("Iterations not a number");if(i<0)throw new TypeError("Bad iterations");if("number"!=typeof o)throw new TypeError("Key length not a number");if(o<0)throw new TypeError("Bad key length");s=s||"sha1",e.isBuffer(r)||(r=new e(r)),e.isBuffer(n)||(n=new e(n));var a,u,f,c=1,l=new e(o),h=new e(n.length+4);n.copy(h,0,0,n.length);for(var p=1;p<=c;p++){h.writeUInt32BE(p,n.length);var d=t.createHmac(s,r).update(h).digest();if(!a&&(a=d.length,f=new e(a),c=Math.ceil(o/a),u=o-(c-1)*a,o>(Math.pow(2,32)-1)*a))throw new TypeError("keylen exceeds maximum length");d.copy(f,0,0,a);for(var _=1;_<i;_++){d=t.createHmac(s,r).update(d).digest();for(var y=0;y<a;y++)f[y]^=d[y]}var v=(p-1)*a,g=p==c?u:a;f.copy(l,v,0,g)}return l}return{pbkdf2:r,pbkdf2Sync:n}}}).call(e,r(99).Buffer)},function(t,e,r){"use strict";t.exports=function(t,e){function n(){return Object.keys(s)}e=e||{};var i=r(224)(t);e.createCipher=i.createCipher,e.createCipheriv=i.createCipheriv;var o=r(236)(t);e.createDecipher=o.createDecipher,e.createDecipheriv=o.createDecipheriv;var s=r(227);e.listCiphers=n}},function(t,e,r){(function(e){"use strict";function n(t,r,a){return this instanceof n?(s.call(this),this._cache=new i,this._cipher=new o.AES(r),this._prev=new e(a.length),a.copy(this._prev),void(this._mode=t)):new n(t,r,a)}function i(){return this instanceof i?void(this.cache=new e("")):new i}var o=r(225),s=r(226),a=r(111),u=r(227),f=r(228),c=r(229);a(n,s),n.prototype._transform=function(t,e,r){this._cache.add(t);for(var n,i;n=this._cache.get();)i=this._mode.encrypt(this,n),this.push(i);r()},n.prototype._flush=function(t){var e=this._cache.flush();this.push(this._mode.encrypt(this,e)),this._cipher.scrub(),t()},i.prototype.add=function(t){this.cache=e.concat([this.cache,t])},i.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},i.prototype.flush=function(){for(var t=16-this.cache.length,r=new e(t),n=-1;++n<t;)r.writeUInt8(t,n);var i=e.concat([this.cache,r]);return i};var l={ECB:r(230),CBC:r(231),CFB:r(233),OFB:r(234),CTR:r(235)};t.exports=function(t){function r(t,r,i){var o=u[t];if(!o)throw new TypeError("invalid suite type");if("string"==typeof i&&(i=new e(i)),"string"==typeof r&&(r=new e(r)),r.length!==o.key/8)throw new TypeError("invalid key length "+r.length);if(i.length!==o.iv)throw new TypeError("invalid iv length "+i.length);return"stream"===o.type?new c(l[o.mode],r,i):new n(l[o.mode],r,i)}function i(e,n){var i=u[e];if(!i)throw new TypeError("invalid suite type");var o=f(t,n,i.key,i.iv);return r(e,o.key,o.iv)}return{createCipher:i,createCipheriv:r}}}).call(e,r(99).Buffer)},function(t,e,r){(function(t){"use strict";function r(t){var e,r;return e=t>a||t<0?(r=Math.abs(t)%a,t<0?a-r:r):t}function n(t){var e,r,n;for(e=r=0,n=t.length;0<=n?r<n:r>n;e=0<=n?++r:--r)t[e]=0;return!1}function i(){var t;this.SBOX=[],this.INV_SBOX=[],this.SUB_MIX=function(){var e,r;for(r=[],t=e=0;e<4;t=++e)r.push([]);return r}(),this.INV_SUB_MIX=function(){var e,r;for(r=[],t=e=0;e<4;t=++e)r.push([]);return r}(),this.init(),this.RCON=[0,1,2,4,8,16,32,64,128,27,54]}function o(t){for(var e=t.length/4,r=new Array(e),n=-1;++n<e;)r[n]=t.readUInt32BE(4*n);return r}function s(t){this._key=o(t),this._doReset()}var a=Math.pow(2,32);i.prototype.init=function(){var t,e,r,n,i,o,s,a,u,f;for(t=function(){var t,r;for(r=[],e=t=0;t<256;e=++t)e<128?r.push(e<<1):r.push(e<<1^283);return r}(),i=0,u=0,e=f=0;f<256;e=++f)r=u^u<<1^u<<2^u<<3^u<<4,r=r>>>8^255&r^99,this.SBOX[i]=r,this.INV_SBOX[r]=i,o=t[i],s=t[o],a=t[s],n=257*t[r]^16843008*r,this.SUB_MIX[0][i]=n<<24|n>>>8,this.SUB_MIX[1][i]=n<<16|n>>>16,this.SUB_MIX[2][i]=n<<8|n>>>24,this.SUB_MIX[3][i]=n,n=16843009*a^65537*s^257*o^16843008*i,this.INV_SUB_MIX[0][r]=n<<24|n>>>8,this.INV_SUB_MIX[1][r]=n<<16|n>>>16,this.INV_SUB_MIX[2][r]=n<<8|n>>>24,this.INV_SUB_MIX[3][r]=n,0===i?i=u=1:(i=o^t[t[t[a^o]]],u^=t[t[u]]);return!0};var u=new i;s.blockSize=16,s.prototype.blockSize=s.blockSize,s.keySize=32,s.prototype.keySize=s.keySize,s.ivSize=s.blockSize,s.prototype.ivSize=s.ivSize,s.prototype._doReset=function(){var t,e,r,n,i,o,s,a;for(r=this._key,e=r.length,this._nRounds=e+6,i=4*(this._nRounds+1),this._keySchedule=[],n=s=0;0<=i?s<i:s>i;n=0<=i?++s:--s)this._keySchedule[n]=n<e?r[n]:(o=this._keySchedule[n-1],n%e===0?(o=o<<8|o>>>24,o=u.SBOX[o>>>24]<<24|u.SBOX[o>>>16&255]<<16|u.SBOX[o>>>8&255]<<8|u.SBOX[255&o],o^=u.RCON[n/e|0]<<24):e>6&&n%e===4?o=u.SBOX[o>>>24]<<24|u.SBOX[o>>>16&255]<<16|u.SBOX[o>>>8&255]<<8|u.SBOX[255&o]:void 0,this._keySchedule[n-e]^o);for(this._invKeySchedule=[],t=a=0;0<=i?a<i:a>i;t=0<=i?++a:--a)n=i-t,o=this._keySchedule[n-(t%4?0:4)],this._invKeySchedule[t]=t<4||n<=4?o:u.INV_SUB_MIX[0][u.SBOX[o>>>24]]^u.INV_SUB_MIX[1][u.SBOX[o>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[o>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&o]];return!0},s.prototype.encryptBlock=function(e){e=o(new t(e));var r=this._doCryptBlock(e,this._keySchedule,u.SUB_MIX,u.SBOX),n=new t(16);return n.writeUInt32BE(r[0],0),n.writeUInt32BE(r[1],4),n.writeUInt32BE(r[2],8),n.writeUInt32BE(r[3],12),n},s.prototype.decryptBlock=function(e){e=o(new t(e));var r=[e[3],e[1]];e[1]=r[0],e[3]=r[1];var n=this._doCryptBlock(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX),i=new t(16);return i.writeUInt32BE(n[0],0),i.writeUInt32BE(n[3],4),i.writeUInt32BE(n[2],8),i.writeUInt32BE(n[1],12),i},s.prototype.scrub=function(){n(this._keySchedule),n(this._invKeySchedule),n(this._key)},s.prototype._doCryptBlock=function(t,e,n,i){var o,s,a,u,f,c,l,h,p,d,_,y;for(a=t[0]^e[0],u=t[1]^e[1],f=t[2]^e[2],c=t[3]^e[3],o=4,s=_=1,y=this._nRounds;1<=y?_<y:_>y;s=1<=y?++_:--_)l=n[0][a>>>24]^n[1][u>>>16&255]^n[2][f>>>8&255]^n[3][255&c]^e[o++],h=n[0][u>>>24]^n[1][f>>>16&255]^n[2][c>>>8&255]^n[3][255&a]^e[o++],p=n[0][f>>>24]^n[1][c>>>16&255]^n[2][a>>>8&255]^n[3][255&u]^e[o++],d=n[0][c>>>24]^n[1][a>>>16&255]^n[2][u>>>8&255]^n[3][255&f]^e[o++],a=l,u=h,f=p,c=d;return l=(i[a>>>24]<<24|i[u>>>16&255]<<16|i[f>>>8&255]<<8|i[255&c])^e[o++],h=(i[u>>>24]<<24|i[f>>>16&255]<<16|i[c>>>8&255]<<8|i[255&a])^e[o++],p=(i[f>>>24]<<24|i[c>>>16&255]<<16|i[a>>>8&255]<<8|i[255&u])^e[o++],d=(i[c>>>24]<<24|i[a>>>16&255]<<16|i[u>>>8&255]<<8|i[255&f])^e[o++],[r(l),r(h),r(p),r(d)]},e.AES=s}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(){i.call(this)}var i=r(116).Transform,o=r(111);t.exports=n,o(n,i),n.prototype.update=function(t,r,n){this.write(t,r);for(var i,o=new e("");i=this.read();)o=e.concat([o,i]);return n&&(o=o.toString(n)),o},n.prototype.final=function(t){this.end();for(var r,n=new e("");r=this.read();)n=e.concat([n,r]);return t&&(n=n.toString(t)),n}}).call(e,r(99).Buffer)},function(t,e){"use strict";e["aes-128-ecb"]={cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},e["aes-192-ecb"]={cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},e["aes-256-ecb"]={cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},e["aes-128-cbc"]={cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},e["aes-192-cbc"]={cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},e["aes-256-cbc"]={cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},e.aes128=e["aes-128-cbc"],e.aes192=e["aes-192-cbc"],e.aes256=e["aes-256-cbc"],e["aes-128-cfb"]={cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},e["aes-192-cfb"]={cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},e["aes-256-cfb"]={cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},e["aes-128-ofb"]={cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},e["aes-192-ofb"]={cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},e["aes-256-ofb"]={cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},e["aes-128-ctr"]={cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},e["aes-192-ctr"]={cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},e["aes-256-ctr"]={cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"}},function(t,e,r){(function(e){"use strict";t.exports=function(t,r,n,i){n/=8,i=i||0;for(var o,s,a,u=0,f=0,c=new e(n),l=new e(i),h=0;;){if(o=t.createHash("md5"),h++>0&&o.update(s),o.update(r),s=o.digest(),a=0,n>0)for(;;){if(0===n)break;if(a===s.length)break;c[u++]=s[a],n--,a++}if(i>0&&a!==s.length)for(;;){if(0===i)break;if(a===s.length)break;l[f++]=s[a],i--,a++}if(0===n&&0===i)break}for(a=0;a<s.length;a++)s[a]=0;return{key:c,iv:l}}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,r,s,a){return this instanceof n?(o.call(this),this._cipher=new i.AES(r),this._prev=new e(s.length),this._cache=new e(""),this._secCache=new e(""),this._decrypt=a,s.copy(this._prev),void(this._mode=t)):new n(t,r,s)}var i=r(225),o=r(226),s=r(111);s(n,o),t.exports=n,n.prototype._transform=function(t,e,r){r(null,this._mode.encrypt(this,t,this._decrypt))},n.prototype._flush=function(t){this._cipher.scrub(),t()}}).call(e,r(99).Buffer)},function(t,e){"use strict";e.encrypt=function(t,e){return t._cipher.encryptBlock(e)},e.decrypt=function(t,e){return t._cipher.decryptBlock(e)}},function(t,e,r){"use strict";var n=r(232);e.encrypt=function(t,e){var r=n(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},e.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return n(i,r)}},function(t,e,r){(function(e){"use strict";function r(t,r){for(var n=Math.min(t.length,r.length),i=new e(n),o=-1;++o<n;)i.writeUInt8(t[o]^r[o],o);return i}t.exports=r}).call(e,r(99).Buffer)},function(t,e,r){(function(t){"use strict";function n(e,r,n){var o=r.length,s=i(r,e._cache);return e._cache=e._cache.slice(o),e._prev=t.concat([e._prev,n?r:s]),s}var i=r(232);e.encrypt=function(e,r,i){for(var o,s=new t("");r.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=new t("")),!(e._cache.length<=r.length)){s=t.concat([s,n(e,r,i)]);break}o=e._cache.length,s=t.concat([s,n(e,r.slice(0,o),i)]),r=r.slice(o)}return s}}).call(e,r(99).Buffer)},function(t,e,r){(function(t){"use strict";function n(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}var i=r(232);e.encrypt=function(e,r){for(;e._cache.length<r.length;)e._cache=t.concat([e._cache,n(e)]);var o=e._cache.slice(0,r.length);return e._cache=e._cache.slice(r.length),i(r,o)}}).call(e,r(99).Buffer)},function(t,e,r){(function(t){"use strict";function n(t){var e=t._cipher.encryptBlock(t._prev);return i(t._prev),e}function i(t){for(var e,r=t.length;r--;){if(e=t.readUInt8(r),255!==e){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}}var o=r(232);e.encrypt=function(e,r){for(;e._cache.length<r.length;)e._cache=t.concat([e._cache,n(e)]);var i=e._cache.slice(0,r.length);return e._cache=e._cache.slice(r.length),o(r,i)}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";function n(t,r,o){return this instanceof n?(a.call(this),this._cache=new i,this._last=void 0,this._cipher=new s.AES(r),this._prev=new e(o.length),o.copy(this._prev),void(this._mode=t)):new n(t,r,o)}function i(){return this instanceof i?void(this.cache=new e("")):new i}function o(t){var e=t[15];if(16!==e)return t.slice(0,16-e)}var s=r(225),a=r(226),u=r(111),f=r(227),c=r(229),l=r(228);u(n,a),n.prototype._transform=function(t,e,r){this._cache.add(t);for(var n,i;n=this._cache.get();)i=this._mode.decrypt(this,n),this.push(i);r()},n.prototype._flush=function(t){var e=this._cache.flush();return e?(this.push(o(this._mode.decrypt(this,e))),void t()):t},i.prototype.add=function(t){this.cache=e.concat([this.cache,t])},i.prototype.get=function(){if(this.cache.length>16){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},i.prototype.flush=function(){if(this.cache.length)return this.cache};var h={ECB:r(230),CBC:r(231),CFB:r(233),OFB:r(234),CTR:r(235)};t.exports=function(t){function r(t,r,i){var o=f[t];if(!o)throw new TypeError("invalid suite type");if("string"==typeof i&&(i=new e(i)),"string"==typeof r&&(r=new e(r)),r.length!==o.key/8)throw new TypeError("invalid key length "+r.length);if(i.length!==o.iv)throw new TypeError("invalid iv length "+i.length);return"stream"===o.type?new c(h[o.mode],r,i,!0):new n(h[o.mode],r,i)}function i(e,n){var i=f[e];if(!i)throw new TypeError("invalid suite type");var o=l(t,n,i.key,i.iv);return r(e,o.key,o.iv)}return{createDecipher:i,createDecipheriv:r}}}).call(e,r(99).Buffer)},function(t,e,r){(function(e){"use strict";var n=r(178),i=r(148),o=r(182),s=o.Point,a=o.getCurveByName("secp256k1"),u=r(42),f=r(202),c=r(188),l=r(187),h=r(177),p=r(109),d={},_=f.transaction,y=f.signed_transaction;d.verify=function(t,e,r){var n=!1,i=[];for(var o in r)i.push(o);var s=this.generateKeys(t,e,i);return i.forEach(function(t){r[t][0][0]===s[t]&&(n=!0)}),n},d.generateKeys=function(t,r,o){var f={};return o.forEach(function(o){var c=t+o+r,l=c.trim().split(/[\t\n\v\f\r ]+/).join(" "),h=p.sha256(l),d=n.fromBuffer(h),_=a.G.multiply(d),y=new s(_.curve,_.x,_.y,_.z),v=y.getEncoded(_.compressed),g=p.ripemd160(v),m=e.concat([v,g.slice(0,4)]);f[o]=u.get("address_prefix")+i.encode(m)}),f},d.getPrivateKeys=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["owner","active","posting","memo"],n={};return r.forEach(function(r){n[r]=this.toWif(t,e,r),n[r+"Pubkey"]=this.wifToPublic(n[r])}.bind(this)),n},d.isWif=function(t){var r=!1;try{var n=new e(i.decode(t)),o=n.slice(0,-4),s=n.slice(-4),a=p.sha256(o);a=p.sha256(a),a=a.slice(0,4),s.toString()==a.toString()&&(r=!0)}catch(t){}return r},d.toWif=function(t,r,n){var o=t+n+r,s=o.trim().split(/[\t\n\v\f\r ]+/).join(" "),a=p.sha256(s),u=e.concat([new e([128]),a]),f=p.sha256(u);f=p.sha256(f),f=f.slice(0,4);var c=e.concat([u,f]);return i.encode(c)},d.wifIsValid=function(t,e){return this.wifToPublic(t)==e},d.wifToPublic=function(t){var e=l.fromWif(t);return e=e.toPublic().toString()},d.isPubkey=function(t,e){return null!=h.fromString(t,e)},d.signTransaction=function(t,r){var n=[];t.signatures&&(n=[].concat(t.signatures));var i=new e(u.get("chain_id"),"hex"),o=_.toBuffer(t);for(var s in r){var a=c.signBuffer(e.concat([i,o]),r[s]);n.push(a.toBuffer())}return y.toObject(Object.assign(t,{signatures:n}))},t.exports=d}).call(e,r(99).Buffer)},function(t,e,r){(function(t){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function i(e,r){if((0,h.default)(r,"memo is required"),h.default.equal("undefined"==typeof r?"undefined":u(r),"string","memo"),!/^#/.test(r))return r;r=r.substring(1),(0,h.default)(e,"private_key is required"),a(),e=m(e),r=d.default.decode(r),r=v.fromBuffer(new t(r,"binary"));var n=r,i=n.from,o=n.to,s=n.nonce,f=n.check,l=n.encrypted,p=e.toPublicKey().toString(),y=p===i.toString()?o.toString():i.toString();r=_.Aes.decrypt(e,y,s,l,f);var g=c.default.fromBinary(r.toString("binary"),c.default.DEFAULT_CAPACITY,c.default.LITTLE_ENDIAN);try{return g.mark(),"#"+g.readVString()}catch(e){return g.reset(),r=new t(g.toString("binary"),"binary").toString("utf-8"),"#"+r}}function o(e,r,n,i){if((0,h.default)(n,"memo is required"),h.default.equal("undefined"==typeof n?"undefined":u(n),"string","memo"),!/^#/.test(n))return n;n=n.substring(1),(0,h.default)(e,"private_key is required"),(0,h.default)(r,"public_key is required"),a(),e=m(e),r=b(r);var o=new c.default(c.default.DEFAULT_CAPACITY,c.default.LITTLE_ENDIAN);o.writeVString(n),n=new t(o.copy(0,o.offset).toBinary(),"binary");var s=_.Aes.encrypt(e,r,n,i),f=s.nonce,l=s.message,p=s.checksum;return n=v.fromObject({from:e.toPublicKey(),to:r,nonce:f,check:p,encrypted:l}),n=v.toBuffer(n),"#"+d.default.encode(new t(n,"binary"))}function s(e){if((0,h.default)(e,"memo is required"),h.default.equal("undefined"==typeof e?"undefined":u(e),"string","memo"),!/^#/.test(e))return[];e=e.substring(1),a(),e=d.default.decode(e),e=v.fromBuffer(new t(e,"binary"));var r=e,n=r.from,i=r.to;return[n.toString(),i.toString()]}function a(){if(void 0===g){var t=void 0;g=!0;try{var e="5JdeC9P7Pbd1uGdFVEsJ41EkEnADbbHGq6p1BwFxm6txNBsQnsw",r="STM8m5UgaFAAYQRuaNejYdS8FVLVp9Ss3K1qAVk5de6F8s3HnVbvA",n=o(e,r,"#memo爱");t=i(e,n)}catch(t){console.error(t)}finally{g="#memo爱"===t}}if(g===!1)throw new Error("This environment does not support encryption.")}Object.defineProperty(e,"__esModule",{value:!0});var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};e.decode=i,e.encode=o,e.getPubKeys=s;var f=r(153),c=n(f),l=r(105),h=n(l),p=r(148),d=n(p),_=r(103),y=r(201),v=y.ops.encrypted_memo,g=void 0,m=function(t){return t?t.d?t:_.PrivateKey.fromWif(t):t},b=function(t){return t?t.Q?t:_.PublicKey.fromString(t):t}}).call(e,r(99).Buffer)},function(t,e,r){(function(n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s=r(3),a=i(s),u=r(87),f=i(u),c=r(240),l=i(c),h=r(241),p=i(h),d=r(1),_=i(d),y=r(237),v=i(y),g=r(97),m=r(284),b=r(42),w=(0,f.default)("hive:broadcast"),E=function(){},k=(0,p.default)(_.default),S={};S.send=function(t,e,r){var n=S._prepareTransaction(t).then(function(t){return"TST"===b.get("address_prefix")&&(t.operations=JSON.parse(JSON.stringify(t.operations).replaceAll(" HIVE"," TESTS")),t.operations=JSON.parse(JSON.stringify(t.operations).replaceAll(" HBD"," TBD"))),w("Signing transaction (transaction, transaction.operations)",t,t.operations),a.default.join(t,v.default.signTransaction(t,e))}).spread(function(t,e){return w("Broadcasting transaction (transaction, transaction.operations)",t,t.operations),_.default.broadcastTransactionSynchronousAsync(e).then(function(t){return Object.assign({},t,e)})});n.nodeify(r||E)},S._prepareTransaction=function(t){var e=_.default.getDynamicGlobalPropertiesAsync();return e.then(function(e){var r=new Date(e.time+"Z"),i=e.last_irreversible_block_num-1&65535;return _.default.getBlockHeaderAsync(e.last_irreversible_block_num).then(function(e){var o=e?e.previous:"0000000000000000000000000000000000000000";return Object.assign({ref_block_num:i,ref_block_prefix:new n(o,"hex").readUInt32LE(4),expiration:new Date(r.getTime()+6e5)},t)})})},m.forEach(function(t){var e=(0,g.camelCase)(t.operation),r=t.params||[],n=r.indexOf("parent_author")!==-1&&r.indexOf("parent_permlink")!==-1;S[e+"With"]=function(r,i,o){w('Sending operation "'+e+'" with',{options:i,callback:o});var s={};return t.roles&&t.roles.length&&(s[t.roles[0]]=r),S.send({extensions:[],operations:[[t.operation,Object.assign({},i,null!=i.json_metadata?{json_metadata:B(i.json_metadata)}:{},n&&null==i.permlink?{permlink:k.commentPermlink(i.parent_author,i.parent_permlink)}:{})]]},s,o)},S[e]=function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];w('Parsing operation "'+e+'" with',{args:i});var s=r.reduce(function(t,e,r){return t[e]=i[r],t},{}),a=i[r.length];return S[e+"With"](t,s,a)}}),S.updateOperations=function(){console.log("Warning: call to updateOperations() is deprecated and can safely be removed")};var B=function(t){return"object"===("undefined"==typeof t?"undefined":o(t))?JSON.stringify(t):t};(0,l.default)(S),a.default.promisifyAll(S),e=t.exports=S}).call(e,r(99).Buffer)},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}var i=function(){function t(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}return function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=r(1),s=n(o);e=t.exports=function(t){t.addAccountAuth=function(e,r){var n=e.signingKey,o=e.username,a=e.authorizedUsername,u=e.role,f=void 0===u?"posting":u,c=e.weight;s.default.getAccounts([o],function(e,o){var s=i(o,1),u=s[0];if(e)return r(new Error(e),null);if(!u)return r(new Error("Invalid account name"),null);var l=u[f],h=l.account_auths.map(function(t){return t[0]}),p=h.indexOf(a)!==-1;if(p)return r(null,null);c=c||u[f].weight_threshold,l.account_auths.push([a,c]);var d="owner"===f?l:void 0,_="active"===f?l:void 0,y="posting"===f?l:void 0;t.accountUpdate(n,u.name,d,_,y,u.memo_key,u.json_metadata,r)})},t.removeAccountAuth=function(e,r){var n=e.signingKey,o=e.username,a=e.authorizedUsername,u=e.role,f=void 0===u?"posting":u;s.default.getAccounts([o],function(e,o){var s=i(o,1),u=s[0];if(e)return r(new Error(e),null);if(!u)return r(new Error("Invalid account name"),null);for(var c=u[f],l=c.account_auths.length,h=0;h<l;h++){var p=c.account_auths[h];if(p[0]===a){c.account_auths.splice(h,1);break}}if(l===c.account_auths.length)return r(null,null);var d="owner"===f?c:void 0,_="active"===f?c:void 0,y="posting"===f?c:void 0;t.accountUpdate(n,u.name,d,_,y,u.memo_key,u.json_metadata,r)})},t.addKeyAuth=function(e,r){var n=e.signingKey,o=e.username,a=e.authorizedKey,u=e.role,f=void 0===u?"posting":u,c=e.weight;s.default.getAccounts([o],function(e,o){var s=i(o,1),u=s[0];if(e)return r(new Error(e),null);if(!u)return r(new Error("Invalid account name"),null);var l=u[f],h=l.key_auths.map(function(t){return t[0]}),p=h.indexOf(a)!==-1;if(p)return r(null,null);c=c||u[f].weight_threshold,l.key_auths.push([a,c]);var d="owner"===f?l:void 0,_="active"===f?l:void 0,y="posting"===f?l:void 0;t.accountUpdate(n,u.name,d,_,y,u.memo_key,u.json_metadata,r)})},t.removeKeyAuth=function(e,r){var n=e.signingKey,o=e.username,a=e.authorizedKey,u=e.role,f=void 0===u?"posting":u;s.default.getAccounts([o],function(e,o){var s=i(o,1),u=s[0];if(e)return r(new Error(e),null);if(!u)return r(new Error("Invalid account name"),null);for(var c=u[f],l=c.key_auths.length,h=0;h<l;h++){var p=c.key_auths[h];if(p[0]===a){c.key_auths.splice(h,1);break}}if(l===c.key_auths.length)return r(null,null);var d="owner"===f?c:void 0,_="active"===f?c:void 0,y="posting"===f?c:void 0;t.accountUpdate(n,u.name,d,_,y,u.memo_key,u.json_metadata,r)})}}},function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}var i=function(){function t(t,e){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{!n&&a.return&&a.return()}finally{if(i)throw o}}return r}return function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),o=r(242),s=n(o),a=r(103),u=r(42);n(u);t.exports=function(t){function e(t){return t.replace(/\B(?=(\d{3})+(?!\d))/g,",")}function r(t,e){var r=parseFloat(t.vesting_shares.split(" ")[0]),n=parseFloat(e.total_vesting_shares.split(" ")[0]),i=parseFloat(e.total_vesting_fund_hive.split(" ")[0]),o=i*(r/n);return o}function n(t,e){ +var r=t?t.reduce(function(t,e){return e.sell_price.base.indexOf("HBD")!==-1&&(t+=e.for_sale),t},0)/e:0,n=t?t.reduce(function(t,e){return e.sell_price.base.indexOf("HIVE")!==-1&&(t+=e.for_sale),t},0)/e:0;return{hiveOrders:n,hbdOrders:r}}function o(t){var e=0,r=0;return t.forEach(function(t){var n=t.amount.split(" "),o=i(n,2),s=o[0],a=o[1];"HIVE"===a?e+=parseFloat(s):"HBD"===a&&(r+=parseFloat(s))}),{savings_pending:e,savings_hbd_pending:r}}function u(t){var e=void 0,r=t.base,n=t.quote;return/ HBD$/.test(r)&&/ HIVE$/.test(n)&&(e=parseFloat(r.split(" ")[0])/parseFloat(n.split(" ")[0])),e}function f(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.gprops,a=r.feed_price,u=r.open_orders,f=r.savings_withdraws,c=r.vesting_steem,p=r.vesting_hive,d=[],_=e.name,y=1e3,v=void 0,g=void 0;return c&&(p=c),p&&a||(i&&a?p=l(e,i):d.push(t.getStateAsync("/@"+_).then(function(t){i=t.props,a=t.feed_price,p=l(e,i)}))),u?v=n(u,y):d.push(t.getOpenOrdersAsync(_).then(function(t){v=n(t,y)})),f?g=o(f):d.push(t.getSavingsWithdrawFromAsync(_).then(function(t){g=o(t)})),Promise.all(d).then(function(){var t=h(a),r=e.savings_balance,n=e.savings_hbd_balance,i=parseFloat(e.balance.split(" ")[0]),o=parseFloat(r.split(" ")[0]),u=parseFloat(e.hbd_balance),f=parseFloat(n.split(" ")[0]),c=0,l=(new Date).getTime();(e.other_history||[]).reduce(function(t,e){if("convert"!==(0,s.default)(e,[1,"op",0],""))return t;var r=new Date((0,s.default)(e,[1,"timestamp"])).getTime(),n=r+3024e5;if(n<l)return t;var i=parseFloat((0,s.default)(e,[1,"op",1,"amount"]).replace(" HBD",""));c+=i},[]);var d=u+f+g.savings_hbd_pending+v.hbdOrders+c,_=p+i+o+g.savings_pending+v.hiveOrders;return(_*t+d).toFixed(2)})}function c(){var t=32,e=a.key_utils.get_random_key();return e.toWif().substring(3,3+t)}var l=r,h=u;return{reputation:function(t){if(null==t)return t;var e=t<0,r=String(t);r=e?r.substring(1):r;var n=Math.log10((r>0?r:-r)-10)-9;return n=e?-n:n,parseInt(9*n+25)},vestToSteem:function(t,e,r){return console.warn("vestToSteem() is deprecated and will be removed in the future releases. Use vestToHive() instead."),parseFloat(r)*(parseFloat(t)/parseFloat(e))},vestToHive:function(t,e,r){return parseFloat(r)*(parseFloat(t)/parseFloat(e))},commentPermlink:function(t,e){var r=(new Date).toISOString().replace(/[^a-zA-Z0-9]+/g,"").toLowerCase();return e=e.replace(/(-\d{8}t\d{9}z)/g,""),("re-"+t+"-"+e+"-"+r).replaceAll(".","")},amount:function(t,e){return t.toFixed(3)+" "+e},numberWithCommas:e,vestingSteem:r,vestingHive:l,estimateAccountValue:f,createSuggestedPassword:c,pricePerSteem:u,pricePerHive:h}}},function(t,e,r){"use strict";function n(t,e,r){var n=null==t?void 0:i(t,e);return void 0===n?r:n}var i=r(243);t.exports=n},function(t,e,r){"use strict";function n(t,e){e=i(e,t);for(var r=0,n=e.length;null!=t&&r<n;)t=t[o(e[r++])];return r&&r==n?t:void 0}var i=r(244),o=r(283);t.exports=n},function(t,e,r){"use strict";function n(t,e){return i(t)?t:o(t,e)?[t]:s(a(t))}var i=r(62),o=r(245),s=r(247),a=r(280);t.exports=n},function(t,e,r){"use strict";function n(t,e){if(o(t))return!1;var r="undefined"==typeof t?"undefined":i(t);return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!s(t))||(u.test(t)||!a.test(t)||null!=e&&t in Object(e))}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=r(62),s=r(246),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;t.exports=n},function(t,e,r){"use strict";function n(t){return"symbol"==("undefined"==typeof t?"undefined":i(t))||s(t)&&o(t)==a}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=r(55),s=r(61),a="[object Symbol]";t.exports=n},function(t,e,r){"use strict";var n=r(248),i=/^\./,o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,a=n(function(t){var e=[];return i.test(t)&&e.push(""),t.replace(o,function(t,r,n,i){e.push(n?i.replace(s,"$1"):r||t)}),e});t.exports=a},function(t,e,r){"use strict";function n(t){var e=i(t,function(t){return r.size===o&&r.clear(),t}),r=e.cache;return e}var i=r(249),o=500;t.exports=n},function(t,e,r){"use strict";function n(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(o);var r=function r(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(n.Cache||i),r}var i=r(250),o="Expected a function";n.Cache=i,t.exports=n},function(t,e,r){"use strict";function n(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}var i=r(251),o=r(274),s=r(277),a=r(278),u=r(279);n.prototype.clear=i,n.prototype.delete=o,n.prototype.get=s,n.prototype.has=a,n.prototype.set=u,t.exports=n},function(t,e,r){"use strict";function n(){this.size=0,this.__data__={hash:new i,map:new(s||o),string:new i}}var i=r(252),o=r(265),s=r(273);t.exports=n},function(t,e,r){"use strict";function n(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}var i=r(253),o=r(261),s=r(262),a=r(263),u=r(264);n.prototype.clear=i,n.prototype.delete=o,n.prototype.get=s,n.prototype.has=a,n.prototype.set=u,t.exports=n},function(t,e,r){"use strict";function n(){this.__data__=i?i(null):{},this.size=0}var i=r(254);t.exports=n},function(t,e,r){"use strict";var n=r(255),i=n(Object,"create");t.exports=i},function(t,e,r){"use strict";function n(t,e){var r=o(t,e);return i(r)?r:void 0}var i=r(256),o=r(260);t.exports=n},function(t,e,r){"use strict";function n(t){if(!s(t)||o(t))return!1;var e=i(t)?d:f;return e.test(a(t))}var i=r(77),o=r(257),s=r(78),a=r(259),u=/[\\^$.*+?()[\]{}|]/g,f=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,h=c.toString,p=l.hasOwnProperty,d=RegExp("^"+h.call(p).replace(u,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=n},function(t,e,r){"use strict";function n(t){return!!o&&o in t}var i=r(258),o=function(){var t=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();t.exports=n},function(t,e,r){"use strict";var n=r(57),i=n["__core-js_shared__"];t.exports=i},function(t,e){"use strict";function r(t){if(null!=t){try{return i.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var n=Function.prototype,i=n.toString;t.exports=r},function(t,e){"use strict";function r(t,e){return null==t?void 0:t[e]}t.exports=r},function(t,e){"use strict";function r(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}t.exports=r},function(t,e,r){"use strict";function n(t){var e=this.__data__;if(i){var r=e[t];return r===o?void 0:r}return a.call(e,t)?e[t]:void 0}var i=r(254),o="__lodash_hash_undefined__",s=Object.prototype,a=s.hasOwnProperty;t.exports=n},function(t,e,r){"use strict";function n(t){var e=this.__data__;return i?void 0!==e[t]:s.call(e,t)}var i=r(254),o=Object.prototype,s=o.hasOwnProperty;t.exports=n},function(t,e,r){"use strict";function n(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=i&&void 0===e?o:e,this}var i=r(254),o="__lodash_hash_undefined__";t.exports=n},function(t,e,r){"use strict";function n(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}var i=r(266),o=r(267),s=r(270),a=r(271),u=r(272);n.prototype.clear=i,n.prototype.delete=o,n.prototype.get=s,n.prototype.has=a,n.prototype.set=u,t.exports=n},function(t,e){"use strict";function r(){this.__data__=[],this.size=0}t.exports=r},function(t,e,r){"use strict";function n(t){var e=this.__data__,r=i(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():s.call(e,r,1),--this.size,!0}var i=r(268),o=Array.prototype,s=o.splice;t.exports=n},function(t,e,r){"use strict";function n(t,e){for(var r=t.length;r--;)if(i(t[r][0],e))return r;return-1}var i=r(269);t.exports=n},function(t,e){"use strict";function r(t,e){return t===e||t!==t&&e!==e}t.exports=r},function(t,e,r){"use strict";function n(t){var e=this.__data__,r=i(e,t);return r<0?void 0:e[r][1]}var i=r(268);t.exports=n},function(t,e,r){"use strict";function n(t){return i(this.__data__,t)>-1}var i=r(268);t.exports=n},function(t,e,r){"use strict";function n(t,e){var r=this.__data__,n=i(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var i=r(268);t.exports=n},function(t,e,r){"use strict";var n=r(255),i=r(57),o=n(i,"Map");t.exports=o},function(t,e,r){"use strict";function n(t){var e=i(this,t).delete(t);return this.size-=e?1:0,e}var i=r(275);t.exports=n},function(t,e,r){"use strict";function n(t,e){var r=t.__data__;return i(e)?r["string"==typeof e?"string":"hash"]:r.map}var i=r(276);t.exports=n},function(t,e){"use strict";function r(t){var e="undefined"==typeof t?"undefined":n(t);return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,e,r){"use strict";function n(t){return i(this,t).get(t)}var i=r(275);t.exports=n},function(t,e,r){"use strict";function n(t){return i(this,t).has(t)}var i=r(275);t.exports=n},function(t,e,r){"use strict";function n(t,e){var r=i(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var i=r(275);t.exports=n},function(t,e,r){"use strict";function n(t){return null==t?"":i(t)}var i=r(281);t.exports=n},function(t,e,r){"use strict";function n(t){if("string"==typeof t)return t;if(s(t))return o(t,n)+"";if(a(t))return c?c.call(t):"";var e=t+"";return"0"==e&&1/t==-u?"-0":e}var i=r(56),o=r(282),s=r(62),a=r(246),u=1/0,f=i?i.prototype:void 0,c=f?f.toString:void 0;t.exports=n},function(t,e){"use strict";function r(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}t.exports=r},function(t,e,r){"use strict";function n(t){if("string"==typeof t||i(t))return t;var e=t+"";return"0"==e&&1/t==-o?"-0":e}var i=r(246),o=1/0;t.exports=n},function(t,e,r){"use strict";r(42);t.exports=[{roles:["posting","active","owner"],operation:"vote",params:["voter","author","permlink","weight"]},{roles:["posting","active","owner"],operation:"comment",params:["parent_author","parent_permlink","author","permlink","title","body","json_metadata"]},{roles:["active","owner"],operation:"transfer",params:["from","to","amount","memo"]},{roles:["active","owner"],operation:"transfer_to_vesting",params:["from","to","amount"]},{roles:["active","owner"],operation:"withdraw_vesting",params:["account","vesting_shares"]},{roles:["active","owner"],operation:"limit_order_create",params:["owner","orderid","amount_to_sell","min_to_receive","fill_or_kill","expiration"]},{roles:["active","owner"],operation:"limit_order_cancel",params:["owner","orderid"]},{roles:["active","owner"],operation:"price",params:["base","quote"]},{roles:["active","owner"],operation:"feed_publish",params:["publisher","exchange_rate"]},{roles:["active","owner"],operation:"convert",params:["owner","requestid","amount"]},{roles:["active","owner"],operation:"collateralized_convert",params:["owner","requestid","amount"]},{roles:["active","owner"],operation:"account_create",params:["fee","creator","new_account_name","owner","active","posting","memo_key","json_metadata"]},{roles:["active","owner"],operation:"account_update",params:["account","owner","active","posting","memo_key","json_metadata"]},{roles:["active","owner"],operation:"witness_update",params:["owner","url","block_signing_key","props","fee"]},{roles:["active","owner"],operation:"account_witness_vote",params:["account","witness","approve"]},{roles:["active","owner"],operation:"account_witness_proxy",params:["account","proxy"]},{roles:["active","owner"],operation:"pow",params:["worker","input","signature","work"]},{roles:["active","owner"],operation:"custom",params:["required_auths","id","data"]},{roles:["posting","active","owner"],operation:"delete_comment",params:["author","permlink"]},{roles:["posting","active","owner"],operation:"custom_json",params:["required_auths","required_posting_auths","id","json"]},{roles:["posting","active","owner"],operation:"comment_options",params:["author","permlink","max_accepted_payout","percent_hbd","allow_votes","allow_curation_rewards","extensions"]},{roles:["active","owner"],operation:"set_withdraw_vesting_route",params:["from_account","to_account","percent","auto_vest"]},{roles:["active","owner"],operation:"limit_order_create2",params:["owner","orderid","amount_to_sell","exchange_rate","fill_or_kill","expiration"]},{roles:["active","owner"],operation:"claim_account",params:["creator","fee","extensions"]},{roles:["active","owner"],operation:"create_claimed_account",params:["creator","new_account_name","owner","active","posting","memo_key","json_metadata","extensions"]},{roles:["active","owner"],operation:"request_account_recovery",params:["recovery_account","account_to_recover","new_owner_authority","extensions"]},{roles:["owner"],operation:"recover_account",params:["account_to_recover","new_owner_authority","recent_owner_authority","extensions"]},{roles:["owner"],operation:"change_recovery_account",params:["account_to_recover","new_recovery_account","extensions"]},{roles:["active","owner"],operation:"escrow_transfer",params:["from","to","agent","escrow_id","hbd_amount","hive_amount","fee","ratification_deadline","escrow_expiration","json_meta"]},{roles:["active","owner"],operation:"escrow_dispute",params:["from","to","agent","who","escrow_id"]},{roles:["active","owner"],operation:"escrow_release",params:["from","to","agent","who","receiver","escrow_id","hbd_amount","hive_amount"]},{roles:["active","owner"],operation:"pow2",params:["input","pow_summary"]},{roles:["active","owner"],operation:"escrow_approve",params:["from","to","agent","who","escrow_id","approve"]},{roles:["active","owner"],operation:"transfer_to_savings",params:["from","to","amount","memo"]},{roles:["active","owner"],operation:"transfer_from_savings",params:["from","request_id","to","amount","memo"]},{roles:["active","owner"],operation:"cancel_transfer_from_savings",params:["from","request_id"]},{roles:["posting","active","owner"],operation:"custom_binary",params:["id","data"]},{roles:["owner"],operation:"decline_voting_rights",params:["account","decline"]},{roles:["active","owner"],operation:"reset_account",params:["reset_account","account_to_reset","new_owner_authority"]},{roles:["owner","posting"],operation:"set_reset_account",params:["account","current_reset_account","reset_account"]},{roles:["posting","active","owner"],operation:"claim_reward_balance",params:["account","reward_hive","reward_hbd","reward_vests"]},{roles:["active","owner"],operation:"delegate_vesting_shares",params:["delegator","delegatee","vesting_shares"]},{roles:["active","owner"],operation:"account_create_with_delegation",params:["fee","delegation","creator","new_account_name","owner","active","posting","memo_key","json_metadata","extensions"]},{roles:["active","owner"],operation:"witness_set_properties",params:["owner","props","extensions"]},{roles:["posting","active","owner"],operation:"account_update2",params:["account","owner","active","posting","memo_key","json_metadata","posting_json_metadata","extensions"]},{roles:["active","owner"],operation:"create_proposal",params:["creator","receiver","start_date","end_date","daily_pay","subject","permlink","extensions"]},{roles:["active","owner"],operation:"update_proposal_votes",params:["voter","proposal_ids","approve","extensions"]},{roles:["active","owner"],operation:"remove_proposal",params:["proposal_owner","proposal_ids","extensions"]},{roles:["active","owner"],operation:"update_proposal",params:["proposal_id","creator","daily_pay","subject","permlink","extensions"]},{roles:["active","owner"],operation:"recurrent_transfer",params:["from","to","amount","memo","recurrence","executions","extensions"]},{roles:["posting","active","owner"],operation:"claim_reward_balance2",params:["account","reward_tokens","extensions"]},{roles:["posting","active","owner"],operation:"vote2",params:["voter","author","permlink","rshares","extensions"]},{roles:["active","owner"],operation:"smt_create",params:["control_account","symbol","smt_creation_fee","precision","extensions"]},{roles:["active","owner"],operation:"smt_setup",params:["control_account","symbol","max_supply","contribution_begin_time","contribution_end_time","launch_time","hive_units_min","min_unit_ratio","max_unit_ratio","extensions"]},{roles:["active","owner"],operation:"smt_setup_emissions",params:["control_account","symbol","schedule_time","emissions_unit","interval_seconds","interval_coount","lep_time","rep_time","lep_abs_amount","rep_abs_amount","lep_rel_amount_numerator","rep_rel_amount_numerator","rel_amount_denom_bits","remove","floor_emissions","extensions"]},{roles:["active","owner"],operation:"smt_setup_ico_tier",params:["control_account","symbol","hive_units_cap","generation_policy","remove","extensions"]},{roles:["active","owner"],operation:"smt_set_setup_parameters",params:["control_account","symbol","setup_parameters","extensions"]},{roles:["active","owner"],operation:"smt_set_runtime_parameters",params:["control_account","symbol","runtime_parameters","extensions"]},{roles:["active","owner"],operation:"smt_contribute",params:["contributor","symbol","contribution_id","contribution","extensions"]},{roles:["active","owner"],operation:"fill_convert_request",params:["owner","requestid","amount_in","amount_out"]},{roles:["posting","active","owner"],operation:"comment_reward",params:["author","permlink","payout"]},{roles:["active","owner"],operation:"liquidity_reward",params:["owner","payout"]},{roles:["active","owner"],operation:"interest",params:["owner","interest"]},{roles:["active","owner"],operation:"fill_vesting_withdraw",params:["from_account","to_account","withdrawn","deposited"]},{roles:["posting","active","owner"],operation:"fill_order",params:["current_owner","current_orderid","current_pays","open_owner","open_orderid","open_pays"]},{roles:["posting","active","owner"],operation:"fill_transfer_from_savings",params:["from","to","amount","request_id","memo"]}]}])); +//# sourceMappingURL=hive.min.js.map \ No newline at end of file diff --git a/js/hive.min.js.map b/js/hive.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dc5b0fefe34045eb5b04c0931de31d2ee0ebbcdf --- /dev/null +++ b/js/hive.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///hive.min.js","webpack:///webpack/bootstrap d402097e6971ff9a3b96","webpack:///./src/browser.js","webpack:///./src/api/index.js","webpack:///./~/events/events.js","webpack:///./~/bluebird/js/release/bluebird.js","webpack:///./~/bluebird/js/release/promise.js","webpack:///./~/process/browser.js","webpack:///./~/bluebird/js/release/util.js","webpack:///./~/bluebird/js/release/es5.js","webpack:///./~/bluebird/js/release/async.js","webpack:///./~/bluebird/js/release/schedule.js","webpack:///./~/timers-browserify/main.js","webpack:///./~/setimmediate/setImmediate.js","webpack:///./~/bluebird/js/release/queue.js","webpack:///./~/bluebird/js/release/errors.js","webpack:///./~/bluebird/js/release/thenables.js","webpack:///./~/bluebird/js/release/promise_array.js","webpack:///./~/bluebird/js/release/context.js","webpack:///./~/bluebird/js/release/debuggability.js","webpack:///./~/bluebird/js/release/finally.js","webpack:///./~/bluebird/js/release/catch_filter.js","webpack:///./~/bluebird/js/release/nodeback.js","webpack:///./~/bluebird/js/release/method.js","webpack:///./~/bluebird/js/release/bind.js","webpack:///./~/bluebird/js/release/cancel.js","webpack:///./~/bluebird/js/release/direct_resolve.js","webpack:///./~/bluebird/js/release/synchronous_inspection.js","webpack:///./~/bluebird/js/release/join.js","webpack:///./~/bluebird/js/release/map.js","webpack:///./~/bluebird/js/release/call_get.js","webpack:///./~/bluebird/js/release/using.js","webpack:///./~/bluebird/js/release/timers.js","webpack:///./~/bluebird/js/release/generators.js","webpack:///./~/bluebird/js/release/nodeify.js","webpack:///./~/bluebird/js/release/promisify.js","webpack:///./~/bluebird/js/release/props.js","webpack:///./~/bluebird/js/release/race.js","webpack:///./~/bluebird/js/release/reduce.js","webpack:///./~/bluebird/js/release/settle.js","webpack:///./~/bluebird/js/release/some.js","webpack:///./~/bluebird/js/release/filter.js","webpack:///./~/bluebird/js/release/each.js","webpack:///./~/bluebird/js/release/any.js","webpack:///./src/config.js","webpack:///./~/lodash/each.js","webpack:///./~/lodash/forEach.js","webpack:///./~/lodash/_arrayEach.js","webpack:///./~/lodash/_baseEach.js","webpack:///./~/lodash/_baseForOwn.js","webpack:///./~/lodash/_baseFor.js","webpack:///./~/lodash/_createBaseFor.js","webpack:///./~/lodash/keys.js","webpack:///./~/lodash/_arrayLikeKeys.js","webpack:///./~/lodash/_baseTimes.js","webpack:///./~/lodash/isArguments.js","webpack:///./~/lodash/_baseIsArguments.js","webpack:///./~/lodash/_baseGetTag.js","webpack:///./~/lodash/_Symbol.js","webpack:///./~/lodash/_root.js","webpack:///./~/lodash/_freeGlobal.js","webpack:///./~/lodash/_getRawTag.js","webpack:///./~/lodash/_objectToString.js","webpack:///./~/lodash/isObjectLike.js","webpack:///./~/lodash/isArray.js","webpack:///./~/lodash/isBuffer.js","webpack:///(webpack)/buildin/module.js","webpack:///./~/lodash/stubFalse.js","webpack:///./~/lodash/_isIndex.js","webpack:///./~/lodash/isTypedArray.js","webpack:///./~/lodash/_baseIsTypedArray.js","webpack:///./~/lodash/isLength.js","webpack:///./~/lodash/_baseUnary.js","webpack:///./~/lodash/_nodeUtil.js","webpack:///./~/lodash/_baseKeys.js","webpack:///./~/lodash/_isPrototype.js","webpack:///./~/lodash/_nativeKeys.js","webpack:///./~/lodash/_overArg.js","webpack:///./~/lodash/isArrayLike.js","webpack:///./~/lodash/isFunction.js","webpack:///./~/lodash/isObject.js","webpack:///./~/lodash/_createBaseEach.js","webpack:///./~/lodash/_castFunction.js","webpack:///./~/lodash/identity.js","webpack:///./config.json","webpack:///./src/api/methods.js","webpack:///./src/api/transports/index.js","webpack:///./src/api/transports/http.js","webpack:///./~/cross-fetch/dist/browser.js","webpack:///./~/debug/src/browser.js","webpack:///./~/debug/src/debug.js","webpack:///./~/ms/index.js","webpack:///./~/retry/index.js","webpack:///./~/retry/lib/retry.js","webpack:///./~/retry/lib/retry_operation.js","webpack:///./src/api/transports/base.js","webpack:///./src/api/transports/ws.js","webpack:///./~/detect-node/index.js","webpack:///./src/utils.js","webpack:///./src/auth/serializer/src/types.js","webpack:///./~/node-libs-browser/~/buffer/index.js","webpack:///./~/base64-js/index.js","webpack:///./~/ieee754/index.js","webpack:///./~/isarray/index.js","webpack:///./src/auth/ecc/index.js","webpack:///./src/auth/ecc/src/address.js","webpack:///./~/assert/assert.js","webpack:///./~/util/util.js","webpack:///./~/util/support/isBufferBrowser.js","webpack:///./~/util/~/inherits/inherits_browser.js","webpack:///./src/auth/ecc/src/hash.js","webpack:///./~/create-hash/browser.js","webpack:///./~/create-hash/md5.js","webpack:///./~/create-hash/make-hash.js","webpack:///./~/ripemd160/index.js","webpack:///./~/ripemd160/~/hash-base/index.js","webpack:///./~/stream-browserify/index.js","webpack:///./~/readable-stream/readable-browser.js","webpack:///./~/readable-stream/lib/_stream_readable.js","webpack:///./~/process-nextick-args/index.js","webpack:///./~/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./~/safe-buffer/index.js","webpack:///./~/buffer/index.js","webpack:///./~/core-util-is/lib/util.js","webpack:///./~/readable-stream/lib/internal/streams/BufferList.js","webpack:///./~/readable-stream/lib/internal/streams/destroy.js","webpack:///./~/readable-stream/lib/_stream_duplex.js","webpack:///./~/readable-stream/lib/_stream_writable.js","webpack:///./~/util-deprecate/browser.js","webpack:///./~/string_decoder/lib/string_decoder.js","webpack:///./~/readable-stream/lib/_stream_transform.js","webpack:///./~/readable-stream/lib/_stream_passthrough.js","webpack:///./~/readable-stream/writable-browser.js","webpack:///./~/readable-stream/duplex-browser.js","webpack:///./~/readable-stream/transform.js","webpack:///./~/readable-stream/passthrough.js","webpack:///./~/sha.js/index.js","webpack:///./~/sha.js/sha.js","webpack:///./~/sha.js/hash.js","webpack:///./~/sha.js/sha1.js","webpack:///./~/sha.js/sha224.js","webpack:///./~/sha.js/sha256.js","webpack:///./~/sha.js/sha384.js","webpack:///./~/sha.js/sha512.js","webpack:///./~/cipher-base/index.js","webpack:///./~/create-hmac/browser.js","webpack:///./~/create-hmac/legacy.js","webpack:///./~/bs58/index.js","webpack:///./~/base-x/index.js","webpack:///./src/auth/ecc/src/aes.js","webpack:///./~/secure-random/lib/secure-random.js","webpack:///./~/bytebuffer/dist/bytebuffer.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///./~/long/dist/long.js","webpack:///./~/browserify-aes/browser.js","webpack:///./~/browserify-aes/encrypter.js","webpack:///./~/browserify-aes/modes/index.js","webpack:///./~/browserify-aes/modes/ecb.js","webpack:///./~/browserify-aes/modes/cbc.js","webpack:///./~/buffer-xor/index.js","webpack:///./~/browserify-aes/modes/cfb.js","webpack:///./~/browserify-aes/modes/cfb8.js","webpack:///./~/browserify-aes/modes/cfb1.js","webpack:///./~/browserify-aes/modes/ofb.js","webpack:///./~/browserify-aes/modes/ctr.js","webpack:///./~/browserify-aes/incr32.js","webpack:///./~/browserify-aes/modes/list.json","webpack:///./~/browserify-aes/authCipher.js","webpack:///./~/browserify-aes/aes.js","webpack:///./~/browserify-aes/ghash.js","webpack:///./~/browserify-aes/streamCipher.js","webpack:///./~/evp_bytestokey/index.js","webpack:///./~/md5.js/index.js","webpack:///./~/hash-base/index.js","webpack:///./~/browserify-aes/decrypter.js","webpack:///./src/auth/ecc/src/key_public.js","webpack:///./~/bigi/lib/index.js","webpack:///./~/bigi/lib/bigi.js","webpack:///./~/bigi/package.json","webpack:///./~/bigi/lib/convert.js","webpack:///./~/ecurve/lib/index.js","webpack:///./~/ecurve/lib/point.js","webpack:///./~/ecurve/lib/curve.js","webpack:///./~/ecurve/lib/names.js","webpack:///./~/ecurve/lib/curves.json","webpack:///./src/auth/ecc/src/key_private.js","webpack:///./src/auth/ecc/src/signature.js","webpack:///./src/auth/ecc/src/ecdsa.js","webpack:///./src/auth/ecc/src/enforce_types.js","webpack:///./src/auth/ecc/src/ecsignature.js","webpack:///./src/auth/ecc/src/brain_key.js","webpack:///./src/auth/ecc/src/key_utils.js","webpack:///./src/auth/serializer/src/number_utils.js","webpack:///./src/auth/serializer/src/validation.js","webpack:///./src/auth/serializer/src/ChainTypes.js","webpack:///./src/auth/serializer/src/object_id.js","webpack:///./src/auth/serializer/src/fast_parser.js","webpack:///./src/auth/serializer/src/serializer.js","webpack:///./src/auth/serializer/src/error_with_cause.js","webpack:///./src/auth/serializer/index.js","webpack:///./src/auth/serializer/src/operations.js","webpack:///./src/auth/serializer/src/template.js","webpack:///./src/auth/serializer/src/makeBitMaskFilter.js","webpack:///./~/jsbi/dist/jsbi-umd.js","webpack:///./~/@steemit/rpc-auth/lib/index.js","webpack:///./~/@steemit/libcrypto/lib/crypto.js","webpack:///./~/crypto-browserify/index.js","webpack:///./~/crypto-browserify/rng.js","webpack:///./~/crypto-browserify/create-hash.js","webpack:///./~/crypto-browserify/~/sha.js/index.js","webpack:///./~/crypto-browserify/~/sha.js/hash.js","webpack:///./~/crypto-browserify/~/sha.js/sha1.js","webpack:///./~/crypto-browserify/~/sha.js/sha256.js","webpack:///./~/crypto-browserify/~/sha.js/sha512.js","webpack:///./~/crypto-browserify/md5.js","webpack:///./~/crypto-browserify/helpers.js","webpack:///./~/crypto-browserify/~/ripemd160/lib/ripemd160.js","webpack:///./~/crypto-browserify/create-hmac.js","webpack:///./~/crypto-browserify/pbkdf2.js","webpack:///./~/pbkdf2-compat/pbkdf2.js","webpack:///./~/crypto-browserify/~/browserify-aes/inject.js","webpack:///./~/crypto-browserify/~/browserify-aes/encrypter.js","webpack:///./~/crypto-browserify/~/browserify-aes/aes.js","webpack:///./~/crypto-browserify/~/browserify-aes/cipherBase.js","webpack:///./~/crypto-browserify/~/browserify-aes/modes.js","webpack:///./~/crypto-browserify/~/browserify-aes/EVP_BytesToKey.js","webpack:///./~/crypto-browserify/~/browserify-aes/streamCipher.js","webpack:///./~/crypto-browserify/~/browserify-aes/modes/ecb.js","webpack:///./~/crypto-browserify/~/browserify-aes/modes/cbc.js","webpack:///./~/crypto-browserify/~/browserify-aes/xor.js","webpack:///./~/crypto-browserify/~/browserify-aes/modes/cfb.js","webpack:///./~/crypto-browserify/~/browserify-aes/modes/ofb.js","webpack:///./~/crypto-browserify/~/browserify-aes/modes/ctr.js","webpack:///./~/crypto-browserify/~/browserify-aes/decrypter.js","webpack:///./src/auth/index.js","webpack:///./src/auth/memo.js","webpack:///./src/broadcast/index.js","webpack:///./src/broadcast/helpers.js","webpack:///./src/formatter.js","webpack:///./~/lodash/get.js","webpack:///./~/lodash/_baseGet.js","webpack:///./~/lodash/_castPath.js","webpack:///./~/lodash/_isKey.js","webpack:///./~/lodash/isSymbol.js","webpack:///./~/lodash/_stringToPath.js","webpack:///./~/lodash/_memoizeCapped.js","webpack:///./~/lodash/memoize.js","webpack:///./~/lodash/_MapCache.js","webpack:///./~/lodash/_mapCacheClear.js","webpack:///./~/lodash/_Hash.js","webpack:///./~/lodash/_hashClear.js","webpack:///./~/lodash/_nativeCreate.js","webpack:///./~/lodash/_getNative.js","webpack:///./~/lodash/_baseIsNative.js","webpack:///./~/lodash/_isMasked.js","webpack:///./~/lodash/_coreJsData.js","webpack:///./~/lodash/_toSource.js","webpack:///./~/lodash/_getValue.js","webpack:///./~/lodash/_hashDelete.js","webpack:///./~/lodash/_hashGet.js","webpack:///./~/lodash/_hashHas.js","webpack:///./~/lodash/_hashSet.js","webpack:///./~/lodash/_ListCache.js","webpack:///./~/lodash/_listCacheClear.js","webpack:///./~/lodash/_listCacheDelete.js","webpack:///./~/lodash/_assocIndexOf.js","webpack:///./~/lodash/eq.js","webpack:///./~/lodash/_listCacheGet.js","webpack:///./~/lodash/_listCacheHas.js","webpack:///./~/lodash/_listCacheSet.js","webpack:///./~/lodash/_Map.js","webpack:///./~/lodash/_mapCacheDelete.js","webpack:///./~/lodash/_getMapData.js","webpack:///./~/lodash/_isKeyable.js","webpack:///./~/lodash/_mapCacheGet.js","webpack:///./~/lodash/_mapCacheHas.js","webpack:///./~/lodash/_mapCacheSet.js","webpack:///./~/lodash/toString.js","webpack:///./~/lodash/_baseToString.js","webpack:///./~/lodash/_arrayMap.js","webpack:///./~/lodash/_toKey.js","webpack:///./src/broadcast/operations.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","i","Object","prototype","hasOwnProperty","_m","args","slice","fn","a","b","apply","this","concat","global","api","auth","memo","broadcast","config","formatter","utils","hive","window","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","_typeof","Symbol","iterator","_createClass","defineProperties","target","props","length","descriptor","defineProperty","key","protoProps","staticProps","_events","_events2","_bluebird","_bluebird2","_config","_config2","_methods","_methods2","_transports","_transports2","_http","_utils","_ecc","_serializer","_rpcAuth","Hive","_EventEmitter","options","arguments","undefined","_this","getPrototypeOf","_setTransport","_setLogger","seqNo","error_count","api_index","error_threshold","alternative_api_endpoints","forEach","method","methodName","method_name","camelCase","methodParams","params","callback","send","map","param","_len","Array","_key","pop","reduce","promisify","callAsync","signedCallAsync","signedCall","notifyError","bind","url","match","uri","transport","_transportType","http","websocket","ws","stop","logger","__logger","log","Error","logLevel","start","data","cb","Math","random","e","d","_this2","jsonRpc","then","res","err","account","_this3","request","sign","error","assign","failover_threshold","setOptions","set","useTestNet","new_index","temp_endpoint","mode","_this4","ts","current","running","update","getDynamicGlobalPropertiesAsync","result","blockId","last_irreversible_block_num","head_block_number","delay","_this5","last","release","streamBlockNumber","getBlock","streamBlock","transactions","transaction","streamTransactions","operations","operation","trx","signed_transaction","ops","trObject","toObject","buf","toBuffer","digest","hash","sha256","toString","transaction_id","JSON","stringify","ignore","includes","nextEndpoint","EventEmitter","_maxListeners","isFunction","arg","isNumber","isObject","isUndefined","defaultMaxListeners","setMaxListeners","n","isNaN","emit","type","er","handler","len","listeners","context","addListener","listener","newListener","push","warned","console","trace","on","once","g","removeListener","fired","list","position","splice","removeAllListeners","ret","listenerCount","evlistener","emitter","noConflict","Promise","bluebird","old","process","Proxyable","check","executor","util","classString","INTERNAL","_bitField","_fulfillmentHandler0","_rejectionHandler0","_promise0","_receiver0","_resolveFromExecutor","_promiseCreated","_fireEvent","deferResolve","v","promise","_resolveCallback","deferReject","_rejectCallback","fillTypes","getDomain","makeSelfResolutionError","reflectHandler","PromiseInspection","_target","apiRejection","msg","reject","UNDEFINED_BINDING","isNode","domain","notEnumerableProp","es5","Async","async","errors","RangeError","CancellationError","TimeoutError","OperationalError","RejectionError","AggregateError","APPLY","NEXT_FILTER","tryConvertToPromise","PromiseArray","Context","createContext","debug","PassThroughHandlerContext","CapturedTrace","catchFilter","nodebackForPromise","errorObj","tryCatch","caught","catchInstances","j","item","reflect","_then","didFulfill","didReject","warnings","_warn","done","_setIsFinal","spread","all","toJSON","isFulfilled","isRejected","fulfillmentValue","rejectionReason","reason","originatesFromRejection","getNewLibraryCopy","is","val","fromNode","fromCallback","_captureStackTrace","multiArgs","_isFateSealed","_setAsyncGuaranteed","promises","cast","_setFulfilled","resolve","fulfilled","rejected","setScheduler","_","receiver","internalData","haveInternalData","bitField","_propagateFrom","_boundValue","_boundTo","settler","_settlePromiseCtx","_unsetRejectionIsUnhandled","_settlePromiseLateCancellationObserver","_attachExtraTrace","invoke","domainBind","_addCallbacks","_length","_isFollowing","_setLength","_setRejected","_setFollowing","_isFinal","_unsetCancelled","_setCancelled","_setWillBeCancelled","hasCustomScheduler","_receiverAt","index","_isBound","_promiseAt","_fulfillmentHandlerAt","_rejectionHandlerAt","_migrateCallback0","follower","fulfill","_migrateCallbackAt","base","_proxy","proxyable","shouldBind","maybePromise","_fulfill","_reject","_setFollowee","_value","_reason","synchronous","ignoreNonErrorWarnings","ensureErrorObject","hasStack","message","_pushContext","r","_execute","_popContext","_settlePromiseFromHandler","x","promiseCreated","checkForgottenReturns","_followee","_settlePromise","isPromise","asyncGuaranteed","_invokeInternalOnCancel","isFinallyHandler","cancelPromise","_promiseCancelled","_cancel","cancel","_isResolved","_promiseFulfilled","_promiseRejected","ctx","_settlePromise0","_clearCallbackDataAtIndex","_settlePromises","settlePromises","fatalError","_ensurePossibleRejectionHandled","_fulfillPromises","_rejectPromises","_clearCancellationData","_settledValue","defer","pending","deprecated","version","toFastProperties","setBounds","firstLineError","lastLineError","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","setTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","timeout","run","Item","array","noop","nextTick","title","browser","env","argv","versions","off","prependListener","prependOnceListener","name","binding","cwd","chdir","dir","umask","tryCatcher","tryCatchTarget","isPrimitive","maybeWrapAsError","maybeError","safeToString","withAppended","appendee","getDataPropertyOrDefault","defaultValue","isES5","desc","getOwnPropertyDescriptor","get","thrower","isClass","keys","names","hasMethods","hasMethodsOtherThanConstructor","hasThisAssignmentAndStaticMethods","thisAssignmentPattern","test","FakeConstructor","l","isIdentifier","str","rident","filledRange","count","prefix","suffix","isError","markAsOriginatingFromRejection","canAttachTrace","propertyIsWritable","copyDescriptors","from","to","filter","getDescriptor","hasEnvVariables","getNativePromise","canEvaluate","navigator","globalObject","inherits","Child","Parent","T","constructor$","propertyName","hasProp","charAt","inheritedDataKeys","excludedPrototypes","Function","isExcludedProto","getKeys","getOwnPropertyNames","visitedKeys","enumeration","asArray","isArray","ArrayFrom","itResult","it","next","toLowerCase","hasDevTools","chrome","loadTimes","isRecentNode","node","split","Number","freeze","prop","has","proto","ObjectKeys","o","ObjectGetDescriptor","ObjectDefineProperty","ObjectFreeze","ObjectGetPrototypeOf","ArrayIsArray","_customScheduler","_isTickUsed","_lateQueue","Queue","_normalQueue","_haveDrainedQueues","_trampolineEnabled","drainQueues","_drainQueues","_schedule","schedule","AsyncInvokeLater","_queueTick","AsyncInvoke","AsyncSettlePromises","_pushOne","prev","enableTrampoline","disableTrampolineIfNecessary","haveItemsQueued","stderr","write","stack","exit","throwLater","invokeLater","_drainQueue","shift","_reset","setImmediate","noAsyncScheduler","NativePromise","MutationObserver","GlobalSetImmediate","ProcessNextTick","nativePromise","standalone","cordova","div","document","createElement","opts","attributes","toggleScheduled","div2","o2","classList","toggle","observe","scheduleToggle","disconnect","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","close","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","task","tasksByHandle","nextHandle","registerImmediate","handle","runIfPresent","currentlyRunningATask","installNextTickImplementation","canUsePostMessage","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","installPostMessageImplementation","messagePrefix","onGlobalMessage","event","source","indexOf","addEventListener","attachEvent","installMessageChannelImplementation","channel","MessageChannel","port1","port2","installReadyStateChangeImplementation","html","doc","documentElement","script","onreadystatechange","removeChild","appendChild","installSetTimeoutImplementation","attachTo","arrayMove","src","srcIndex","dst","dstIndex","capacity","_capacity","_front","_willBeOverCapacity","size","_checkCapacity","wrapMask","front","_resizeTo","oldCapacity","moveItemsCount","subError","nameProperty","defaultMessage","SubError","captureStackTrace","cause","_TypeError","_RangeError","Objectfreeze","Warning","methods","level","indent","join","lines","errorTypes","getThen","isAnyBluebirdPromise","doThenable","doGetThen","toResolutionValue","Map","values","_promise","_setOnCancel","_values","_totalResolved","_init","init","resolveValueIfEmpty","_resolveEmptyArray","_resolve","_iterate","getActualLength","shouldCopyValues","isResolved","suppressUnhandledRejections","_isCancellable","totalResolved","_resultCancelled","_trace","peekContext","longStackTraces","lastIndex","contextStack","_peekContext","deactivateLongStackTraces","activateLongStackTraces","Promise_pushContext","Promise_popContext","Promise_PeekContext","Promise_peekContext","Promise_promiseCreated","generatePromiseLifecycleEventObject","defaultFireEvent","cancellationExecute","onCancel","_attachCancellationCallback","cancellationAttachCancellationCallback","previousOnCancel","_onCancel","cancellationOnCancel","_onCancelField","cancellationSetOnCancel","cancellationClearCancellationData","_cancellationParent","cancellationPropagateFrom","parent","flags","branchesRemainingToCancel","_branchesRemainingToCancel","_setBoundTo","bindingPropagateFrom","boundValueFunction","longStackTracesCaptureStackTrace","longStackTracesAttachExtraTrace","ignoreSelf","_parent","attachExtraTrace","__stackCleaned__","parsed","parseStackAndMessage","returnValue","wForgottenReturn","_returnedNonUndefined","handlerLine","creatorLine","traceLines","cleanStack","line","nodeFramePattern","lineMatches","parseLinePattern","firstUserLine","replacement","warn","shouldUseOwnTrace","warning","activeFireEvent","formatAndLogError","reconstructStack","stacks","removeDuplicateOrEmptyJumps","removeCommonRoots","currentLastIndex","currentLastLine","commonRootMeetPoint","isTraceLine","stackFramePattern","isInternalFrame","shouldIgnore","indentStackFrames","stackFramesAsArray","replace","isSoft","formatStack","String","printWarning","fireRejectionEvent","localHandler","localEventFired","formatNonError","ruselessToString","newStr","snip","maxChars","substr","longStackTracesIsSupported","parseLineInfo","matches","parseLineInfoRegex","fileName","parseInt","firstFileName","lastFileName","firstStackLines","lastStackLines","firstIndex","bluebirdFramePattern","info","_promisesCreated","uncycle","unhandledRejectionHandled","possiblyUnhandledRejection","_getDomain","_async","debugging","_setRejectionIsUnhandled","_notifyUnhandledRejection","_notifyUnhandledRejectionIsHandled","_setReturnedNonUndefined","_isRejectionUnhandled","_setUnhandledRejectionIsNotified","_unsetUnhandledRejectionIsNotified","_isUnhandledRejectionNotified","onPossiblyUnhandledRejection","onUnhandledRejectionHandled","disableLongStackTraces","Promise_captureStackTrace","Promise_attachExtraTrace","hasLongStackTraces","fireDomEvent","CustomEvent","dispatchEvent","domEvent","detail","cancelable","Event","createEvent","initCustomEvent","fireGlobalEvent","eventToObjectGenerator","promiseFulfilled","promiseRejected","promiseResolved","promiseCancelled","promiseChained","child","unhandledRejection","rejectionHandled","globalEventFired","domEventFired","warningsOption","cancellation","propagateFromFunction","monitoring","nodes","stackToIndex","currentStack","cycleEdgeNode","currentChildLength","v8stackFramePattern","v8stackFormatter","stackTraceLimit","ignoreUntil","hasStackAfterThrow","isTTY","color","called","FinallyHandlerCancelReaction","finallyHandler","checkCancel","succeed","fail","reasonOrValue","_isCancelled","isPending","_passThrough","success","lastly","tap","tapCatch","handlerOrPredicate","instances","boundTo","predicateLoop","matchesPredicate","isUntypedError","wrapAsOperationalError","rErrorKey","wrapped","$_len","max","$_i","_resolveFromSyncValue","attempt","calledBind","rejectThis","targetRejected","promiseRejectionQueued","bindingPromise","bindingResolved","thisArg","bindingRejected","_cancelBy","_cancelBranched","_branchHasCancelled","_enoughBranchesHaveCancelled","canceller","_invokeOnCancel","_cancelPromises","_unsetOnCancel","isCancellable","isCancelled","_doInvokeOnCancel","onCancelCallback","internalOnly","returner","thenReturn","thenThrow","catchThrow","catchReturn","_settledValueField","__isCancelled","thenCallback","promiseSetter","generateHolderClass","total","assignment","cancellationCode","passedArguments","code","holderClasses","thenCallbacks","promiseSetters","HolderClass","holder","callbacks","asyncNeeded","MappingPromiseArray","limit","_filter","_callback","_preservedValues","_limit","_inFlight","_queue","_asyncInit","concurrency","isFinite","_init$","preservedValues","booleans","cr","callerCache","getterCache","ensureMethod","caller","namedGetter","indexedGetter","getMethodCaller","getGetter","makeMethodCaller","makeGetter","getCompiled","compiler","cache","maybeCaller","getter","isIndex","maybeGetter","castPreservingDisposable","thenable","_isDisposable","_getDisposer","_setDisposable","dispose","resources","inspection","tryDispose","Disposer","_data","_context","FunctionDisposer","maybeUnwrapDisposer","isDisposer","ResourceList","NULL","resource","doDispose","_unsetDisposable","using","input","spreadArgs","disposer","reflectedResources","resultPromise","inspections","_disposer","HandleWrapper","successClear","failureClear","afterValue","ms","afterTimeout","handleWrapper","promiseFromYieldHandler","yieldHandlers","traceParent","PromiseSpawn","generatorFunction","yieldHandler","internal","_finallyPromise","_stack","_generatorFunction","_receiver","_generator","_yieldHandlers","_yieldedPromise","_cancellationPhase","_cleanup","implementsReturn","coroutine","returnSentinel","_continue","_run","PromiseSpawn$","generator","spawn","addYieldHandler","spreadAdapter","nodeback","successAdapter","errorAdapter","newReason","asCallback","nodeify","adapter","propsFilter","noCopyPropsPattern","isPromisified","__isPromisified__","hasPromisified","defaultPromisified","checkValid","suffixRegexp","keyWithoutAsyncSuffix","promisifiableMethods","passesDefaultFilter","defaultFilter","makeNodePromisifiedClosure","__","promisified","THIS","defaultThis","promisifyAll","promisifier","RegExp","escapeIdentRegex","promisifiedKey","makeNodePromisified","makeNodePromisifiedEval","defaultSuffix","noCopyProps","switchCaseArgumentOrder","likelyArgumentCount","min","argumentSequence","argumentCount","parameterDeclaration","parameterCount","originalName","generateCallForArgumentCount","comma","shouldProxyThis","generateArgumentSwitchCase","argumentOrder","newParameterCount","getFunctionCode","body","PropertiesPromiseArray","entries","isMap","Es6Map","mapToEntries","_isMap","castValue","extractEntry","entriesToMap","keyOffset","race","raceLater","ReductionPromiseArray","initialValue","_each","_fn","_initialValue","_currentCancellable","_eachValues","completed","valueOrReason","gotAccum","accum","_gotAccum","gotValue","_eachComplete","sender","_resultCancelled$","SettledPromiseArray","_promiseResolved","settle","SomePromiseArray","_howMany","_unwrap","_initialized","some","howMany","setHowMany","CANCELLATION","isArrayResolved","_canPossiblyFulfill","_getRangeError","setUnwrap","_addFulfilled","_fulfilled","_addRejected","_checkOutcome","_rejected","_SomePromiseArray","PromiseMap","promiseAllThis","PromiseAll","PromiseMapSeries","PromiseReduce","each","mapSeries","any","_each2","defaultConfig","Config","k","collection","iteratee","func","arrayEach","baseEach","castFunction","baseForOwn","createBaseEach","object","baseFor","createBaseFor","fromRight","keysFunc","iterable","isArrayLike","arrayLikeKeys","baseKeys","inherited","isArr","isArg","isArguments","isBuff","isBuffer","isType","isTypedArray","skipIndexes","baseTimes","objectProto","baseIsArguments","isObjectLike","propertyIsEnumerable","baseGetTag","argsTag","undefinedTag","nullTag","symToStringTag","getRawTag","objectToString","toStringTag","root","freeGlobal","freeSelf","isOwn","tag","unmasked","nativeObjectToString","stubFalse","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","webpackPolyfill","deprecate","paths","children","MAX_SAFE_INTEGER","reIsUint","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isLength","typedArrayTags","arrayTag","boolTag","dateTag","errorTag","funcTag","mapTag","numberTag","objectTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","freeProcess","isPrototype","nativeKeys","Ctor","overArg","transform","genTag","asyncTag","proxyTag","eachFunc","identity","dev_uri","stage_uri","address_prefix","chain_id","_http2","_ws","_ws2","_ref","_ref$fetchMethod","fetchMethod","_crossFetch2","payload","jsonrpc","headers","Accept","Content-Type","ok","status","statusText","json","rpcRes","RPCError","_crossFetch","_debug","_debug2","_retry","_retry2","_base","_base2","_Error","rpcError","HttpTransport","_Transport","useAppbaseApi","retriable","currentAttempt","retry","mainError","nonRetriableOperations","normalizeName","normalizeValue","iteratorFor","items","support","Headers","append","header","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","view","Uint8Array","chars","fromCharCode","bufferClone","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","text","decode","parse","normalizeMethod","upcased","toUpperCase","Request","credentials","referrer","form","trim","bytes","decodeURIComponent","parseHeaders","rawHeaders","parts","Response","bodyInit","fetch","viewClasses","DataView","isView","oldValue","clone","response","redirectStatuses","redirect","location","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","polyfill","useColors","style","WebkitAppearance","firebug","exception","table","userAgent","$1","formatArgs","namespace","humanize","diff","lastC","save","namespaces","storage","removeItem","load","DEBUG","localstorage","localStorage","local","colors","formatters","enable","selectColor","charCodeAt","abs","createDebug","enabled","curr","Date","prevTime","coerce","unshift","format","logFn","skips","disable","exec","parseFloat","y","h","s","fmtShort","round","fmtLong","plural","floor","ceil","long","RetryOperation","timeouts","forever","maxRetryTime","retries","factor","minTimeout","maxTimeout","Infinity","randomize","createTimeout","sort","pow","wrap","original","op","_originalTimeouts","_timeouts","_options","_maxRetryTime","_errors","_attempts","_operationTimeout","_operationTimeoutCb","_timeout","_operationStart","_cachedTimeouts","reset","currentTime","getTime","timer","timeoutOps","try","attempts","counts","mainErrorCount","Transport","eventName","removeEventListener","_detectNode","_detectNode2","WebSocket","WsTransport","_requests","inFlight","isOpen","startPromise","onopen","onError","onMessage","onclose","onClose","clear","deferral","_request","startedAt","now","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","websocketMessage","delete","errorCause","snakeCaseRe","validateAccountName","label","serialize","serializer","ByteBuffer","DEFAULT_CAPACITY","LITTLE_ENDIAN","appendByteBuffer","flip","buildWitnessUpdateOp","owner","extensions","public_key","uint32","uint16","string","price","asset","localeCompare","autoDetectApiVersion","_types","_types2","_serializer2","quote","damm_checksum_8digit","t","q0","d0","q1","d1","q2","d2","q3","d3","q4","d4","q5","d5","d6","d7","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","_number_utils","ObjectId","fp","chain_types","Types","HEX_DUMP","npm_config__graphene_serializer_hex_dump","fromByteBuffer","amount","readInt64","precision","readUint8","amount_string","symbol","b_copy","copy","offset","nai","toBinary","readInt32","padStart","to_String","skip","fromImpliedDecimal","writeInt64","to_long","startsWith","dot","writeUint32","writeUint8","fromObject","use_default","asset_symbol","nai_string","uint8","require_range","readUint16","writeUint16","readUint32","MIN_SIGNED_32","MAX_SIGNED_32","varint32","readVarint32","writeVarint32","int16","readInt16","writeInt16","int64","required","uint64","readUint64","writeUint64","unsigned","uint128","readBigInt64","readVString","writeVString","string_binary","zeros","num","bool","void","st_operation","sortOperation","time_point_sec","toISOString","int","validate","dup_map","fixed_array","results","ref1","results1","id_type","reserved_spaces","object_type","get_instance","to_number","is_digits","object_type_id","protocol_id_type","protocol_ids","object_id_type","fromString","vote_id","TYPE","ID","require_test","_object$split","_object$split2","compare","optional","result_object","annotate","__optional","static_variant","_st_operations","nosort","st_operations","opTypeId","pos","type_id","operation_name","strCmp","key_st_operation","value_st_operation","end","toPublic","Q","PublicKey","fromStringOrThrow","ecc_config","address","_to_address","addy","Address","ripemd160","firstEl","el","typedArraySupport","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","encodingOrOffset","allocUnsafe","fromArrayBuffer","assertSize","alloc","fill","encoding","checked","isEncoding","actual","fromArrayLike","byteOffset","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","arrayIndexOf","lastIndexOf","read","indexSize","readUInt16BE","arrLength","valLength","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","base64","fromByteArray","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","out","toHex","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","stringtrim","INVALID_BASE64_RE","units","leadSurrogate","byteArray","hi","lo","toByteArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","equals","inspect","thisStart","thisEnd","thisCopy","targetCopy","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","placeHoldersCount","b64","tmp","placeHolders","Arr","L","revLookup","tripletToBase64","lookup","encodeChunk","output","extraBytes","maxChunkLength","len2","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","LN2","Aes","PrivateKey","Signature","brainKey","key_utils","assert","base58","checksum","encode","_hash","sha512","equal","new_checksum","deepEqual","compressed","sha2","rep","versionBuffer","addr","pToString","arrbuf","getName","functionsHaveNames","regex","truncate","something","rawname","getMessage","operator","expected","stackStartFunction","AssertionError","_deepEqual","strict","memos","isDate","isRegExp","multiline","ignoreCase","Float32Array","Float64Array","actualIndex","objEquiv","actualVisitedObjects","aIsArgs","bIsArgs","pSlice","ka","objectKeys","kb","notDeepStrictEqual","expectedException","_tryBlock","block","_throws","shouldThrow","userProvidedMessage","isUnwantedException","isUnexpectedException","hasOwn","generatedMessage","fn_name","idx","next_line","substring","notEqual","deepStrictEqual","notDeepEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","seen","stylize","stylizeNoColor","depth","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","recurseTimes","isString","primitive","formatPrimitive","visibleKeys","formatError","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","simple","isNull","numLinesEst","cur","ar","isNullOrUndefined","isSymbol","re","pad","timestamp","time","getHours","getMinutes","getSeconds","getDate","months","getMonth","formatRegExp","f","objects","throwDeprecation","traceDeprecation","noDeprecation","debugEnviron","debugs","debuglog","NODE_DEBUG","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","number","boolean","null","date","regexp","origin","add","ctor","superCtor","super_","TempCtor","sha1","_createHash2","HmacSHA256","secret","_createHmac2","_createHash","_createHmac","HashNoConstructor","Base","buffers","Hash","md5","RIPEMD160","sha","_update","_final","alg","core_md5","olda","oldb","oldc","oldd","md5_ff","md5_gg","md5_hh","md5_ii","safe_add","md5_cmn","q","bit_rol","lsw","msw","cnt","makeHash","toArray","intSize","zeroBuffer","charSize","hashSize","HashBase","_a","_b","_c","rotl","fn1","fn2","fn3","fn4","fn5","_block","al","bl","cl","dl","br","dr","_digest","_blockOffset","blockSize","Transform","_blockSize","_finalized","_transform","chunk","_flush","carry","Stream","EE","Readable","Writable","Duplex","PassThrough","pipe","dest","ondata","pause","ondrain","readable","resume","onend","didOnEnd","destroy","cleanup","_isStdio","_uint8ArrayToBuffer","_isUint8Array","OurUint8Array","ReadableState","stream","objectMode","readableObjectMode","hwm","highWaterMark","defaultHwm","BufferList","pipes","pipesCount","flowing","ended","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","destroyed","defaultEncoding","awaitDrain","readingMore","decoder","StringDecoder","_readableState","_read","_destroy","readableAddChunk","addToFront","skipChunkCheck","state","onEofChunk","chunkInvalid","addChunk","maybeReadMore","needMoreData","emitReadable","computeNewHighWaterMark","MAX_HWM","howMuchToRead","head","processNextTick","emitReadable_","flow","maybeReadMore_","pipeOnDrain","EElistenerCount","nReadingNextTick","resume_","fromList","fromListPartial","hasStrings","copyFromBufferString","copyFromBuffer","nb","tail","endReadable","endReadableNT","xs","debugUtil","destroyImpl","kProxyEvents","_undestroy","undestroy","isPaused","setEncoding","enc","nOrig","doRead","pipeOpts","onunpipe","unpipeInfo","hasUnpiped","onfinish","unpipe","cleanedUp","_writableState","needDrain","increasedAwaitDrain","doEnd","stdout","endFn","dests","ev","paused","_fromList","arg1","arg2","arg3","copyProps","SafeBuffer","K_MAX_LENGTH","isArrayBuffer","numberIsNaN","copyBuffer","entry","readableDestroyed","writableDestroyed","errorEmitted","emitErrorNT","ending","finished","allowHalfOpen","onEndNT","CorkedRequest","finish","onCorkedFinish","nop","WritableState","writableObjectMode","finalCalled","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writecb","writelen","bufferedRequest","lastBufferedRequest","pendingcb","prefinished","bufferedRequestCount","corkedRequestsFree","realHasInstance","_write","writev","_writev","final","writeAfterEnd","validChunk","valid","decodeChunk","writeOrBuffer","isBuf","newChunk","doWrite","onwriteError","finishMaybe","onwriteStateUpdate","needFinish","clearBuffer","asyncWrite","afterWrite","onwriteDrain","allBuffers","callFinal","prefinish","need","endWritable","corkReq","internalUtil","getBuffer","hasInstance","cork","uncork","setDefaultEncoding","_normalizeEncoding","retried","normalizeEncoding","nenc","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","utf8CheckIncomplete","utf8CheckExtraBytes","repeat","utf8Text","utf8End","TransformState","afterTransform","needTransform","transforming","writechunk","writeencoding","_transformState","rs","flush","err2","algorithm","Algorithm","sha224","sha384","Sha","_w","W","rotl5","rotl30","ft","K","M","H","finalSize","_finalSize","assigned","remainder","rem","bits","lowBits","highBits","Sha1","rotl1","Sha224","Sha256","_f","_g","_h","ch","z","maj","sigma0","sigma1","gamma0","gamma1","T1","T2","Sha384","SHA512","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Ch","xl","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","ah","bh","dh","eh","fh","gh","hh","fl","gl","hl","xh","gamma0l","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","CipherBase","hashMode","_finalOrDigest","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","fin","Hmac","blocksize","_alg","ZEROS","ipad","_ipad","opad","_opad","Legacy","basex","ALPHABET","digits","BASE","decodeUnsafe","ALPHABET_MAP","LEADER","reverse","encrypt","private_key","nonce","uniqueNonce","crypt","decrypt","toPrivateObj","toPublicObj","toLongObj","S","get_shared_secret","ebuf","_bytebuffer2","encryption_key","_hash2","iv","cbuf","fromBinary","cryptoJsDecrypt","cryptoJsEncrypt","_assert2","toBinaryBuffer","decipher","_browserifyAes2","createDecipheriv","cipher","createCipheriv","unique_nonce_entropy","_secureRandom2","randomUint8Array","Long","fromNumber","entropy","shiftLeft","or","_secureRandom","_bytebuffer","_browserifyAes","_assert","_key_public","_key_public2","_key_private","_key_private2","fromWif","isLong","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","globals","secureRandom","nodeRandom","crypto","msCrypto","browserRandom","randomBytes","nativeArr","getRandomValues","randomArray","byteCount","randomBuffer","__WEBPACK_AMD_DEFINE_FACTORY__","factory","stringSource","stringDestination","cs","ps","stringFromCharCode","ieee754_read","ieee754_write","DEFAULT_ENDIAN","DEFAULT_NOASSERT","EMPTY_BUFFER","markedOffset","VERSION","BIG_ENDIAN","ByteBufferPrototype","__isByteBuffer__","accessor","allocate","isByteBuffer","bi","bb","fromBase64","fromHex","fromUTF8","fromDebug","writeBitSet","relative","bit","writeByte","readBitSet","readByte","readBytes","writeBytes","capacity0","resize","capacity1","capacity2","writeShort","readShort","capacity3","writeUInt16","readUInt16","writeInt32","capacity4","writeInt","readInt","capacity5","writeUInt32","readUInt32","capacity6","low","high","writeLong","readLong","capacity7","writeUInt64","readUInt64","writeFloat32","capacity8","readFloat32","readFloat","writeFloat64","capacity9","readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","zigZagEncode32","zigZagDecode32","capacity10","writeVarint32ZigZag","readVarint32ZigZag","MAX_VARINT64_BYTES","calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","toSigned","xor","shiftRight","toUnsigned","zigZagDecode64","and","ONE","negate","writeVarint64","capacity11","writeVarint64ZigZag","readVarint64","fromBits","readVarint64ZigZag","writeCString","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","readCString","sd","decodeUTF8toUTF16","writeIString","capacity13","readIString","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","capacity14","writeString","calculateUTF8Chars","calculateUTF8Bytes","calculateString","metrics","decodeUTF8","cp","UTF8toUTF16","readString","capacity15","capacity16","appendTo","compact","begin","copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","mark","order","LE","BE","bigEndian","prepend","prependTo","printDebug","toDebug","forceCopy","toArrayBuffer","toUTF8","toBase64","toColumns","lxiv","aout","ain","t1","t2","btoa","atob","charCode","columns","hex","asc","ho","hm","MAX_CODEPOINT","encodeUTF8","UTF16toUTF8","c1","c2","calculateCodePoint","calculateUTF8","fromInt","cachedObj","UINT_CACHE","INT_CACHE","UZERO","ZERO","TWO_PWR_64_DBL","MAX_UNSIGNED_VALUE","TWO_PWR_63_DBL","MIN_VALUE","MAX_VALUE","neg","TWO_PWR_32_DBL","radix","radixToPower","pow_dbl","power","fromValue","__isLong__","TWO_PWR_24_DBL","TWO_PWR_16_DBL","TWO_PWR_24","UONE","NEG_ONE","LongPrototype","toNumber","isZero","isNegative","eq","radixLong","rem1","remDiv","intval","getHighBits","getHighBitsUnsigned","getLowBits","getLowBitsUnsigned","getNumBitsAbs","isPositive","isOdd","isEven","other","notEquals","neq","lessThan","comp","lt","lessThanOrEqual","lte","greaterThan","gt","greaterThanOrEqual","gte","thisNeg","otherNeg","not","addend","a48","a32","a16","a00","b48","b32","b16","b00","c48","c32","c16","c00","subtract","subtrahend","multiply","multiplier","divide","divisor","approx","shru","halfThis","shr","shl","log2","delta","approxRes","approxRem","modulo","mod","numBits","toBytes","le","toBytesLE","toBytesBE","getCiphers","modes","ciphers","deciphers","createCipher","Cipher","Cipheriv","createDecipher","Decipher","Decipheriv","listCiphers","_cache","Splitter","_cipher","aes","AES","_prev","_mode","_autopadding","suite","password","MODES","StreamCipher","AuthCipher","ebtk","thing","PADDING","scrub","setTo","padBuff","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","encryptBlock","decryptBlock","encryptStart","encryptByte","byteParam","shiftIn","encryptBlockRaw","incr32","chunkNum","aes-128-ecb","aes-192-ecb","aes-256-ecb","aes-128-cbc","aes-192-cbc","aes-256-cbc","aes128","aes192","aes256","aes-128-cfb","aes-192-cfb","aes-256-cfb","aes-128-cfb8","aes-192-cfb8","aes-256-cfb8","aes-128-cfb1","aes-192-cfb1","aes-256-cfb1","aes-128-ofb","aes-192-ofb","aes-256-ofb","aes-128-ctr","aes-192-ctr","aes-256-ctr","aes-128-gcm","aes-192-gcm","aes-256-gcm","xorTest","calcIv","ck","_finID","ghash","GHASH","toPad","ivBits","_ghash","_secCache","_decrypt","_alen","_authTag","_called","rump","asUInt32Array","scrubVec","cryptBlock","keySchedule","SUB_MIX","SBOX","nRounds","t0","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","RCON","G","INV_SBOX","INV_SUB_MIX","xi","sx","x2","x4","x8","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","m1","fromArray","ZEROES","_multiply","lsbVi","Vi","Zi","abl","EVP_BytesToKey","salt","keyBits","ivLen","keyLen","MD5","used","keyStart","ivStart","fnF","fnG","fnH","fnI","ARRAY16","throwIfNotStringOrBuffer","_last","unpad","padded","autoPadding","BigInteger","ecurve","secp256k1","getCurveByName","getEncoded","point","Point","decodeFrom","fromPoint","pub_buf","pub_sha","toPublicKeyString","pubdata","fromBuffer","compareTo","cG","Qprime","isInfinity","bin","am1","w","int2char","BI_RM","intAt","BI_RC","bnpCopyTo","bnpFromInt","DV","nbv","bnpFromString","fromRadix","mi","sh","DB","clamp","subTo","bnpClamp","DM","bnToString","toRadix","km","bnNegate","bnAbs","bnCompareTo","nbits","bnBitLength","bnByteLength","bitLength","bnpDLShiftTo","bnpDRShiftTo","bnpLShiftTo","bs","cbs","bm","ds","bnpRShiftTo","bnpSubTo","bnpMultiplyTo","am","bnpSquareTo","bnpDivRemTo","pm","pt","nsh","lShiftTo","ys","y0","yt","F1","F2","FV","dlShiftTo","qd","drShiftTo","rShiftTo","bnMod","divRemTo","Classic","cConvert","cRevert","cReduce","cMulTo","multiplyTo","cSqrTo","squareTo","bnpInvDigit","Montgomery","mp","invDigit","mpl","mph","um","mt2","montConvert","montRevert","montReduce","u0","montSqrTo","montMulTo","bnpIsEven","bnpExp","r2","convert","sqrTo","mulTo","revert","bnModPowInt","exp","bnClone","bnIntValue","bnByteValue","bnShortValue","bnpChunkSize","bnSigNum","bnpToRadix","signum","chunkSize","intValue","bnpFromRadix","dMultiply","dAddOffset","bnpFromNumber","testBit","bitwiseTo","op_or","isProbablePrime","nextBytes","bnToByteArray","bnEquals","bnMin","bnMax","bnpBitwiseTo","op_and","bnAnd","bnOr","op_xor","bnXor","op_andnot","bnAndNot","bnNot","bnShiftLeft","bnShiftRight","lbit","bnGetLowestSetBit","cbit","bnBitCount","bnTestBit","bnpChangeBit","bnSetBit","changeBit","bnClearBit","bnFlipBit","bnpAddTo","bnAdd","addTo","bnSubtract","bnMultiply","bnSquare","bnDivide","bnRemainder","bnDivideAndRemainder","bnpDMultiply","bnpDAddOffset","NullExp","nNop","nMulTo","nSqrTo","bnPow","bnpMultiplyLowerTo","bnpMultiplyUpperTo","Barrett","mu","barrettConvert","barrettRevert","barrettReduce","multiplyUpperTo","multiplyLowerTo","barrettSqrTo","barrettMulTo","bnModPow","k1","g2","is1","bnGCD","getLowestSetBit","bnpModInt","bnModInverse","ac","u","bnIsProbablePrime","lowprimes","lplim","modInt","millerRabin","bnpMillerRabin","n1","bases","modPow","modPowInt","__bigi","isBigInteger","check_ver","dbits","BI_FP","rr","vv","byteValue","shortValue","andNot","bitCount","setBit","clearBit","flipBit","divideAndRemainder","modInverse","gcd","square","valueOf","description","keywords","devDependencies","coveralls","istanbul","jshint","mocha","mochify","repository","main","scripts","browser-test","unit","coverage","dependencies","testling","files","harness","browsers","fromByteArrayUnsigned","toByteArrayUnsigned","fromDERInteger","toDERInteger","padding","Curve","curve","_zInv","THREE","zInv","fromAffine","x1","y1","y2","twice","infinity","v2","v3","x1v2","zu2","x3","y3","z3","y1z1","y1sqz1","R","hBit","eBit","multiplyTwo","both","jBit","kBit","affineX","affineY","pLength","pointFromX","Gx","Gy","pOverFour","alpha","beta","isOnCurve","lhs","rhs","nQ","curves","secp128r1","secp160k1","secp160r1","secp192k1","secp192r1","secp256r1","private_wif","toWif","toPublicKeyPoint","KB","toUncompressed","KBP","P","toPublicKey","derived","seed","_private_wif","ecdsa","r1","i1","recoverPublicKey","sha256_buffer","recoverPubKey","verifyHash","verify","verifyBuffer","signBufferSha256","buf_sha256","der","ecsignature","lenR","lenS","toDER","calcPubKeyRecoveryParam","signBuffer","deterministicGenerateK","checkSig","enforceType","N_OVER_TWO","ECSignature","verifyRaw","signature","u1","u2","xR","isYOdd","isSecondKey","nR","eNeg","rInv","parseCompact","fromDER","rLen","sLen","rB","sB","parseScriptSignature","hashType","hashTypeMod","toCompact","rBa","sBa","sequence","toScriptSignature","hashTypeBuffer","normalize","brain_key","HASH_POWER_MILLS","entropyPos","entropyCount","entropyArray","addEntropy","ints","i2","random32ByteBuffer","browserEntropy","start_t","hash_array","get_random_key","entropyStr","screen","height","width","colorDepth","availHeight","availWidth","pixelDepth","language","history","mimeType","mimeTypes","suffixes","toImpliedDecimal","_number$split","_number$split2","_number$split2$","whole","_number$split2$2","decimal","dec_string","_my","is_empty","require_match","require_object_id","require_object_type","require_relative_type","get_relative_instance","require_protocol_type","get_protocol_instance","get_protocol_type","require_implementation_type","get_implementation_instance","MAX_SAFE_INT","MIN_SAFE_INT","field_name","require_long","whole_number","no_overflow53","int_value","no_overflow64","to_string","reserve_spaces","get_protocol_type_name","long_string","ChainTypes","relative_protocol_ids","implementation_ids","vote","comment","transfer","transfer_to_vesting","withdraw_vesting","limit_order_create","limit_order_cancel","feed_publish","account_create","account_update","witness_update","account_witness_vote","account_witness_proxy","custom","report_over_production","delete_comment","custom_json","comment_options","set_withdraw_vesting_route","limit_order_create2","claim_account","create_claimed_account","request_account_recovery","recover_account","change_recovery_account","escrow_transfer","escrow_dispute","escrow_release","pow2","escrow_approve","transfer_to_savings","transfer_from_savings","cancel_transfer_from_savings","custom_binary","decline_voting_rights","reset_account","set_reset_account","claim_reward_balance","delegate_vesting_shares","account_create_with_delegation","witness_set_properties","account_update2","create_proposal","update_proposal_votes","remove_proposal","update_proposal","fill_convert_request","author_reward","curation_reward","comment_reward","liquidity_reward","interest","fill_vesting_withdraw","fill_order","shutdown_witness","fill_transfer_from_savings","hardfork","comment_payout_update","return_vesting_delegation","comment_benefactor_reward","producer_reward","clear_null_account_balance","proposal_pay","sps_fund","hardfork_hive","hardfork_hive_restore","delayed_voting","consolidate_treasury_balance","effective_comment_vote","ineffective_delete_comment","sps_convert","DB_MAX_INSTANCE_ID","space","instance_string","object_id","toLong","fromLong","FastParser","fixed_data","epoch","EC","Serializer","types","field","o1","throw","serialized_object","has_value","first_key","first_type","valA","valB","strA","strB","toByteBuffer","ErrorWithCause","template","number_utils","makeBitMaskFilter","future_extensions","hardfork_version_vote","required_automated_actions","optional_automated_actions","serilization_types_object","beneficiaries","weight","comment_payout_beneficiaries","votable_asset_options","max_accepted_payout","allow_curation_rewards","allowed_vote_assets","votable_assets","smt_generation_unit","hive_unit","token_unit","smt_capped_generation_policy","generation_unit","smt_emissions_unit","smt_param_allow_voting","smt_param_windows_v1","cashout_window_seconds","reverse_auction_window_seconds","smt_param_vote_regeneration_period_seconds_v1","vote_regeneration_period_seconds","votes_per_regeneration_period","smt_param_rewards_v1","content_constant","percent_curation_rewards","author_reward_curve","curation_reward_curve","smt_param_allow_downvotes","update_proposal_end_date","end_date","ref_block_num","ref_block_prefix","expiration","signatures","signed_block_header","previous","witness","transaction_merkle_root","witness_signature","voter","author","permlink","parent_author","parent_permlink","json_metadata","vesting_shares","orderid","amount_to_sell","min_to_receive","fill_or_kill","publisher","exchange_rate","requestid","collateralized_convert","authority","weight_threshold","account_auths","key_auths","fee","creator","new_account_name","posting","memo_key","chain_properties","account_creation_fee","maximum_block_size","hbd_interest_rate","block_signing_key","approve","proxy","worker","work","required_auths","reporter","first_block","second_block","required_posting_auths","percent_hbd","allow_votes","from_account","to_account","percent","auto_vest","recovery_account","account_to_recover","new_owner_authority","recent_owner_authority","new_recovery_account","hbd_amount","hive_amount","escrow_id","agent","json_meta","ratification_deadline","escrow_expiration","who","pow2_input","worker_account","prev_block","pow_summary","equihash_proof","inputs","proof","request_id","required_owner_auths","required_active_auths","decline","account_to_reset","current_reset_account","reward_hive","reward_hbd","reward_vests","delegator","delegatee","delegation","posting_json_metadata","start_date","daily_pay","subject","proposal_ids","proposal_owner","proposal_id","recurrent_transfer","recurrence","executions","claim_reward_balance2","reward_tokens","vote2","rshares","smt_create","control_account","smt_creation_fee","smt_setup","max_supply","contribution_begin_time","contribution_end_time","launch_time","hive_units_min","min_unit_ratio","max_unit_ratio","smt_setup_emissions","schedule_time","emissions_unit","interval_seconds","emission_count","lep_time","rep_time","lep_abs_amount","rep_abs_amount","lep_rel_amount_numerator","rep_rel_amount_numerator","rel_amount_denom_bits","remove","floor_emissions","smt_setup_ico_tier","hive_units_cap","generation_policy","smt_set_setup_parameters","setup_parameters","smt_set_runtime_parameters","runtime_parameters","smt_contribute","contributor","contribution_id","contribution","amount_in","amount_out","hbd_payout","hive_payout","vesting_payout","curator","reward","comment_author","comment_permlink","payout","withdrawn","deposited","current_owner","current_orderid","current_pays","open_owner","open_orderid","open_pays","hardfork_id","benefactor","encrypted","_jsbi","_jsbi2","allowedOperations","allowedOperation","_ref2","bitwiseOr","leftShift","BigInt","Reflect","construct","sham","Proxy","imul","clz32","__kMaxLength","__toStringBasePowerOfTwo","__toStringGeneric","__clz32","__digit","__imul","__setDigit","__halfDigit","__setHalfDigit","__unsignedDigit","__zero","__oneDigit","__fromDouble","__fromString","SyntaxError","__toPrimitive","__decideRounding","__kBitConversionInts","__kBitConversionDouble","__copy","__absoluteSubOne","__trim","__absoluteAddOne","unaryMinus","__kMaxLengthBits","__initializeDigits","__clzmsd","__multiplyAccumulate","__absoluteCompare","__absoluteDivSmall","__absoluteDivLarge","__absoluteModSmall","__absoluteAdd","__absoluteSub","__rightShiftByAbsolute","__leftShiftByAbsolute","__compareToBigInt","__absoluteAnd","__absoluteOr","__absoluteAndNot","__absoluteXor","__truncateToNBits","__truncateAndSubFromPowerOfTwo","__toNumeric","__isBigInt","__compare","EQ","__equalToNumber","__isWhitespace","__kMaxBitsPerChar","__kBitsPerCharTableMultiplier","__kBitsPerCharTableShift","D","__fillFromParts","B","C","A","__inplaceMultiplyAdd","__kConversionChars","exponentiate","quotient","__unequalSign","__absoluteGreater","__absoluteLess","__compareToDouble","__comparisonResultToBool","__compareToNumber","__setDigitGrow","__halfDigitLength","__clz16","__specialLeftShift","__internalMultiplyAdd","__inplaceSub","__inplaceAdd","__inplaceRightShift","__toShiftAmount","__rightShiftByMaximum","toPrimitive","__kBitConversionBuffer","Int32Array","hashMessage","first","crypto_1","createHash","second","nonceBytes","keys_1","libcrypto_1","hexify","__signed","__awaiter","signed","jsonString","cause_1","__generator","ValidationError","trys","sent","__extends","extendStatics","_arguments","step","verb","_super","nodeName","steemit","priv","pub","getPublicKey","sjcl","ecc","generateKeys","k256","bn","codec","signRecoverably","toBits","_p","serializePair","keysFromPassword","accountName","accountPassword","private","serializePrivateKey","sec","public","serializePublicKey","keyexchange","misc","corrupt","invalid","bug","notReady","bitArray","bitSlice","bstart","bend","_shiftRight","extract","blength","a1","a2","getPartial","partial","_end","shift2","last2","_xor4","byteswapM","_tables","_precompute","encKey","decKey","sbox","decTable","rcon","_crypt","xInv","tEnc","tDec","encTable","sboxInv","th","b2","nInnerRounds","kIndex","initWith","maxMul","_class","limbs","difference","fullReduce","getLimb","greaterEquals","less","greater","addM","ll","doubleM","radixMask","halveM","subM","ci","inverseMod","nz","ai","ii","cnormalize","mulmod","N","powermod","montOut","montpowermod","wind","bitsize","RR","NN","RP","NP","RT","R2","montIn","montMul","ab","right","abBar","mask","precomp","cap","getBit","indx","pv","placeVal","ipv","exponent","Class","words","pseudoMersennePrime","coeff","mo","ppr","modOffset","minOffset","fullMask","fullOffset","fullFactor","modulus","ol","fac","_strongReduce","sbp","prime","p127","p25519","p192k","p224k","p256k","p192","p224","p256","p384","p521","paranoia","randomWords","padding_count","smallest","setUint32","setUint8","getUint8","inView","getUint32","hexDumpBuffer","stringBufferView","getUint16","utf8String","escape","unescape","encodeURIComponent","isIdentity","toJac","pointJac","mult","toAffine","mult2","k2","affine2","multiples","_multiples","doubl","newY","isValid","sz2","z2","zi","zi2","affine","l1","l2","m2","z4","z6","Field","c192","c224","c256","c384","c521","k192","k224","curveName","curcurve","deserialize","secretKey","publicKey","basicKey","_curve","_curveBitLength","_point","getType","pointbits","_exponent","cn","elGamal","kem","unkem","pk","dhJavaEc","fakeLegacyVersion","ss","hG","hA","fixedKForTesting","_f0","_f1","_f2","_f3","_f4","_rol","_cvt","X","A1","B1","C1","D1","E1","A2","B2","C2","D2","E2","_r1","_k1","_s1","_r2","_k2","_s2","_buffer","finalize","_h0","nl","zp","Uint32Array","frac","isPrime","h0","h1","h2","h3","h4","h5","h6","h7","prng","defaultParanoia","_pools","_poolEntropy","_reseedCount","_robins","_eventId","_collectorIds","_collectorIdNext","_strength","_poolStrength","_nextReseed","_counter","_defaultParanoia","_collectorsStarted","_callbacks","progress","seeded","_callbackI","_NOT_READY","_READY","_REQUIRES_RESEED","_MAX_WORDS_PER_BURST","_PARANOIA_LEVELS","_MILLISECONDS_PER_RESEED","_BITS_PER_RESEED","nwords","readiness","isReady","_reseedFromPools","_gate","_gen4words","setDefaultParanoia","allowZeroParanoia","estimatedEntropy","objName","robin","oldReady","getProgress","entropyRequired","startCollectors","_eventListener","loadTimeCollector","_bind","_loadTimeCollector","mouseCollector","_mouseCollector","keyboardCollector","_keyboardCollector","accelerometerCollector","_accelerometerCollector","touchCollector","_touchCollector","stopCollectors","detachEvent","jsTemp","_reseed","seedWords","full","reseedData","strength","_addCurrentTimeToEntropy","clientX","offsetX","clientY","offsetY","touch","touches","changedTouches","pageX","pageY","performance","accelerationIncludingGravity","orientation","cbsTemp","getCryptoModule","1","2","3","4","5","6","7","8","9","E","F","J","U","V","Y","Z","fromDigits","fb","digit","bitlen","iBig","base58Check","defaultChecksumFn","checksumFn","bitsWithHeader","headerPayloadAndChecksum","base58str","leadingZeroBits","transmittedChecksum","computedChecksum","ROLES","MAINNET","pubHeader","privHeader","pubPrefix","TESTNET","keyChecksum","keyPairs","CURVE","role","recoveryParam","rBitArray","sBitArray","r0","rawSig","sig","recoveryParameter","hasOddParity","_yFromX","keyPoint","net","deserializePublicKey","pubKey","headerByte","xBits","deserializePrivateKey","wif","shouldBeOdd","PIDENT","_getPident","yIsOdd","recover","rng","createHmac","getHashes","pbkdf2","pbkdf2Sync","_crypto","toConstructor","rmd160","Alg","POOL","sha1_ft","sha1_kt","rol","_POOL","Maj","Sigma0256","Sigma1256","Gamma0256","Gamma1256","Xl","Wi","Wi7","Wi16","Ki","helpers","chrsz","f1","f2","f3","f4","f5","bytesToWords","nBitsLeft","nBitsTotal","processBlock","H_i","digestbytes","wordsToBytes","zl","zr","sl","sr","hr","offset_i","M_offset_i","pbkdf2Export","exported","iterations","keylen","hLen","DK","block1","destPos","modelist","fixup_uint32","x_pos","uint_max","scrub_vec","Global","_results","bufferToArray","_doReset","ivSize","invKsRow","_j","_doCryptBlock","temp","inputEnd","md","md_buf","ki","addmd","bigi","bs58","KeyPrivate","Auth","auths","hasKey","roles","pubKeys","hashSha256","bigInt","toPubKey","pubBuf","getPrivateKeys","privKeys","wifToPublic","isWif","privWif","bufWif","privKey","newChecksum","wifIsValid","pubWif","isPubkey","pubkey","signTransaction","cid","checkEncryption","_bs2","encMemo","_memo","otherpub","mbuf","testNonce","_Aes$encrypt","getPubKeys","_memo2","encodeTest","plaintext","cyphertext","_bs","encrypted_memo","_helpers","_helpers2","_formatter","_formatter2","_api","_api2","_auth","_auth2","hiveBroadcast","tx","resultP","_prepareTransaction","replaceAll","signedTransaction","broadcastTransactionSynchronousAsync","propertiesP","properties","chainDate","refBlockNum","getBlockHeaderAsync","headBlockId","operationName","operationParams","useCommentPermlink","commentPermlink","updateOperations","addAccountAuth","signingKey","username","authorizedUsername","_ref$role","getAccounts","_ref3","userAccount","updatedAuthority","authorizedAccounts","hasAuthority","accountUpdate","removeAccountAuth","_ref4","_ref4$role","_ref5","_ref6","totalAuthorizedUser","user","addKeyAuth","_ref7","authorizedKey","_ref7$role","_ref8","_ref9","authorizedKeys","removeKeyAuth","_ref10","_ref10$role","_ref11","_ref12","totalAuthorizedKey","_get","_get2","hiveAPI","numberWithCommas","vestingSteem","gprops","vests","total_vests","total_vesting_shares","total_vest_hive","vesting_hivef","processOrders","open_orders","assetPrecision","hbdOrders","sell_price","for_sale","hiveOrders","calculateSaving","savings_withdraws","savings_pending","savings_hbd_pending","withdraw","_withdraw$amount$spli","_withdraw$amount$spli2","pricePerSteem","feed_price","price_per_hive","estimateAccountValue","vesting_steem","vesting_hive","orders","savings","vestingHive","getStateAsync","getOpenOrdersAsync","getSavingsWithdrawFromAsync","pricePerHive","savings_balance","savings_hbd_balance","balance_hive","balance","saving_balance_hive","hbd_balance","hbd_balance_savings","conversionValue","other_history","finishTime","total_hbd","total_hive","toFixed","createSuggestedPassword","PASSWORD_LENGTH","privateKey","reputation","log10","vestToSteem","vestingShares","totalVestingShares","totalVestingFundSteem","vestToHive","totalVestingFundHive","parentAuthor","parentPermlink","timeStr","path","baseGet","castPath","toKey","isKey","stringToPath","reIsPlainProp","reIsDeepProp","symbolTag","memoizeCapped","reLeadingDot","rePropName","reEscapeChar","memoize","MAX_MEMOIZE_SIZE","resolver","FUNC_ERROR_TEXT","memoized","Cache","MapCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","__data__","ListCache","hashClear","hashDelete","hashGet","hashHas","hashSet","nativeCreate","getNative","getValue","baseIsNative","isMasked","pattern","reIsNative","reIsHostCtor","toSource","reRegExpChar","funcProto","funcToString","maskSrcKey","coreJsData","uid","IE_PROTO","HASH_UNDEFINED","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","assocIndexOf","arrayProto","getMapData","isKeyable","baseToString","arrayMap","symbolToString","INFINITY","symbolProto"],"mappings":"CAAS,SAAUA,GCInB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,QAAA,EAGAF,EAAAD,QAvBA,GAAAD,KAqCA,OATAF,GAAAQ,EAAAT,EAGAC,EAAAS,EAAAP,EAGAF,EAAAU,EAAA,GAGAV,EAAA,IDIW,SAASD,GAEnB,IAAI,GAAIY,KAAKZ,GACZ,GAAGa,OAAOC,UAAUC,eAAeP,KAAKR,EAASY,GAChD,aAAcZ,GAAQY,IACtB,IAAK,WAAY,KACjB,KAAK,SAEJZ,EAAQY,GAAM,SAASI,GACtB,GAAIC,GAAOD,EAAGE,MAAM,GAAIC,EAAKnB,EAAQgB,EAAG,GACxC,OAAO,UAAUI,EAAEC,EAAEX,GACpBS,EAAGG,MAAMC,MAAOH,EAAEC,EAAEX,GAAGc,OAAOP,MAE9BjB,EAAQY,GACV,MACD,SAECZ,EAAQY,GAAKZ,EAAQA,EAAQY,IAKhC,MAAOZ,KAGF,SAAUK,EAAQD,EAASH,IAEJ,SAASwB,GAAS,YErE/C,IAAMC,GAAMzB,EAAQ,GACd0B,EAAO1B,EAAQ,KACf2B,EAAO3B,EAAQ,KACf4B,EAAY5B,EAAQ,KACpB6B,EAAS7B,EAAQ,IACjB8B,EAAY9B,EAAQ,KAAeyB,GACnCM,EAAQ/B,EAAQ,IAEhBgC,GACJP,MACAC,OACAC,OACAC,YACAC,SACAC,YACAC,QAGoB,oBAAXE,UACTA,OAAOD,KAAOA,GAGM,mBAAXR,KACTA,EAAOQ,KAAOA,GAGhB7B,EAAUC,EAAOD,QAAU6B,IFwEGzB,KAAKJ,EAAU,WAAa,MAAOmB,WAI3D,SAAUlB,EAAQD,EAASH,GAEhC,YAoCA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAEvF,QAASG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2BC,EAAMpC,GAAQ,IAAKoC,EAAQ,KAAM,IAAIC,gBAAe,4DAAgE,QAAOrC,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BoC,EAAPpC,EAElO,QAASsC,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIN,WAAU,iEAAoEM,GAAeD,GAASjC,UAAYD,OAAOoC,OAAOD,GAAcA,EAAWlC,WAAaoC,aAAeC,MAAOJ,EAAUK,YAAY,EAAOC,UAAU,EAAMC,cAAc,KAAeN,IAAYnC,OAAO0C,eAAiB1C,OAAO0C,eAAeR,EAAUC,GAAcD,EAASS,UAAYR,GAxCje,GAAIS,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,IAElQwB,EAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MG5GjiB6B,EAAArE,EAAA,GHgHKsE,EAAWpC,EAAuBmC,GG/GvCE,EAAAvE,EAAA,GHmHKwE,EAAatC,EAAuBqC,GGlHzCE,EAAAzE,EAAA,IHsHK0E,EAAWxC,EAAuBuC,GGrHvCE,EAAA3E,EAAA,IHyHK4E,EAAY1C,EAAuByC,GGxHxCE,EAAA7E,EAAA,IH4HK8E,EAAe5C,EAAuB2C,GG3H3CE,EAAA/E,EAAA,IACAgF,EAAAhF,EAAA,IAGAiF,EAAAjF,EAAA,KAGAkF,EAAAlF,EAAA,KAMAmF,EAAAnF,EAAA,KAIMoF,EH8HM,SAAUC,GG7HlB,QAAAD,KAA0B,GAAdE,GAAcC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KAAAjD,GAAAhB,KAAA8D,EAAA,IAAAK,GAAA/C,EAAApB,MAAA8D,EAAA7B,WAAA3C,OAAA8E,eAAAN,IAAA7E,KAAAe,KAChBgE,GADgB,OAEtBG,GAAKE,cAAcL,GACnBG,EAAKG,WAAWN,GAChBG,EAAKH,QAAUA,EACfG,EAAKI,MAAQ,EACbJ,EAAKK,YAAc,EACnBL,EAAKM,UAAY,EACjBN,EAAKO,gBAAkB,EACvBP,EAAKQ,2BAA6B,wBAAyB,mBAC3DrB,EAAAvC,QAAQ6D,QAAQ,SAAAC,GACZ,GAAMC,GAAaD,EAAOE,cAAe,EAAArB,EAAAsB,WAAUH,EAAOA,QACpDI,EAAeJ,EAAOK,UAE5Bf,GAAQW,EAAR,QAA4B,SAACd,EAASmB,GAClC,MAAOhB,GAAKiB,KAAKP,EAAO1E,KACpB0E,OAAQA,EAAOA,OACfK,OAAQD,EAAaI,IAAI,SAAAC,GAAA,MAAStB,GAAQsB,MAC3CH,IAGPhB,EAAKW,GAAc,WAAa,OAAAS,GAAAtB,UAAAxB,OAAT/C,EAAS8F,MAAAD,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAT/F,EAAS+F,GAAAxB,UAAAwB,EACT,uBAAfX,GAAsCpF,EAAK+C,OAAS,GAAKwC,EAAaxC,OAAS,IACjFwC,EAAaS,MACbT,EAAaS,MAEf,IAAM1B,GAAUiB,EAAaU,OAAO,SAACtF,EAAMiF,EAAOjG,GAE9C,MADAgB,GAAKiF,GAAS5F,EAAKL,GACZgB,OAEL8E,EAAWzF,EAAKuF,EAAaxC,OACnC,OAAO0B,GAAQW,EAAR,QAA0Bd,EAASmB,IAG/ChB,EAAQW,EAAR,aAAiC5B,EAAAnC,QAAQ6E,UAAUzB,EAAQW,EAAR,SAClDX,EAAQW,EAAR,SAA6B5B,EAAAnC,QAAQ6E,UAAUzB,EAAKW,MAExDX,EAAK0B,UAAY3C,EAAAnC,QAAQ6E,UAAUzB,EAAKlF,MACxCkF,EAAK2B,gBAAkB5C,EAAAnC,QAAQ6E,UAAUzB,EAAK4B,YAG9C5B,EAAK6B,YAAc7B,EAAK6B,YAAYC,KAAjB9B,GAzCGA,EH0iBzB,MA5aA5C,GAAUuC,EAAMC,GA0DhB1B,EAAayB,IACTlB,IAAK,gBACLhB,MAAO,SG9IEoC,GACV,GAAIA,EAAQkC,KAAOlC,EAAQkC,IAAIC,MAAM,uBACjCnC,EAAQoC,IAAMpC,EAAQkC,IACtBlC,EAAQqC,UAAY,OACpBrG,KAAKsG,eAAiBtC,EAAQqC,UAC9BrG,KAAKgE,QAAUA,EACfhE,KAAKqG,UAAY,GAAI7C,GAAAzC,QAAWwF,KAAKvC,OAClC,IAAIA,EAAQkC,KAAOlC,EAAQkC,IAAIC,MAAM,mBACxCnC,EAAQwC,UAAYxC,EAAQkC,IAC5BlC,EAAQqC,UAAY,KACpBrG,KAAKsG,eAAiBtC,EAAQqC,UAC9BrG,KAAKgE,QAAUA,EACfhE,KAAKqG,UAAY,GAAI7C,GAAAzC,QAAW0F,GAAGzC,OAChC,IAAIA,EAAQqC,UAOf,GANIrG,KAAKqG,WAAarG,KAAKsG,iBAAmBtC,EAAQqC,WAClDrG,KAAKqG,UAAUK,OAGnB1G,KAAKsG,eAAiBtC,EAAQqC,UAEG,gBAAtBrC,GAAQqC,UAAwB,CACvC,IAAK7C,EAAAzC,QAAWiD,EAAQqC,WACpB,KAAM,IAAIlF,WACN,gEAGRnB,MAAKqG,UAAY,GAAI7C,GAAAzC,QAAWiD,EAAQqC,WAAWrC,OAEnDhE,MAAKqG,UAAY,GAAIrC,GAAQqC,UAAUrC,OAG3ChE,MAAKqG,UAAY,GAAI7C,GAAAzC,QAAW0F,GAAGzC,MHgJtCpB,IAAK,aACLhB,MAAO,SG7IDoC,GACP,GAAIA,EAAQxE,eAAe,UACvB,OAAA0C,EAAe8B,EAAQ2C,SACnB,IAAK,WACD3G,KAAK4G,UACDC,IAAK7C,EAAQ2C,OAEjB,MACJ,KAAK,SACD,GAAkC,kBAAvB3C,GAAQ2C,OAAOE,IACtB,KAAM,IAAIC,OAAM,qEAEpB9G,MAAK4G,SAAW5C,EAAQ2C,MACxB,MACJ,KAAK,YACD,GAAI3G,KAAK4G,SAAU,KACvB,SACI5G,KAAK4G,UAAW,MHkJ3BhE,IAAK,MACLhB,MAAO,SG9IRmF,GACA,GAAI/G,KAAK4G,SACL,GAAK3C,UAAUxB,OAAS,GAAyC,kBAA5BzC,MAAK4G,SAASG,GAA0B,CACzE,GAAIrH,GAAO8F,MAAMjG,UAAUI,MAAMV,KAAKgF,UAAW,EACjDjE,MAAK4G,SAASG,GAAUhH,MAAMC,KAAK4G,SAAUlH,OAE7CM,MAAK4G,SAASC,IAAI9G,MAAMC,KAAK4G,SAAU3C,cHmJ9CrB,IAAK,QACLhB,MAAO,WG9IR,MAAO5B,MAAKqG,UAAUW,WHkJrBpE,IAAK,OACLhB,MAAO,WG/IR,MAAO5B,MAAKqG,UAAUK,UHmJrB9D,IAAK,OACLhB,MAAO,SGjJPzB,EAAK8G,EAAM9B,GACZ,GAAI+B,GAAK/B,CACT,IAAInF,KAAK4G,SAAU,CACf,GAAI7H,GAAKoI,KAAKC,SACV/F,EAAOrB,IACXA,MAAK6G,IAAI,QAAU9H,EAAK,IAAKkI,GAC7BC,EAAK,SAASG,EAAGC,GACTD,EACAhG,EAAKwF,IAAI,QAAS,OAAS9H,EAAK,QAASsI,EAAGC,GAE5CjG,EAAKwF,IAAI,OAAS9H,EAAK,IAAKuI,GAE5BnC,GACAA,EAASpF,MAAMsB,EAAM4C,YAIjC,MAAOjE,MAAKqG,UAAUjB,KAAKjF,EAAK8G,EAAMC,MHoJrCtE,IAAK,OACLhB,MAAO,SGlJPiD,EAAQK,EAAQC,GAAU,GAAAoC,GAAAvH,IAC3B,IAA4B,SAAxBA,KAAKsG,eAEL,WADAnB,GAAS,GAAI2B,OAAM,4DAGvB,IAAM/H,KAAOiB,KAAKuE,OAClB,EAAAd,EAAA+D,SAAQxH,KAAKgE,QAAQoC,KAAMvB,SAAQK,SAAQnG,OACtC0I,KAAK,SAAAC,GAASvC,EAAS,KAAMuC,IAAQ,SAAAC,GAASJ,EAAKvB,YAAY2B,EAAKA,yBAA0BxC,EAASwC,QH0J3G/E,IAAK,aACLhB,MAAO,SGxJDiD,EAAQK,EAAQ0C,EAAShF,EAAKuC,GAAU,GAAA0C,GAAA7H,IAC/C,IAA4B,SAAxBA,KAAKsG,eAEL,WADAnB,GAAS,GAAI2B,OAAM,4DAGvB,IAAM/H,KAAOiB,KAAKuE,MACduD,QACJ,KACIA,GAAU,EAAAjE,EAAAkE,OAAalD,SAAQK,SAAQnG,MAAK6I,GAAUhF,IACxD,MAAOoF,GAEL,WADA7C,GAAS6C,IAGb,EAAAvE,EAAA+D,SAAQxH,KAAKgE,QAAQoC,IAAK0B,GACrBL,KAAK,SAAAC,GAASvC,EAAS,KAAMuC,IAAQ,SAAAC,GAASxC,EAASwC,GAAME,EAAK7B,YAAY2B,QHgKlF/E,IAAK,aACLhB,MAAO,SG9JDoC,GAgBP,GAfA1E,OAAO2I,OAAOjI,KAAKgE,QAASA,GAExBA,EAAQxE,eAAe,wBACvBQ,KAAKkI,mBAAqBlE,EAAQkE,oBAClClE,EAAQxE,eAAe,+BACvBQ,KAAK2E,0BAA4BX,EAAQW,2BAE7C3E,KAAKsE,WAAWN,GAChBhE,KAAKqE,cAAcL,GACnBhE,KAAKqG,UAAU8B,WAAWnE,GACtBA,EAAQxE,eAAe,eAEzB4D,EAAArC,QAAOqH,IAAK,iBAAkBpE,EAAQqE,WAAa,MAAQ,OAGzDrE,EAAQxE,eAAe,OAC3B,CAEI,IAAK,GADD8I,GAAY,EACPjJ,EAAI,EAAGA,EAAIW,KAAK2E,0BAA0BlC,OAAQpD,IAC3D,CACI,GAAIkJ,GAAgBvI,KAAK2E,0BAA0BtF,EACnD,IAAIkJ,IAAkBvE,EAAQkC,IAC9B,CACIoC,EAAYjJ,CACZ,QAGRW,KAAKyE,UAAY6D,CACEtI,MAAK2E,0BAA0B3E,KAAKyE,eH4J1D7B,IAAK,eACLhB,MAAO,SGzJCsE,GACTlG,KAAKmI,YACD3B,UAAWN,OH6JdtD,IAAK,SACLhB,MAAO,SG1JLsE,GACHlG,KAAKmI,YACD/B,IAAKF,OH8JRtD,IAAK,oBACLhB,MAAO,WG3JyC,GAAnC4G,GAAmCvE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA5B,OAA4BwE,EAAAzI,KAApBmF,EAAoBlB,UAAA,GAAVyE,EAAUzE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAL,GACxB,mBAATuE,KACPrD,EAAWqD,EACXA,EAAO,OAEX,IAAIG,GAAU,GACVC,GAAU,EAERC,EAAS,QAATA,KACGD,GAELH,EAAKK,kCAAkCrB,KACnC,SAAAsB,GACI,GAAMC,GAAmB,iBAATR,EACZO,EAAOE,4BACPF,EAAOG,iBAEX,IAAIF,IAAYL,EACZ,GAAIA,EACA,IAAK,GAAItJ,GAAIsJ,EAAStJ,EAAI2J,EAAS3J,IAC3BA,IAAMsJ,GACNxD,EAAS,KAAM9F,GAEnBsJ,EAAUtJ,MAGdsJ,GAAUK,EACV7D,EAAS,KAAM6D,EAIvB9F,GAAAnC,QAAQoI,MAAMT,GAAIjB,KAAK,WACnBoB,OAGR,SAAAlB,GACIxC,EAASwC,KAOrB,OAFAkB,KAEO,WACHD,GAAU,MHiKbhG,IAAK,cACLhB,MAAO,WG9JyB,GAAAwH,GAAApJ,KAAzBwI,EAAyBvE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAlB,OAAQkB,EAAUlB,UAAA,EACb,mBAATuE,KACPrD,EAAWqD,EACXA,EAAO,OAGX,IAAIG,GAAU,GACVU,EAAO,GAELC,EAAUtJ,KAAKuJ,kBAAkBf,EAAM,SAACb,EAAK5I,GAC/C,MAAI4I,IACA2B,QACAnE,GAASwC,KAIbgB,EAAU5J,OACN4J,IAAYU,IACZA,EAAOV,EACPS,EAAKI,SAASb,EAASxD,OAI/B,OAAOmE,MHsKN1G,IAAK,qBACLhB,MAAO,WGpKgC,GAAzB4G,GAAyBvE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAlB,OAAQkB,EAAUlB,UAAA,EACpB,mBAATuE,KACPrD,EAAWqD,EACXA,EAAO,OAGX,IAAMc,GAAUtJ,KAAKyJ,YAAYjB,EAAM,SAACb,EAAKoB,GACzC,MAAIpB,IACA2B,QACAnE,GAASwC,SAIToB,GAAUA,EAAOW,cACjBX,EAAOW,aAAa9E,QAAQ,SAAA+E,GACxBxE,EAAS,KAAMwE,OAK3B,OAAOL,MH0KN1G,IAAK,mBACLhB,MAAO,WGxK8B,GAAzB4G,GAAyBvE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAlB,OAAQkB,EAAUlB,UAAA,EAClB,mBAATuE,KACPrD,EAAWqD,EACXA,EAAO,OAGX,IAAMc,GAAUtJ,KAAK4J,mBAAmBpB,EAAM,SAACb,EAAKgC,GAChD,MAAIhC,IACA2B,QACAnE,GAASwC,QAIbgC,GAAYE,WAAWjF,QAAQ,SAAAkF,GAC3B3E,EAAS,KAAM2E,MAIvB,OAAOR,MH8KN1G,IAAK,sCACLhB,MAAO,SG5KwBoC,EAASmB,GAC7C,GAAM4E,GAAM/F,EAAQ+F,GACpB,OAAO/J,MAAKoF,KACR,yBACIP,OAAQ,oCACRK,QAAS6E,IAEb,SAACpC,EAAKoB,GACF,GAAIpB,EAAK,IAEDqC,GAFCpG,EAAAqG,IAEDD,mBAIEE,EAAWF,EAAmBG,SAASJ,GACvCK,EAAMJ,EAAmBK,SAASN,EACxCpC,GAAI2C,OAAS3G,EAAA4G,KAAKC,OAAOJ,GAAKK,SAAS,OACvC9C,EAAI+C,eAAiBN,EAAIK,SAAS,OAClC9C,EAAIgC,YAAcgB,KAAKC,UAAUV,GACjC/E,EAASwC,EAAK,QAEdxC,GAAS,GAAI4D,QH8KpBnG,IAAK,cACLhB,MAAO,SGxKA+F,GACZ,GADiBkD,GACjB5G,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,IAAAA,UAAA,EACI,KAAI4G,GAI4B3G,SAA5BlE,KAAKkI,oBAAuEhE,SAAnClE,KAAK2E,6BAI9CgD,IAAOA,EAAI8C,WAAWK,SAAS,eAKnC9K,KAAKwE,cACDxE,KAAKwE,aAAexE,KAAKkI,oBAC7B,CACsBlI,KAAKgE,QAAQkC,GAC/BlG,MAAKwE,YAAc,EACnBxE,KAAKyE,YACDzE,KAAKyE,WAAazE,KAAK2E,0BAA0BlC,SAEjDzC,KAAKyE,UAAY,EAErB,IAAIsG,GAAe/K,KAAK2E,0BAA0B3E,KAAKyE,UAEvDzE,MAAKmI,YAAYjC,IAAK6E,SHyKtBjH,GACTd,EAASjC,SGpKNL,EAAO,GAAIoD,GAAJV,EAAArC,QACblC,GAAUC,EAAOD,QAAU6B,EAC3B7B,EAAQiF,KAAOA,GH6KT,SAAUhF,EAAQD,GAEvB,YI1jBD,SAASmM,KACPhL,KAAK+C,QAAU/C,KAAK+C,YACpB/C,KAAKiL,cAAgBjL,KAAKiL,eAAiB/G,OAwQ7C,QAASgH,GAAWC,GAClB,MAAsB,kBAARA,GAGhB,QAASC,GAASD,GAChB,MAAsB,gBAARA,GAGhB,QAASE,GAASF,GAChB,MAAsB,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,KAA4B,OAARA,EAGpC,QAASG,GAAYH,GACnB,MAAe,UAARA,EJqSR,GAAIjJ,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GIxjBvQ/B,GAAOD,QAAUmM,EAGjBA,EAAaA,aAAeA,EAE5BA,EAAazL,UAAUwD,QAAUmB,OACjC8G,EAAazL,UAAU0L,cAAgB/G,OAIvC8G,EAAaO,oBAAsB,GAInCP,EAAazL,UAAUiM,gBAAkB,SAASC,GAChD,IAAKL,EAASK,IAAMA,EAAI,GAAKC,MAAMD,GACjC,KAAMtK,WAAU,8BAElB,OADAnB,MAAKiL,cAAgBQ,EACdzL,MAGTgL,EAAazL,UAAUoM,KAAO,SAASC,GACrC,GAAIC,GAAIC,EAASC,EAAKrM,EAAML,EAAG2M,CAM/B,IAJKhM,KAAK+C,UACR/C,KAAK+C,YAGM,UAAT6I,KACG5L,KAAK+C,QAAQiF,OACbqD,EAASrL,KAAK+C,QAAQiF,SAAWhI,KAAK+C,QAAQiF,MAAMvF,QAAS,CAEhE,GADAoJ,EAAK5H,UAAU,GACX4H,YAAc/E,OAChB,KAAM+E,EAGN,IAAIlE,GAAM,GAAIb,OAAM,yCAA2C+E,EAAK,IAEpE,MADAlE,GAAIsE,QAAUJ,EACRlE,EAOZ,GAFAmE,EAAU9L,KAAK+C,QAAQ6I,GAEnBN,EAAYQ,GACd,OAAO,CAET,IAAIZ,EAAWY,GACb,OAAQ7H,UAAUxB,QAEhB,IAAK,GACHqJ,EAAQ7M,KAAKe,KACb,MACF,KAAK,GACH8L,EAAQ7M,KAAKe,KAAMiE,UAAU,GAC7B,MACF,KAAK,GACH6H,EAAQ7M,KAAKe,KAAMiE,UAAU,GAAIA,UAAU,GAC3C,MAEF,SACEvE,EAAO8F,MAAMjG,UAAUI,MAAMV,KAAKgF,UAAW,GAC7C6H,EAAQ/L,MAAMC,KAAMN,OAEnB,IAAI2L,EAASS,GAIlB,IAHApM,EAAO8F,MAAMjG,UAAUI,MAAMV,KAAKgF,UAAW,GAC7C+H,EAAYF,EAAQnM,QACpBoM,EAAMC,EAAUvJ,OACXpD,EAAI,EAAGA,EAAI0M,EAAK1M,IACnB2M,EAAU3M,GAAGU,MAAMC,KAAMN,EAG7B,QAAO,GAGTsL,EAAazL,UAAU2M,YAAc,SAASN,EAAMO,GAClD,GAAIjN,EAEJ,KAAKgM,EAAWiB,GACd,KAAMhL,WAAU,8BA2ClB,OAzCKnB,MAAK+C,UACR/C,KAAK+C,YAIH/C,KAAK+C,QAAQqJ,aACfpM,KAAK2L,KAAK,cAAeC,EACfV,EAAWiB,EAASA,UACpBA,EAASA,SAAWA,GAE3BnM,KAAK+C,QAAQ6I,GAGTP,EAASrL,KAAK+C,QAAQ6I,IAE7B5L,KAAK+C,QAAQ6I,GAAMS,KAAKF,GAGxBnM,KAAK+C,QAAQ6I,IAAS5L,KAAK+C,QAAQ6I,GAAOO,GAN1CnM,KAAK+C,QAAQ6I,GAAQO,EASnBd,EAASrL,KAAK+C,QAAQ6I,MAAW5L,KAAK+C,QAAQ6I,GAAMU,SAIpDpN,EAHGoM,EAAYtL,KAAKiL,eAGhBD,EAAaO,oBAFbvL,KAAKiL,cAKP/L,GAAKA,EAAI,GAAKc,KAAK+C,QAAQ6I,GAAMnJ,OAASvD,IAC5Cc,KAAK+C,QAAQ6I,GAAMU,QAAS,EAC5BC,QAAQvE,MAAM,mIAGAhI,KAAK+C,QAAQ6I,GAAMnJ,QACJ,kBAAlB8J,SAAQC,OAEjBD,QAAQC,UAKPxM,MAGTgL,EAAazL,UAAUkN,GAAKzB,EAAazL,UAAU2M,YAEnDlB,EAAazL,UAAUmN,KAAO,SAASd,EAAMO,GAM3C,QAASQ,KACP3M,KAAK4M,eAAehB,EAAMe,GAErBE,IACHA,GAAQ,EACRV,EAASpM,MAAMC,KAAMiE,YAVzB,IAAKiH,EAAWiB,GACd,KAAMhL,WAAU,8BAElB,IAAI0L,IAAQ,CAcZ,OAHAF,GAAER,SAAWA,EACbnM,KAAKyM,GAAGb,EAAMe,GAEP3M,MAITgL,EAAazL,UAAUqN,eAAiB,SAAShB,EAAMO,GACrD,GAAIW,GAAMC,EAAUtK,EAAQpD,CAE5B,KAAK6L,EAAWiB,GACd,KAAMhL,WAAU,8BAElB,KAAKnB,KAAK+C,UAAY/C,KAAK+C,QAAQ6I,GACjC,MAAO5L,KAMT,IAJA8M,EAAO9M,KAAK+C,QAAQ6I,GACpBnJ,EAASqK,EAAKrK,OACdsK,GAAW,EAEPD,IAASX,GACRjB,EAAW4B,EAAKX,WAAaW,EAAKX,WAAaA,QAC3CnM,MAAK+C,QAAQ6I,GAChB5L,KAAK+C,QAAQ6J,gBACf5M,KAAK2L,KAAK,iBAAkBC,EAAMO,OAE/B,IAAId,EAASyB,GAAO,CACzB,IAAKzN,EAAIoD,EAAQpD,KAAM,GACrB,GAAIyN,EAAKzN,KAAO8M,GACXW,EAAKzN,GAAG8M,UAAYW,EAAKzN,GAAG8M,WAAaA,EAAW,CACvDY,EAAW1N,CACX,OAIJ,GAAI0N,EAAW,EACb,MAAO/M,KAEW,KAAhB8M,EAAKrK,QACPqK,EAAKrK,OAAS,QACPzC,MAAK+C,QAAQ6I,IAEpBkB,EAAKE,OAAOD,EAAU,GAGpB/M,KAAK+C,QAAQ6J,gBACf5M,KAAK2L,KAAK,iBAAkBC,EAAMO,GAGtC,MAAOnM,OAGTgL,EAAazL,UAAU0N,mBAAqB,SAASrB,GACnD,GAAIhJ,GAAKoJ,CAET,KAAKhM,KAAK+C,QACR,MAAO/C,KAGT,KAAKA,KAAK+C,QAAQ6J,eAKhB,MAJyB,KAArB3I,UAAUxB,OACZzC,KAAK+C,WACE/C,KAAK+C,QAAQ6I,UACb5L,MAAK+C,QAAQ6I,GACf5L,IAIT,IAAyB,IAArBiE,UAAUxB,OAAc,CAC1B,IAAKG,IAAO5C,MAAK+C,QACH,mBAARH,GACJ5C,KAAKiN,mBAAmBrK,EAI1B,OAFA5C,MAAKiN,mBAAmB,kBACxBjN,KAAK+C,WACE/C,KAKT,GAFAgM,EAAYhM,KAAK+C,QAAQ6I,GAErBV,EAAWc,GACbhM,KAAK4M,eAAehB,EAAMI,OACrB,IAAIA,EAET,KAAOA,EAAUvJ,QACfzC,KAAK4M,eAAehB,EAAMI,EAAUA,EAAUvJ,OAAS,GAI3D,cAFOzC,MAAK+C,QAAQ6I,GAEb5L,MAGTgL,EAAazL,UAAUyM,UAAY,SAASJ,GAC1C,GAAIsB,EAOJ,OAHEA,GAHGlN,KAAK+C,SAAY/C,KAAK+C,QAAQ6I,GAE1BV,EAAWlL,KAAK+C,QAAQ6I,KACxB5L,KAAK+C,QAAQ6I,IAEd5L,KAAK+C,QAAQ6I,GAAMjM,YAI7BqL,EAAazL,UAAU4N,cAAgB,SAASvB,GAC9C,GAAI5L,KAAK+C,QAAS,CAChB,GAAIqK,GAAapN,KAAK+C,QAAQ6I,EAE9B,IAAIV,EAAWkC,GACb,MAAO,EACJ,IAAIA,EACP,MAAOA,GAAW3K,OAEtB,MAAO,IAGTuI,EAAamC,cAAgB,SAASE,EAASzB,GAC7C,MAAOyB,GAAQF,cAAcvB,KJukBzB,SAAU9M,EAAQD,EAASH,GKn2BjC,YAGA,SAAS4O,KACL,IAAUC,UAAYC,IAAUD,QAAUE,GAC1C,MAAOpG,IACP,MAAOmG,GALX,GAAIC,EACmB,oBAAZF,WAAyBE,EAAMF,QAM1C,IAAIC,GAAW9O,EAAQ,IACvB8O,GAASF,WAAaA,EACtBxO,EAAOD,QAAU2O,GL22BX,SAAU1O,EAAQD,EAASH,IMr3BjC,SAAAgP,GAAA,YACA5O,GAAOD,QAAU,WAUjB,QAAS8O,MAgDT,QAASC,GAAMvM,EAAMwM,GACjB,GAAY,MAARxM,GAAgBA,EAAKM,cAAgB4L,EACrC,KAAM,IAAIpM,GAAU,uFAExB,IAAwB,kBAAb0M,GACP,KAAM,IAAI1M,GAAU,gCAAkC2M,EAAKC,YAAYF,IAK/E,QAASN,GAAQM,GACTA,IAAaG,GACbJ,EAAM5N,KAAM6N,GAEhB7N,KAAKiO,UAAY,EACjBjO,KAAKkO,qBAAuBhK,OAC5BlE,KAAKmO,mBAAqBjK,OAC1BlE,KAAKoO,UAAYlK,OACjBlE,KAAKqO,WAAanK,OAClBlE,KAAKsO,qBAAqBT,GAC1B7N,KAAKuO,kBACLvO,KAAKwO,WAAW,iBAAkBxO,MAqnBtC,QAASyO,GAAaC,GAAI1O,KAAK2O,QAAQC,iBAAiBF,GACxD,QAASG,GAAYH,GAAI1O,KAAK2O,QAAQG,gBAAgBJ,GAAG,GA4CrD,QAASK,GAAUnN,GACf,GAAIxC,GAAI,GAAImO,GAAQS,EACpB5O,GAAE8O,qBAAuBtM,EACzBxC,EAAE+O,mBAAqBvM,EACvBxC,EAAEgP,UAAYxM,EACdxC,EAAEiP,WAAazM,EArvBvB,GAaIoN,GAbAC,EAA0B,WAC1B,MAAO,IAAI9N,GAAU,wEAErB+N,EAAiB,WACjB,MAAO,IAAI3B,GAAQ4B,kBAAkBnP,KAAKoP,YAE1CC,EAAe,SAASC,GACxB,MAAO/B,GAAQgC,OAAO,GAAIpO,GAAUmO,KAGpCE,KACA1B,EAAOpP,EAAQ,EAIfsQ,GADAlB,EAAK2B,OACO,WACR,GAAIvC,GAAMQ,EAAQgC,MAElB,OADYxL,UAARgJ,IAAmBA,EAAM,MACtBA,GAGC,WACR,MAAO,OAGfY,EAAK6B,kBAAkBpC,EAAS,aAAcyB,EAE9C,IAAIY,GAAMlR,EAAQ,GACdmR,EAAQnR,EAAQ,GAChBoR,EAAQ,GAAID,EAChBD,GAAIjN,eAAe4K,EAAS,UAAW3L,MAAOkO,GAC9C,IAAIC,GAASrR,EAAQ,IACjByC,EAAYoM,EAAQpM,UAAY4O,EAAO5O,SAC3CoM,GAAQyC,WAAaD,EAAOC,UAC5B,IAAIC,GAAoB1C,EAAQ0C,kBAAoBF,EAAOE,iBAC3D1C,GAAQ2C,aAAeH,EAAOG,aAC9B3C,EAAQ4C,iBAAmBJ,EAAOI,iBAClC5C,EAAQ6C,eAAiBL,EAAOI,iBAChC5C,EAAQ8C,eAAiBN,EAAOM,cAChC,IAAIrC,GAAW,aACXsC,KACAC,KACAC,EAAsB9R,EAAQ,IAAe6O,EAASS,GACtDyC,EACA/R,EAAQ,IAAmB6O,EAASS,EACTwC,EAAqBnB,EAAc1B,GAC9D+C,EAAUhS,EAAQ,IAAa6O,GAE/BoD,EAAgBD,EAAQhP,OACxBkP,EAAQlS,EAAQ,IAAmB6O,EAASmD,GAE5CG,GADgBD,EAAME,cAEtBpS,EAAQ,IAAa6O,EAASiD,EAAqBD,IACnDQ,EAAcrS,EAAQ,IAAkB6R,GACxCS,EAAqBtS,EAAQ,IAC7BuS,EAAWnD,EAAKmD,SAChBC,EAAWpD,EAAKoD,QA0sBhB,OAjrBJ3D,GAAQhO,UAAUkL,SAAW,WACzB,MAAO,oBAGX8C,EAAQhO,UAAU4R,OAAS5D,EAAQhO,UAAR,MAA6B,SAAUK,GAC9D,GAAImM,GAAM9H,UAAUxB,MACpB,IAAIsJ,EAAM,EAAG,CACT,GACW1M,GADP+R,EAAiB,GAAI5L,OAAMuG,EAAM,GACjCsF,EAAI,CACR,KAAKhS,EAAI,EAAGA,EAAI0M,EAAM,IAAK1M,EAAG,CAC1B,GAAIiS,GAAOrN,UAAU5E,EACrB,KAAIyO,EAAKzC,SAASiG,GAGd,MAAOjC,GAAa,0DACiBvB,EAAKC,YAAYuD,GAHtDF,GAAeC,KAAOC,EAQ9B,MAFAF,GAAe3O,OAAS4O,EACxBzR,EAAKqE,UAAU5E,GACRW,KAAKyH,KAAKvD,OAAW6M,EAAYK,EAAgBxR,EAAII,OAEhE,MAAOA,MAAKyH,KAAKvD,OAAWtE,IAGhC2N,EAAQhO,UAAUgS,QAAU,WACxB,MAAOvR,MAAKwR,MAAMtC,EACdA,EAAgBhL,OAAWlE,KAAMkE,SAGzCqJ,EAAQhO,UAAUkI,KAAO,SAAUgK,EAAYC,GAC3C,GAAId,EAAMe,YAAc1N,UAAUxB,OAAS,GACjB,kBAAfgP,IACc,kBAAdC,GAA0B,CACjC,GAAIpC,GAAM,kDACFxB,EAAKC,YAAY0D,EACrBxN,WAAUxB,OAAS,IACnB6M,GAAO,KAAOxB,EAAKC,YAAY2D,IAEnC1R,KAAK4R,MAAMtC,GAEf,MAAOtP,MAAKwR,MAAMC,EAAYC,EAAWxN,OAAWA,OAAWA,SAGnEqJ,EAAQhO,UAAUsS,KAAO,SAAUJ,EAAYC,GAC3C,GAAI/C,GACA3O,KAAKwR,MAAMC,EAAYC,EAAWxN,OAAWA,OAAWA,OAC5DyK,GAAQmD,eAGZvE,EAAQhO,UAAUwS,OAAS,SAAUnS,GACjC,MAAkB,kBAAPA,GACAyP,EAAa,gCAAkCvB,EAAKC,YAAYnO,IAEpEI,KAAKgS,MAAMR,MAAM5R,EAAIsE,OAAWA,OAAWoM,EAAOpM,SAG7DqJ,EAAQhO,UAAU0S,OAAS,WACvB,GAAI/E,IACAgF,aAAa,EACbC,YAAY,EACZC,iBAAkBlO,OAClBmO,gBAAiBnO,OASrB,OAPIlE,MAAKkS,eACLhF,EAAIkF,iBAAmBpS,KAAK4B,QAC5BsL,EAAIgF,aAAc,GACXlS,KAAKmS,eACZjF,EAAImF,gBAAkBrS,KAAKsS,SAC3BpF,EAAIiF,YAAa,GAEdjF,GAGXK,EAAQhO,UAAUyS,IAAM,WAIpB,MAHI/N,WAAUxB,OAAS,GACnBzC,KAAK4R,MAAM,wDAER,GAAInB,GAAazQ,MAAM2O,WAGlCpB,EAAQhO,UAAUyI,MAAQ,SAAUpI,GAChC,MAAOI,MAAKmR,OAAOrD,EAAKyE,wBAAyB3S,IAGrD2N,EAAQiF,kBAAoB1T,EAAOD,QAEnC0O,EAAQkF,GAAK,SAAUC,GACnB,MAAOA,aAAenF,IAG1BA,EAAQoF,SAAWpF,EAAQqF,aAAe,SAAShT,GAC/C,GAAIsN,GAAM,GAAIK,GAAQS,EACtBd,GAAI2F,oBACJ,IAAIC,GAAY7O,UAAUxB,OAAS,KAAMnD,OAAO2E,UAAU,IAAI6O,UAE1D/J,EAASmI,EAAStR,GAAIoR,EAAmB9D,EAAK4F,GAKlD,OAJI/J,KAAWkI,GACX/D,EAAI4B,gBAAgB/F,EAAO1B,GAAG,GAE7B6F,EAAI6F,iBAAiB7F,EAAI8F,sBACvB9F,GAGXK,EAAQyE,IAAM,SAAUiB,GACpB,MAAO,IAAIxC,GAAawC,GAAUtE,WAGtCpB,EAAQ2F,KAAO,SAAUrS,GACrB,GAAIqM,GAAMsD,EAAoB3P,EAO9B,OANMqM,aAAeK,KACjBL,EAAM,GAAIK,GAAQS,GAClBd,EAAI2F,qBACJ3F,EAAIiG,gBACJjG,EAAIiB,mBAAqBtN,GAEtBqM,GAGXK,EAAQ6F,QAAU7F,EAAQ8F,UAAY9F,EAAQ2F,KAE9C3F,EAAQgC,OAAShC,EAAQ+F,SAAW,SAAUhB,GAC1C,GAAIpF,GAAM,GAAIK,GAAQS,EAGtB,OAFAd,GAAI2F,qBACJ3F,EAAI4B,gBAAgBwD,GAAQ,GACrBpF,GAGXK,EAAQgG,aAAe,SAAS3T,GAC5B,GAAkB,kBAAPA,GACP,KAAM,IAAIuB,GAAU,gCAAkC2M,EAAKC,YAAYnO,GAE3E,OAAOkQ,GAAMyD,aAAa3T,IAG9B2N,EAAQhO,UAAUiS,MAAQ,SACtBC,EACAC,EACA8B,EAAMC,EACNC,GAEA,GAAIC,GAAoCzP,SAAjBwP,EACnB/E,EAAUgF,EAAmBD,EAAe,GAAInG,GAAQS,GACxDzL,EAASvC,KAAKoP,UACdwE,EAAWrR,EAAO0L,SAEjB0F,KACDhF,EAAQkF,eAAe7T,KAAM,GAC7B2O,EAAQkE,qBACS3O,SAAbuP,GACgC,KAAb,QAAjBzT,KAAKiO,aAEHwF,EAD4B,KAAd,SAAXG,GACQ5T,KAAK8T,cAELvR,IAAWvC,KAAOkE,OAAYlE,KAAK+T,UAGtD/T,KAAKwO,WAAW,iBAAkBxO,KAAM2O,GAG5C,IAAIe,GAASV,GACb,IAAgC,KAAd,SAAX4E,GAA6B,CAChC,GAAI9H,GAASlK,EAAOoS,EAAUzR,EAAO0R,iBACN,MAAd,SAAXL,IACFhS,EAAQW,EAAO4L,mBACfrC,EAAU2F,GACwB,KAAd,SAAXmC,IACThS,EAAQW,EAAO2L,qBACfpC,EAAU4F,EACVnP,EAAO2R,+BAEPF,EAAUzR,EAAO4R,uCACjBvS,EAAQ,GAAIqO,GAAkB,8BAC9B1N,EAAO6R,kBAAkBxS,GACzBkK,EAAU4F,GAGd5B,EAAMuE,OAAOL,EAASzR,GAClBuJ,QAAoB,OAAX4D,EAAkB5D,EACD,kBAAZA,IACNgC,EAAKwG,WAAW5E,EAAQ5D,GAChC6C,QAASA,EACT8E,SAAUA,EACV7R,MAAOA,QAGXW,GAAOgS,cAAc9C,EAAYC,EAAW/C,EAAS8E,EAAU/D,EAGnE,OAAOf,IAGXpB,EAAQhO,UAAUiV,QAAU,WACxB,MAAwB,OAAjBxU,KAAKiO,WAGhBV,EAAQhO,UAAUwT,cAAgB,WAC9B,MAAwC,MAAf,UAAjB/S,KAAKiO,YAGjBV,EAAQhO,UAAUkV,aAAe,WAC7B,MAAuC,aAAd,SAAjBzU,KAAKiO,YAGjBV,EAAQhO,UAAUmV,WAAa,SAAU3I,GACrC/L,KAAKiO,UAAajO,KAAKiO,WAAY,MACxB,MAANlC,GAGTwB,EAAQhO,UAAU4T,cAAgB,WAC9BnT,KAAKiO,UAA6B,SAAjBjO,KAAKiO,UACtBjO,KAAKwO,WAAW,mBAAoBxO,OAGxCuN,EAAQhO,UAAUoV,aAAe,WAC7B3U,KAAKiO,UAA6B,SAAjBjO,KAAKiO,UACtBjO,KAAKwO,WAAW,kBAAmBxO,OAGvCuN,EAAQhO,UAAUqV,cAAgB,WAC9B5U,KAAKiO,UAA6B,SAAjBjO,KAAKiO,UACtBjO,KAAKwO,WAAW,kBAAmBxO,OAGvCuN,EAAQhO,UAAUuS,YAAc,WAC5B9R,KAAKiO,UAA6B,QAAjBjO,KAAKiO,WAG1BV,EAAQhO,UAAUsV,SAAW,WACzB,OAAyB,QAAjB7U,KAAKiO,WAAuB,GAGxCV,EAAQhO,UAAUuV,gBAAkB,WAChC9U,KAAKiO,UAAYjO,KAAKiO,WAAa,OAGvCV,EAAQhO,UAAUwV,cAAgB,WAC9B/U,KAAKiO,UAA6B,MAAjBjO,KAAKiO,UACtBjO,KAAKwO,WAAW,mBAAoBxO,OAGxCuN,EAAQhO,UAAUyV,oBAAsB,WACpChV,KAAKiO,UAA6B,QAAjBjO,KAAKiO,WAG1BV,EAAQhO,UAAUyT,oBAAsB,WAChClD,EAAMmF,uBACVjV,KAAKiO,UAA6B,UAAjBjO,KAAKiO,YAG1BV,EAAQhO,UAAU2V,YAAc,SAAUC,GACtC,GAAIjI,GAAgB,IAAViI,EAAcnV,KAAKqO,WAAarO,KAC1B,EAARmV,EAAY,EAAI,EACxB,IAAIjI,IAAQsC,EAEL,MAAYtL,UAARgJ,GAAqBlN,KAAKoV,WAC1BpV,KAAK8T,cAET5G,GAGXK,EAAQhO,UAAU8V,WAAa,SAAUF,GACrC,MAAOnV,MACS,EAARmV,EAAY,EAAI,IAG5B5H,EAAQhO,UAAU+V,sBAAwB,SAAUH,GAChD,MAAOnV,MACS,EAARmV,EAAY,EAAI,IAG5B5H,EAAQhO,UAAUgW,oBAAsB,SAAUJ,GAC9C,MAAOnV,MACS,EAARmV,EAAY,EAAI,IAG5B5H,EAAQhO,UAAUuU,YAAc,aAEhCvG,EAAQhO,UAAUiW,kBAAoB,SAAUC,GAC5C,GACIC,IADWD,EAASxH,UACVwH,EAASvH,sBACnBqB,EAASkG,EAAStH,mBAClBQ,EAAU8G,EAASrH,UACnBqF,EAAWgC,EAASP,YAAY,EACnBhR,UAAbuP,IAAwBA,EAAWjE,GACvCxP,KAAKuU,cAAcmB,EAASnG,EAAQZ,EAAS8E,EAAU,OAG3DlG,EAAQhO,UAAUoW,mBAAqB,SAAUF,EAAUN,GACvD,GAAIO,GAAUD,EAASH,sBAAsBH,GACzC5F,EAASkG,EAASF,oBAAoBJ,GACtCxG,EAAU8G,EAASJ,WAAWF,GAC9B1B,EAAWgC,EAASP,YAAYC,EACnBjR,UAAbuP,IAAwBA,EAAWjE,GACvCxP,KAAKuU,cAAcmB,EAASnG,EAAQZ,EAAS8E,EAAU,OAG3DlG,EAAQhO,UAAUgV,cAAgB,SAC9BmB,EACAnG,EACAZ,EACA8E,EACA/D,GAEA,GAAIyF,GAAQnV,KAAKwU,SAOjB,IALIW,GAAS,QACTA,EAAQ,EACRnV,KAAK0U,WAAW,IAGN,IAAVS,EACAnV,KAAKoO,UAAYO,EACjB3O,KAAKqO,WAAaoF,EACK,kBAAZiC,KACP1V,KAAKkO,qBACU,OAAXwB,EAAkBgG,EAAU5H,EAAKwG,WAAW5E,EAAQgG,IAEtC,kBAAXnG,KACPvP,KAAKmO,mBACU,OAAXuB,EAAkBH,EAASzB,EAAKwG,WAAW5E,EAAQH,QAExD,CACH,GAAIqG,GAAe,EAART,EAAY,CACvBnV,MAAK4V,EAAO,GAAKjH,EACjB3O,KAAK4V,EAAO,GAAKnC,EACM,kBAAZiC,KACP1V,KAAK4V,EAAO,GACG,OAAXlG,EAAkBgG,EAAU5H,EAAKwG,WAAW5E,EAAQgG,IAEtC,kBAAXnG,KACPvP,KAAK4V,EAAO,GACG,OAAXlG,EAAkBH,EAASzB,EAAKwG,WAAW5E,EAAQH,IAI/D,MADAvP,MAAK0U,WAAWS,EAAQ,GACjBA,GAGX5H,EAAQhO,UAAUsW,OAAS,SAAUC,EAAW3K,GAC5CnL,KAAKuU,cAAcrQ,OAAWA,OAAWiH,EAAK2K,EAAW,OAG7DvI,EAAQhO,UAAUqP,iBAAmB,SAAShN,EAAOmU,GACjD,GAAsC,KAAf,UAAjB/V,KAAKiO,WAAX,CACA,GAAIrM,IAAU5B,KACV,MAAOA,MAAK8O,gBAAgBG,KAA2B,EAC3D,IAAI+G,GAAexF,EAAoB5O,EAAO5B,KAC9C,MAAMgW,YAAwBzI,IAAU,MAAOvN,MAAKiW,SAASrU,EAEzDmU,IAAY/V,KAAK6T,eAAemC,EAAc,EAElD,IAAIrH,GAAUqH,EAAa5G,SAE3B,IAAIT,IAAY3O,KAEZ,WADAA,MAAKkW,QAAQjH,IAIjB,IAAI2E,GAAWjF,EAAQV,SACvB,IAA+B,KAAd,SAAX2F,GAA6B,CAC/B,GAAI7H,GAAM/L,KAAKwU,SACXzI,GAAM,GAAG4C,EAAQ6G,kBAAkBxV,KACvC,KAAK,GAAIX,GAAI,EAAGA,EAAI0M,IAAO1M,EACvBsP,EAAQgH,mBAAmB3V,KAAMX,EAErCW,MAAK4U,gBACL5U,KAAK0U,WAAW,GAChB1U,KAAKmW,aAAaxH,OACf,IAA+B,KAAd,SAAXiF,GACT5T,KAAKiW,SAAStH,EAAQyH,cACnB,IAA+B,KAAd,SAAXxC,GACT5T,KAAKkW,QAAQvH,EAAQ0H,eAClB,CACH,GAAI/D,GAAS,GAAIrC,GAAkB,6BACnCtB,GAAQyF,kBAAkB9B,GAC1BtS,KAAKkW,QAAQ5D,MAIrB/E,EAAQhO,UAAUuP,gBAClB,SAASwD,EAAQgE,EAAaC,GAC1B,GAAI/J,GAAQsB,EAAK0I,kBAAkBlE,GAC/BmE,EAAWjK,IAAU8F,CACzB,KAAKmE,IAAaF,GAA0B3F,EAAMe,WAAY,CAC1D,GAAI+E,GAAU,4CACV5I,EAAKC,YAAYuE,EACrBtS,MAAK4R,MAAM8E,GAAS,GAExB1W,KAAKoU,kBAAkB5H,IAAO8J,GAAcG,GAC5CzW,KAAKkW,QAAQ5D,IAGjB/E,EAAQhO,UAAU+O,qBAAuB,SAAUT,GAC/C,GAAIA,IAAaG,EAAjB,CACA,GAAIW,GAAU3O,IACdA,MAAK6S,qBACL7S,KAAK2W,cACL,IAAIL,IAAc,EACdM,EAAI5W,KAAK6W,SAAShJ,EAAU,SAASjM,GACrC+M,EAAQC,iBAAiBhN,IAC1B,SAAU0Q,GACT3D,EAAQG,gBAAgBwD,EAAQgE,IAEpCA,IAAc,EACdtW,KAAK8W,cAEK5S,SAAN0S,GACAjI,EAAQG,gBAAgB8H,GAAG,KAInCrJ,EAAQhO,UAAUwX,0BAA4B,SAC1CjL,EAAS2H,EAAU7R,EAAO+M,GAE1B,GAAIiF,GAAWjF,EAAQV,SACvB,IAA4B,KAAX,MAAX2F,GAAN,CACAjF,EAAQgI,cACR,IAAIK,EACAvD,KAAanD,EACR1O,GAAiC,gBAAjBA,GAAMa,OAKvBuU,EAAI9F,EAASpF,GAAS/L,MAAMC,KAAK8T,cAAelS,IAJhDoV,EAAI/F,EACJ+F,EAAE3P,EAAI,GAAIlG,GAAU,iCACI2M,EAAKC,YAAYnM,KAK7CoV,EAAI9F,EAASpF,GAAS7M,KAAKwU,EAAU7R,EAEzC,IAAIqV,GAAiBtI,EAAQmI,aAC7BlD,GAAWjF,EAAQV,UACS,KAAX,MAAX2F,KAEFoD,IAAMzG,EACN5B,EAAQuH,QAAQtU,GACToV,IAAM/F,EACbtC,EAAQG,gBAAgBkI,EAAE3P,GAAG,IAE7BuJ,EAAMsG,sBAAsBF,EAAGC,EAAgB,GAAKtI,EAAS3O,MAC7D2O,EAAQC,iBAAiBoI,OAIjCzJ,EAAQhO,UAAU6P,QAAU,WAExB,IADA,GAAIlC,GAAMlN,KACHkN,EAAIuH,gBAAgBvH,EAAMA,EAAIiK,WACrC,OAAOjK,IAGXK,EAAQhO,UAAU4X,UAAY,WAC1B,MAAOnX,MAAKmO,oBAGhBZ,EAAQhO,UAAU4W,aAAe,SAASxH,GACtC3O,KAAKmO,mBAAqBQ,GAG9BpB,EAAQhO,UAAU6X,eAAiB,SAASzI,EAAS7C,EAAS2H,EAAU7R,GACpE,GAAIyV,GAAY1I,YAAmBpB,GAC/BqG,EAAW5T,KAAKiO,UAChBqJ,EAA8C,KAAf,UAAX1D,EACI,MAAX,MAAXA,IACEyD,GAAW1I,EAAQ4I,0BAEnB9D,YAAoB5C,IACpB4C,EAAS+D,oBACT/D,EAASgE,cAAgB9I,EACrBuC,EAASpF,GAAS7M,KAAKwU,EAAU7R,KAAWqP,GAC5CtC,EAAQuH,QAAQjF,EAAS5J,IAEtByE,IAAYoD,EACnBP,EAAQsH,SAAS/G,EAAejQ,KAAKwU,IAC9BA,YAAoB9F,GAC3B8F,EAASiE,kBAAkB/I,GACpB0I,GAAa1I,YAAmB8B,GACvC9B,EAAQgJ,UAERlE,EAASmE,UAEa,kBAAZ9L,GACTuL,GAGGC,GAAiB3I,EAAQqE,sBAC7BhT,KAAK+W,0BAA0BjL,EAAS2H,EAAU7R,EAAO+M,IAHzD7C,EAAQ7M,KAAKwU,EAAU7R,EAAO+M,GAK3B8E,YAAoB9F,GACtB8F,EAASoE,gBACqB,KAAd,SAAXjE,GACFH,EAASqE,kBAAkBlW,EAAO+M,GAElC8E,EAASsE,iBAAiBnW,EAAO+M,IAGlC0I,IACHC,GAAiB3I,EAAQqE,sBACE,KAAd,SAAXY,GACFjF,EAAQsH,SAASrU,GAEjB+M,EAAQuH,QAAQtU,KAK5B2L,EAAQhO,UAAU4U,uCAAyC,SAAS6D,GAChE,GAAIlM,GAAUkM,EAAIlM,QACd6C,EAAUqJ,EAAIrJ,QACd8E,EAAWuE,EAAIvE,SACf7R,EAAQoW,EAAIpW,KACO,mBAAZkK,GACD6C,YAAmBpB,GAGrBvN,KAAK+W,0BAA0BjL,EAAS2H,EAAU7R,EAAO+M,GAFzD7C,EAAQ7M,KAAKwU,EAAU7R,EAAO+M,GAI3BA,YAAmBpB,IAC1BoB,EAAQuH,QAAQtU,IAIxB2L,EAAQhO,UAAU0U,kBAAoB,SAAS+D,GAC3ChY,KAAKoX,eAAeY,EAAIrJ,QAASqJ,EAAIlM,QAASkM,EAAIvE,SAAUuE,EAAIpW,QAGpE2L,EAAQhO,UAAU0Y,gBAAkB,SAASnM,EAASlK,EAAOgS,GACzD,GAAIjF,GAAU3O,KAAKoO,UACfqF,EAAWzT,KAAKkV,YAAY,EAChClV,MAAKoO,UAAYlK,OACjBlE,KAAKqO,WAAanK,OAClBlE,KAAKoX,eAAezI,EAAS7C,EAAS2H,EAAU7R,IAGpD2L,EAAQhO,UAAU2Y,0BAA4B,SAAS/C,GACnD,GAAIS,GAAe,EAART,EAAY,CACvBnV,MAAK4V,EAAO,GACZ5V,KAAK4V,EAAO,GACZ5V,KAAK4V,EAAO,GACZ5V,KAAK4V,EAAO,GAAK1R,QAGrBqJ,EAAQhO,UAAU0W,SAAW,SAAUrU,GACnC,GAAIgS,GAAW5T,KAAKiO,SACpB,OAAiB,UAAX2F,KAA0B,IAAhC,CACA,GAAIhS,IAAU5B,KAAM,CAChB,GAAI2H,GAAMsH,GAEV,OADAjP,MAAKoU,kBAAkBzM,GAChB3H,KAAKkW,QAAQvO,GAExB3H,KAAKmT,gBACLnT,KAAKmO,mBAAqBvM,GAEV,MAAXgS,GAAoB,IACW,KAAf,UAAXA,GACF5T,KAAKmY,kBAELrI,EAAMsI,eAAepY,SAKjCuN,EAAQhO,UAAU2W,QAAU,SAAU5D,GAClC,GAAIsB,GAAW5T,KAAKiO,SACpB,OAAiB,UAAX2F,KAA0B,IAIhC,MAHA5T,MAAK2U,eACL3U,KAAKkO,qBAAuBoE,EAExBtS,KAAK6U,WACE/E,EAAMuI,WAAW/F,EAAQxE,EAAK2B,cAGzB,MAAXmE,GAAoB,EACrB9D,EAAMsI,eAAepY,MAErBA,KAAKsY,oCAIb/K,EAAQhO,UAAUgZ,iBAAmB,SAAUxM,EAAKnK,GAChD,IAAK,GAAIvC,GAAI,EAAGA,EAAI0M,EAAK1M,IAAK,CAC1B,GAAIyM,GAAU9L,KAAKsV,sBAAsBjW,GACrCsP,EAAU3O,KAAKqV,WAAWhW,GAC1BoU,EAAWzT,KAAKkV,YAAY7V,EAChCW,MAAKkY,0BAA0B7Y,GAC/BW,KAAKoX,eAAezI,EAAS7C,EAAS2H,EAAU7R,KAIxD2L,EAAQhO,UAAUiZ,gBAAkB,SAAUzM,EAAKuG,GAC/C,IAAK,GAAIjT,GAAI,EAAGA,EAAI0M,EAAK1M,IAAK,CAC1B,GAAIyM,GAAU9L,KAAKuV,oBAAoBlW,GACnCsP,EAAU3O,KAAKqV,WAAWhW,GAC1BoU,EAAWzT,KAAKkV,YAAY7V,EAChCW,MAAKkY,0BAA0B7Y,GAC/BW,KAAKoX,eAAezI,EAAS7C,EAAS2H,EAAUnB,KAIxD/E,EAAQhO,UAAU4Y,gBAAkB,WAChC,GAAIvE,GAAW5T,KAAKiO,UAChBlC,EAAkB,MAAX6H,CAEX,IAAI7H,EAAM,EAAG,CACT,GAA+B,KAAd,SAAX6H,GAA6B,CAC/B,GAAItB,GAAStS,KAAKkO,oBAClBlO,MAAKiY,gBAAgBjY,KAAKmO,mBAAoBmE,EAAQsB,GACtD5T,KAAKwY,gBAAgBzM,EAAKuG,OACvB,CACH,GAAI1Q,GAAQ5B,KAAKmO,kBACjBnO,MAAKiY,gBAAgBjY,KAAKkO,qBAAsBtM,EAAOgS,GACvD5T,KAAKuY,iBAAiBxM,EAAKnK,GAE/B5B,KAAK0U,WAAW,GAEpB1U,KAAKyY,0BAGTlL,EAAQhO,UAAUmZ,cAAgB,WAC9B,GAAI9E,GAAW5T,KAAKiO,SACpB,OAA+B,MAAd,SAAX2F,GACK5T,KAAKmO,mBACsB,KAAd,SAAXyF,GACF5T,KAAKkO,qBADT,QAQXX,EAAQoL,MAAQpL,EAAQqL,QAAU,WAC9BhI,EAAMiI,WAAW,gBAAiB,cAClC,IAAIlK,GAAU,GAAIpB,GAAQS,EAC1B,QACIW,QAASA,EACTyE,QAAS3E,EACTc,OAAQV,IAIhBf,EAAK6B,kBAAkBpC,EACA,2BACA0B,GAEvBvQ,EAAQ,IAAY6O,EAASS,EAAUwC,EAAqBnB,EACxDuB,GACJlS,EAAQ,IAAU6O,EAASS,EAAUwC,EAAqBI,GAC1DlS,EAAQ,IAAY6O,EAASkD,EAAcpB,EAAcuB,GACzDlS,EAAQ,IAAoB6O,GAC5B7O,EAAQ,IAA4B6O,GACpC7O,EAAQ,IACJ6O,EAASkD,EAAcD,EAAqBxC,EAAU8B,EAAOd,GACjEzB,EAAQA,QAAUA,EAClBA,EAAQuL,QAAU,QAClBpa,EAAQ,IAAY6O,EAASkD,EAAcpB,EAAcmB,EAAqBxC,EAAU4C,GACxFlS,EAAQ,IAAiB6O,GACzB7O,EAAQ,IAAc6O,EAAS8B,EAAcmB,EAAqBG,EAAe3C,EAAU4C,GAC3FlS,EAAQ,IAAe6O,EAASS,EAAU4C,GAC1ClS,EAAQ,IAAmB6O,EAAS8B,EAAcrB,EAAUwC,EAAqB7C,EAAWiD,GAC5FlS,EAAQ,IAAgB6O,GACxB7O,EAAQ,IAAkB6O,EAASS,GACnCtP,EAAQ,IAAc6O,EAASkD,EAAcD,EAAqBnB,GAClE3Q,EAAQ,IAAa6O,EAASS,EAAUwC,EAAqBnB,GAC7D3Q,EAAQ,IAAe6O,EAASkD,EAAcpB,EAAcmB,EAAqBxC,EAAU4C,GAC3FlS,EAAQ,IAAe6O,EAASkD,EAAcG,GAC9ClS,EAAQ,IAAa6O,EAASkD,EAAcpB,GAC5C3Q,EAAQ,IAAe6O,EAASS,GAChCtP,EAAQ,IAAa6O,EAASS,GAC9BtP,EAAQ,IAAY6O,GAEhBO,EAAKiL,iBAAiBxL,GACtBO,EAAKiL,iBAAiBxL,EAAQhO,WAU9BwP,GAAWlP,EAAG,IACdkP,GAAWjP,EAAG,IACdiP,GAAW5P,EAAG,IACd4P,EAAU,GACVA,EAAU,cACVA,EAAU7K,QACV6K,GAAU,GACVA,EAAU,GAAIxB,GAAQS,IACtB4C,EAAMoI,UAAUnJ,EAAMoJ,eAAgBnL,EAAKoL,eACpC3L,KNk1BmBtO,KAAKJ,EAASH,EAAoB,KAI1D,SAAUI,EAAQD,GAEvB,YOjlDD,SAASsa,KACL,KAAM,IAAIrS,OAAM,mCAEpB,QAASsS,KACL,KAAM,IAAItS,OAAM,qCAsBpB,QAASuS,GAAWC,GAChB,GAAIC,IAAqBC,WAErB,MAAOA,YAAWF,EAAK,EAG3B,KAAKC,IAAqBJ,IAAqBI,IAAqBC,WAEhE,MADAD,GAAmBC,WACZA,WAAWF,EAAK,EAE3B,KAEI,MAAOC,GAAiBD,EAAK,GAC/B,MAAMjS,GACJ,IAEI,MAAOkS,GAAiBta,KAAK,KAAMqa,EAAK,GAC1C,MAAMjS,GAEJ,MAAOkS,GAAiBta,KAAKe,KAAMsZ,EAAK,KAMpD,QAASG,GAAgBC,GACrB,GAAIC,IAAuBC,aAEvB,MAAOA,cAAaF,EAGxB,KAAKC,IAAuBP,IAAwBO,IAAuBC,aAEvE,MADAD,GAAqBC,aACdA,aAAaF,EAExB,KAEI,MAAOC,GAAmBD,GAC5B,MAAOrS,GACL,IAEI,MAAOsS,GAAmB1a,KAAK,KAAMya,GACvC,MAAOrS,GAGL,MAAOsS,GAAmB1a,KAAKe,KAAM0Z,KAYjD,QAASG,KACAC,GAAaC,IAGlBD,GAAW,EACPC,EAAatX,OACbuX,EAAQD,EAAa9Z,OAAO+Z,GAE5BC,GAAa,EAEbD,EAAMvX,QACNyX,KAIR,QAASA,KACL,IAAIJ,EAAJ,CAGA,GAAIK,GAAUd,EAAWQ,EACzBC,IAAW,CAGX,KADA,GAAI/N,GAAMiO,EAAMvX,OACVsJ,GAAK,CAGP,IAFAgO,EAAeC,EACfA,OACSC,EAAalO,GACdgO,GACAA,EAAaE,GAAYG,KAGjCH,IAAa,EACblO,EAAMiO,EAAMvX,OAEhBsX,EAAe,KACfD,GAAW,EACXL,EAAgBU,IAiBpB,QAASE,GAAKf,EAAKgB,GACfta,KAAKsZ,IAAMA,EACXtZ,KAAKsa,MAAQA,EAYjB,QAASC,MAhKT,GAOIhB,GACAI,EARAjM,EAAU5O,EAAOD,YAgBpB,WACG,IAEQ0a,EADsB,kBAAfC,YACYA,WAEAL,EAEzB,MAAO9R,GACLkS,EAAmBJ,EAEvB,IAEQQ,EADwB,kBAAjBC,cACcA,aAEAR,EAE3B,MAAO/R,GACLsS,EAAqBP,KAuD7B,IAEIW,GAFAC,KACAF,GAAW,EAEXG,GAAa,CAyCjBvM,GAAQ8M,SAAW,SAAUlB,GACzB,GAAI5Z,GAAO,GAAI8F,OAAMvB,UAAUxB,OAAS,EACxC,IAAIwB,UAAUxB,OAAS,EACnB,IAAK,GAAIpD,GAAI,EAAGA,EAAI4E,UAAUxB,OAAQpD,IAClCK,EAAKL,EAAI,GAAK4E,UAAU5E,EAGhC2a,GAAM3N,KAAK,GAAIgO,GAAKf,EAAK5Z,IACJ,IAAjBsa,EAAMvX,QAAiBqX,GACvBT,EAAWa,IASnBG,EAAK9a,UAAU6a,IAAM,WACjBpa,KAAKsZ,IAAIvZ,MAAM,KAAMC,KAAKsa,QAE9B5M,EAAQ+M,MAAQ,UAChB/M,EAAQgN,SAAU,EAClBhN,EAAQiN,OACRjN,EAAQkN,QACRlN,EAAQoL,QAAU,GAClBpL,EAAQmN,YAIRnN,EAAQjB,GAAK8N,EACb7M,EAAQxB,YAAcqO,EACtB7M,EAAQhB,KAAO6N,EACf7M,EAAQoN,IAAMP,EACd7M,EAAQd,eAAiB2N,EACzB7M,EAAQT,mBAAqBsN,EAC7B7M,EAAQ/B,KAAO4O,EACf7M,EAAQqN,gBAAkBR,EAC1B7M,EAAQsN,oBAAsBT,EAE9B7M,EAAQ1B,UAAY,SAAUiP,GAAQ,UAEtCvN,EAAQwN,QAAU,SAAUD,GACxB,KAAM,IAAInU,OAAM,qCAGpB4G,EAAQyN,IAAM,WAAc,MAAO,KACnCzN,EAAQ0N,MAAQ,SAAUC,GACtB,KAAM,IAAIvU,OAAM,mCAEpB4G,EAAQ4N,MAAQ,WAAa,MAAO,KPmmD9B,SAAUxc,EAAQD,EAASH,IQ1xDjC,SAAAwB,EAAAwN,GAAA,YAWA,SAAS6N,KACL,IACI,GAAIhZ,GAASiZ,CAEb,OADAA,GAAiB,KACVjZ,EAAOxC,MAAMC,KAAMiE,WAC5B,MAAOoD,GAEL,MADA4J,GAAS5J,EAAIA,EACN4J,GAGf,QAASC,GAAStR,GAEd,MADA4b,GAAiB5b,EACV2b,EAuBX,QAASE,GAAY/I,GACjB,MAAc,OAAPA,GAAeA,KAAQ,GAAQA,KAAQ,GAC3B,gBAARA,IAAmC,gBAARA,GAI1C,QAASrH,GAASzJ,GACd,MAAwB,kBAAVA,IACU,YAAjB,mBAAOA,GAAP,YAAAM,EAAON,KAAgC,OAAVA,EAGxC,QAAS8Z,GAAiBC,GACtB,MAAKF,GAAYE,GAEV,GAAI7U,OAAM8U,EAAaD,IAFOA,EAKzC,QAASE,GAAatZ,EAAQuZ,GAC1B,GAEIzc,GAFA0M,EAAMxJ,EAAOE,OACbyK,EAAM,GAAI1H,OAAMuG,EAAM,EAE1B,KAAK1M,EAAI,EAAGA,EAAI0M,IAAO1M,EACnB6N,EAAI7N,GAAKkD,EAAOlD,EAGpB,OADA6N,GAAI7N,GAAKyc,EACF5O,EAGX,QAAS6O,GAAyBlb,EAAK+B,EAAKoZ,GACxC,IAAIpM,EAAIqM,MASJ,SAAUzc,eAAeP,KAAK4B,EAAK+B,GAAO/B,EAAI+B,GAAOsB,MARrD,IAAIgY,GAAO5c,OAAO6c,yBAAyBtb,EAAK+B,EAEhD,OAAY,OAARsZ,EACmB,MAAZA,EAAKE,KAA2B,MAAZF,EAAK9T,IACtB8T,EAAKta,MACLoa,EAHd,OAUR,QAASrM,GAAkB9O,EAAKoa,EAAMrZ,GAClC,GAAI6Z,EAAY5a,GAAM,MAAOA,EAC7B,IAAI6B,IACAd,MAAOA,EACPG,cAAc,EACdF,YAAY,EACZC,UAAU,EAGd,OADA8N,GAAIjN,eAAe9B,EAAKoa,EAAMvY,GACvB7B,EAGX,QAASwb,GAAQzF,GACb,KAAMA,GAsEV,QAAS0F,GAAQ1c,GACb,IACI,GAAkB,kBAAPA,GAAmB,CAC1B,GAAI2c,GAAO3M,EAAI4M,MAAM5c,EAAGL,WAEpBkd,EAAa7M,EAAIqM,OAASM,EAAK9Z,OAAS,EACxCia,EAAiCH,EAAK9Z,OAAS,KAC7B,IAAhB8Z,EAAK9Z,QAA4B,gBAAZ8Z,EAAK,IAC5BI,EACAC,EAAsBC,KAAKjd,EAAK,KAAOgQ,EAAI4M,MAAM5c,GAAI6C,OAAS,CAElE,IAAIga,GAAcC,GACdC,EACA,OAAO,EAGf,OAAO,EACT,MAAOtV,GACL,OAAO,GAIf,QAAS0R,GAAiBlY,GAEtB,QAASic,MACTA,EAAgBvd,UAAYsB,CAE5B,KADA,GAAIkc,GAAI,EACDA,KAAK,GAAID,EAChB,OAAOjc,GAKX,QAASmc,GAAaC,GAClB,MAAOC,GAAOL,KAAKI,GAGvB,QAASE,GAAYC,EAAOC,EAAQC,GAEhC,IAAI,GADApQ,GAAM,GAAI1H,OAAM4X,GACZ/d,EAAI,EAAGA,EAAI+d,IAAS/d,EACxB6N,EAAI7N,GAAKge,EAAShe,EAAIie,CAE1B,OAAOpQ,GAGX,QAAS0O,GAAa/a,GAClB,IACI,MAAOA,GAAM,GACf,MAAOwG,GACL,MAAO,8BAIf,QAASkW,GAAQ1c,GACb,MAAOA,aAAeiG,QACT,OAARjG,GACiB,YAAf,mBAAOA,GAAP,YAAAqB,EAAOrB,KACgB,gBAAhBA,GAAI6V,SACS,gBAAb7V,GAAIoa,KAGtB,QAASuC,GAA+BnW,GACpC,IACIsI,EAAkBtI,EAAG,iBAAiB,GAE1C,MAAMwD,KAGV,QAAS0H,GAAwBlL,GAC7B,MAAS,OAALA,IACKA,YAAaP,OAAA,uBAAgCqJ,kBAClD9I,EAAA,iBAAuB,GAG/B,QAASoW,GAAe5c,GACpB,MAAO0c,GAAQ1c,IAAQ+O,EAAI8N,mBAAmB7c,EAAK,SAkBvD,QAASkN,GAAYlN,GACjB,SAAU4J,SAASxL,KAAK4B,GAG5B,QAAS8c,GAAgBC,EAAMC,EAAIC,GAE/B,IAAK,GADDvB,GAAO3M,EAAI4M,MAAMoB,GACZve,EAAI,EAAGA,EAAIkd,EAAK9Z,SAAUpD,EAAG,CAClC,GAAIuD,GAAM2Z,EAAKld,EACf,IAAIye,EAAOlb,GACP,IACIgN,EAAIjN,eAAekb,EAAIjb,EAAKgN,EAAImO,cAAcH,EAAMhb,IACtD,MAAOiI,MAyCrB,QAAS8P,GAAI/X,GACT,MAAOob,GAAkBtQ,EAAQiN,IAAI/X,GAAOsB,OAGhD,QAAS+Z,KACL,GAAuB,kBAAZ1Q,SACP,IACI,GAAIoB,GAAU,GAAIpB,SAAQ,aAC1B,IAAkC,wBAA3B9C,SAASxL,KAAK0P,GACjB,MAAOpB,SAEb,MAAOlG,KAIjB,QAASiN,GAAWjT,EAAM6F,GACtB,MAAO7F,GAAK4E,KAAKiB,GRk9CpB,GAAIhF,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,IQ7xDnQ+O,EAAMlR,EAAQ,GACdwf,EAAkC,mBAAbC,WAErBlN,GAAY5J,MACZmU,EACA4C,EAA+B,mBAAT/c,MAAuBA,KAC3B,mBAAXV,QAAyBA,OACd,mBAAXT,GAAyBA,EACJ,KAiB5Bme,EAAW,SAASC,EAAOC,GAG3B,QAASC,KACLxe,KAAK2B,YAAc2c,EACnBte,KAAKye,aAAeF,CACpB,KAAK,GAAIG,KAAgBH,GAAOhf,UACxBof,EAAQ1f,KAAKsf,EAAOhf,UAAWmf,IACgB,MAA/CA,EAAaE,OAAOF,EAAajc,OAAO,KAExCzC,KAAK0e,EAAe,KAAOH,EAAOhf,UAAUmf,IATxD,GAAIC,MAAanf,cAejB,OAFAgf,GAAEjf,UAAYgf,EAAOhf,UACrB+e,EAAM/e,UAAY,GAAIif,GACfF,EAAM/e,WA8Dbsf,EAAqB,WACrB,GAAIC,IACAtZ,MAAMjG,UACND,OAAOC,UACPwf,SAASxf,WAGTyf,EAAkB,SAAStM,GAC3B,IAAK,GAAIrT,GAAI,EAAGA,EAAIyf,EAAmBrc,SAAUpD,EAC7C,GAAIyf,EAAmBzf,KAAOqT,EAC1B,OAAO,CAGf,QAAO,EAGX,IAAI9C,EAAIqM,MAAO,CACX,GAAIgD,GAAU3f,OAAO4f,mBACrB,OAAO,UAASre,GAGZ,IAFA,GAAIqM,MACAiS,EAAc7f,OAAOoC,OAAO,MAClB,MAAPb,IAAgBme,EAAgBne,IAAM,CACzC,GAAI0b,EACJ,KACIA,EAAO0C,EAAQpe,GACjB,MAAOwG,GACL,MAAO6F,GAEX,IAAK,GAAI7N,GAAI,EAAGA,EAAIkd,EAAK9Z,SAAUpD,EAAG,CAClC,GAAIuD,GAAM2Z,EAAKld,EACf,KAAI8f,EAAYvc,GAAhB,CACAuc,EAAYvc,IAAO,CACnB,IAAIsZ,GAAO5c,OAAO6c,yBAAyBtb,EAAK+B,EACpC,OAARsZ,GAA4B,MAAZA,EAAKE,KAA2B,MAAZF,EAAK9T,KACzC8E,EAAIb,KAAKzJ,IAGjB/B,EAAM+O,EAAIxL,eAAevD,GAE7B,MAAOqM,IAGX,GAAIyR,MAAanf,cACjB,OAAO,UAASqB,GACZ,GAAIme,EAAgBne,GAAM,QAC1B,IAAIqM,KAGJkS,GAAa,IAAK,GAAIxc,KAAO/B,GACzB,GAAI8d,EAAQ1f,KAAK4B,EAAK+B,GAClBsK,EAAIb,KAAKzJ,OACN,CACH,IAAK,GAAIvD,GAAI,EAAGA,EAAIyf,EAAmBrc,SAAUpD,EAC7C,GAAIsf,EAAQ1f,KAAK6f,EAAmBzf,GAAIuD,GACpC,QAASwc,EAGjBlS,GAAIb,KAAKzJ,GAGjB,MAAOsK,OAMf0P,EAAwB,sBAiCxBM,EAAS,wBA8CT1G,EAAqB,WACrB,MAAM,SAAW,IAAI1P,OAOV,SAASlF,GACZ,MAAI6b,GAAe7b,GAAeA,EAC3B,GAAIkF,OAAM8U,EAAaha,KAR3B,SAASA,GACZ,GAAI6b,EAAe7b,GAAQ,MAAOA,EAClC,KAAK,KAAM,IAAIkF,OAAM8U,EAAaha,IAClC,MAAM+F,GAAM,MAAOA,QA0B3B0X,EAAU,SAAS3Q,GACnB,MAAIkB,GAAI0P,QAAQ5Q,GACLA,EAEJ,KAGX,IAAsB,mBAAXvM,SAA0BA,OAAOC,SAAU,CAClD,GAAImd,GAAkC,kBAAf/Z,OAAMoY,KAAsB,SAASlP,GACxD,MAAOlJ,OAAMoY,KAAKlP,IAClB,SAASA,GAIT,IAHA,GAEI8Q,GAFAtS,KACAuS,EAAK/Q,EAAEvM,OAAOC,cAERod,EAAWC,EAAGC,QAAQ7N,MAC5B3E,EAAIb,KAAKmT,EAAS5d,MAEtB,OAAOsL,GAGXmS,GAAU,SAAS3Q,GACf,MAAIkB,GAAI0P,QAAQ5Q,GACLA,EACK,MAALA,GAA2C,kBAAvBA,GAAEvM,OAAOC,UAC7Bmd,EAAU7Q,GAEd,MAIf,GAAIe,GAA4B,mBAAZ/B,IAC2B,qBAAvCK,EAAYL,GAASiS,cAEzB3B,EAAqC,mBAAZtQ,IACF,mBAAhBA,GAAQiN,IAqBfzN,GACAoP,QAASA,EACTU,aAAcA,EACd6B,kBAAmBA,EACnB9C,yBAA0BA,EAC1BM,QAASA,EACTiD,QAAS1P,EAAI0P,QACbD,QAASA,EACT1P,kBAAmBA,EACnB8L,YAAaA,EACbpQ,SAAUA,EACVkS,QAASA,EACTW,YAAaA,EACbjN,SAAUA,EACVC,SAAUA,EACVmN,SAAUA,EACVxC,aAAcA,EACdH,iBAAkBA,EAClB3C,iBAAkBA,EAClBoE,YAAaA,EACb1S,SAAUmR,EACV6B,eAAgBA,EAChBjH,kBAAmBA,EACnBjE,wBAAyBA,EACzBiL,+BAAgCA,EAChCzP,YAAaA,EACb4P,gBAAiBA,EACjBiC,YAA+B,mBAAXC,SAA0BA,QACL,kBAArBA,QAAOC,UAC3BrQ,OAAQA,EACRuO,gBAAiBA,EACjBrD,IAAKA,EACLza,OAAQke,EACRH,iBAAkBA,EAClB3J,WAAYA,EAEhBpH,GAAI6S,aAAe7S,EAAIuC,QAAW,WAC9B,GAAIqJ,GAAUpL,EAAQmN,SAASmF,KAAKC,MAAM,KAAK5a,IAAI6a,OACnD,OAAuB,KAAfpH,EAAQ,IAAYA,EAAQ,GAAK,IAAQA,EAAQ,GAAK,KAG9D5L,EAAIuC,QAAQvC,EAAI6L,iBAAiBrL,EAErC,KAAK,KAAM,IAAI5G,OAAW,MAAOO,GAAI6F,EAAIgM,cAAgB7R,EACzDvI,EAAOD,QAAUqO,IR4wDajO,KAAKJ,EAAU,WAAa,MAAOmB,SAAYtB,EAAoB,KAI3F,SAAUI,EAAQD,GAEvB,YS7oED,IAAIod,GAAS,WAET,MAAgB/X,UAATlE,OAGX,IAAIic,EACAnd,EAAOD,SACHshB,OAAQ7gB,OAAO6gB,OACfxd,eAAgBrD,OAAOqD,eACvBob,cAAeze,OAAO6c,yBACtBI,KAAMjd,OAAOid,KACbC,MAAOld,OAAO4f,oBACd9a,eAAgB9E,OAAO8E,eACvBkb,QAAS9Z,MAAM8Z,QACfrD,MAAOA,EACPyB,mBAAoB,SAAS7c,EAAKuf,GAC9B,GAAI1d,GAAapD,OAAO6c,yBAAyBtb,EAAKuf,EACtD,SAAW1d,IAAcA,EAAWZ,WAAYY,EAAW0F,WAGhE,CACH,GAAIiY,MAAS7gB,eACTyd,KAASxS,SACT6V,KAAW3e,YAAYpC,UAEvBghB,EAAa,SAAUC;AACvB,GAAItT,KACJ,KAAK,GAAItK,KAAO4d,GACRH,EAAIphB,KAAKuhB,EAAG5d,IACZsK,EAAIb,KAAKzJ,EAGjB,OAAOsK,IAGPuT,EAAsB,SAASD,EAAG5d,GAClC,OAAQhB,MAAO4e,EAAE5d,KAGjB8d,EAAuB,SAAUF,EAAG5d,EAAKsZ,GAEzC,MADAsE,GAAE5d,GAAOsZ,EAAKta,MACP4e,GAGPG,EAAe,SAAU9f,GACzB,MAAOA,IAGP+f,EAAuB,SAAU/f,GACjC,IACI,MAAOvB,QAAOuB,GAAKc,YAAYpC,UAEnC,MAAO8H,GACH,MAAOiZ,KAIXO,EAAe,SAAUhgB,GACzB,IACI,MAAyB,mBAAlBoc,EAAIhe,KAAK4B,GAEpB,MAAMwG,GACF,OAAO,GAIfvI,GAAOD,SACHygB,QAASuB,EACTtE,KAAMgE,EACN/D,MAAO+D,EACP5d,eAAgB+d,EAChB3C,cAAe0C,EACfN,OAAQQ,EACRvc,eAAgBwc,EAChB3E,MAAOA,EACPyB,mBAAoB,WAChB,OAAO,MTqpEb,SAAU5e,EAAQD,EAASH,IUjuEjC,SAAAgP,GAAA,YAOA,SAASmC,KACL7P,KAAK8gB,kBAAmB,EACxB9gB,KAAK+gB,aAAc,EACnB/gB,KAAKghB,WAAa,GAAIC,GAAM,IAC5BjhB,KAAKkhB,aAAe,GAAID,GAAM,IAC9BjhB,KAAKmhB,oBAAqB,EAC1BnhB,KAAKohB,oBAAqB,CAC1B,IAAI/f,GAAOrB,IACXA,MAAKqhB,YAAc,WACfhgB,EAAKigB,gBAETthB,KAAKuhB,UAAYC,EAyDrB,QAASC,GAAiB7hB,EAAI6T,EAAUtI,GACpCnL,KAAKghB,WAAW3U,KAAKzM,EAAI6T,EAAUtI,GACnCnL,KAAK0hB,aAGT,QAASC,GAAY/hB,EAAI6T,EAAUtI,GAC/BnL,KAAKkhB,aAAa7U,KAAKzM,EAAI6T,EAAUtI,GACrCnL,KAAK0hB,aAGT,QAASE,GAAoBjT,GACzB3O,KAAKkhB,aAAaW,SAASlT,GAC3B3O,KAAK0hB,aAtFT,GAAIzI,EACJ,KAAK,KAAM,IAAInS,OAAW,MAAOO,GAAI4R,EAAiB5R,EACtD,GAAIma,GAAW9iB,EAAQ,GACnBuiB,EAAQviB,EAAQ,IAChBoP,EAAOpP,EAAQ,EAgBnBmR,GAAMtQ,UAAUgU,aAAe,SAAS3T,GACpC,GAAIkiB,GAAO9hB,KAAKuhB,SAGhB,OAFAvhB,MAAKuhB,UAAY3hB,EACjBI,KAAK8gB,kBAAmB,EACjBgB,GAGXjS,EAAMtQ,UAAU0V,mBAAqB,WACjC,MAAOjV,MAAK8gB,kBAGhBjR,EAAMtQ,UAAUwiB,iBAAmB,WAC/B/hB,KAAKohB,oBAAqB,GAG9BvR,EAAMtQ,UAAUyiB,6BAA+B,WACvClU,EAAK8R,cACL5f,KAAKohB,oBAAqB,IAIlCvR,EAAMtQ,UAAU0iB,gBAAkB,WAC9B,MAAOjiB,MAAK+gB,aAAe/gB,KAAKmhB,oBAIpCtR,EAAMtQ,UAAU8Y,WAAa,SAAShR,EAAGoI,GACjCA,GACA/B,EAAQwU,OAAOC,MAAM,UAAY9a,YAAaP,OAAQO,EAAE+a,MAAQ/a,GAC5D,MACJqG,EAAQ2U,KAAK,IAEbriB,KAAKsiB,WAAWjb,IAIxBwI,EAAMtQ,UAAU+iB,WAAa,SAAS1iB,EAAIuL,GAKtC,GAJyB,IAArBlH,UAAUxB,SACV0I,EAAMvL,EACNA,EAAK,WAAc,KAAMuL,KAEH,mBAAfqO,YACPA,WAAW,WACP5Z,EAAGuL,IACJ,OACA,KACHnL,KAAKuhB,UAAU,WACX3hB,EAAGuL,KAET,MAAO9D,GACL,KAAM,IAAIP,OAAM,oEAmBnBgH,EAAK8R,aAKN/P,EAAMtQ,UAAUgjB,YAAc,SAAU3iB,EAAI6T,EAAUtI,GAC9CnL,KAAKohB,mBACLK,EAAiBxiB,KAAKe,KAAMJ,EAAI6T,EAAUtI,GAE1CnL,KAAKuhB,UAAU,WACX/H,WAAW,WACP5Z,EAAGX,KAAKwU,EAAUtI,IACnB,QAKf0E,EAAMtQ,UAAU8U,OAAS,SAAUzU,EAAI6T,EAAUtI,GACzCnL,KAAKohB,mBACLO,EAAY1iB,KAAKe,KAAMJ,EAAI6T,EAAUtI,GAErCnL,KAAKuhB,UAAU,WACX3hB,EAAGX,KAAKwU,EAAUtI,MAK9B0E,EAAMtQ,UAAU6Y,eAAiB,SAASzJ,GAClC3O,KAAKohB,mBACLQ,EAAoB3iB,KAAKe,KAAM2O,GAE/B3O,KAAKuhB,UAAU,WACX5S,EAAQwJ,uBA/BpBtI,EAAMtQ,UAAUgjB,YAAcd,EAC9B5R,EAAMtQ,UAAU8U,OAASsN,EACzB9R,EAAMtQ,UAAU6Y,eAAiBwJ,GAmCrC/R,EAAMtQ,UAAUijB,YAAc,SAASxI,GACnC,KAAOA,EAAMvX,SAAW,GAAG,CACvB,GAAI7C,GAAKoa,EAAMyI,OACf,IAAkB,kBAAP7iB,GAAX,CAIA,GAAI6T,GAAWuG,EAAMyI,QACjBtX,EAAM6O,EAAMyI,OAChB7iB,GAAGX,KAAKwU,EAAUtI,OALdvL,GAAGuY,oBASftI,EAAMtQ,UAAU+hB,aAAe,WAC3BthB,KAAKwiB,YAAYxiB,KAAKkhB,cACtBlhB,KAAK0iB,SACL1iB,KAAKmhB,oBAAqB,EAC1BnhB,KAAKwiB,YAAYxiB,KAAKghB,aAG1BnR,EAAMtQ,UAAUmiB,WAAa,WACpB1hB,KAAK+gB,cACN/gB,KAAK+gB,aAAc,EACnB/gB,KAAKuhB,UAAUvhB,KAAKqhB,eAI5BxR,EAAMtQ,UAAUmjB,OAAS,WACrB1iB,KAAK+gB,aAAc,GAGvBjiB,EAAOD,QAAUgR,EACjB/Q,EAAOD,QAAQoa,eAAiBA,IVyuEFha,KAAKJ,EAASH,EAAoB,KAI1D,SAAUI,EAAQD,EAASH,IW74EjC,SAAAwB,EAAAwN,EAAAiV,GAAA,YACA,IACInB,GADA1T,EAAOpP,EAAQ,GAEfkkB,EAAmB,WACnB,KAAM,IAAI9b,OAAM,mEAEhB+b,EAAgB/U,EAAKmQ,kBACzB,IAAInQ,EAAK2B,QAAsC,mBAArBqT,kBAAkC,CACxD,GAAIC,GAAqB7iB,EAAOyiB,aAC5BK,EAAkBtV,EAAQ8M,QAC9BgH,GAAW1T,EAAKiS,aACF,SAASngB,GAAMmjB,EAAmB9jB,KAAKiB,EAAQN,IAC/C,SAASA,GAAMojB,EAAgB/jB,KAAKyO,EAAS9N,QACxD,IAA6B,kBAAlBijB,IAC0B,kBAA1BA,GAAczP,QAAwB,CACpD,GAAI6P,GAAgBJ,EAAczP,SAClCoO,GAAW,SAAS5hB,GAChBqjB,EAAcxb,KAAK7H,QAiCvB4hB,GA/BoC,mBAArBsB,mBACW,mBAAXniB,SACPA,OAAOwd,YACNxd,OAAOwd,UAAU+E,YAAcviB,OAAOwiB,SA2BhB,mBAAjBR,GACH,SAAU/iB,GACjB+iB,EAAa/iB,IAEY,mBAAf4Z,YACH,SAAU5Z,GACjB4Z,WAAW5Z,EAAI,IAGRgjB,EAnCC,WACR,GAAIQ,GAAMC,SAASC,cAAc,OAC7BC,GAAQC,YAAY,GACpBC,GAAkB,EAClBC,EAAOL,SAASC,cAAc,OAC9BK,EAAK,GAAIb,kBAAiB,WAC1BM,EAAIQ,UAAUC,OAAO,OACrBJ,GAAkB,GAEtBE,GAAGG,QAAQJ,EAAMH,EAEjB,IAAIQ,GAAiB,WACbN,IACJA,GAAkB,EAClBC,EAAKE,UAAUC,OAAO,QAG1B,OAAO,UAAkBjkB,GACrB,GAAI4gB,GAAI,GAAIsC,kBAAiB,WACzBtC,EAAEwD,aACFpkB,KAEJ4gB,GAAEsD,QAAQV,EAAKG,GACfQ,OAcZjlB,GAAOD,QAAU2iB,IX+4EaviB,KAAKJ,EAAU,WAAa,MAAOmB,SAAYtB,EAAoB,GAAIA,EAAoB,IAAIikB,eAIvH,SAAU7jB,EAAQD,EAASH,GAEhC,YYh8ED,SAASulB,GAAQllB,EAAImlB,GACnBlkB,KAAKmkB,IAAMplB,EACXiB,KAAKokB,SAAWF,EAnBlB,GAAInkB,GAAQgf,SAASxf,UAAUQ,KAI/BlB,GAAQ2a,WAAa,WACnB,MAAO,IAAIyK,GAAQlkB,EAAMd,KAAKua,WAAY7Y,OAAQsD,WAAY2V,eAEhE/a,EAAQwlB,YAAc,WACpB,MAAO,IAAIJ,GAAQlkB,EAAMd,KAAKolB,YAAa1jB,OAAQsD,WAAYqgB,gBAEjEzlB,EAAQ+a,aACR/a,EAAQylB,cAAgB,SAASnK,GAC3BA,GACFA,EAAQoK,SAQZN,EAAQ1kB,UAAUilB,MAAQP,EAAQ1kB,UAAUklB,IAAM,aAClDR,EAAQ1kB,UAAUglB,MAAQ,WACxBvkB,KAAKokB,SAASnlB,KAAK0B,OAAQX,KAAKmkB,MAIlCtlB,EAAQ6lB,OAAS,SAASpT,EAAMqT,GAC9B/K,aAAatI,EAAKsT,gBAClBtT,EAAKuT,aAAeF,GAGtB9lB,EAAQimB,SAAW,SAASxT,GAC1BsI,aAAatI,EAAKsT,gBAClBtT,EAAKuT,cAAe,GAGtBhmB,EAAQkmB,aAAelmB,EAAQmmB,OAAS,SAAS1T,GAC/CsI,aAAatI,EAAKsT,eAElB,IAAID,GAAQrT,EAAKuT,YACbF,IAAS,IACXrT,EAAKsT,eAAiBpL,WAAW,WAC3BlI,EAAK2T,YACP3T,EAAK2T,cACNN,KAKPjmB,EAAQ,IACRG,EAAQ8jB,aAAeA,aACvB9jB,EAAQqmB,eAAiBA,gBZq9EnB,SAAUpmB,EAAQD,EAASH,IAEJ,SAASwB,EAAQwN,GAAU,ca3gFvD,SAAUxN,EAAQgE,GAaf,QAASye,GAAaxd,GAEI,kBAAbA,KACTA,EAAW,GAAI4Z,UAAS,GAAK5Z,GAI/B,KAAK,GADDzF,GAAO,GAAI8F,OAAMvB,UAAUxB,OAAS,GAC/BpD,EAAI,EAAGA,EAAIK,EAAK+C,OAAQpD,IAC7BK,EAAKL,GAAK4E,UAAU5E,EAAI,EAG5B,IAAI8lB,IAAShgB,SAAUA,EAAUzF,KAAMA,EAGvC,OAFA0lB,GAAcC,GAAcF,EAC5BG,EAAkBD,GACXA,IAGT,QAASH,GAAeK,SACbH,GAAcG,GAGzB,QAASnL,GAAI+K,GACT,GAAIhgB,GAAWggB,EAAKhgB,SAChBzF,EAAOylB,EAAKzlB,IAChB,QAAQA,EAAK+C,QACb,IAAK,GACD0C,GACA,MACJ,KAAK,GACDA,EAASzF,EAAK,GACd,MACJ,KAAK,GACDyF,EAASzF,EAAK,GAAIA,EAAK,GACvB,MACJ,KAAK,GACDyF,EAASzF,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAChC,MACJ,SACIyF,EAASpF,MAAMmE,EAAWxE,IAKlC,QAAS8lB,GAAaD,GAGlB,GAAIE,EAGAjM,WAAWgM,EAAc,EAAGD,OACzB,CACH,GAAIJ,GAAOC,EAAcG,EACzB,IAAIJ,EAAM,CACNM,GAAwB,CACxB,KACIrL,EAAI+K,GADR,QAGID,EAAeK,GACfE,GAAwB,KAMxC,QAASC,KACLJ,EAAoB,SAASC,GACzB7X,EAAQ8M,SAAS,WAAcgL,EAAaD,MAIpD,QAASI,KAGL,GAAIzlB,EAAO0lB,cAAgB1lB,EAAO2lB,cAAe,CAC7C,GAAIC,IAA4B,EAC5BC,EAAe7lB,EAAO8lB,SAM1B,OALA9lB,GAAO8lB,UAAY,WACfF,GAA4B,GAEhC5lB,EAAO0lB,YAAY,GAAI,KACvB1lB,EAAO8lB,UAAYD,EACZD,GAIf,QAASG,KAKL,GAAIC,GAAgB,gBAAkB/e,KAAKC,SAAW,IAClD+e,EAAkB,SAASC,GACvBA,EAAMC,SAAWnmB,GACK,gBAAfkmB,GAAMnf,MACyB,IAAtCmf,EAAMnf,KAAKqf,QAAQJ,IACnBV,GAAcY,EAAMnf,KAAKtH,MAAMumB,EAAczjB,SAIjDvC,GAAOqmB,iBACPrmB,EAAOqmB,iBAAiB,UAAWJ,GAAiB,GAEpDjmB,EAAOsmB,YAAY,YAAaL,GAGpCb,EAAoB,SAASC,GACzBrlB,EAAO0lB,YAAYM,EAAgBX,EAAQ,MAInD,QAASkB,KACL,GAAIC,GAAU,GAAIC,eAClBD,GAAQE,MAAMZ,UAAY,SAASI,GAC/B,GAAIb,GAASa,EAAMnf,IACnBue,GAAaD,IAGjBD,EAAoB,SAASC,GACzBmB,EAAQG,MAAMjB,YAAYL,IAIlC,QAASuB,KACL,GAAIC,GAAOC,EAAIC,eACf3B,GAAoB,SAASC,GAGzB,GAAI2B,GAASF,EAAI1D,cAAc,SAC/B4D,GAAOC,mBAAqB,WACxB3B,EAAaD,GACb2B,EAAOC,mBAAqB,KAC5BJ,EAAKK,YAAYF,GACjBA,EAAS,MAEbH,EAAKM,YAAYH,IAIzB,QAASI,KACLhC,EAAoB,SAASC,GACzB/L,WAAWgM,EAAc,EAAGD,IAtJpC,IAAIrlB,EAAOyiB,aAAX,CAIA,GAII2C,GAJAD,EAAa,EACbD,KACAK,GAAwB,EACxBuB,EAAM9mB,EAAOmjB,SAoJbkE,EAAWjoB,OAAO8E,gBAAkB9E,OAAO8E,eAAelE,EAC9DqnB,GAAWA,GAAYA,EAAS/N,WAAa+N,EAAWrnB,EAGf,wBAAlCuK,SAASxL,KAAKiB,EAAOwN,SAExBgY,IAEOC,IAEPM,IAEO/lB,EAAOymB,eAEdF,IAEOO,GAAO,sBAAwBA,GAAI1D,cAAc,UAExDwD,IAIAQ,IAGJC,EAAS5E,aAAeA,EACxB4E,EAASrC,eAAiBA,IACZ,mBAAT7jB,MAAyC,mBAAXnB,GAAPgE,OAAuChE,EAASmB,Qb0gFlDpC,KAAKJ,EAAU,WAAa,MAAOmB,SAAYtB,EAAoB,KAI3F,SAAUI,EAAQD,GcvsFxB,YACA,SAAS2oB,GAAUC,EAAKC,EAAUC,EAAKC,EAAU7b,GAC7C,IAAK,GAAIsF,GAAI,EAAGA,EAAItF,IAAOsF,EACvBsW,EAAItW,EAAIuW,GAAYH,EAAIpW,EAAIqW,GAC5BD,EAAIpW,EAAIqW,GAAY,OAI5B,QAASzG,GAAM4G,GACX7nB,KAAK8nB,UAAYD,EACjB7nB,KAAKwU,QAAU,EACfxU,KAAK+nB,OAAS,EAGlB9G,EAAM1hB,UAAUyoB,oBAAsB,SAAUC,GAC5C,MAAOjoB,MAAK8nB,UAAYG,GAG5BhH,EAAM1hB,UAAUsiB,SAAW,SAAU1W,GACjC,GAAI1I,GAASzC,KAAKyC,QAClBzC,MAAKkoB,eAAezlB,EAAS,EAC7B,IAAIpD,GAAKW,KAAK+nB,OAAStlB,EAAWzC,KAAK8nB,UAAY,CACnD9nB,MAAKX,GAAK8L,EACVnL,KAAKwU,QAAU/R,EAAS,GAG5Bwe,EAAM1hB,UAAU8M,KAAO,SAAUzM,EAAI6T,EAAUtI,GAC3C,GAAI1I,GAASzC,KAAKyC,SAAW,CAC7B,IAAIzC,KAAKgoB,oBAAoBvlB,GAIzB,MAHAzC,MAAK6hB,SAASjiB,GACdI,KAAK6hB,SAASpO,OACdzT,MAAK6hB,SAAS1W,EAGlB,IAAIkG,GAAIrR,KAAK+nB,OAAStlB,EAAS,CAC/BzC,MAAKkoB,eAAezlB,EACpB,IAAI0lB,GAAWnoB,KAAK8nB,UAAY,CAChC9nB,MAAMqR,EAAI,EAAK8W,GAAYvoB,EAC3BI,KAAMqR,EAAI,EAAK8W,GAAY1U,EAC3BzT,KAAMqR,EAAI,EAAK8W,GAAYhd,EAC3BnL,KAAKwU,QAAU/R,GAGnBwe,EAAM1hB,UAAUkjB,MAAQ,WACpB,GAAI2F,GAAQpoB,KAAK+nB,OACb7a,EAAMlN,KAAKooB,EAKf,OAHApoB,MAAKooB,GAASlkB,OACdlE,KAAK+nB,OAAUK,EAAQ,EAAMpoB,KAAK8nB,UAAY,EAC9C9nB,KAAKwU,UACEtH,GAGX+T,EAAM1hB,UAAUkD,OAAS,WACrB,MAAOzC,MAAKwU,SAGhByM,EAAM1hB,UAAU2oB,eAAiB,SAAUD,GACnCjoB,KAAK8nB,UAAYG,GACjBjoB,KAAKqoB,UAAUroB,KAAK8nB,WAAa,IAIzC7G,EAAM1hB,UAAU8oB,UAAY,SAAUR,GAClC,GAAIS,GAActoB,KAAK8nB,SACvB9nB,MAAK8nB,UAAYD,CACjB,IAAIO,GAAQpoB,KAAK+nB,OACbtlB,EAASzC,KAAKwU,QACd+T,EAAkBH,EAAQ3lB,EAAW6lB,EAAc,CACvDd,GAAUxnB,KAAM,EAAGA,KAAMsoB,EAAaC,IAG1CzpB,EAAOD,QAAUoiB,Gd8sFX,SAAUniB,EAAQD,EAASH,GetxFjC,YAOA,SAAS8pB,GAASC,EAAcC,GAC5B,QAASC,GAASjS,GACd,MAAM1W,gBAAgB2oB,IACtBhZ,EAAkB3P,KAAM,UACD,gBAAZ0W,GAAuBA,EAAUgS,GAC5C/Y,EAAkB3P,KAAM,OAAQyoB,QAC5B3hB,MAAM8hB,kBACN9hB,MAAM8hB,kBAAkB5oB,KAAMA,KAAK2B,aAEnCmF,MAAM7H,KAAKe,QAPyB,GAAI2oB,GAASjS,GAWzD,MADA2H,GAASsK,EAAU7hB,OACZ6hB,EAmDX,QAASxY,GAAiBuG,GACtB,MAAM1W,gBAAgBmQ,IAEtBR,EAAkB3P,KAAM,OAAQ,oBAChC2P,EAAkB3P,KAAM,UAAW0W,GACnC1W,KAAK6oB,MAAQnS,EACb1W,KAAA,eAAwB,OAEpB0W,YAAmB5P,QACnB6I,EAAkB3P,KAAM,UAAW0W,EAAQA,SAC3C/G,EAAkB3P,KAAM,QAAS0W,EAAQ0L,QAClCtb,MAAM8hB,mBACb9hB,MAAM8hB,kBAAkB5oB,KAAMA,KAAK2B,eAV5B,GAAIwO,GAAiBuG,GAxEpC,GAsBIoS,GAAYC,EAtBZnZ,EAAMlR,EAAQ,GACdsqB,EAAepZ,EAAIuQ,OACnBrS,EAAOpP,EAAQ,GACf2f,EAAWvQ,EAAKuQ,SAChB1O,EAAoB7B,EAAK6B,kBAmBzBsZ,EAAUT,EAAS,UAAW,WAC9BvY,EAAoBuY,EAAS,oBAAqB,sBAClDtY,EAAesY,EAAS,eAAgB,iBACxCnY,EAAiBmY,EAAS,iBAAkB,kBAChD,KACIM,EAAa3nB,UACb4nB,EAAc/Y,WAChB,MAAM3I,GACJyhB,EAAaN,EAAS,YAAa,cACnCO,EAAcP,EAAS,aAAc,eAMzC,IAAK,GAHDU,GAAU,sHACuDjJ,MAAM,KAElE5gB,EAAI,EAAGA,EAAI6pB,EAAQzmB,SAAUpD,EACS,kBAAhCmG,OAAMjG,UAAU2pB,EAAQ7pB,MAC/BgR,EAAe9Q,UAAU2pB,EAAQ7pB,IAAMmG,MAAMjG,UAAU2pB,EAAQ7pB,IAIvEuQ,GAAIjN,eAAe0N,EAAe9Q,UAAW,UACzCqC,MAAO,EACPG,cAAc,EACdD,UAAU,EACVD,YAAY,IAEhBwO,EAAe9Q,UAAf,eAA4C,CAC5C,IAAI4pB,GAAQ,CACZ9Y,GAAe9Q,UAAUkL,SAAW,WAChC,GAAI2e,GAAS5jB,MAAc,EAAR2jB,EAAY,GAAGE,KAAK,KACnCnc,EAAM,KAAOkc,EAAS,sBAC1BD,KACAC,EAAS5jB,MAAc,EAAR2jB,EAAY,GAAGE,KAAK,IACnC,KAAK,GAAIhqB,GAAI,EAAGA,EAAIW,KAAKyC,SAAUpD,EAAG,CAGlC,IAAK,GAFD4d,GAAMjd,KAAKX,KAAOW,KAAO,4BAA8BA,KAAKX,GAAK,GACjEiqB,EAAQrM,EAAIgD,MAAM,MACb5O,EAAI,EAAGA,EAAIiY,EAAM7mB,SAAU4O,EAChCiY,EAAMjY,GAAK+X,EAASE,EAAMjY,EAE9B4L,GAAMqM,EAAMD,KAAK,MACjBnc,GAAO+P,EAAM,KAGjB,MADAkM,KACOjc,GAmBXmR,EAASlO,EAAkBrJ,MAE3B,IAAIyiB,GAAaziB,MAAA,sBACZyiB,KACDA,EAAaP,GACT/Y,kBAAmBA,EACnBC,aAAcA,EACdC,iBAAkBA,EAClBC,eAAgBD,EAChBE,eAAgBA,IAEpBT,EAAIjN,eAAemE,MAAO,0BACtBlF,MAAO2nB,EACPznB,UAAU,EACVD,YAAY,EACZE,cAAc,KAItBjD,EAAOD,SACHiI,MAAOA,MACP3F,UAAW2nB,EACX9Y,WAAY+Y,EACZ9Y,kBAAmBsZ,EAAWtZ,kBAC9BE,iBAAkBoZ,EAAWpZ,iBAC7BD,aAAcqZ,EAAWrZ,aACzBG,eAAgBkZ,EAAWlZ,eAC3B4Y,QAASA,If0xFP,SAAUnqB,EAAQD,EAASH,GgB54FjC,YACAI,GAAOD,QAAU,SAAS0O,EAASS,GAKnC,QAASwC,GAAoB3P,EAAKoL,GAC9B,GAAIZ,EAASxK,GAAM,CACf,GAAIA,YAAe0M,GAAS,MAAO1M,EACnC,IAAI4G,GAAO+hB,EAAQ3oB,EACnB,IAAI4G,IAASwJ,EAAU,CACfhF,GAASA,EAAQ0K,cACrB,IAAIzJ,GAAMK,EAAQgC,OAAO9H,EAAKJ,EAE9B,OADI4E,IAASA,EAAQ6K,cACd5J,EACJ,GAAoB,kBAATzF,GAAqB,CACnC,GAAIgiB,EAAqB5oB,GAAM,CAC3B,GAAIqM,GAAM,GAAIK,GAAQS,EAQtB,OAPAnN,GAAI2Q,MACAtE,EAAI+I,SACJ/I,EAAIgJ,QACJhS,OACAgJ,EACA,MAEGA,EAEX,MAAOwc,GAAW7oB,EAAK4G,EAAMwE,IAGrC,MAAOpL,GAGX,QAAS8oB,GAAU9oB,GACf,MAAOA,GAAI4G,KAGf,QAAS+hB,GAAQ3oB,GACb,IACI,MAAO8oB,GAAU9oB,GACnB,MAAOwG,GAEL,MADA4J,GAAS5J,EAAIA,EACN4J,GAKf,QAASwY,GAAqB5oB,GAC1B,IACI,MAAO8d,GAAQ1f,KAAK4B,EAAK,aAC3B,MAAOwG,GACL,OAAO,GAIf,QAASqiB,GAAW1S,EAAGvP,EAAMwE,GAezB,QAASmH,GAAQxR,GACR+M,IACLA,EAAQC,iBAAiBhN,GACzB+M,EAAU,MAGd,QAASY,GAAO+C,GACP3D,IACLA,EAAQG,gBAAgBwD,EAAQgE,GAAa,GAC7C3H,EAAU,MAvBd,GAAIA,GAAU,GAAIpB,GAAQS,GACtBd,EAAMyB,CACN1C,IAASA,EAAQ0K,eACrBhI,EAAQkE,qBACJ5G,GAASA,EAAQ6K,aACrB,IAAIR,IAAc,EACdvN,EAAS+E,EAAKoD,SAASzJ,GAAMxI,KAAK+X,EAAG5D,EAAS7D,EAmBlD,OAlBA+G,IAAc,EAEV3H,GAAW5F,IAAWkI,IACtBtC,EAAQG,gBAAgB/F,EAAO1B,GAAG,GAAM,GACxCsH,EAAU,MAcPzB,EA/EX,GAAIY,GAAOpP,EAAQ,GACfuS,EAAWnD,EAAKmD,SAChB5F,EAAWyC,EAAKzC,SA0ChBsT,KAAanf,cAsCjB,OAAOgR,KhB84FD,SAAU1R,EAAQD,EAASH,GiBl+FjC,YACAI,GAAOD,QAAU,SAAS0O,EAASS,EAAUwC,EACzCnB,EAAc1B,GAIlB,QAASic,GAAkBlX,GACvB,OAAOA,GACP,KAAK,EAAI,QACT,MAAK,EAAI,QACT,MAAK,EAAI,MAAO,IAAImX,MAIxB,QAASpZ,GAAaqZ,GAClB,GAAInb,GAAU3O,KAAK+pB,SAAW,GAAIxc,GAAQS,EACtC8b,aAAkBvc,IAClBoB,EAAQkF,eAAeiW,EAAQ,GAEnCnb,EAAQqb,aAAahqB,MACrBA,KAAKiqB,QAAUH,EACf9pB,KAAKwU,QAAU,EACfxU,KAAKkqB,eAAiB,EACtBlqB,KAAKmqB,MAAMjmB,QAAW,GApB1B,GAAI4J,GAAOpP,EAAQ,EACLoP,GAAKwR,OAmLnB,OA9JAxR,GAAKuQ,SAAS5N,EAAc9C,GAE5B8C,EAAalR,UAAUkD,OAAS,WAC5B,MAAOzC,MAAKwU,SAGhB/D,EAAalR,UAAUoP,QAAU,WAC7B,MAAO3O,MAAK+pB,UAGhBtZ,EAAalR,UAAU4qB,MAAQ,QAASC,GAAK5W,EAAG6W,GAC5C,GAAIP,GAAStZ,EAAoBxQ,KAAKiqB,QAASjqB,KAAK+pB,SACpD,IAAID,YAAkBvc,GAAS,CAC3Buc,EAASA,EAAO1a,SAChB,IAAIwE,GAAWkW,EAAO7b,SAItB,IAFAjO,KAAKiqB,QAAUH,EAEgB,KAAd,SAAXlW,GAEF,MADA5T,MAAK+pB,SAAS/W,sBACP8W,EAAOtY,MACV4Y,EACApqB,KAAKkW,QACLhS,OACAlE,KACAqqB,EAED,IAA+B,KAAd,SAAXzW,GAEN,MAA+B,MAAd,SAAXA,GACF5T,KAAKkW,QAAQ4T,EAAOzT,WAEpBrW,KAAK2X,SAJZmS,GAASA,EAAO1T,SAQxB,GADA0T,EAAShc,EAAKuR,QAAQyK,GACP,OAAXA,EAAiB,CACjB,GAAIniB,GAAM0H,EACN,oDAAsDvB,EAAKC,YAAY+b,IAASxX,QAEpF,YADAtS,MAAK+pB,SAASjb,gBAAgBnH,GAAK,GAIvC,MAAsB,KAAlBmiB,EAAOrnB,YACH4nB,KAAwB,EACxBrqB,KAAKsqB,qBAGLtqB,KAAKuqB,SAASX,EAAkBS,SAIxCrqB,MAAKwqB,SAASV,IAGlBrZ,EAAalR,UAAUirB,SAAW,SAASV,GACvC,GAAI/d,GAAM/L,KAAKyqB,gBAAgBX,EAAOrnB,OACtCzC,MAAKwU,QAAUzI,EACf/L,KAAKiqB,QAAUjqB,KAAK0qB,mBAAqB,GAAIllB,OAAMuG,GAAO/L,KAAKiqB,OAI/D,KAAK,GAHDlhB,GAAS/I,KAAK+pB,SACdY,GAAa,EACb/W,EAAW,KACNvU,EAAI,EAAGA,EAAI0M,IAAO1M,EAAG,CAC1B,GAAI2W,GAAexF,EAAoBsZ,EAAOzqB,GAAI0J,EAE9CiN,aAAwBzI,IACxByI,EAAeA,EAAa5G,UAC5BwE,EAAWoC,EAAa/H,WAExB2F,EAAW,KAGX+W,EACiB,OAAb/W,GACAoC,EAAa4U,8BAEG,OAAbhX,EACwB,KAAd,SAAXA,IACFoC,EAAaH,OAAO7V,KAAMX,GAC1BW,KAAKiqB,QAAQ5qB,GAAK2W,GAElB2U,EADkC,KAAd,SAAX/W,GACI5T,KAAK8X,kBAAkB9B,EAAaI,SAAU/W,GACzB,KAAd,SAAXuU,GACI5T,KAAK+X,iBAAiB/B,EAAaK,UAAWhX,GAE9CW,KAAK0X,kBAAkBrY,GAGxCsrB,EAAa3qB,KAAK8X,kBAAkB9B,EAAc3W,GAGrDsrB,GAAY5hB,EAAOiK,uBAG5BvC,EAAalR,UAAUsY,YAAc,WACjC,MAAwB,QAAjB7X,KAAKiqB,SAGhBxZ,EAAalR,UAAUgrB,SAAW,SAAU3oB,GACxC5B,KAAKiqB,QAAU,KACfjqB,KAAK+pB,SAAS9T,SAASrU,IAG3B6O,EAAalR,UAAUoY,QAAU,YACzB3X,KAAK6X,eAAkB7X,KAAK+pB,SAASc,mBACzC7qB,KAAKiqB,QAAU,KACfjqB,KAAK+pB,SAASpS,YAGlBlH,EAAalR,UAAU2W,QAAU,SAAU5D,GACvCtS,KAAKiqB,QAAU,KACfjqB,KAAK+pB,SAASjb,gBAAgBwD,GAAQ,IAG1C7B,EAAalR,UAAUuY,kBAAoB,SAAUlW,EAAOuT,GACxDnV,KAAKiqB,QAAQ9U,GAASvT,CACtB,IAAIkpB,KAAkB9qB,KAAKkqB,cAC3B,OAAIY,IAAiB9qB,KAAKwU,UACtBxU,KAAKuqB,SAASvqB,KAAKiqB,UACZ,IAKfxZ,EAAalR,UAAUmY,kBAAoB,WAEvC,MADA1X,MAAK2X,WACE,GAGXlH,EAAalR,UAAUwY,iBAAmB,SAAUzF,GAGhD,MAFAtS,MAAKkqB,iBACLlqB,KAAKkW,QAAQ5D,IACN,GAGX7B,EAAalR,UAAUwrB,iBAAmB,WACtC,IAAI/qB,KAAK6X,cAAT,CACA,GAAIiS,GAAS9pB,KAAKiqB,OAElB,IADAjqB,KAAK2X,UACDmS,YAAkBvc,GAClBuc,EAAOlS,aAEP,KAAK,GAAIvY,GAAI,EAAGA,EAAIyqB,EAAOrnB,SAAUpD,EAC7ByqB,EAAOzqB,YAAckO,IACrBuc,EAAOzqB,GAAGuY,WAM1BnH,EAAalR,UAAUmrB,iBAAmB,WACtC,OAAO,GAGXja,EAAalR,UAAUkrB,gBAAkB,SAAU1e,GAC/C,MAAOA,IAGJ0E,IjBo+FD,SAAU3R,EAAQD,GkB3pGxB,YACAC,GAAOD,QAAU,SAAS0O,GAS1B,QAASmD,KACL1Q,KAAKgrB,OAAS,GAAIta,GAAQI,cAAcma,KAmB5C,QAASta,KACL,GAAIua,EAAiB,MAAO,IAAIxa,GAGpC,QAASua,KACL,GAAIE,GAAYC,EAAa3oB,OAAS,CACtC,IAAI0oB,GAAa,EACb,MAAOC,GAAaD,GAnC5B,GAAID,IAAkB,EAClBE,IAgEJ,OA9DA7d,GAAQhO,UAAUgP,gBAAkB,aACpChB,EAAQhO,UAAUoX,aAAe,aACjCpJ,EAAQhO,UAAUuX,YAAc,WAAY,MAAO,OACnDvJ,EAAQ8d,aAAe9d,EAAQhO,UAAU8rB,aAAe,aAKxD3a,EAAQnR,UAAUoX,aAAe,WACTzS,SAAhBlE,KAAKgrB,SACLhrB,KAAKgrB,OAAOzc,gBAAkB,KAC9B6c,EAAa/e,KAAKrM,KAAKgrB,UAI/Bta,EAAQnR,UAAUuX,YAAc,WAC5B,GAAoB5S,SAAhBlE,KAAKgrB,OAAsB,CAC3B,GAAIxe,GAAQ4e,EAAa1lB,MACrBwH,EAAMV,EAAM+B,eAEhB,OADA/B,GAAM+B,gBAAkB,KACjBrB,EAEX,MAAO,OAcXwD,EAAQI,cAAgB,KACxBJ,EAAQhP,OAASiP,EACjBD,EAAQ4a,0BAA4B,aACpC5a,EAAQ6a,wBAA0B,WAC9B,GAAIC,GAAsBje,EAAQhO,UAAUoX,aACxC8U,EAAqBle,EAAQhO,UAAUuX,YACvC4U,EAAsBne,EAAQ8d,aAC9BM,EAAsBpe,EAAQhO,UAAU8rB,aACxCO,EAAyBre,EAAQhO,UAAUgP,eAC/CmC,GAAQ4a,0BAA4B,WAChC/d,EAAQhO,UAAUoX,aAAe6U,EACjCje,EAAQhO,UAAUuX,YAAc2U,EAChCle,EAAQ8d,aAAeK,EACvBne,EAAQhO,UAAU8rB,aAAeM,EACjCpe,EAAQhO,UAAUgP,gBAAkBqd,EACpCV,GAAkB,GAEtBA,GAAkB,EAClB3d,EAAQhO,UAAUoX,aAAejG,EAAQnR,UAAUoX,aACnDpJ,EAAQhO,UAAUuX,YAAcpG,EAAQnR,UAAUuX,YAClDvJ,EAAQ8d,aAAe9d,EAAQhO,UAAU8rB,aAAeJ,EACxD1d,EAAQhO,UAAUgP,gBAAkB,WAChC,GAAIyJ,GAAMhY,KAAKqrB,cACXrT,IAA8B,MAAvBA,EAAIzJ,kBAAyByJ,EAAIzJ,gBAAkBvO,QAG/D0Q,IlBqqGD,SAAU5R,EAAQD,EAASH,ImBxuGjC,SAAAgP,GAAA,YnB4uGC,IAAIxL,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GmB3uGvQ/B,GAAOD,QAAU,SAAS0O,EAASmD,GA6MnC,QAASmb,GAAoC5Q,EAAMtM,GAC/C,OAAQA,QAASA,GA0FrB,QAASmd,KAAqB,OAAO,EAuBrC,QAASC,GAAoBle,EAAUuF,EAAS7D,GAC5C,GAAIZ,GAAU3O,IACd,KACI6N,EAASuF,EAAS7D,EAAQ,SAASyc,GAC/B,GAAwB,kBAAbA,GACP,KAAM,IAAI7qB,WAAU,qCACA2M,EAAKrD,SAASuhB,GAEtCrd,GAAQsd,4BAA4BD,KAE1C,MAAO3kB,GACL,MAAOA,IAIf,QAAS6kB,GAAuCF,GAC5C,IAAKhsB,KAAK6qB,iBAAkB,MAAO7qB,KAEnC,IAAImsB,GAAmBnsB,KAAKosB,WACHloB,UAArBioB,EACIre,EAAKwR,QAAQ6M,GACbA,EAAiB9f,KAAK2f,GAEtBhsB,KAAKgqB,cAAcmC,EAAkBH,IAGzChsB,KAAKgqB,aAAagC,GAI1B,QAASK,KACL,MAAOrsB,MAAKssB,eAGhB,QAASC,GAAwBP,GAC7BhsB,KAAKssB,eAAiBN,EAG1B,QAASQ,KACLxsB,KAAKysB,oBAAsBvoB,OAC3BlE,KAAKssB,eAAiBpoB,OAG1B,QAASwoB,GAA0BC,EAAQC,GACvC,GAAoB,KAAP,EAARA,GAAkB,CACnB5sB,KAAKysB,oBAAsBE,CAC3B,IAAIE,GAA4BF,EAAOG,0BACL5oB,UAA9B2oB,IACAA,EAA4B,GAEhCF,EAAOG,2BAA6BD,EAA4B,EAEhD,KAAP,EAARD,IAAoBD,EAAOvX,YAC5BpV,KAAK+sB,YAAYJ,EAAO5Y,UAIhC,QAASiZ,GAAqBL,EAAQC,GACd,KAAP,EAARA,IAAoBD,EAAOvX,YAC5BpV,KAAK+sB,YAAYJ,EAAO5Y,UAKhC,QAASkZ,KACL,GAAI/f,GAAMlN,KAAK+T,QACf,OAAY7P,UAARgJ,GACIA,YAAeK,GACXL,EAAIgF,cACGhF,EAAItL,QAEX,OAILsL,EAGX,QAASggB,KACLltB,KAAKgrB,OAAS,GAAIla,GAAc9Q,KAAKqrB,gBAGzC,QAAS8B,GAAgCnlB,EAAOolB,GAC5C,GAAI3P,EAAezV,GAAQ,CACvB,GAAIwE,GAAQxM,KAAKgrB,MAIjB,IAHc9mB,SAAVsI,GACI4gB,IAAY5gB,EAAQA,EAAM6gB,SAEpBnpB,SAAVsI,EACAA,EAAM8gB,iBAAiBtlB,OACpB,KAAKA,EAAMulB,iBAAkB,CAChC,GAAIC,GAASC,EAAqBzlB,EAClC8F,GAAK6B,kBAAkB3H,EAAO,QAC1BwlB,EAAO9W,QAAU,KAAO8W,EAAOpL,MAAMiH,KAAK,OAC9Cvb,EAAK6B,kBAAkB3H,EAAO,oBAAoB,KAK9D,QAASkP,GAAsBwW,EAAazW,EAAgBgE,EAAMtM,EACnCge,GAC3B,GAAoBzoB,SAAhBwpB,GAAgD,OAAnBzW,GAC7B0W,EAAkB,CAClB,GAAezpB,SAAXyoB,GAAwBA,EAAOiB,wBAAyB,MAC5D,IAAoC,KAAX,MAApBjf,EAAQV,WAA0B,MAEnCgN,KAAMA,GAAc,IACxB,IAAI4S,GAAc,GACdC,EAAc,EAClB,IAAI7W,EAAe+T,OAAQ,CAGvB,IAAK,GAFD+C,GAAa9W,EAAe+T,OAAO5I,MAAMnC,MAAM,MAC/CmC,EAAQ4L,EAAWD,GACd1uB,EAAI+iB,EAAM3f,OAAS,EAAGpD,GAAK,IAAKA,EAAG,CACxC,GAAI4uB,GAAO7L,EAAM/iB,EACjB,KAAK6uB,EAAiBrR,KAAKoR,GAAO,CAC9B,GAAIE,GAAcF,EAAK9nB,MAAMioB,EACzBD,KACAN,EAAe,MAAQM,EAAY,GAC/B,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAEtD,QAIR,GAAI/L,EAAM3f,OAAS,EAEf,IAAK,GADD4rB,GAAgBjM,EAAM,GACjB/iB,EAAI,EAAGA,EAAI0uB,EAAWtrB,SAAUpD,EAErC,GAAI0uB,EAAW1uB,KAAOgvB,EAAe,CAC7BhvB,EAAI,IACJyuB,EAAc,KAAOC,EAAW1uB,EAAI,GAExC,QAMhB,GAAIiQ,GAAM,8BAAgC2L,EACtC,WAAa4S,EAAc,yDAE3BC,CACJnf,GAAQiD,MAAMtC,GAAK,EAAM2H,IAIjC,QAAS4B,GAAWoC,EAAMqT,GACtB,GAAI5X,GAAUuE,EACV,yDAEJ,OADIqT,KAAa5X,GAAW,QAAU4X,EAAc,aAC7CC,EAAK7X,GAGhB,QAAS6X,GAAK7X,EAAS8X,EAAmB7f,GACtC,GAAKpO,GAAOoR,SAAZ,CACA,GACIqG,GADAyW,EAAU,GAAIxF,GAAQvS,EAE1B,IAAI8X,EACA7f,EAAQyF,kBAAkBqa,OACvB,IAAIluB,GAAO2qB,kBAAoBlT,EAAMzK,EAAQ8d,gBAChDrT,EAAIsV,iBAAiBmB,OAClB,CACH,GAAIjB,GAASC,EAAqBgB,EAClCA,GAAQrM,MAAQoL,EAAO9W,QAAU,KAAO8W,EAAOpL,MAAMiH,KAAK,MAGzDqF,GAAgB,UAAWD,IAC5BE,EAAkBF,EAAS,IAAI,IAIvC,QAASG,GAAiBlY,EAASmY,GAC/B,IAAK,GAAIxvB,GAAI,EAAGA,EAAIwvB,EAAOpsB,OAAS,IAAKpD,EACrCwvB,EAAOxvB,GAAGgN,KAAK,wBACfwiB,EAAOxvB,GAAKwvB,EAAOxvB,GAAGgqB,KAAK,KAK/B,OAHIhqB,GAAIwvB,EAAOpsB,SACXosB,EAAOxvB,GAAKwvB,EAAOxvB,GAAGgqB,KAAK,OAExB3S,EAAU,KAAOmY,EAAOxF,KAAK,MAGxC,QAASyF,GAA4BD,GACjC,IAAK,GAAIxvB,GAAI,EAAGA,EAAIwvB,EAAOpsB,SAAUpD,GACR,IAArBwvB,EAAOxvB,GAAGoD,QACRpD,EAAI,EAAIwvB,EAAOpsB,QAAWosB,EAAOxvB,GAAG,KAAOwvB,EAAOxvB,EAAE,GAAG,MACzDwvB,EAAO7hB,OAAO3N,EAAG,GACjBA,KAKZ,QAAS0vB,GAAkBF,GAEvB,IAAK,GADDlmB,GAAUkmB,EAAO,GACZxvB,EAAI,EAAGA,EAAIwvB,EAAOpsB,SAAUpD,EAAG,CAMpC,IAAK,GALDyiB,GAAO+M,EAAOxvB,GACd2vB,EAAmBrmB,EAAQlG,OAAS,EACpCwsB,EAAkBtmB,EAAQqmB,GAC1BE,GAAsB,EAEjB7d,EAAIyQ,EAAKrf,OAAS,EAAG4O,GAAK,IAAKA,EACpC,GAAIyQ,EAAKzQ,KAAO4d,EAAiB,CAC7BC,EAAsB7d,CACtB,OAIR,IAAK,GAAIA,GAAI6d,EAAqB7d,GAAK,IAAKA,EAAG,CAC3C,GAAI4c,GAAOnM,EAAKzQ,EAChB,IAAI1I,EAAQqmB,KAAsBf,EAI9B,KAHAtlB,GAAQjD,MACRspB,IAKRrmB,EAAUmZ,GAIlB,QAASkM,GAAW5L,GAEhB,IAAK,GADDlV,MACK7N,EAAI,EAAGA,EAAI+iB,EAAM3f,SAAUpD,EAAG,CACnC,GAAI4uB,GAAO7L,EAAM/iB,GACb8vB,EAAc,yBAA2BlB,GACzCmB,EAAkBvS,KAAKoR,GACvBoB,EAAkBF,GAAeG,GAAarB,EAC9CkB,KAAgBE,IACZE,GAAwC,MAAnBtB,EAAKrP,OAAO,KACjCqP,EAAO,OAASA,GAEpB/gB,EAAIb,KAAK4hB,IAGjB,MAAO/gB,GAGX,QAASsiB,GAAmBxnB,GAExB,IAAK,GADDoa,GAAQpa,EAAMoa,MAAMqN,QAAQ,QAAS,IAAIxP,MAAM,MAC1C5gB,EAAI,EAAGA,EAAI+iB,EAAM3f,SAAUpD,EAAG,CACnC,GAAI4uB,GAAO7L,EAAM/iB,EACjB,IAAI,yBAA2B4uB,GAAQmB,EAAkBvS,KAAKoR,GAC1D,MAMR,MAHI5uB,GAAI,GAAmB,eAAd2I,EAAMiT,OACfmH,EAAQA,EAAMziB,MAAMN,IAEjB+iB,EAGX,QAASqL,GAAqBzlB,GAC1B,GAAIoa,GAAQpa,EAAMoa,MACd1L,EAAU1O,EAAMyC,UAGpB,OAFA2X,GAAyB,gBAAVA,IAAsBA,EAAM3f,OAAS,EACtC+sB,EAAmBxnB,IAAU,yBAEvC0O,QAASA,EACT0L,MAAqB,eAAdpa,EAAMiT,KAAwBmH,EAAQ4L,EAAW5L,IAIhE,QAASuM,GAAkB3mB,EAAOyS,EAAOiV,GACrC,GAAuB,mBAAZnjB,SAAyB,CAChC,GAAImK,EACJ,IAAI5I,EAAKzC,SAASrD,GAAQ,CACtB,GAAIoa,GAAQpa,EAAMoa,KAClB1L,GAAU+D,EAAQkV,EAAYvN,EAAOpa,OAErC0O,GAAU+D,EAAQmV,OAAO5nB,EAED,mBAAjB6nB,GACPA,EAAanZ,EAASgZ,GACQ,kBAAhBnjB,SAAQ1F,KACC,WAAvB3E,EAAOqK,QAAQ1F,MACf0F,QAAQ1F,IAAI6P,IAKxB,QAASoZ,GAAmB7U,EAAM8U,EAAczd,EAAQ3D,GACpD,GAAIqhB,IAAkB,CACtB,KACgC,kBAAjBD,KACPC,GAAkB,EACL,qBAAT/U,EACA8U,EAAaphB,GAEbohB,EAAazd,EAAQ3D,IAG/B,MAAOtH,GACLyI,EAAMwS,WAAWjb,GAGR,uBAAT4T,EACKyT,GAAgBzT,EAAM3I,EAAQ3D,IAAaqhB,GAC5CrB,EAAkBrc,EAAQ,wBAG9Boc,GAAgBzT,EAAMtM,GAI9B,QAASshB,GAAepvB,GACpB,GAAIoc,EACJ,IAAmB,kBAARpc,GACPoc,EAAM,cACDpc,EAAIoa,MAAQ,aACb,QACD,CACHgC,EAAMpc,GAA+B,kBAAjBA,GAAI4J,SAClB5J,EAAI4J,WAAaqD,EAAKrD,SAAS5J,EACrC,IAAIqvB,GAAmB,2BACvB,IAAIA,EAAiBrT,KAAKI,GACtB,IACI,GAAIkT,GAASxlB,KAAKC,UAAU/J,EAC5Boc,GAAMkT,EAEV,MAAM9oB,IAIS,IAAf4V,EAAIxa,SACJwa,EAAM,iBAGd,MAAQ,KAAOmT,EAAKnT,GAAO,qBAG/B,QAASmT,GAAKnT,GACV,GAAIoT,GAAW,EACf,OAAIpT,GAAIxa,OAAS4tB,EACNpT,EAEJA,EAAIqT,OAAO,EAAGD,EAAW,GAAK,MAGzC,QAASE,KACL,MAAoC,kBAAtB3H,IAKlB,QAAS4H,GAAcvC,GACnB,GAAIwC,GAAUxC,EAAK9nB,MAAMuqB,GACzB,IAAID,EACA,OACIE,SAAUF,EAAQ,GAClBxC,KAAM2C,SAASH,EAAQ,GAAI,KAKvC,QAASzX,GAAUC,EAAgBC,GAC/B,GAAKqX,IAAL,CAOA,IAAK,GAFDM,GACAC,EALAC,EAAkB9X,EAAemJ,MAAMnC,MAAM,MAC7C+Q,EAAiB9X,EAAckJ,MAAMnC,MAAM,MAC3CgR,GAAa,EACb9F,GAAY,EAGP9rB,EAAI,EAAGA,EAAI0xB,EAAgBtuB,SAAUpD,EAAG,CAC7C,GAAI0J,GAASynB,EAAcO,EAAgB1xB,GAC3C,IAAI0J,EAAQ,CACR8nB,EAAgB9nB,EAAO4nB,SACvBM,EAAaloB,EAAOklB,IACpB,QAGR,IAAK,GAAI5uB,GAAI,EAAGA,EAAI2xB,EAAevuB,SAAUpD,EAAG,CAC5C,GAAI0J,GAASynB,EAAcQ,EAAe3xB,GAC1C,IAAI0J,EAAQ,CACR+nB,EAAe/nB,EAAO4nB,SACtBxF,EAAYpiB,EAAOklB,IACnB,QAGJgD,EAAa,GAAK9F,EAAY,IAAM0F,IAAkBC,GACtDD,IAAkBC,GAAgBG,GAAc9F,IAIpDmE,GAAe,SAASrB,GACpB,GAAIiD,EAAqBrU,KAAKoR,GAAO,OAAO,CAC5C,IAAIkD,GAAOX,EAAcvC,EACzB,UAAIkD,GACIA,EAAKR,WAAaE,GACjBI,GAAcE,EAAKlD,MAAQkD,EAAKlD,MAAQ9C,MAQzD,QAASra,GAAc6b,GACnB3sB,KAAKqtB,QAAUV,EACf3sB,KAAKoxB,iBAAmB,CACxB,IAAI3uB,GAASzC,KAAKwU,QAAU,GAAgBtQ,SAAXyoB,EAAuB,EAAIA,EAAOnY,QACnEoU,IAAkB5oB,KAAM8Q,GACpBrO,EAAS,IAAIzC,KAAKqxB,UA/sB1B,GAKIC,GACAC,EAQA1B,EAdA7gB,EAAYzB,EAAQikB,WACpB1hB,EAAQvC,EAAQkkB,OAChBxI,EAAUvqB,EAAQ,IAAYuqB,QAC9Bnb,EAAOpP,EAAQ,GACf+e,EAAiB3P,EAAK2P,eAGtByT,EACA,2DACAhD,EAAmB,6BACnBE,EAAmB,kCACnBgB,EAAoB,KACpBO,EAAc,KACdJ,GAAoB,EAEpBmC,IAA6C,GAA9B5jB,EAAK6M,IAAI,oBAEH7M,EAAK6M,IAAI,mBACgB,gBAAzB7M,EAAK6M,IAAI,aAE9BhJ,IAA+C,GAAjC7D,EAAK6M,IAAI,uBACtB+W,IAAa5jB,EAAK6M,IAAI,sBAEvBuQ,IAA+D,GAA1Cpd,EAAK6M,IAAI,gCAC7B+W,IAAa5jB,EAAK6M,IAAI,+BAEvBgT,EAA8D,GAA3C7f,EAAK6M,IAAI,iCAC3BhJ,KAAc7D,EAAK6M,IAAI,+BAE5BpN,GAAQhO,UAAUqrB,4BAA8B,WAC5C,GAAIroB,GAASvC,KAAKoP,SAClB7M,GAAO0L,UAAc1L,EAAO0L,WAAa,QACvB,QAGtBV,EAAQhO,UAAU+Y,gCAAkC,WAChD,GAAkC,KAAZ,OAAjBtY,KAAKiO,WAAV,CACAjO,KAAK2xB,0BACL,IAAItwB,GAAOrB,IACXwZ,YAAW,WACPnY,EAAKuwB,6BACN,KAGPrkB,EAAQhO,UAAUsyB,mCAAqC,WACnD/B,EAAmB,mBACWwB,EAA2BptB,OAAWlE,OAGxEuN,EAAQhO,UAAUuyB,yBAA2B,WACzC9xB,KAAKiO,UAA6B,UAAjBjO,KAAKiO,WAG1BV,EAAQhO,UAAUquB,sBAAwB,WACtC,MAAwC,MAAf,UAAjB5tB,KAAKiO,YAGjBV,EAAQhO,UAAUqyB,0BAA4B,WAC1C,GAAI5xB,KAAK+xB,wBAAyB,CAC9B,GAAIzf,GAAStS,KAAK0Y,eAClB1Y,MAAKgyB,mCACLlC,EAAmB,qBACWyB,EAA4Bjf,EAAQtS,QAI1EuN,EAAQhO,UAAUyyB,iCAAmC,WACjDhyB,KAAKiO,UAA6B,OAAjBjO,KAAKiO,WAG1BV,EAAQhO,UAAU0yB,mCAAqC,WACnDjyB,KAAKiO,UAAYjO,KAAKiO,WAAa,QAGvCV,EAAQhO,UAAU2yB,8BAAgC,WAC9C,OAAyB,OAAjBlyB,KAAKiO,WAAsB,GAGvCV,EAAQhO,UAAUoyB,yBAA2B,WACzC3xB,KAAKiO,UAA6B,QAAjBjO,KAAKiO,WAG1BV,EAAQhO,UAAU2U,2BAA6B,WAC3ClU,KAAKiO,UAAYjO,KAAKiO,WAAa,QAC/BjO,KAAKkyB,kCACLlyB,KAAKiyB,qCACLjyB,KAAK6xB,uCAIbtkB,EAAQhO,UAAUwyB,sBAAwB,WACtC,OAAyB,QAAjB/xB,KAAKiO,WAAuB,GAGxCV,EAAQhO,UAAUqS,MAAQ,SAAS8E,EAAS8X,EAAmB7f,GAC3D,MAAO4f,GAAK7X,EAAS8X,EAAmB7f,GAAW3O,OAGvDuN,EAAQ4kB,6BAA+B,SAAUvyB,GAC7C,GAAI8P,GAASV,GACbuiB,GACkB,kBAAP3xB,GAAgC,OAAX8P,EACQ9P,EAAKkO,EAAKwG,WAAW5E,EAAQ9P,GACtCsE,QAGnCqJ,EAAQ6kB,4BAA8B,SAAUxyB,GAC5C,GAAI8P,GAASV,GACbsiB,GACkB,kBAAP1xB,GAAgC,OAAX8P,EACQ9P,EAAKkO,EAAKwG,WAAW5E,EAAQ9P,GACtCsE,OAGnC,IAAImuB,GAAyB,YAC7B9kB,GAAQ2d,gBAAkB,WACtB,GAAIpb,EAAMmS,oBAAsB1hB,GAAO2qB,gBACnC,KAAM,IAAIpkB,OAAM,qGAEpB,KAAKvG,GAAO2qB,iBAAmBqF,IAA8B,CACzD,GAAI+B,GAA4B/kB,EAAQhO,UAAUsT,mBAC9C0f,EAA2BhlB,EAAQhO,UAAU6U,iBACjD7T,IAAO2qB,iBAAkB,EACzBmH,EAAyB,WACrB,GAAIviB,EAAMmS,oBAAsB1hB,GAAO2qB,gBACnC,KAAM,IAAIpkB,OAAM,qGAEpByG,GAAQhO,UAAUsT,mBAAqByf,EACvC/kB,EAAQhO,UAAU6U,kBAAoBme,EACtC7hB,EAAQ4a,4BACRxb,EAAMiS,mBACNxhB,GAAO2qB,iBAAkB,GAE7B3d,EAAQhO,UAAUsT,mBAAqBqa,EACvC3f,EAAQhO,UAAU6U,kBAAoB+Y,EACtCzc,EAAQ6a,0BACRzb,EAAMkS,iCAIdzU,EAAQilB,mBAAqB,WACzB,MAAOjyB,IAAO2qB,iBAAmBqF,IAGrC,IAAIkC,GAAgB,WAChB,IACI,GAA2B,kBAAhBC,aAA4B,CACnC,GAAItM,GAAQ,GAAIsM,aAAY,cAE5B,OADA5kB,GAAK5N,OAAOyyB,cAAcvM,GACnB,SAASnL,EAAMmL,GAClB,GAAIwM,GAAW,GAAIF,aAAYzX,EAAK0E,eAChCkT,OAAQzM,EACR0M,YAAY,GAEhB,QAAQhlB,EAAK5N,OAAOyyB,cAAcC,IAEnC,GAAqB,kBAAVG,OAAsB,CACpC,GAAI3M,GAAQ,GAAI2M,OAAM,cAEtB,OADAjlB,GAAK5N,OAAOyyB,cAAcvM,GACnB,SAASnL,EAAMmL,GAClB,GAAIwM,GAAW,GAAIG,OAAM9X,EAAK0E,eAC1BmT,YAAY,GAGhB,OADAF,GAASC,OAASzM,GACVtY,EAAK5N,OAAOyyB,cAAcC,IAGtC,GAAIxM,GAAQ/C,SAAS2P,YAAY,cAGjC,OAFA5M,GAAM6M,gBAAgB,mBAAmB,GAAO,MAChDnlB,EAAK5N,OAAOyyB,cAAcvM,GACnB,SAASnL,EAAMmL,GAClB,GAAIwM,GAAWvP,SAAS2P,YAAY,cAGpC,OAFAJ,GAASK,gBAAgBhY,EAAK0E,eAAe,GAAO,EAChDyG,IACItY,EAAK5N,OAAOyyB,cAAcC,IAG5C,MAAOvrB,IACT,MAAO,YACH,OAAO,MAIX6rB,GAAmB,WACnB,MAAIplB,GAAK2B,OACE,WACH,MAAO/B,GAAQ/B,KAAK5L,MAAM2N,EAASzJ,YAGlC6J,EAAK5N,OAKH,SAAS+a,GACZ,GAAInW,GAAa,KAAOmW,EAAK0E,cACzB9a,EAASiJ,EAAK5N,OAAO4E,EACzB,SAAKD,IACLA,EAAO9E,MAAM+N,EAAK5N,UAAWP,MAAMV,KAAKgF,UAAW,KAC5C,IATA,WACH,OAAO,MAiBnBkvB,IACAlc,eAAgB4U,EAChBuH,iBAAkBvH,EAClBwH,gBAAiBxH,EACjByH,gBAAiBzH,EACjB0H,iBAAkB1H,EAClB2H,eAAgB,SAASvY,EAAMtM,EAAS8kB,GACpC,OAAQ9kB,QAASA,EAAS8kB,MAAOA,IAErChF,QAAS,SAASxT,EAAMwT,GACpB,OAAQA,QAASA,IAErBiF,mBAAoB,SAAUzY,EAAM3I,EAAQ3D,GACxC,OAAQ2D,OAAQA,EAAQ3D,QAASA,IAErCglB,iBAAkB9H,GAGlB6C,GAAkB,SAAUzT,GAC5B,GAAI2Y,IAAmB,CACvB,KACIA,EAAmBV,GAAgBnzB,MAAM,KAAMkE,WACjD,MAAOoD,GACLyI,EAAMwS,WAAWjb,GACjBusB,GAAmB,EAGvB,GAAIC,IAAgB,CACpB,KACIA,EAAgBpB,EAAaxX,EACjBkY,GAAuBlY,GAAMlb,MAAM,KAAMkE,YACvD,MAAOoD,GACLyI,EAAMwS,WAAWjb,GACjBwsB,GAAgB,EAGpB,MAAOA,IAAiBD,EAG5BrmB,GAAQhN,OAAS,SAASgjB,GAStB,GARAA,EAAOjkB,OAAOikB,GACV,mBAAqBA,KACjBA,EAAK2H,gBACL3d,EAAQ2d,mBACA3H,EAAK2H,iBAAmB3d,EAAQilB,sBACxCH,KAGJ,YAAc9O,GAAM,CACpB,GAAIuQ,GAAiBvQ,EAAK5R,QAC1BpR,IAAOoR,WAAamiB,EACpBnG,EAAmBptB,GAAOoR,SAEtB7D,EAAKzC,SAASyoB,IACV,oBAAsBA,KACtBnG,IAAqBmG,EAAenG,kBAIhD,GAAI,gBAAkBpK,IAAQA,EAAKwQ,eAAiBxzB,GAAOwzB,aAAc,CACrE,GAAIjkB,EAAMmS,kBACN,KAAM,IAAInb,OACN,uDAERyG,GAAQhO,UAAUkZ,uBACd+T,EACJjf,EAAQhO,UAAUsU,eAAiB6Y,EACnCnf,EAAQhO,UAAU6sB,UAAYC,EAC9B9e,EAAQhO,UAAUyqB,aAAeuC,EACjChf,EAAQhO,UAAU0sB,4BACdC,EACJ3e,EAAQhO,UAAUsX,SAAWkV,EAC7BiI,GAAwBtH,EACxBnsB,GAAOwzB,cAAe,EAW1B,MATI,cAAgBxQ,KACZA,EAAK0Q,aAAe1zB,GAAO0zB,YAC3B1zB,GAAO0zB,YAAa,EACpB1mB,EAAQhO,UAAUiP,WAAakgB,KACvBnL,EAAK0Q,YAAc1zB,GAAO0zB,aAClC1zB,GAAO0zB,YAAa,EACpB1mB,EAAQhO,UAAUiP,WAAasd,IAGhCve,GAKXA,EAAQhO,UAAUiP,WAAasd,EAC/Bve,EAAQhO,UAAUsX,SAAW,SAAShJ,EAAUuF,EAAS7D,GACrD,IACI1B,EAASuF,EAAS7D,GACpB,MAAOlI,GACL,MAAOA,KAGfkG,EAAQhO,UAAU6sB,UAAY,aAC9B7e,EAAQhO,UAAUyqB,aAAe,SAAUle,KAC3CyB,EAAQhO,UAAU0sB,4BAA8B,SAASD,KAGzDze,EAAQhO,UAAUsT,mBAAqB,aACvCtF,EAAQhO,UAAU6U,kBAAoB,aACtC7G,EAAQhO,UAAUkZ,uBAAyB,aAC3ClL,EAAQhO,UAAUsU,eAAiB,SAAU8Y,EAAQC,IAmErD,IAAIoH,IAAwBhH,EAwRxBsC,GAAe,WAAa,OAAO,GACnCoB,GAAqB,uCA4DzB5iB,GAAKuQ,SAASvN,EAAehK,OAC7B4J,EAAQI,cAAgBA,EAExBA,EAAcvR,UAAU8xB,QAAU,WAC9B,GAAI5uB,GAASzC,KAAKwU,OAClB,MAAI/R,EAAS,GAAb,CAIA,IAAK,GAHDyxB,MACAC,KAEK90B,EAAI,EAAG2gB,EAAOhgB,KAAekE,SAAT8b,IAAsB3gB,EAC/C60B,EAAM7nB,KAAK2T,GACXA,EAAOA,EAAKqN,OAEhB5qB,GAASzC,KAAKwU,QAAUnV,CACxB,KAAK,GAAIA,GAAIoD,EAAS,EAAGpD,GAAK,IAAKA,EAAG,CAClC,GAAI+iB,GAAQ8R,EAAM70B,GAAG+iB,KACOle,UAAxBiwB,EAAa/R,KACb+R,EAAa/R,GAAS/iB,GAG9B,IAAK,GAAIA,GAAI,EAAGA,EAAIoD,IAAUpD,EAAG,CAC7B,GAAI+0B,GAAeF,EAAM70B,GAAG+iB,MACxBjN,EAAQgf,EAAaC,EACzB,IAAclwB,SAAViR,GAAuBA,IAAU9V,EAAG,CAChC8V,EAAQ,IACR+e,EAAM/e,EAAQ,GAAGkY,QAAUnpB,OAC3BgwB,EAAM/e,EAAQ,GAAGX,QAAU,GAE/B0f,EAAM70B,GAAGguB,QAAUnpB,OACnBgwB,EAAM70B,GAAGmV,QAAU,CACnB,IAAI6f,GAAgBh1B,EAAI,EAAI60B,EAAM70B,EAAI,GAAKW,IAEvCmV,GAAQ1S,EAAS,GACjB4xB,EAAchH,QAAU6G,EAAM/e,EAAQ,GACtCkf,EAAchH,QAAQgE,UACtBgD,EAAc7f,QACV6f,EAAchH,QAAQ7Y,QAAU,IAEpC6f,EAAchH,QAAUnpB,OACxBmwB,EAAc7f,QAAU,EAG5B,KAAK,GADD8f,GAAqBD,EAAc7f,QAAU,EACxCnD,EAAIhS,EAAI,EAAGgS,GAAK,IAAKA,EAC1B6iB,EAAM7iB,GAAGmD,QAAU8f,EACnBA,GAEJ,YAKZxjB,EAAcvR,UAAU+tB,iBAAmB,SAAStlB,GAChD,IAAIA,EAAMulB,iBAAV,CACAvtB,KAAKqxB,SAML,KALA,GAAI7D,GAASC,EAAqBzlB,GAC9B0O,EAAU8W,EAAO9W,QACjBmY,GAAUrB,EAAOpL,OAEjB5V,EAAQxM,KACKkE,SAAVsI,GACHqiB,EAAOxiB,KAAK2hB,EAAWxhB,EAAM4V,MAAMnC,MAAM,QACzCzT,EAAQA,EAAM6gB,OAElB0B,GAAkBF,GAClBC,EAA4BD,GAC5B/gB,EAAK6B,kBAAkB3H,EAAO,QAAS4mB,EAAiBlY,EAASmY,IACjE/gB,EAAK6B,kBAAkB3H,EAAO,oBAAoB,IAGtD,IAAI4gB,IAAqB,WACrB,GAAI2L,GAAsB,YACtBC,EAAmB,SAASpS,EAAOpa,GACnC,MAAqB,gBAAVoa,GAA2BA,EAEnBle,SAAf8D,EAAMiT,MACY/W,SAAlB8D,EAAM0O,QACC1O,EAAMyC,WAEVwlB,EAAejoB,GAG1B,IAAqC,gBAA1BlB,OAAM2tB,iBACsB,kBAA5B3tB,OAAM8hB,kBAAkC,CAC/C9hB,MAAM2tB,iBAAmB,EACzBrF,EAAoBmF,EACpB5E,EAAc6E,CACd,IAAI5L,GAAoB9hB,MAAM8hB,iBAK9B,OAHA0G,IAAe,SAASrB,GACpB,MAAOiD,GAAqBrU,KAAKoR,IAE9B,SAASxa,EAAUihB,GACtB5tB,MAAM2tB,iBAAmB,EACzB7L,EAAkBnV,EAAUihB,GAC5B5tB,MAAM2tB,iBAAmB,GAGjC,GAAI9sB,GAAM,GAAIb,MAEd,IAAyB,gBAAda,GAAIya,OACXza,EAAIya,MAAMnC,MAAM,MAAM,GAAGqG,QAAQ,oBAAsB,EAIvD,MAHA8I,GAAoB,IACpBO,EAAc6E,EACdjF,GAAoB,EACb,SAA2B/O,GAC9BA,EAAE4B,OAAQ,GAAItb,QAAQsb,MAI9B,IAAIuS,EACJ,KAAM,KAAM,IAAI7tB,OAChB,MAAMO,GACFstB,EAAsB,SAAWttB,GAErC,MAAM,SAAWM,KAAQgtB,GACY,gBAA1B7tB,OAAM2tB,iBAWjB9E,EAAc,SAASvN,EAAOpa,GAC1B,MAAqB,gBAAVoa,GAA2BA,EAEhB,YAAjB,mBAAOpa,GAAP,YAAA9F,EAAO8F,KACS,kBAAVA,IACQ9D,SAAf8D,EAAMiT,MACY/W,SAAlB8D,EAAM0O,QAGHuZ,EAAejoB,GAFXA,EAAMyC,YAKd,OAtBH2kB,EAAoBmF,EACpB5E,EAAc6E,EACP,SAA2BhU,GAC9B1Z,MAAM2tB,iBAAmB,CACzB,KAAM,KAAM,IAAI3tB,OAChB,MAAMO,GAAKmZ,EAAE4B,MAAQ/a,EAAE+a,MACvBtb,MAAM2tB,iBAAmB,QAoBd,oBAAZloB,UAAmD,mBAAjBA,SAAQgiB,OACjDsB,EAAe,SAAUnZ,GACrBnK,QAAQgiB,KAAK7X,IAEb5I,EAAK2B,QAAU/B,EAAQwU,OAAO0S,MAC9B/E,EAAe,SAASnZ,EAASgZ,GAC7B,GAAImF,GAAQnF,EAAS,QAAe,OACpCnjB,SAAQgiB,KAAKsG,EAAQne,EAAU,WAE3B5I,EAAK2B,QAAyC,iBAAvB,GAAI3I,QAAQsb,QAC3CyN,EAAe,SAASnZ,EAASgZ,GAC7BnjB,QAAQgiB,KAAK,KAAO7X,EACRgZ,EAAS,oBAAsB,gBAKvD,IAAInvB,KACAoR,SAAUA,EACVuZ,iBAAiB,EACjB6I,cAAc,EACdE,YAAY,EAKhB,OAFI/I,IAAiB3d,EAAQ2d,mBAGzBA,gBAAiB,WACb,MAAO3qB,IAAO2qB,iBAElBvZ,SAAU,WACN,MAAOpR,IAAOoR,UAElBoiB,aAAc,WACV,MAAOxzB,IAAOwzB,cAElBE,WAAY,WACR,MAAO1zB,IAAO0zB,YAElBD,sBAAuB,WACnB,MAAOA,KAEX/G,mBAAoB,WAChB,MAAOA,IAEX/V,sBAAuBA,EACvB8B,UAAWA,EACXuV,KAAMA,EACN1V,WAAYA,EACZ/H,cAAeA,EACf2hB,aAAcA,EACdS,gBAAiBA,OnBqsGSj0B,KAAKJ,EAASH,EAAoB,KAI1D,SAAUI,EAAQD,EAASH,GoB7lIjC,YACAI,GAAOD,QAAU,SAAS0O,EAASiD,EAAqBD,GAMxD,QAASM,GAA0BlC,EAAS/C,EAAME,GAC9C9L,KAAK2O,QAAUA,EACf3O,KAAK4L,KAAOA,EACZ5L,KAAK8L,QAAUA,EACf9L,KAAK80B,QAAS,EACd90B,KAAKyX,cAAgB,KAOzB,QAASsd,GAA6BC,GAClCh1B,KAAKg1B,eAAiBA,EAO1B,QAASC,GAAYjd,EAAK1F,GACtB,MAAyB,OAArB0F,EAAIP,gBACAxT,UAAUxB,OAAS,EACnBuV,EAAIP,cAAcvB,QAAQ5D,GAE1B0F,EAAIP,cAAcE,UAEtBK,EAAIP,cAAgB,MACb,GAKf,QAASyd,KACL,MAAOF,GAAe/1B,KAAKe,KAAMA,KAAK2O,QAAQS,UAAUsJ,iBAE5D,QAASyc,GAAK7iB,GACV,IAAI2iB,EAAYj1B,KAAMsS,GAEtB,MADArB,GAAS5J,EAAIiL,EACNrB,EAEX,QAAS+jB,GAAeI,GACpB,GAAIzmB,GAAU3O,KAAK2O,QACf7C,EAAU9L,KAAK8L,OAEnB,KAAK9L,KAAK80B,OAAQ,CACd90B,KAAK80B,QAAS,CACd,IAAI5nB,GAAMlN,KAAKwX,mBACT1L,EAAQ7M,KAAK0P,EAAQmF,eACrBhI,EAAQ7M,KAAK0P,EAAQmF,cAAeshB,EAC1C,IAAIloB,IAAQqD,EACR,MAAOrD,EACJ,IAAYhJ,SAARgJ,EAAmB,CAC1ByB,EAAQmjB,0BACR,IAAI9b,GAAexF,EAAoBtD,EAAKyB,EAC5C,IAAIqH,YAAwBzI,GAAS,CACjC,GAA0B,MAAtBvN,KAAKyX,cAAuB,CAC5B,GAAIzB,EAAaqf,eAAgB,CAC7B,GAAI/iB,GACA,GAAIrC,GAAkB,6BAG1B,OAFAtB,GAAQyF,kBAAkB9B,GAC1BrB,EAAS5J,EAAIiL,EACNrB,EACA+E,EAAasf,aACpBtf,EAAaiW,4BACT,GAAI8I,GAA6B/0B,OAG7C,MAAOgW,GAAaxE,MAChB0jB,EAASC,EAAMjxB,OAAWlE,KAAMkE,UAKhD,MAAIyK,GAAQwD,cACR8iB,EAAYj1B,MACZiR,EAAS5J,EAAI+tB,EACNnkB,IAEPgkB,EAAYj1B,MACLo1B,GArFf,GAAItnB,GAAOpP,EAAQ,GACfuR,EAAoB1C,EAAQ0C,kBAC5BgB,EAAWnD,EAAKmD,SAChBF,EAAcrS,EAAQ,IAAkB6R,EA2I5C,OAjIAM,GAA0BtR,UAAUiY,iBAAmB,WACnD,MAAqB,KAAdxX,KAAK4L,MAOhBmpB,EAA6Bx1B,UAAUwrB,iBAAmB,WACtDkK,EAAYj1B,KAAKg1B,iBAmErBznB,EAAQhO,UAAUg2B,aAAe,SAASzpB,EAASF,EAAM4pB,EAASL,GAC9D,MAAuB,kBAAZrpB,GAA+B9L,KAAKyH,OACxCzH,KAAKwR,MAAMgkB,EACAL,EACAjxB,OACA,GAAI2M,GAA0B7Q,KAAM4L,EAAME,GAC1C5H,SAGtBqJ,EAAQhO,UAAUk2B,OAClBloB,EAAQhO,UAAR,QAA+B,SAAUuM,GACrC,MAAO9L,MAAKu1B,aAAazpB,EACA,EACAkpB,EACAA,IAI7BznB,EAAQhO,UAAUm2B,IAAM,SAAU5pB,GAC9B,MAAO9L,MAAKu1B,aAAazpB,EAAS,EAAGkpB,IAGzCznB,EAAQhO,UAAUo2B,SAAW,SAAUC,GACnC,GAAI7pB,GAAM9H,UAAUxB,MACpB,IAAW,IAARsJ,EACC,MAAO/L,MAAKu1B,aAAaK,EACA,EACA1xB,OACA8wB,EAExB,IACU31B,GADN+R,EAAiB,GAAI5L,OAAMuG,EAAM,GAClCsF,EAAI,CACR,KAAKhS,EAAI,EAAGA,EAAI0M,EAAM,IAAK1M,EAAG,CAC1B,GAAIiS,GAAOrN,UAAU5E,EACrB,KAAIyO,EAAKzC,SAASiG,GAGd,MAAO/D,GAAQgC,OAAO,GAAIpO,WACtB,6DACmC2M,EAAKC,YAAYuD,IAJxDF,GAAeC,KAAOC,EAQ9BF,EAAe3O,OAAS4O,CACxB,IAAIvF,GAAU7H,UAAU5E,EACxB,OAAOW,MAAKu1B,aAAaxkB,EAAYK,EAAgBtF,EAAS9L,MACrC,EACAkE,OACA8wB,IAK1BnkB,IpB8kID,SAAU/R,EAAQD,EAASH,GqB9tIjC,YACAI,GAAOD,QAAU,SAAS0R,GAM1B,QAASQ,GAAY8kB,EAAW3uB,EAAIyH,GAChC,MAAO,UAAStH,GACZ,GAAIyuB,GAAUnnB,EAAQmF,aACtBiiB,GAAe,IAAK,GAAI12B,GAAI,EAAGA,EAAIw2B,EAAUpzB,SAAUpD,EAAG,CACtD,GAAIiS,GAAOukB,EAAUx2B,EAErB,IAAIiS,IAASxK,OACA,MAARwK,GAAgBA,EAAK/R,oBAAqBuH,QAC3C,GAAIO,YAAaiK,GACb,MAAOJ,GAAShK,GAAIjI,KAAK62B,EAASzuB,OAEnC,IAAoB,kBAATiK,GAAqB,CACnC,GAAI0kB,GAAmB9kB,EAASI,GAAMrS,KAAK62B,EAASzuB,EACpD,IAAI2uB,IAAqB/kB,EACrB,MAAO+kB,EACJ,IAAIA,EACP,MAAO9kB,GAAShK,GAAIjI,KAAK62B,EAASzuB,OAEnC,IAAIyG,EAAKzC,SAAShE,GAAI,CAEzB,IAAK,GADDkV,GAAO0C,EAAQ3N,GACVD,EAAI,EAAGA,EAAIkL,EAAK9Z,SAAU4O,EAAG,CAClC,GAAIzO,GAAM2Z,EAAKlL,EACf,IAAIC,EAAK1O,IAAQyE,EAAEzE,GACf,QAASmzB,GAGjB,MAAO7kB,GAAShK,GAAIjI,KAAK62B,EAASzuB,IAG1C,MAAOkJ,IAlCf,GAAIzC,GAAOpP,EAAQ,GACfugB,EAAUvgB,EAAQ,GAAS6d,KAC3BrL,EAAWpD,EAAKoD,SAChBD,EAAWnD,EAAKmD,QAmCpB,OAAOF,KrBquID,SAAUjS,EAAQD,EAASH,GsB7wIjC,YAOA,SAASu3B,GAAep1B,GACpB,MAAOA,aAAeiG,QAClB8I,EAAIxL,eAAevD,KAASiG,MAAMvH,UAI1C,QAAS22B,GAAuBr1B,GAC5B,GAAIqM,EACJ,IAAI+oB,EAAep1B,GAAM,CACrBqM,EAAM,GAAIiD,GAAiBtP,GAC3BqM,EAAI+N,KAAOpa,EAAIoa,KACf/N,EAAIwJ,QAAU7V,EAAI6V,QAClBxJ,EAAIkV,MAAQvhB,EAAIuhB,KAEhB,KAAK,GADD7F,GAAO3M,EAAI2M,KAAK1b,GACXxB,EAAI,EAAGA,EAAIkd,EAAK9Z,SAAUpD,EAAG,CAClC,GAAIuD,GAAM2Z,EAAKld,EACV82B,GAAUtZ,KAAKja,KAChBsK,EAAItK,GAAO/B,EAAI+B,IAGvB,MAAOsK,GAGX,MADAY,GAAK0P,+BAA+B3c,GAC7BA,EAGX,QAASmQ,GAAmBrC,EAASmE,GACjC,MAAO,UAASnL,EAAK/F,GACjB,GAAgB,OAAZ+M,EAAJ,CACA,GAAIhH,EAAK,CACL,GAAIyuB,GAAUF,EAAuBxa,EAAiB/T,GACtDgH,GAAQyF,kBAAkBgiB,GAC1BznB,EAAQuH,QAAQkgB,OACb,IAAKtjB,EAEL,CACwE,IAAI,GAA3EujB,GAAQpyB,UAAUxB,OAAW/C,EAAO,GAAI8F,OAAM2B,KAAKmvB,IAAID,EAAQ,EAAG,IAAaE,EAAM,EAAGA,EAAMF,IAASE,EAAM72B,EAAK62B,EAAM,GAAKtyB,UAAUsyB,EAC3I5nB,GAAQsH,SAASvW,OAHjBiP,GAAQsH,SAASrU,EAKrB+M,GAAU,OA7ClB,GAAIb,GAAOpP,EAAQ,GACfgd,EAAmB5N,EAAK4N,iBACxB3L,EAASrR,EAAQ,IACjByR,EAAmBJ,EAAOI,iBAC1BP,EAAMlR,EAAQ,GAOdy3B,EAAY,gCAsChBr3B,GAAOD,QAAUmS,GtBqxIX,SAAUlS,EAAQD,EAASH,GuBv0IjC,YACAI,GAAOD,QACP,SAAS0O,EAASS,EAAUwC,EAAqBnB,EAAcuB,GAC/D,GAAI9C,GAAOpP,EAAQ,GACfwS,EAAWpD,EAAKoD,QAEpB3D,GAAQ1I,OAAS,SAAUjF,GACvB,GAAkB,kBAAPA,GACP,KAAM,IAAI2N,GAAQpM,UAAU,gCAAkC2M,EAAKC,YAAYnO,GAEnF,OAAO,YACH,GAAIsN,GAAM,GAAIK,GAAQS,EACtBd,GAAI2F,qBACJ3F,EAAIyJ,cACJ,IAAI/U,GAAQsP,EAAStR,GAAIG,MAAMC,KAAMiE,WACjCgT,EAAiB/J,EAAI4J,aAIzB,OAHAlG,GAAMsG,sBACFtV,EAAOqV,EAAgB,iBAAkB/J,GAC7CA,EAAIspB,sBAAsB50B,GACnBsL,IAIfK,EAAQkpB,QAAUlpB,EAAA,IAAiB,SAAU3N,GACzC,GAAkB,kBAAPA,GACP,MAAOyP,GAAa,gCAAkCvB,EAAKC,YAAYnO,GAE3E,IAAIsN,GAAM,GAAIK,GAAQS,EACtBd,GAAI2F,qBACJ3F,EAAIyJ,cACJ,IAAI/U,EACJ,IAAIqC,UAAUxB,OAAS,EAAG,CACtBmO,EAAMiI,WAAW,gDACjB,IAAI1N,GAAMlH,UAAU,GAChB+T,EAAM/T,UAAU,EACpBrC,GAAQkM,EAAKwR,QAAQnU,GAAO+F,EAAStR,GAAIG,MAAMiY,EAAK7M,GACxB+F,EAAStR,GAAIX,KAAK+Y,EAAK7M,OAEnDvJ,GAAQsP,EAAStR,IAErB,IAAIqX,GAAiB/J,EAAI4J,aAIzB,OAHAlG,GAAMsG,sBACFtV,EAAOqV,EAAgB,cAAe/J,GAC1CA,EAAIspB,sBAAsB50B,GACnBsL,GAGXK,EAAQhO,UAAUi3B,sBAAwB,SAAU50B,GAC5CA,IAAUkM,EAAKmD,SACfjR,KAAK8O,gBAAgBlN,EAAMyF,GAAG,GAE9BrH,KAAK4O,iBAAiBhN,GAAO,MvB60I/B,SAAU9C,EAAQD,GwBh4IxB,YACAC,GAAOD,QAAU,SAAS0O,EAASS,EAAUwC,EAAqBI,GAClE,GAAI8lB,IAAa,EACbC,EAAa,SAASnjB,EAAGnM,GACzBrH,KAAKkW,QAAQ7O,IAGbuvB,EAAiB,SAASvvB,EAAG4E,GAC7BA,EAAQ4qB,wBAAyB,EACjC5qB,EAAQ6qB,eAAetlB,MAAMmlB,EAAYA,EAAY,KAAM32B,KAAMqH,IAGjE0vB,EAAkB,SAASC,EAAS/qB,GACC,KAAd,SAAjBjM,KAAKiO,YACPjO,KAAK4O,iBAAiB3C,EAAQ1J,SAIlC00B,EAAkB,SAAS5vB,EAAG4E,GACzBA,EAAQ4qB,wBAAwB72B,KAAKkW,QAAQ7O,GAGtDkG,GAAQhO,UAAU0G,KAAO,SAAU+wB;AAC1BN,IACDA,GAAa,EACbnpB,EAAQhO,UAAUsU,eAAiBjD,EAAMojB,wBACzCzmB,EAAQhO,UAAUuU,YAAclD,EAAMqc,qBAE1C,IAAIjX,GAAexF,EAAoBwmB,GACnC9pB,EAAM,GAAIK,GAAQS,EACtBd,GAAI2G,eAAe7T,KAAM,EACzB,IAAIuC,GAASvC,KAAKoP,SAElB,IADAlC,EAAI6f,YAAY/W,GACZA,YAAwBzI,GAAS,CACjC,GAAItB,IACA4qB,wBAAwB,EACxBloB,QAASzB,EACT3K,OAAQA,EACRu0B,eAAgB9gB,EAEpBzT,GAAOiP,MAAMxD,EAAU4oB,EAAgB1yB,OAAWgJ,EAAKjB,GACvD+J,EAAaxE,MACTulB,EAAiBE,EAAiB/yB,OAAWgJ,EAAKjB,GACtDiB,EAAI8c,aAAahU,OAEjB9I,GAAI0B,iBAAiBrM,EAEzB,OAAO2K,IAGXK,EAAQhO,UAAUwtB,YAAc,SAAUlsB,GAC1BqD,SAARrD,GACAb,KAAKiO,UAA6B,QAAjBjO,KAAKiO,UACtBjO,KAAK+T,SAAWlT,GAEhBb,KAAKiO,UAAYjO,KAAKiO,WAAa,SAI3CV,EAAQhO,UAAU6V,SAAW,WACzB,MAAsC,YAAb,QAAjBpV,KAAKiO,YAGjBV,EAAQtH,KAAO,SAAU+wB,EAASp1B,GAC9B,MAAO2L,GAAQ6F,QAAQxR,GAAOqE,KAAK+wB,MxBw4IjC,SAAUl4B,EAAQD,EAASH,GyBx8IjC,YACAI,GAAOD,QAAU,SAAS0O,EAASkD,EAAcpB,EAAcuB,GAC/D,GAAI9C,GAAOpP,EAAQ,GACfwS,EAAWpD,EAAKoD,SAChBD,EAAWnD,EAAKmD,SAChBnB,EAAQvC,EAAQkkB,MAEpBlkB,GAAQhO,UAAR,MAA6BgO,EAAQhO,UAAUqY,OAAS,WACpD,IAAKhH,EAAMmjB,eAAgB,MAAO/zB,MAAK4R,MAAM,2BAI7C,KAFA,GAAIjD,GAAU3O,KACVyzB,EAAQ9kB,EACLA,EAAQkc,kBAAkB,CAC7B,IAAKlc,EAAQuoB,UAAUzD,GAAQ,CACvBA,EAAMhf,eACNgf,EAAMtc,YAAYS,SAElB6b,EAAM0D,iBAEV,OAGJ,GAAIxK,GAAShe,EAAQ8d,mBACrB,IAAc,MAAVE,IAAmBA,EAAO9B,iBAAkB,CACxClc,EAAQ8F,eACR9F,EAAQwI,YAAYS,SAEpBjJ,EAAQwoB,iBAEZ,OAEIxoB,EAAQ8F,gBAAgB9F,EAAQwI,YAAYS,SAChDjJ,EAAQqG,sBACRye,EAAQ9kB,EACRA,EAAUge,IAKtBpf,EAAQhO,UAAU63B,oBAAsB,WACpCp3B,KAAK8sB,8BAGTvf,EAAQhO,UAAU83B,6BAA+B,WAC7C,MAA2CnzB,UAApClE,KAAK8sB,4BACL9sB,KAAK8sB,4BAA8B,GAG9Cvf,EAAQhO,UAAU23B,UAAY,SAASI,GACnC,MAAIA,KAAct3B,MACdA,KAAK8sB,2BAA6B,EAClC9sB,KAAKu3B,mBACE,IAEPv3B,KAAKo3B,wBACDp3B,KAAKq3B,iCACLr3B,KAAKu3B,mBACE,KAMnBhqB,EAAQhO,UAAU43B,gBAAkB,WAC5Bn3B,KAAKq3B,gCACLr3B,KAAK2X,WAIbpK,EAAQhO,UAAUoY,QAAU,WACnB3X,KAAK6qB,mBACV7qB,KAAK+U,gBACLjF,EAAMuE,OAAOrU,KAAKw3B,gBAAiBx3B,KAAMkE,UAG7CqJ,EAAQhO,UAAUi4B,gBAAkB,WAC5Bx3B,KAAKwU,UAAY,GAAGxU,KAAKmY,mBAGjC5K,EAAQhO,UAAUk4B,eAAiB,WAC/Bz3B,KAAKssB,eAAiBpoB,QAG1BqJ,EAAQhO,UAAUsrB,eAAiB,WAC/B,MAAO7qB,MAAKs1B,cAAgBt1B,KAAKq1B,gBAGrC9nB,EAAQhO,UAAUm4B,cAAgB,WAC9B,MAAO13B,MAAKs1B,cAAgBt1B,KAAK23B,eAGrCpqB,EAAQhO,UAAUq4B,kBAAoB,SAASC,EAAkBC,GAC7D,GAAIhqB,EAAKwR,QAAQuY,GACb,IAAK,GAAIx4B,GAAI,EAAGA,EAAIw4B,EAAiBp1B,SAAUpD,EAC3CW,KAAK43B,kBAAkBC,EAAiBx4B,GAAIy4B,OAE7C,IAAyB5zB,SAArB2zB,EACP,GAAgC,kBAArBA,IACP,IAAKC,EAAc,CACf,GAAIzwB,GAAI6J,EAAS2mB,GAAkB54B,KAAKe,KAAK8T,cACzCzM,KAAM4J,IACNjR,KAAKoU,kBAAkB/M,EAAEA,GACzByI,EAAMwS,WAAWjb,EAAEA,SAI3BwwB,GAAiB9M,iBAAiB/qB,OAK9CuN,EAAQhO,UAAUg4B,gBAAkB,WAChC,GAAIM,GAAmB73B,KAAKosB,WAC5BpsB,MAAKy3B,iBACL3nB,EAAMuE,OAAOrU,KAAK43B,kBAAmB53B,KAAM63B,IAG/CtqB,EAAQhO,UAAUgY,wBAA0B,WACpCvX,KAAK6qB,mBACL7qB,KAAK43B,kBAAkB53B,KAAKosB,aAAa,GACzCpsB,KAAKy3B,mBAIblqB,EAAQhO,UAAUwrB,iBAAmB,WACjC/qB,KAAK4X,YzBg9IH,SAAU9Y,EAAQD,G0B7kJxB,YACAC,GAAOD,QAAU,SAAS0O,GAC1B,QAASwqB,KACL,MAAO/3B,MAAK4B,MAEhB,QAASya,KACL,KAAMrc,MAAKsS,OAGf/E,EAAQhO,UAAR,OACAgO,EAAQhO,UAAUy4B,WAAa,SAAUp2B,GAErC,MADIA,aAAiB2L,IAAS3L,EAAMgpB,8BAC7B5qB,KAAKwR,MACRumB,EAAU7zB,OAAWA,QAAYtC,MAAOA,GAAQsC,SAGxDqJ,EAAQhO,UAAR,MACAgO,EAAQhO,UAAU04B,UAAY,SAAU3lB,GACpC,MAAOtS,MAAKwR,MACR6K,EAASnY,OAAWA,QAAYoO,OAAQA,GAASpO,SAGzDqJ,EAAQhO,UAAU24B,WAAa,SAAU5lB,GACrC,GAAIrO,UAAUxB,QAAU,EACpB,MAAOzC,MAAKwR,MACRtN,OAAWmY,EAASnY,QAAYoO,OAAQA,GAASpO,OAErD,IAAImS,GAAUpS,UAAU,GACpB6H,EAAU,WAAY,KAAMuK,GAChC,OAAOrW,MAAKmR,OAAOmB,EAAQxG,IAInCyB,EAAQhO,UAAU44B,YAAc,SAAUv2B,GACtC,GAAIqC,UAAUxB,QAAU,EAEpB,MADIb,aAAiB2L,IAAS3L,EAAMgpB,8BAC7B5qB,KAAKwR,MACRtN,OAAW6zB,EAAU7zB,QAAYtC,MAAOA,GAAQsC,OAEpD,IAAIkS,GAASnS,UAAU,EACnBmS,aAAkB7I,IAAS6I,EAAOwU,6BACtC,IAAI9e,GAAU,WAAY,MAAOsK,GACjC,OAAOpW,MAAKmR,OAAOvP,EAAOkK,M1BqlJ5B,SAAUhN,EAAQD,G2B/nJxB,YACAC,GAAOD,QAAU,SAAS0O,GAC1B,QAAS4B,GAAkBR,GACPzK,SAAZyK,GACAA,EAAUA,EAAQS,UAClBpP,KAAKiO,UAAYU,EAAQV,UACzBjO,KAAKo4B,mBAAqBzpB,EAAQoE,gBAC5BpE,EAAQ+J,gBAAkBxU,SAGhClE,KAAKiO,UAAY,EACjBjO,KAAKo4B,mBAAqBl0B,QAIlCiL,EAAkB5P,UAAUmZ,cAAgB,WACxC,MAAO1Y,MAAKo4B,mBAGhB,IAAIx2B,GAAQuN,EAAkB5P,UAAUqC,MAAQ,WAC5C,IAAK5B,KAAKkS,cACN,KAAM,IAAI/Q,WAAU,4FAExB,OAAOnB,MAAK0Y,iBAGZpG,EAASnD,EAAkB5P,UAAUyI,MACzCmH,EAAkB5P,UAAU+S,OAAS,WACjC,IAAKtS,KAAKmS,aACN,KAAM,IAAIhR,WAAU,0FAExB,OAAOnB,MAAK0Y,iBAGZxG,EAAc/C,EAAkB5P,UAAU2S,YAAc,WACxD,MAAuC,MAAd,SAAjBlS,KAAKiO,YAGbkE,EAAahD,EAAkB5P,UAAU4S,WAAa,WACtD,MAAuC,MAAd,SAAjBnS,KAAKiO,YAGbqnB,EAAYnmB,EAAkB5P,UAAU+1B,UAAY,WACpD,MAAuC,MAAd,SAAjBt1B,KAAKiO,YAGb0c,EAAaxb,EAAkB5P,UAAUorB,WAAa,WACtD,MAAuC,MAAd,SAAjB3qB,KAAKiO,WAGjBkB,GAAkB5P,UAAUo4B,YAAc,WACtC,MAAsC,MAAb,QAAjB33B,KAAKiO,YAGjBV,EAAQhO,UAAU84B,cAAgB,WAC9B,MAAoC,UAAX,MAAjBr4B,KAAKiO,YAGjBV,EAAQhO,UAAU81B,aAAe,WAC7B,MAAOr1B,MAAKoP,UAAUipB,iBAG1B9qB,EAAQhO,UAAUo4B,YAAc,WAC5B,MAAgD,MAAb,QAA3B33B,KAAKoP,UAAUnB,YAG3BV,EAAQhO,UAAU+1B,UAAY,WAC1B,MAAOA,GAAUr2B,KAAKe,KAAKoP,YAG/B7B,EAAQhO,UAAU4S,WAAa,WAC3B,MAAOA,GAAWlT,KAAKe,KAAKoP,YAGhC7B,EAAQhO,UAAU2S,YAAc,WAC5B,MAAOA,GAAYjT,KAAKe,KAAKoP,YAGjC7B,EAAQhO,UAAUorB,WAAa,WAC3B,MAAOA,GAAW1rB,KAAKe,KAAKoP,YAGhC7B,EAAQhO,UAAUqC,MAAQ,WACtB,MAAOA,GAAM3C,KAAKe,KAAKoP,YAG3B7B,EAAQhO,UAAU+S,OAAS,WACvB,GAAI/P,GAASvC,KAAKoP,SAElB,OADA7M,GAAO2R,6BACA5B,EAAOrT,KAAKsD,IAGvBgL,EAAQhO,UAAU6W,OAAS,WACvB,MAAOpW,MAAK0Y,iBAGhBnL,EAAQhO,UAAU8W,QAAU,WAExB,MADArW,MAAKkU,6BACElU,KAAK0Y,iBAGhBnL,EAAQ4B,kBAAoBA,I3BooJtB,SAAUrQ,EAAQD,EAASH,G4BzuJjC,YACAI,GAAOD,QACP,SAAS0O,EAASkD,EAAcD,EAAqBxC,EAAU8B,EACtDd,GACT,GAIIO,GAJAzB,EAAOpP,EAAQ,GACfwf,EAAcpQ,EAAKoQ,YACnBhN,EAAWpD,EAAKoD,SAChBD,EAAWnD,EAAKmD,QAIpB,IAAIiN,EAAa,CAwFb,IAAK,GAvFDoa,GAAe,SAASj5B,GACxB,MAAO,IAAI0f,UAAS,QAAS,SAAU,mSAIjC0Q,QAAQ,SAAUpwB,KAGxBk5B,EAAgB,SAASl5B,GACzB,MAAO,IAAI0f,UAAS,UAAW,SAAU,gNAGnC0Q,QAAQ,SAAUpwB,KAGxBm5B,EAAsB,SAASC,GAE/B,IAAK,GADDj2B,GAAQ,GAAIgD,OAAMizB,GACbp5B,EAAI,EAAGA,EAAImD,EAAMC,SAAUpD,EAChCmD,EAAMnD,GAAK,UAAYA,EAAE,EAE7B,IAAIq5B,GAAal2B,EAAM6mB,KAAK,OAAS,WACjCsP,EAAkB,iBAAmBn2B,EAAM6C,IAAI,SAAS+a,GACxD,MAAO,0FACWA,EAAO,+SAK1BiJ,KAAK,MACJuP,EAAkBp2B,EAAM6mB,KAAK,MAC7BpO,EAAO,UAAYwd,EAGnBI,EAAO,4/FA8CX,OANAA,GAAOA,EAAKpJ,QAAQ,eAAgBxU,GAC/BwU,QAAQ,gBAAiBgJ,GACzBhJ,QAAQ,0BAA2BmJ,GACnCnJ,QAAQ,qBAAsBiJ,GAC9BjJ,QAAQ,wBAAyBkJ,GAE/B,GAAI5Z,UAAS,WAAY,WAAY,UAAW,QAAS8Z,GAC5C3nB,EAAUD,EAAU1D,EAASuC,IAGjDgpB,KACAC,KACAC,KAEK35B,EAAI,EAAGA,EAAI,IAAKA,EACrBy5B,EAAczsB,KAAKmsB,EAAoBn5B,EAAI,IAC3C05B,EAAc1sB,KAAKisB,EAAaj5B,EAAI,IACpC25B,EAAe3sB,KAAKksB,EAAcl5B,EAAI,GAG1CkQ,GAAS,SAAU+C,GACftS,KAAKkW,QAAQ5D,IAIrB/E,EAAQ8b,KAAO,WACX,GACIzpB,GADAyJ,EAAOpF,UAAUxB,OAAS,CAE9B,IAAI4G,EAAO,GAAgC,kBAApBpF,WAAUoF,KAC7BzJ,EAAKqE,UAAUoF,GAEPA,GAAQ,GAAK6U,GAAa,CAC1B,GAAIhR,GAAM,GAAIK,GAAQS,EACtBd,GAAI2F,oBAKJ,KAAK,GAJDomB,GAAcH,EAAczvB,EAAO,GACnC6vB,EAAS,GAAID,GAAYr5B,GACzBu5B,EAAYJ,EAEP15B,EAAI,EAAGA,EAAIgK,IAAQhK,EAAG,CAC3B,GAAI2W,GAAexF,EAAoBvM,UAAU5E,GAAI6N,EACrD,IAAI8I,YAAwBzI,GAAS,CACjCyI,EAAeA,EAAa5G,SAC5B,IAAIwE,GAAWoC,EAAa/H,SAEG,MAAd,SAAX2F,IACFoC,EAAaxE,MAAM2nB,EAAU95B,GAAIkQ,EACdrL,OAAWgJ,EAAKgsB,GACnCF,EAAe35B,GAAG2W,EAAckjB,GAChCA,EAAOE,aAAc,GACa,KAAd,SAAXxlB,GACTulB,EAAU95B,GAAGJ,KAAKiO,EACA8I,EAAaI,SAAU8iB,GACP,KAAd,SAAXtlB,GACT1G,EAAIgJ,QAAQF,EAAaK,WAEzBnJ,EAAIyK,cAGRwhB,GAAU95B,GAAGJ,KAAKiO,EAAK8I,EAAckjB,GAI7C,IAAKhsB,EAAI6F,gBAAiB,CACtB,GAAImmB,EAAOE,YAAa,CACpB,GAAI1pB,GAASV,GACE,QAAXU,IACAwpB,EAAOt5B,GAAKkO,EAAKwG,WAAW5E,EAAQwpB,EAAOt5B,KAGnDsN,EAAI8F,sBACJ9F,EAAI8c,aAAakP,GAErB,MAAOhsB,GAIuC,IAAI,GAA1DmpB,GAAQpyB,UAAUxB,OAAW/C,EAAO,GAAI8F,OAAM6wB,GAAgBE,EAAM,EAAGA,EAAMF,IAASE,EAAM72B,EAAK62B,GAAOtyB,UAAUsyB,EAClH32B,IAAIF,EAAKgG,KACb,IAAIwH,GAAM,GAAIuD,GAAa/Q,GAAMiP,SACjC,OAAczK,UAAPtE,EAAmBsN,EAAI6E,OAAOnS,GAAMsN,K5B2uJzC,SAAUpO,EAAQD,EAASH,G6B/4JjC,Y7Bm5JC,IAAIwD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,G6Bl5JvQ/B,GAAOD,QAAU,SAAS0O,EACAkD,EACApB,EACAmB,EACAxC,EACA4C,GAO1B,QAASyoB,GAAoBpmB,EAAUrT,EAAI05B,EAAOC,GAC9Cv5B,KAAKye,aAAaxL,GAClBjT,KAAK+pB,SAASlX,oBACd,IAAInD,GAASV,GACbhP,MAAKw5B,UAAuB,OAAX9pB,EAAkB9P,EAAKkO,EAAKwG,WAAW5E,EAAQ9P,GAChEI,KAAKy5B,iBAAmBF,IAAYvrB,EAC9B,GAAIxI,OAAMxF,KAAKyC,UACf,KACNzC,KAAK05B,OAASJ,EACdt5B,KAAK25B,UAAY,EACjB35B,KAAK45B,UACL9pB,EAAMuE,OAAOrU,KAAK65B,WAAY75B,KAAMkE,QA6GxC,QAASmB,GAAI4N,EAAUrT,EAAIoE,EAASu1B,GAChC,GAAkB,kBAAP35B,GACP,MAAOyP,GAAa,gCAAkCvB,EAAKC,YAAYnO,GAG3E,IAAI05B,GAAQ,CACZ,IAAgBp1B,SAAZF,EAAuB,CACvB,GAAuB,YAAnB,mBAAOA,GAAP,YAAA9B,EAAO8B,KAAoC,OAAZA,EAQ/B,MAAOuJ,GAAQgC,OAAO,GAAIpO,WACV,gDACC2M,EAAKC,YAAY/J,IATlC,IAAmC,gBAAxBA,GAAQ81B,YACf,MAAOvsB,GAAQgC,OACX,GAAIpO,WAAU,4CACE2M,EAAKC,YAAY/J,EAAQ81B,cAEjDR,GAAQt1B,EAAQ81B,YASxB,MAFAR,GAAyB,gBAAVA,IACXS,SAAST,IAAUA,GAAS,EAAIA,EAAQ,EACrC,GAAID,GAAoBpmB,EAAUrT,EAAI05B,EAAOC,GAAS5qB,UApJjE,GAAIK,GAAYzB,EAAQikB,WACpB1jB,EAAOpP,EAAQ,GACfwS,EAAWpD,EAAKoD,SAChBD,EAAWnD,EAAKmD,SAChBnB,EAAQvC,EAAQkkB,MAepB3jB,GAAKuQ,SAASgb,EAAqB5oB,GAEnC4oB,EAAoB95B,UAAUs6B,WAAa,WACvC75B,KAAKg6B,OAAO91B,QAAW,IAG3Bm1B,EAAoB95B,UAAU4qB,MAAQ,aAEtCkP,EAAoB95B,UAAUuY,kBAAoB,SAAUlW,EAAOuT,GAC/D,GAAI2U,GAAS9pB,KAAKiqB,QACdxnB,EAASzC,KAAKyC,SACdw3B,EAAkBj6B,KAAKy5B,iBACvBH,EAAQt5B,KAAK05B,MAEjB,IAAIvkB,EAAQ,GAGR,GAFAA,EAASA,GAAQ,EAAM,EACvB2U,EAAO3U,GAASvT,EACZ03B,GAAS,IACTt5B,KAAK25B,YACL35B,KAAKwiB,cACDxiB,KAAK6X,eAAe,OAAO,MAEhC,CACH,GAAIyhB,GAAS,GAAKt5B,KAAK25B,WAAaL,EAGhC,MAFAxP,GAAO3U,GAASvT,EAChB5B,KAAK45B,OAAOvtB,KAAK8I,IACV,CAEa,QAApB8kB,IAA0BA,EAAgB9kB,GAASvT,EAEvD,IAAI+M,GAAU3O,KAAK+pB,SACf5kB,EAAWnF,KAAKw5B,UAChB/lB,EAAW9E,EAAQmF,aACvBnF,GAAQgI,cACR,IAAIzJ,GAAMgE,EAAS/L,GAAUlG,KAAKwU,EAAU7R,EAAOuT,EAAO1S,GACtDwU,EAAiBtI,EAAQmI,aAO7B,IANAlG,EAAMsG,sBACFhK,EACA+J,EACoB,OAApBgjB,EAA2B,iBAAmB,cAC9CtrB,GAEAzB,IAAQ+D,EAER,MADAjR,MAAKkW,QAAQhJ,EAAI7F,IACV,CAGX,IAAI2O,GAAexF,EAAoBtD,EAAKlN,KAAK+pB,SACjD,IAAI/T,YAAwBzI,GAAS,CACjCyI,EAAeA,EAAa5G,SAC5B,IAAIwE,GAAWoC,EAAa/H,SAE5B,IAA+B,KAAd,SAAX2F,GAIF,MAHI0lB,IAAS,GAAGt5B,KAAK25B,YACrB7P,EAAO3U,GAASa,EAChBA,EAAaH,OAAO7V,MAAOmV,EAAQ,IAAK,IACjC,CACJ,IAA+B,KAAd,SAAXvB,GAEN,MAA+B,MAAd,SAAXA,IACT5T,KAAKkW,QAAQF,EAAaK,YACnB,IAEPrW,KAAK2X,WACE,EANPzK,GAAM8I,EAAaI,SAS3B0T,EAAO3U,GAASjI,EAEpB,GAAI4d,KAAkB9qB,KAAKkqB,cAC3B,OAAIY,IAAiBroB,IACO,OAApBw3B,EACAj6B,KAAKu5B,QAAQzP,EAAQmQ,GAErBj6B,KAAKuqB,SAAST,IAEX,IAKfuP,EAAoB95B,UAAUijB,YAAc,WAIxC,IAHA,GAAIxI,GAAQha,KAAK45B,OACbN,EAAQt5B,KAAK05B,OACb5P,EAAS9pB,KAAKiqB,QACXjQ,EAAMvX,OAAS,GAAKzC,KAAK25B,UAAYL,GAAO,CAC/C,GAAIt5B,KAAK6X,cAAe,MACxB,IAAI1C,GAAQ6E,EAAMtU,KAClB1F,MAAK8X,kBAAkBgS,EAAO3U,GAAQA,KAI9CkkB,EAAoB95B,UAAUg6B,QAAU,SAAUW,EAAUpQ,GAIxD,IAAK,GAHD/d,GAAM+d,EAAOrnB,OACbyK,EAAM,GAAI1H,OAAMuG,GAChBsF,EAAI,EACChS,EAAI,EAAGA,EAAI0M,IAAO1M,EACnB66B,EAAS76B,KAAI6N,EAAImE,KAAOyY,EAAOzqB,GAEvC6N,GAAIzK,OAAS4O,EACbrR,KAAKuqB,SAASrd,IAGlBmsB,EAAoB95B,UAAU06B,gBAAkB,WAC5C,MAAOj6B,MAAKy5B,kBA4BhBlsB,EAAQhO,UAAU8F,IAAM,SAAUzF,EAAIoE,GAClC,MAAOqB,GAAIrF,KAAMJ,EAAIoE,EAAS,OAGlCuJ,EAAQlI,IAAM,SAAU4N,EAAUrT,EAAIoE,EAASu1B,GAC3C,MAAOl0B,GAAI4N,EAAUrT,EAAIoE,EAASu1B,M7By4JhC,SAAUz6B,EAAQD,EAASH,G8B5iKjC,YACA,IAAIy7B,GAAK76B,OAAOoC,MAChB,IAAIy4B,EAAI,CACJ,GAAIC,GAAcD,EAAG,MACjBE,EAAcF,EAAG,KACrBC,GAAY,SAAWC,EAAY,SAAW,EAGlDv7B,EAAOD,QAAU,SAAS0O,GA4D1B,QAAS+sB,GAAaz5B,EAAKiE,GACvB,GAAIlF,EAEJ,IADW,MAAPiB,IAAajB,EAAKiB,EAAIiE,IACR,kBAAPlF,GAAmB,CAC1B,GAAI8W,GAAU,UAAY5I,EAAKC,YAAYlN,GAAO,mBAC9CiN,EAAKrD,SAAS3F,GAAc,GAChC,MAAM,IAAIyI,GAAQpM,UAAUuV,GAEhC,MAAO9W,GAGX,QAAS26B,GAAO15B,GACZ,GAAIiE,GAAa9E,KAAK0F,MAClB9F,EAAK06B,EAAaz5B,EAAKiE,EAC3B,OAAOlF,GAAGG,MAAMc,EAAKb,MAiBzB,QAASw6B,GAAY35B,GACjB,MAAOA,GAAIb,MAEf,QAASy6B,GAAc55B,GACnB,GAAIsU,IAASnV,IAEb,OADImV,GAAQ,IAAGA,EAAQhO,KAAKmvB,IAAI,EAAGnhB,EAAQtU,EAAI4B,SACxC5B,EAAIsU,GAhGf,GAIIulB,GACAC,EALA7sB,EAAOpP,EAAQ,GACfwf,EAAcpQ,EAAKoQ,YACnBlB,EAAelP,EAAKkP,aAKpB4d,EAAmB,SAAU91B,GAC7B,MAAO,IAAIia,UAAS,eAAgB,glCAc9B0Q,QAAQ,cAAe3qB,IAAaw1B,IAG1CO,EAAa,SAAUnc,GACvB,MAAO,IAAIK,UAAS,MAAO,8NAGrB0Q,QAAQ,eAAgB/Q,KAG9Boc,EAAc,SAAS7f,EAAM8f,EAAUC,GACvC,GAAI9tB,GAAM8tB,EAAM/f,EAChB,IAAmB,kBAAR/N,GAAoB,CAC3B,IAAK8P,EAAa/B,GACd,MAAO,KAKX,IAHA/N,EAAM6tB,EAAS9f,GACf+f,EAAM/f,GAAQ/N,EACd8tB,EAAM,WACFA,EAAM,SAAW,IAAK,CAEtB,IAAK,GADDze,GAAOjd,OAAOid,KAAKye,GACd37B,EAAI,EAAGA,EAAI,MAAOA,QAAU27B,GAAMze,EAAKld,GAChD27B,GAAM,SAAWze,EAAK9Z,OAAS,KAGvC,MAAOyK,GAGXwtB,GAAkB,SAASzf,GACvB,MAAO6f,GAAY7f,EAAM2f,EAAkBR,IAG/CO,EAAY,SAAS1f,GACjB,MAAO6f,GAAY7f,EAAM4f,EAAYR,IAoBzC9sB,EAAQhO,UAAUN,KAAO,SAAU6F,GAC4C,IAAI,GAA3EuxB,GAAQpyB,UAAUxB,OAAW/C,EAAO,GAAI8F,OAAM2B,KAAKmvB,IAAID,EAAQ,EAAG,IAAaE,EAAM,EAAGA,EAAMF,IAASE,EAAM72B,EAAK62B,EAAM,GAAKtyB,UAAUsyB,EAEvI,IAAIrY,EAAa,CACb,GAAI+c,GAAcP,EAAgB51B,EAClC,IAAoB,OAAhBm2B,EACA,MAAOj7B,MAAKwR,MACRypB,EAAa/2B,OAAWA,OAAWxE,EAAMwE,QAKzD,MADAxE,GAAK2M,KAAKvH,GACH9E,KAAKwR,MAAM+oB,EAAQr2B,OAAWA,OAAWxE,EAAMwE,SAW1DqJ,EAAQhO,UAAU6c,IAAM,SAAUsC,GAC9B,GACIwc,GADAC,EAAmC,gBAAjBzc,EAEtB,IAAKyc,EAQDD,EAAST,MAPT,IAAIvc,EAAa,CACb,GAAIkd,GAAcT,EAAUjc,EAC5Bwc,GAAyB,OAAhBE,EAAuBA,EAAcZ,MAE9CU,GAASV,CAKjB,OAAOx6B,MAAKwR,MAAM0pB,EAAQh3B,OAAWA,OAAWwa,EAAcxa,W9BsjK5D,SAAUpF,EAAQD,EAASH,G+B9qKjC,YACAI,GAAOD,QAAU,SAAU0O,EAAS8B,EAAcmB,EAC9CG,EAAe3C,EAAU4C,GAQzB,QAASyL,GAAQhV,GACbmS,WAAW,WAAW,KAAMnS,IAAK,GAGrC,QAASg0B,GAAyBC,GAC9B,GAAItlB,GAAexF,EAAoB8qB,EAOvC,OANItlB,KAAiBslB,GACiB,kBAA3BA,GAASC,eACiB,kBAA1BD,GAASE,cAChBF,EAASC,iBACTvlB,EAAaylB,eAAeH,EAASE,gBAElCxlB,EAEX,QAAS0lB,GAAQC,EAAWC,GAIxB,QAASx5B,KACL,GAAI/C,GAAK0M,EAAK,MAAOmB,GAAI+I,UACzB,IAAID,GAAeqlB,EAAyBM,EAAUt8B,KACtD,IAAI2W,YAAwBzI,IACxByI,EAAaulB,gBAAiB,CAC9B,IACIvlB,EAAexF,EACXwF,EAAawlB,eAAeK,WAAWD,GACvCD,EAAUhtB,SAChB,MAAOtH,GACL,MAAOgV,GAAQhV,GAEnB,GAAI2O,YAAwBzI,GACxB,MAAOyI,GAAaxE,MAAMpP,EAAUia,EACV,KAAM,KAAM,MAG9Cja,IApBJ,GAAI/C,GAAI,EACJ0M,EAAM4vB,EAAUl5B,OAChByK,EAAM,GAAIK,GAAQS,EAqBtB,OADA5L,KACO8K,EAGX,QAAS4uB,GAAS70B,EAAM0H,EAAS1C,GAC7BjM,KAAK+7B,MAAQ90B,EACbjH,KAAK+pB,SAAWpb,EAChB3O,KAAKg8B,SAAW/vB,EAoCpB,QAASgwB,GAAiBr8B,EAAI+O,EAAS1C,GACnCjM,KAAKye,aAAa7e,EAAI+O,EAAS1C,GASnC,QAASiwB,GAAoBt6B,GACzB,MAAIk6B,GAASK,WAAWv6B,IACpB5B,KAAK27B,UAAU37B,KAAKmV,OAAOsmB,eAAe75B,GACnCA,EAAM+M,WAEV/M,EAGX,QAASw6B,GAAa35B,GAClBzC,KAAKyC,OAASA,EACdzC,KAAK2O,QAAU,KACf3O,KAAKyC,EAAO,GAAK,KA5GrB,GAAIqL,GAAOpP,EAAQ,GACfyC,EAAYzC,EAAQ,IAAYyC,UAChCkd,EAAW3f,EAAQ,GAAU2f,SAC7BpN,EAAWnD,EAAKmD,SAChBC,EAAWpD,EAAKoD,SAChBmrB,IAiDJP,GAASv8B,UAAU0H,KAAO,WACtB,MAAOjH,MAAK+7B,OAGhBD,EAASv8B,UAAUoP,QAAU,WACzB,MAAO3O,MAAK+pB,UAGhB+R,EAASv8B,UAAU+8B,SAAW,WAC1B,MAAIt8B,MAAK2O,UAAUuD,cACRlS,KAAK2O,UAAU/M,QAEnBy6B,GAGXP,EAASv8B,UAAUs8B,WAAa,SAASD,GACrC,GAAIU,GAAWt8B,KAAKs8B,WAChBrwB,EAAUjM,KAAKg8B,QACH93B,UAAZ+H,GAAuBA,EAAQ0K,cACnC,IAAIzJ,GAAMovB,IAAaD,EACjBr8B,KAAKu8B,UAAUD,EAAUV,GAAc,IAI7C,OAHgB13B,UAAZ+H,GAAuBA,EAAQ6K,cACnC9W,KAAK+pB,SAASyS,mBACdx8B,KAAK+7B,MAAQ,KACN7uB,GAGX4uB,EAASK,WAAa,SAAU70B,GAC5B,MAAa,OAALA,GACsB,kBAAfA,GAAEg1B,UACe,kBAAjBh1B,GAAEu0B,YAMrBxd,EAAS4d,EAAkBH,GAE3BG,EAAiB18B,UAAUg9B,UAAY,SAAUD,EAAUV,GACvD,GAAIh8B,GAAKI,KAAKiH,MACd,OAAOrH,GAAGX,KAAKq9B,EAAUA,EAAUV,IAiBvCQ,EAAa78B,UAAUwrB,iBAAmB,WAEtC,IAAK,GADDhf,GAAM/L,KAAKyC,OACNpD,EAAI,EAAGA,EAAI0M,IAAO1M,EAAG,CAC1B,GAAIiS,GAAOtR,KAAKX,EACZiS,aAAgB/D,IAChB+D,EAAKsG,WAKjBrK,EAAQkvB,MAAQ,WACZ,GAAI1wB,GAAM9H,UAAUxB,MACpB,IAAIsJ,EAAM,EAAG,MAAOsD,GACJ,sDAChB,IAAIzP,GAAKqE,UAAU8H,EAAM,EACzB,IAAkB,kBAAPnM,GACP,MAAOyP,GAAa,gCAAkCvB,EAAKC,YAAYnO,GAE3E,IAAI88B,GACAC,GAAa,CACL,KAAR5wB,GAAavG,MAAM8Z,QAAQrb,UAAU,KACrCy4B,EAAQz4B,UAAU,GAClB8H,EAAM2wB,EAAMj6B,OACZk6B,GAAa,IAEbD,EAAQz4B,UACR8H,IAGJ,KAAK,GADD4vB,GAAY,GAAIS,GAAarwB,GACxB1M,EAAI,EAAGA,EAAI0M,IAAO1M,EAAG,CAC1B,GAAIi9B,GAAWI,EAAMr9B,EACrB,IAAIy8B,EAASK,WAAWG,GAAW,CAC/B,GAAIM,GAAWN,CACfA,GAAWA,EAAS3tB,UACpB2tB,EAASb,eAAemB,OACrB,CACH,GAAI5mB,GAAexF,EAAoB8rB,EACnCtmB,aAAwBzI,KACxB+uB,EACItmB,EAAaxE,MAAM0qB,EAAqB,KAAM,MAC1CP,UAAWA,EACXxmB,MAAO9V,GACZ6E,SAGXy3B,EAAUt8B,GAAKi9B,EAInB,IAAK,GADDO,GAAqB,GAAIr3B,OAAMm2B,EAAUl5B,QACpCpD,EAAI,EAAGA,EAAIw9B,EAAmBp6B,SAAUpD,EAC7Cw9B,EAAmBx9B,GAAKkO,EAAQ6F,QAAQuoB,EAAUt8B,IAAIkS,SAG1D,IAAIurB,GAAgBvvB,EAAQyE,IAAI6qB,GAC3Bp1B,KAAK,SAASs1B,GACX,IAAK,GAAI19B,GAAI,EAAGA,EAAI09B,EAAYt6B,SAAUpD,EAAG,CACzC,GAAIu8B,GAAamB,EAAY19B,EAC7B,IAAIu8B,EAAWzpB,aAEX,MADAlB,GAAS5J,EAAIu0B,EAAW5zB,QACjBiJ,CACJ,KAAK2qB,EAAW1pB,cAEnB,WADA4qB,GAAcllB,QAGlBmlB,GAAY19B,GAAKu8B,EAAWh6B,QAEhC+M,EAAQgI,eAER/W,EAAKsR,EAAStR,EACd,IAAIsN,GAAMyvB,EACJ/8B,EAAGG,MAAMmE,OAAW64B,GAAen9B,EAAGm9B,GACxC9lB,EAAiBtI,EAAQmI,aAG7B,OAFAlG,GAAMsG,sBACFhK,EAAK+J,EAAgB,gBAAiBtI,GACnCzB,IAGXyB,EAAUmuB,EAAcrH,OAAO,WAC/B,GAAImG,GAAa,GAAIruB,GAAQ4B,kBAAkB2tB,EAC/C,OAAOpB,GAAQC,EAAWC,IAI9B,OAFAD,GAAUhtB,QAAUA,EACpBA,EAAQqb,aAAa2R,GACdhtB,GAGXpB,EAAQhO,UAAUk8B,eAAiB,SAAUmB,GACzC58B,KAAKiO,UAA6B,OAAjBjO,KAAKiO,UACtBjO,KAAKg9B,UAAYJ,GAGrBrvB,EAAQhO,UAAUg8B,cAAgB,WAC9B,OAAyB,OAAjBv7B,KAAKiO,WAAsB,GAGvCV,EAAQhO,UAAUi8B,aAAe,WAC7B,MAAOx7B,MAAKg9B,WAGhBzvB,EAAQhO,UAAUi9B,iBAAmB,WACjCx8B,KAAKiO,UAAYjO,KAAKiO,WAAa,OACnCjO,KAAKg9B,UAAY94B,QAGrBqJ,EAAQhO,UAAUq9B,SAAW,SAAUh9B,GACnC,GAAkB,kBAAPA,GACP,MAAO,IAAIq8B,GAAiBr8B,EAAII,KAAM2Q,IAE1C,MAAM,IAAIxP,M/ByqKZ,SAAUrC,EAAQD,EAASH,GgCv4KjC,YACAI,GAAOD,QAAU,SAAS0O,EAASS,EAAU4C,GAI7C,QAASqsB,GAAc1X,GACnBvlB,KAAKulB,OAASA,EAqDlB,QAAS2X,GAAat7B,GAElB,MADAgY,cAAa5Z,KAAKulB,QACX3jB,EAGX,QAASu7B,GAAa7qB,GAElB,KADAsH,cAAa5Z,KAAKulB,QACZjT,EAhEV,GAAIxE,GAAOpP,EAAQ,GACfwR,EAAe3C,EAAQ2C,YAM3B+sB,GAAc19B,UAAUwrB,iBAAmB,WACvCnR,aAAa5Z,KAAKulB,QAGtB,IAAI6X,GAAa,SAASx7B,GAAS,MAAOuH,IAAOnJ,MAAMg4B,WAAWp2B,IAC9DuH,EAAQoE,EAAQpE,MAAQ,SAAUk0B,EAAIz7B,GACtC,GAAIsL,GACAqY,CAgBJ,OAfcrhB,UAAVtC,GACAsL,EAAMK,EAAQ6F,QAAQxR,GACb4P,MAAM4rB,EAAY,KAAM,KAAMC,EAAIn5B,QACvC0M,EAAMmjB,gBAAkBnyB,YAAiB2L,IACzCL,EAAI8c,aAAapoB,KAGrBsL,EAAM,GAAIK,GAAQS,GAClBuX,EAAS/L,WAAW,WAAatM,EAAI+I,aAAgBonB,GACjDzsB,EAAMmjB,gBACN7mB,EAAI8c,aAAa,GAAIiT,GAAc1X,IAEvCrY,EAAI2F,sBAER3F,EAAI8F,sBACG9F,EAGXK,GAAQhO,UAAU4J,MAAQ,SAAUk0B,GAChC,MAAOl0B,GAAMk0B,EAAIr9B,MAGrB,IAAIs9B,GAAe,SAAU3uB,EAAS+H,EAASiW,GAC3C,GAAIhlB,EAGIA,GAFe,gBAAZ+O,GACHA,YAAmB5P,OACb4P,EAEA,GAAIxG,GAAa,uBAGrB,GAAIA,GAAawG,GAE3B5I,EAAK0P,+BAA+B7V,GACpCgH,EAAQyF,kBAAkBzM,GAC1BgH,EAAQuH,QAAQvO,GAEF,MAAVglB,GACAA,EAAO/U,SAcfrK,GAAQhO,UAAU4a,QAAU,SAAUkjB,EAAI3mB,GACtC2mB,GAAMA,CACN,IAAInwB,GAAKyf,EAEL4Q,EAAgB,GAAIN,GAAczjB,WAAW,WACzCtM,EAAIooB,aACJgI,EAAapwB,EAAKwJ,EAASiW,IAEhC0Q,GAYH,OAVIzsB,GAAMmjB,gBACNpH,EAAS3sB,KAAKyH,OACdyF,EAAMyf,EAAOnb,MAAM0rB,EAAcC,EACbj5B,OAAWq5B,EAAer5B,QAC9CgJ,EAAI8c,aAAauT,IAEjBrwB,EAAMlN,KAAKwR,MAAM0rB,EAAcC,EACXj5B,OAAWq5B,EAAer5B,QAG3CgJ,KhCi5KL,SAAUpO,EAAQD,EAASH,GiC1+KjC,YACAI,GAAOD,QAAU,SAAS0O,EACA8B,EACArB,EACAwC,EACA7C,EACAiD,GAQ1B,QAAS4sB,GAAwB57B,EAAO67B,EAAeC,GACnD,IAAK,GAAIr+B,GAAI,EAAGA,EAAIo+B,EAAch7B,SAAUpD,EAAG,CAC3Cq+B,EAAY/mB,cACZ,IAAI5N,GAASmI,EAASusB,EAAcp+B,IAAIuC,EAExC,IADA87B,EAAY5mB,cACR/N,IAAWkI,EAAU,CACrBysB,EAAY/mB,cACZ,IAAIzJ,GAAMK,EAAQgC,OAAO0B,EAAS5J,EAElC,OADAq2B,GAAY5mB,cACL5J,EAEX,GAAI8I,GAAexF,EAAoBzH,EAAQ20B,EAC/C,IAAI1nB,YAAwBzI,GAAS,MAAOyI,GAEhD,MAAO,MAGX,QAAS2nB,GAAaC,EAAmBnqB,EAAUoqB,EAAczb,GAC7D,GAAIxR,EAAMmjB,eAAgB,CACtB,GAAI+J,GAAW,GAAIvwB,GAAQS,GACvB+vB,EAAkB/9B,KAAK+9B,gBAAkB,GAAIxwB,GAAQS,EACzDhO,MAAK+pB,SAAW+T,EAASrI,OAAO,WAC5B,MAAOsI,KAEXD,EAASjrB,qBACTirB,EAAS9T,aAAahqB,UACnB,CACH,GAAI2O,GAAU3O,KAAK+pB,SAAW,GAAIxc,GAAQS,EAC1CW,GAAQkE,qBAEZ7S,KAAKg+B,OAAS5b,EACdpiB,KAAKi+B,mBAAqBL,EAC1B59B,KAAKk+B,UAAYzqB,EACjBzT,KAAKm+B,WAAaj6B,OAClBlE,KAAKo+B,eAAyC,kBAAjBP,IACtBA,GAAc59B,OAAOw9B,GACtBA,EACNz9B,KAAKq+B,gBAAkB,KACvBr+B,KAAKs+B,oBAAqB,EA7C9B,GAAIvuB,GAASrR,EAAQ,IACjByC,EAAY4O,EAAO5O,UACnB2M,EAAOpP,EAAQ,GACfuS,EAAWnD,EAAKmD,SAChBC,EAAWpD,EAAKoD,SAChBusB,IA0CJ3vB,GAAKuQ,SAASsf,EAAchwB,GAE5BgwB,EAAap+B,UAAUsY,YAAc,WACjC,MAAyB,QAAlB7X,KAAK+pB,UAGhB4T,EAAap+B,UAAUg/B,SAAW,WAC9Bv+B,KAAK+pB,SAAW/pB,KAAKm+B,WAAa,KAC9BvtB,EAAMmjB,gBAA2C,OAAzB/zB,KAAK+9B,kBAC7B/9B,KAAK+9B,gBAAgB9nB,WACrBjW,KAAK+9B,gBAAkB,OAI/BJ,EAAap+B,UAAUmY,kBAAoB,WACvC,IAAI1X,KAAK6X,cAAT,CACA,GAEI9O,GAFAy1B,EAAwD,mBAA9Bx+B,MAAKm+B,WAAL,MAG9B,IAAKK,EAUDx+B,KAAK+pB,SAASpT,eACd5N,EAASmI,EAASlR,KAAKm+B,WAAL,QAA2Bl/B,KAAKe,KAAKm+B,WACLj6B,QAClDlE,KAAK+pB,SAASjT,kBAbK,CACnB,GAAIxE,GAAS,GAAI/E,GAAQ0C,kBACrB,+BACJ1C,GAAQkxB,UAAUC,eAAiBpsB,EACnCtS,KAAK+pB,SAAS3V,kBAAkB9B,GAChCtS,KAAK+pB,SAASpT,eACd5N,EAASmI,EAASlR,KAAKm+B,WAAL,OAA0Bl/B,KAAKe,KAAKm+B,WACL7rB,GACjDtS,KAAK+pB,SAASjT,cAOlB9W,KAAKs+B,oBAAqB,EAC1Bt+B,KAAKq+B,gBAAkB,KACvBr+B,KAAK2+B,UAAU51B,KAGnB40B,EAAap+B,UAAUuY,kBAAoB,SAASlW,GAChD5B,KAAKq+B,gBAAkB,KACvBr+B,KAAK+pB,SAASpT,cACd,IAAI5N,GAASmI,EAASlR,KAAKm+B,WAAWze,MAAMzgB,KAAKe,KAAKm+B,WAAYv8B,EAClE5B,MAAK+pB,SAASjT,cACd9W,KAAK2+B,UAAU51B,IAGnB40B,EAAap+B,UAAUwY,iBAAmB,SAASzF,GAC/CtS,KAAKq+B,gBAAkB,KACvBr+B,KAAK+pB,SAAS3V,kBAAkB9B,GAChCtS,KAAK+pB,SAASpT,cACd,IAAI5N,GAASmI,EAASlR,KAAKm+B,WAAL,OACjBl/B,KAAKe,KAAKm+B,WAAY7rB,EAC3BtS,MAAK+pB,SAASjT,cACd9W,KAAK2+B,UAAU51B,IAGnB40B,EAAap+B,UAAUwrB,iBAAmB,WACtC,GAAI/qB,KAAKq+B,0BAA2B9wB,GAAS,CACzC,GAAIoB,GAAU3O,KAAKq+B,eACnBr+B,MAAKq+B,gBAAkB,KACvB1vB,EAAQiJ,WAIhB+lB,EAAap+B,UAAUoP,QAAU,WAC7B,MAAO3O,MAAK+pB,UAGhB4T,EAAap+B,UAAUq/B,KAAO,WAC1B5+B,KAAKm+B,WAAan+B,KAAKi+B,mBAAmBh/B,KAAKe,KAAKk+B,WACpDl+B,KAAKk+B,UACDl+B,KAAKi+B,mBAAqB/5B,OAC9BlE,KAAK8X,kBAAkB5T,SAG3By5B,EAAap+B,UAAUo/B,UAAY,SAAU51B,GACzC,GAAI4F,GAAU3O,KAAK+pB,QACnB,IAAIhhB,IAAWkI,EAEX,MADAjR,MAAKu+B,WACDv+B,KAAKs+B,mBACE3vB,EAAQiJ,SAERjJ,EAAQG,gBAAgB/F,EAAO1B,GAAG,EAIjD,IAAIzF,GAAQmH,EAAOnH,KACnB,IAAImH,EAAO8I,QAAS,EAEhB,MADA7R,MAAKu+B,WACDv+B,KAAKs+B,mBACE3vB,EAAQiJ,SAERjJ,EAAQC,iBAAiBhN,EAGpC,IAAIoU,GAAexF,EAAoB5O,EAAO5B,KAAK+pB,SACnD,MAAM/T,YAAwBzI,MAC1ByI,EACIwnB,EAAwBxnB,EACAhW,KAAKo+B,eACLp+B,KAAK+pB,UACZ,OAAjB/T,GAQA,WAPAhW,MAAK+X,iBACD,GAAI5W,GACA,oGAAoHsuB,QAAQ,KAAMG,OAAOhuB,IACzI,oBACA5B,KAAKg+B,OAAO/d,MAAM,MAAMtgB,MAAM,GAAG,GAAI0pB,KAAK,OAM1DrT,GAAeA,EAAa5G,SAC5B,IAAIwE,GAAWoC,EAAa/H,SAEG,MAAd,SAAX2F,IACF5T,KAAKq+B,gBAAkBroB,EACvBA,EAAaH,OAAO7V,KAAM,OACQ,KAAd,SAAX4T,GACTrG,EAAQkkB,OAAOpd,OACXrU,KAAK8X,kBAAmB9X,KAAMgW,EAAaI,UAEb,KAAd,SAAXxC,GACTrG,EAAQkkB,OAAOpd,OACXrU,KAAK+X,iBAAkB/X,KAAMgW,EAAaK,WAG9CrW,KAAK0X,qBAKjBnK,EAAQkxB,UAAY,SAAUb,EAAmB55B,GAC7C,GAAiC,kBAAtB45B,GACP,KAAM,IAAIz8B,GAAU,yEAExB,IAAI08B,GAAev+B,OAAO0E,GAAS65B,aAC/BgB,EAAgBlB,EAChBvb,GAAQ,GAAItb,QAAQsb,KACxB,OAAO,YACH,GAAI0c,GAAYlB,EAAkB79B,MAAMC,KAAMiE,WAC1C86B,EAAQ,GAAIF,GAAc36B,OAAWA,OAAW25B,EACtBzb,GAC1BlV,EAAM6xB,EAAMpwB,SAGhB,OAFAowB,GAAMZ,WAAaW,EACnBC,EAAMjnB,kBAAkB5T,QACjBgJ,IAIfK,EAAQkxB,UAAUO,gBAAkB,SAASp/B,GACzC,GAAkB,kBAAPA,GACP,KAAM,IAAIuB,GAAU,gCAAkC2M,EAAKC,YAAYnO,GAE3E69B,GAAcpxB,KAAKzM,IAGvB2N,EAAQwxB,MAAQ,SAAUnB,GAEtB,GADAhtB,EAAMiI,WAAW,kBAAmB,uBACH,kBAAtB+kB,GACP,MAAOvuB,GAAa,yEAExB,IAAI0vB,GAAQ,GAAIpB,GAAaC,EAAmB59B,MAC5CkN,EAAM6xB,EAAMpwB,SAEhB,OADAowB,GAAMH,KAAKrxB,EAAQwxB,OACZ7xB,KjCy9KL,SAAUpO,EAAQD,EAASH,GkCrrLjC,YACAI,GAAOD,QAAU,SAAS0O,GAM1B,QAAS0xB,GAAcvsB,EAAKwsB,GACxB,GAAIvwB,GAAU3O,IACd,KAAK8N,EAAKwR,QAAQ5M,GAAM,MAAOysB,GAAelgC,KAAK0P,EAAS+D,EAAKwsB,EACjE,IAAIhyB,GACAgE,EAASguB,GAAUn/B,MAAM4O,EAAQmF,eAAgB,MAAM7T,OAAOyS,GAC9DxF,KAAQ+D,GACRnB,EAAMwS,WAAWpV,EAAI7F,GAI7B,QAAS83B,GAAezsB,EAAKwsB,GACzB,GAAIvwB,GAAU3O,KACVyT,EAAW9E,EAAQmF,cACnB5G,EAAchJ,SAARwO,EACJxB,EAASguB,GAAUjgC,KAAKwU,EAAU,MAClCvC,EAASguB,GAAUjgC,KAAKwU,EAAU,KAAMf,EAC1CxF,KAAQ+D,GACRnB,EAAMwS,WAAWpV,EAAI7F,GAG7B,QAAS+3B,GAAa9sB,EAAQ4sB,GAC1B,GAAIvwB,GAAU3O,IACd,KAAKsS,EAAQ,CACT,GAAI+sB,GAAY,GAAIv4B,OAAMwL,EAAS,GACnC+sB,GAAUxW,MAAQvW,EAClBA,EAAS+sB,EAEb,GAAInyB,GAAMgE,EAASguB,GAAUjgC,KAAK0P,EAAQmF,cAAexB,EACrDpF,KAAQ+D,GACRnB,EAAMwS,WAAWpV,EAAI7F,GAlC7B,GAAIyG,GAAOpP,EAAQ,GACfoR,EAAQvC,EAAQkkB,OAChBvgB,EAAWpD,EAAKoD,SAChBD,EAAWnD,EAAKmD,QAmCpB1D,GAAQhO,UAAU+/B,WAAa/xB,EAAQhO,UAAUggC,QAAU,SAAUL,EACAl7B,GACjE,GAAuB,kBAAZk7B,GAAwB,CAC/B,GAAIM,GAAUL,CACEj7B,UAAZF,GAAyB1E,OAAO0E,GAAS+N,SACzCytB,EAAUP,GAEdj/B,KAAKwR,MACDguB,EACAJ,EACAl7B,OACAlE,KACAk/B,GAGR,MAAOl/B,SlCorLL,SAAUlB,EAAQD,EAASH,GmC3uLjC,YnC+uLC,IAAIwD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GmC9uLvQ/B,GAAOD,QAAU,SAAS0O,EAASS,GA2BnC,QAASyxB,GAAY78B,GACjB,OAAQ88B,EAAmB7iB,KAAKja,GAGpC,QAAS+8B,GAAc//B,GACnB,IACI,MAAOA,GAAGggC,qBAAsB,EAEpC,MAAOv4B,GACH,OAAO,GAIf,QAASw4B,GAAeh/B,EAAK+B,EAAK0a,GAC9B,GAAI5K,GAAM5E,EAAKiO,yBAAyBlb,EAAK+B,EAAM0a,EACXwiB,EACxC,SAAOptB,GAAMitB,EAAcjtB,GAE/B,QAASqtB,GAAW7yB,EAAKoQ,EAAQ0iB,GAC7B,IAAK,GAAI3gC,GAAI,EAAGA,EAAI6N,EAAIzK,OAAQpD,GAAK,EAAG,CACpC,GAAIuD,GAAMsK,EAAI7N,EACd,IAAI2gC,EAAanjB,KAAKja,GAElB,IAAK,GADDq9B,GAAwBr9B,EAAI6sB,QAAQuQ,EAAc,IAC7C3uB,EAAI,EAAGA,EAAInE,EAAIzK,OAAQ4O,GAAK,EACjC,GAAInE,EAAImE,KAAO4uB,EACX,KAAM,IAAI9+B,GAAU,qGACfsuB,QAAQ,KAAMnS,KAOvC,QAAS4iB,GAAqBr/B,EAAKyc,EAAQ0iB,EAAcliB,GAGrD,IAAK,GAFDvB,GAAOzO,EAAK+Q,kBAAkBhe,GAC9BqM,KACK7N,EAAI,EAAGA,EAAIkd,EAAK9Z,SAAUpD,EAAG,CAClC,GAAIuD,GAAM2Z,EAAKld,GACXuC,EAAQf,EAAI+B,GACZu9B,EAAsBriB,IAAWsiB,GACxBA,EAAcx9B,EAAKhB,EAAOf,EAClB,mBAAVe,IACN+9B,EAAc/9B,IACdi+B,EAAeh/B,EAAK+B,EAAK0a,KAC1BQ,EAAOlb,EAAKhB,EAAOf,EAAKs/B,IACxBjzB,EAAIb,KAAKzJ,EAAKhB,GAItB,MADAm+B,GAAW7yB,EAAKoQ,EAAQ0iB,GACjB9yB,EAkIX,QAASmzB,GAA2Bl7B,EAAUsO,EAAUD,EAAG5T,EAAI0gC,EAAIxtB,GAM/D,QAASytB,KACL,GAAIrC,GAAYzqB,CACZA,KAAa+sB,IAAMtC,EAAYl+B,KACnC,IAAI2O,GAAU,GAAIpB,GAAQS,EAC1BW,GAAQkE,oBACR,IAAI3L,GAAuB,gBAAXrC,IAAuB7E,OAASygC,EAC1CzgC,KAAK6E,GAAUM,EACjBvF,EAAKoR,EAAmBrC,EAASmE,EACrC,KACI5L,EAAGnH,MAAMm+B,EAAWriB,EAAa5X,UAAWrE,IAC9C,MAAMyH,GACJsH,EAAQG,gBAAgB4M,EAAiBrU,IAAI,GAAM,GAGvD,MADKsH,GAAQoE,iBAAiBpE,EAAQqE,sBAC/BrE,EAnBX,GAAI8xB,GAAe,WAAY,MAAOzgC,SAClC6E,EAASM,CAqBb,OApBsB,gBAAXN,KACPM,EAAWvF,GAkBfkO,EAAK6B,kBAAkB4wB,EAAa,qBAAqB,GAClDA,EAOX,QAASG,GAAa7/B,EAAKyc,EAAQQ,EAAQ6iB,EAAa7tB,GAKpD,IAAK,GAJDktB,GAAe,GAAIY,QAAOC,EAAiBvjB,GAAU,KACrD4L,EACAgX,EAAqBr/B,EAAKyc,EAAQ0iB,EAAcliB,GAE3Cze,EAAI,EAAG0M,EAAMmd,EAAQzmB,OAAQpD,EAAI0M,EAAK1M,GAAI,EAAG,CAClD,GAAIuD,GAAMsmB,EAAQ7pB,GACdO,EAAKspB,EAAQ7pB,EAAE,GACfyhC,EAAiBl+B,EAAM0a,CAC3B,IAAIqjB,IAAgBI,EAChBlgC,EAAIigC,GACAC,EAAoBn+B,EAAK49B,EAAM59B,EAAKhD,EAAI0d,EAAQxK,OACjD,CACH,GAAIytB,GAAcI,EAAY/gC,EAAI,WAC9B,MAAOmhC,GAAoBn+B,EAAK49B,EAAM59B,EACXhD,EAAI0d,EAAQxK,IAE3ChF,GAAK6B,kBAAkB4wB,EAAa,qBAAqB,GACzD1/B,EAAIigC,GAAkBP,GAI9B,MADAzyB,GAAKiL,iBAAiBlY,GACfA,EAGX,QAAS+E,GAAUT,EAAUsO,EAAUX,GACnC,MAAOiuB,GAAoB57B,EAAUsO,EAAUvP,OACnBiB,EAAU,KAAM2N,GAtQhD,GAkFIkuB,GAlFAR,KACA1yB,EAAOpP,EAAQ,GACfsS,EAAqBtS,EAAQ,IAC7Bmd,EAAe/N,EAAK+N,aACpBH,EAAmB5N,EAAK4N,iBACxBwC,EAAcpQ,EAAKoQ,YACnB/c,EAAYzC,EAAQ,IAAYyC,UAChC8/B,EAAgB,QAChBnB,GAAsBF,mBAAmB,GACzCsB,GACA,QAAY,SACZ,OACA,YACA,SACA,SACA,YACA,qBAEAxB,EAAqB,GAAIkB,QAAO,OAASM,EAAY7X,KAAK,KAAO,MAEjE+W,EAAgB,SAASnlB,GACzB,MAAOnN,GAAKkP,aAAa/B,IACF,MAAnBA,EAAK2D,OAAO,IACH,gBAAT3D,GAuDJ4lB,EAAmB,SAAS5jB,GAC5B,MAAOA,GAAIwS,QAAQ,QAAS,QAK5B0R,EAA0B,SAASC,GAGnC,IAAI,GAFAl0B,IAAOk0B,GACPC,EAAMl6B,KAAKmvB,IAAI,EAAG8K,EAAsB,EAAI,GACxC/hC,EAAI+hC,EAAsB,EAAG/hC,GAAKgiC,IAAOhiC,EAC7C6N,EAAIb,KAAKhN,EAEb,KAAI,GAAIA,GAAI+hC,EAAsB,EAAG/hC,GAAK,IAAKA,EAC3C6N,EAAIb,KAAKhN,EAEb,OAAO6N,IAGPo0B,EAAmB,SAASC,GAC5B,MAAOzzB,GAAKqP,YAAYokB,EAAe,OAAQ,KAG/CC,EAAuB,SAASC,GAChC,MAAO3zB,GAAKqP,YACRhW,KAAKmvB,IAAImL,EAAgB,GAAI,OAAQ,KAGzCA,EAAiB,SAAS7hC,GAC1B,MAAyB,gBAAdA,GAAG6C,OACH0E,KAAKmvB,IAAInvB,KAAKk6B,IAAIzhC,EAAG6C,OAAQ,MAAW,GAE5C,EAGXu+B,GACA,SAAS77B,EAAUsO,EAAUiuB,EAAc9hC,EAAI4T,EAAGV,GAK9C,QAAS6uB,GAA6BvkB,GAClC,GAEIlQ,GAFAxN,EAAO4hC,EAAiBlkB,GAAOiM,KAAK,MACpCuY,EAAQxkB,EAAQ,EAAI,KAAO,EAS/B,OANIlQ,GADA20B,EACM,0DAEa39B,SAAbuP,EACA,+CACA,8DAEHvG,EAAIuiB,QAAQ,WAAY/vB,GAAM+vB,QAAQ,KAAMmS,GAGvD,QAASE,KAEL,IAAK,GADD50B,GAAM,GACD7N,EAAI,EAAGA,EAAI0iC,EAAct/B,SAAUpD,EACxC6N,GAAO,QAAU60B,EAAc1iC,GAAI,IAC/BsiC,EAA6BI,EAAc1iC,GAgBnD,OAbA6N,IAAO,qyBAULuiB,QAAQ,gBAAkBoS,EACF,sCACA,2CArC9B,GAAIG,GAAoB76B,KAAKmvB,IAAI,EAAGmL,EAAe7hC,GAAM,GACrDmiC,EAAgBZ,EAAwBa,GACxCH,EAAsC,gBAAb18B,IAAyBsO,IAAa+sB,EAuC/DyB,EAAsC,gBAAb98B,GACE,wBAAwBA,EAAS,UAClC,KAC1B+8B,EAAO,ghBAM4CpvB,EAAY,6iCAcjE2c,QAAQ,sBAAuBqS,KAC5BrS,QAAQ,oBAAqBwS,EAElC,OADAC,GAAOA,EAAKzS,QAAQ,aAAc+R,EAAqBQ,IAChD,GAAIjjB,UAAS,UACA,KACA,WACA,eACA,mBACA,qBACA,WACA,WACA,oBACA,WACAmjB,GACJ30B,EACA3N,EACA6T,EACAoI,EACAH,EACA1K,EACAlD,EAAKoD,SACLpD,EAAKmD,SACLnD,EAAK6B,kBACL3B,GA8BpB,IAAI+yB,GAAsB7iB,EACpB8iB,EACAX,CAgCN9yB,GAAQ3H,UAAY,SAAUhG,EAAIoE,GAC9B,GAAkB,kBAAPpE,GACP,KAAM,IAAIuB,GAAU,gCAAkC2M,EAAKC,YAAYnO,GAE3E,IAAI+/B,EAAc//B,GACd,MAAOA,EAEXoE,GAAU1E,OAAO0E,EACjB,IAAIyP,GAA+BvP,SAApBF,EAAQiI,QAAwBu0B,EAAOx8B,EAAQiI,QAC1D6G,IAAc9O,EAAQ8O,UACtB5F,EAAMtH,EAAUhG,EAAI6T,EAAUX,EAElC,OADAhF,GAAK6P,gBAAgB/d,EAAIsN,EAAKuyB,GACvBvyB,GAGXK,EAAQmzB,aAAe,SAAUn+B,EAAQyB,GACrC,GAAsB,kBAAXzB,IAA2C,YAAlB,mBAAOA,GAAP,YAAAL,EAAOK,IACvC,KAAM,IAAIpB,GAAU,+FAExB6C,GAAU1E,OAAO0E,EACjB,IAAI8O,KAAc9O,EAAQ8O,UACtBwK,EAAStZ,EAAQsZ,MACC,iBAAXA,KAAqBA,EAAS2jB,EACzC,IAAInjB,GAAS9Z,EAAQ8Z,MACC,mBAAXA,KAAuBA,EAASsiB,EAC3C,IAAIO,GAAc38B,EAAQ28B,WAG1B,IAF2B,kBAAhBA,KAA4BA,EAAcI,IAEhDjzB,EAAKkP,aAAaM,GACnB,KAAM,IAAItN,YAAW,sEAIzB,KAAK,GADDuM,GAAOzO,EAAK+Q,kBAAkBtc,GACzBlD,EAAI,EAAGA,EAAIkd,EAAK9Z,SAAUpD,EAAG,CAClC,GAAIuC,GAAQW,EAAOga,EAAKld,GACR,iBAAZkd,EAAKld,IACLyO,EAAKwO,QAAQ1a,KACb8+B,EAAa9+B,EAAMrC,UAAW+d,EAAQQ,EAAQ6iB,EAC1C7tB,GACJ4tB,EAAa9+B,EAAO0b,EAAQQ,EAAQ6iB,EAAa7tB,IAIzD,MAAO4tB,GAAan+B,EAAQ+a,EAAQQ,EAAQ6iB,EAAa7tB,MnCgsLvD,SAAUhU,EAAQD,EAASH,GoCt/LjC,YACAI,GAAOD,QAAU,SACb0O,EAASkD,EAAcD,EAAqBnB,GAqChD,QAAS8yB,GAAuBthC,GAC5B,GACIuhC,GADAC,GAAQ,CAEZ,IAAen+B,SAAXo+B,GAAwBzhC,YAAeyhC,GACvCF,EAAUG,EAAa1hC,GACvBwhC,GAAQ,MACL,CACH,GAAI9lB,GAAO3M,EAAI2M,KAAK1b,GAChBkL,EAAMwQ,EAAK9Z,MACf2/B,GAAU,GAAI58B,OAAY,EAANuG,EACpB,KAAK,GAAI1M,GAAI,EAAGA,EAAI0M,IAAO1M,EAAG,CAC1B,GAAIuD,GAAM2Z,EAAKld,EACf+iC,GAAQ/iC,GAAKwB,EAAI+B,GACjBw/B,EAAQ/iC,EAAI0M,GAAOnJ,GAG3B5C,KAAKye,aAAa2jB,GAClBpiC,KAAKwiC,OAASH,EACdriC,KAAKg6B,OAAO91B,OAAWm+B,GAAQ,GAAK,GAkCxC,QAAS7/B,GAAMyQ,GACX,GAAI/F,GACAu1B,EAAYjyB,EAAoByC,EAEpC,OAAK5H,GAASo3B,IAGVv1B,EADOu1B,YAAqBl1B,GACtBk1B,EAAUjxB,MACZjE,EAAQ/K,MAAO0B,OAAWA,OAAWA,OAAWA,QAE9C,GAAIi+B,GAAuBM,GAAW9zB,UAG5C8zB,YAAqBl1B,IACrBL,EAAI2G,eAAe4uB,EAAW;AAE3Bv1B,GAXImC,EAAa,6EA7F5B,GAGIizB,GAHAx0B,EAAOpP,EAAQ,GACf2M,EAAWyC,EAAKzC,SAChBuE,EAAMlR,EAAQ,EAEC,mBAARmrB,OAAoByY,EAASzY,IAExC,IAAI0Y,GAAgB,WAIhB,QAASG,GAAa9gC,EAAOgB,GACzB5C,KAAKmV,GAASvT,EACd5B,KAAKmV,EAAQ8S,GAAQrlB,EACrBuS,IANJ,GAAIA,GAAQ,EACR8S,EAAO,CAQX,OAAO,UAAsB5iB,GACzB4iB,EAAO5iB,EAAI4iB,KACX9S,EAAQ,CACR,IAAIjI,GAAM,GAAI1H,OAAiB,EAAXH,EAAI4iB,KAExB,OADA5iB,GAAIT,QAAQ89B,EAAcx1B,GACnBA,MAIXy1B,EAAe,SAASP,GAGxB,IAAK,GAFDl1B,GAAM,GAAIo1B,GACV7/B,EAAS2/B,EAAQ3/B,OAAS,EAAI,EACzBpD,EAAI,EAAGA,EAAIoD,IAAUpD,EAAG,CAC7B,GAAIuD,GAAMw/B,EAAQ3/B,EAASpD,GACvBuC,EAAQwgC,EAAQ/iC,EACpB6N,GAAI9E,IAAIxF,EAAKhB,GAEjB,MAAOsL,GAuBXY,GAAKuQ,SAAS8jB,EAAwB1xB,GAEtC0xB,EAAuB5iC,UAAU4qB,MAAQ,aAEzCgY,EAAuB5iC,UAAUuY,kBAAoB,SAAUlW,EAAOuT,GAClEnV,KAAKiqB,QAAQ9U,GAASvT,CACtB,IAAIkpB,KAAkB9qB,KAAKkqB,cAC3B,IAAIY,GAAiB9qB,KAAKwU,QAAS,CAC/B,GAAI9B,EACJ,IAAI1S,KAAKwiC,OACL9vB,EAAMiwB,EAAa3iC,KAAKiqB,aACrB,CACHvX,IAEA,KAAK,GADDkwB,GAAY5iC,KAAKyC,SACZpD,EAAI,EAAG0M,EAAM/L,KAAKyC,SAAUpD,EAAI0M,IAAO1M,EAC5CqT,EAAI1S,KAAKiqB,QAAQ5qB,EAAIujC,IAAc5iC,KAAKiqB,QAAQ5qB,GAIxD,MADAW,MAAKuqB,SAAS7X,IACP,EAEX,OAAO,GAGXyvB,EAAuB5iC,UAAUmrB,iBAAmB,WAChD,OAAO,GAGXyX,EAAuB5iC,UAAUkrB,gBAAkB,SAAU1e,GACzD,MAAOA,IAAO,GAsBlBwB,EAAQhO,UAAUiD,MAAQ,WACtB,MAAOA,GAAMxC,OAGjBuN,EAAQ/K,MAAQ,SAAUyQ,GACtB,MAAOzQ,GAAMyQ,MpC6/LX,SAAUnU,EAAQD,EAASH,GqChnMjC,YACAI,GAAOD,QAAU,SACb0O,EAASS,EAAUwC,EAAqBnB,GAS5C,QAASwzB,GAAK5vB,EAAU0Z,GACpB,GAAI3W,GAAexF,EAAoByC,EAEvC,IAAI+C,YAAwBzI,GACxB,MAAOu1B,GAAU9sB,EAGjB,IADA/C,EAAWnF,EAAKuR,QAAQpM,GACP,OAAbA,EACA,MAAO5D,GAAa,oDAAsDvB,EAAKC,YAAYkF,GAGnG,IAAI/F,GAAM,GAAIK,GAAQS,EACP9J,UAAXyoB,GACAzf,EAAI2G,eAAe8Y,EAAQ,EAI/B,KAAK,GAFDjX,GAAUxI,EAAI+I,SACd1G,EAASrC,EAAIgJ,QACR7W,EAAI,EAAG0M,EAAMkH,EAASxQ,OAAQpD,EAAI0M,IAAO1M,EAAG,CACjD,GAAIqT,GAAMO,EAAS5T,IAEP6E,SAARwO,GAAuBrT,IAAK4T,KAIhC1F,EAAQ2F,KAAKR,GAAKlB,MAAMkE,EAASnG,EAAQrL,OAAWgJ,EAAK,MAE7D,MAAOA,GAlCX,GAAIY,GAAOpP,EAAQ,GAEfokC,EAAY,SAAUn0B,GACtB,MAAOA,GAAQlH,KAAK,SAAS6S,GACzB,MAAOuoB,GAAKvoB,EAAO3L,KAiC3BpB,GAAQs1B,KAAO,SAAU5vB,GACrB,MAAO4vB,GAAK5vB,EAAU/O,SAG1BqJ,EAAQhO,UAAUsjC,KAAO,WACrB,MAAOA,GAAK7iC,KAAMkE,WrCunMhB,SAAUpF,EAAQD,EAASH,GsCpqMjC,YACAI,GAAOD,QAAU,SAAS0O,EACAkD,EACApB,EACAmB,EACAxC,EACA4C,GAK1B,QAASmyB,GAAsB9vB,EAAUrT,EAAIojC,EAAcC,GACvDjjC,KAAKye,aAAaxL,EAClB,IAAIvD,GAASV,GACbhP,MAAKkjC,IAAiB,OAAXxzB,EAAkB9P,EAAKkO,EAAKwG,WAAW5E,EAAQ9P,GACrCsE,SAAjB8+B,IACAA,EAAez1B,EAAQ6F,QAAQ4vB,GAC/BA,EAAa/W,4BAA4BjsB,OAE7CA,KAAKmjC,cAAgBH,EACrBhjC,KAAKojC,oBAAsB,KACxBH,IAAUj1B,EACThO,KAAKqjC,YAAc79B,MAAMxF,KAAKwU,SACb,IAAVyuB,EACPjjC,KAAKqjC,YAAc,KAEnBrjC,KAAKqjC,YAAcn/B,OAEvBlE,KAAK+pB,SAASlX,qBACd7S,KAAKg6B,OAAO91B,QAAW,GA0F3B,QAASo/B,GAAUC,EAAejpB,GAC1Bta,KAAKkS,cACLoI,EAAMiQ,SAASgZ,GAEfjpB,EAAMpE,QAAQqtB,GAItB,QAAS59B,GAAOsN,EAAUrT,EAAIojC,EAAcC,GACxC,GAAkB,kBAAPrjC,GACP,MAAOyP,GAAa,gCAAkCvB,EAAKC,YAAYnO,GAE3E,IAAI0a,GAAQ,GAAIyoB,GAAsB9vB,EAAUrT,EAAIojC,EAAcC,EAClE,OAAO3oB,GAAM3L,UAGjB,QAAS60B,GAASC,GACdzjC,KAAKyjC,MAAQA,EACbzjC,KAAKsa,MAAMopB,UAAUD,EACrB,IAAI7hC,GAAQ4O,EAAoBxQ,KAAK4B,MAAO5B,KAAKsa,MAAMyP,SACvD,OAAInoB,aAAiB2L,IACjBvN,KAAKsa,MAAM8oB,oBAAsBxhC,EAC1BA,EAAM4P,MAAMmyB,EAAUz/B,OAAWA,OAAWlE,KAAMkE,SAElDy/B,EAAS1kC,KAAKe,KAAM4B,GAInC,QAAS+hC,GAAS/hC,GACd,GAAI0Y,GAAQta,KAAKsa,MACb3L,EAAU2L,EAAMyP,SAChBnqB,EAAKsR,EAASoJ,EAAM4oB,IACxBv0B,GAAQgI,cACR,IAAIzJ,EAEAA,GADsBhJ,SAAtBoW,EAAM+oB,YACAzjC,EAAGX,KAAK0P,EAAQmF,cAAelS,EAAO5B,KAAKmV,MAAOnV,KAAKyC,QAEvD7C,EAAGX,KAAK0P,EAAQmF,cACA9T,KAAKyjC,MAAO7hC,EAAO5B,KAAKmV,MAAOnV,KAAKyC,QAE1DyK,YAAeK,KACf+M,EAAM8oB,oBAAsBl2B,EAEhC,IAAI+J,GAAiBtI,EAAQmI,aAO7B,OANAlG,GAAMsG,sBACFhK,EACA+J,EACsB/S,SAAtBoW,EAAM+oB,YAA4B,eAAiB,iBACnD10B,GAEGzB,EAlKX,GAAI8B,GAAYzB,EAAQikB,WACpB1jB,EAAOpP,EAAQ,GACfwS,EAAWpD,EAAKoD,QAsBpBpD,GAAKuQ,SAAS0kB,EAAuBtyB,GAErCsyB,EAAsBxjC,UAAUmkC,UAAY,SAASD,GACxBv/B,SAArBlE,KAAKqjC,aACgB,OAArBrjC,KAAKqjC,aACLI,IAAUz1B,GACVhO,KAAKqjC,YAAYh3B,KAAKo3B,IAI9BV,EAAsBxjC,UAAUqkC,cAAgB,SAAShiC,GAIrD,MAHyB,QAArB5B,KAAKqjC,aACLrjC,KAAKqjC,YAAYh3B,KAAKzK,GAEnB5B,KAAKqjC,aAGhBN,EAAsBxjC,UAAU4qB,MAAQ,aAExC4Y,EAAsBxjC,UAAU+qB,mBAAqB,WACjDtqB,KAAKuqB,SAA8BrmB,SAArBlE,KAAKqjC,YAA4BrjC,KAAKqjC,YACLrjC,KAAKmjC,gBAGxDJ,EAAsBxjC,UAAUmrB,iBAAmB,WAC/C,OAAO,GAGXqY,EAAsBxjC,UAAUgrB,SAAW,SAAS3oB,GAChD5B,KAAK+pB,SAASnb,iBAAiBhN,GAC/B5B,KAAKiqB,QAAU,MAGnB8Y,EAAsBxjC,UAAUwrB,iBAAmB,SAAS8Y,GACxD,MAAIA,KAAW7jC,KAAKmjC,cAAsBnjC,KAAK2X,eAC3C3X,KAAK6X,gBACT7X,KAAK8jC,oBACD9jC,KAAKojC,8BAA+B71B,IACpCvN,KAAKojC,oBAAoBxrB,SAEzB5X,KAAKmjC,wBAAyB51B,IAC9BvN,KAAKmjC,cAAcvrB,YAI3BmrB,EAAsBxjC,UAAUirB,SAAW,SAAUV,GACjD9pB,KAAKiqB,QAAUH,CACf,IAAIloB,GACAvC,EACAoD,EAASqnB,EAAOrnB,MAWpB,IAV2ByB,SAAvBlE,KAAKmjC,eACLvhC,EAAQ5B,KAAKmjC,cACb9jC,EAAI,IAEJuC,EAAQ2L,EAAQ6F,QAAQ0W,EAAO,IAC/BzqB,EAAI,GAGRW,KAAKojC,oBAAsBxhC,GAEtBA,EAAMuQ,aACP,KAAO9S,EAAIoD,IAAUpD,EAAG,CACpB,GAAI2Y,IACAyrB,MAAO,KACP7hC,MAAOkoB,EAAOzqB,GACd8V,MAAO9V,EACPoD,OAAQA,EACR6X,MAAOta,KAEX4B,GAAQA,EAAM4P,MAAMgyB,EAAUt/B,OAAWA,OAAW8T,EAAK9T,QAIxCA,SAArBlE,KAAKqjC,cACLzhC,EAAQA,EACH4P,MAAMxR,KAAK4jC,cAAe1/B,OAAWA,OAAWlE,KAAMkE,SAE/DtC,EAAM4P,MAAM8xB,EAAWA,EAAWp/B,OAAWtC,EAAO5B,OAGxDuN,EAAQhO,UAAUoG,OAAS,SAAU/F,EAAIojC,GACrC,MAAOr9B,GAAO3F,KAAMJ,EAAIojC,EAAc,OAG1Cz1B,EAAQ5H,OAAS,SAAUsN,EAAUrT,EAAIojC,EAAcC,GACnD,MAAOt9B,GAAOsN,EAAUrT,EAAIojC,EAAcC,MtCmtMxC,SAAUnkC,EAAQD,EAASH,GuCv0MjC,YACAI,GAAOD,QACH,SAAS0O,EAASkD,EAAcG,GAIpC,QAASmzB,GAAoBja,GACzB9pB,KAAKye,aAAaqL,GAJtB,GAAI3a,GAAoB5B,EAAQ4B,kBAC5BrB,EAAOpP,EAAQ,EAKnBoP,GAAKuQ,SAAS0lB,EAAqBtzB,GAEnCszB,EAAoBxkC,UAAUykC,iBAAmB,SAAU7uB,EAAOymB,GAC9D57B,KAAKiqB,QAAQ9U,GAASymB,CACtB,IAAI9Q,KAAkB9qB,KAAKkqB,cAC3B,OAAIY,IAAiB9qB,KAAKwU,UACtBxU,KAAKuqB,SAASvqB,KAAKiqB,UACZ,IAKf8Z,EAAoBxkC,UAAUuY,kBAAoB,SAAUlW,EAAOuT,GAC/D,GAAIjI,GAAM,GAAIiC,EAGd,OAFAjC,GAAIe,UAAY,SAChBf,EAAIkrB,mBAAqBx2B,EAClB5B,KAAKgkC,iBAAiB7uB,EAAOjI,IAExC62B,EAAoBxkC,UAAUwY,iBAAmB,SAAUzF,EAAQ6C,GAC/D,GAAIjI,GAAM,GAAIiC,EAGd,OAFAjC,GAAIe,UAAY,SAChBf,EAAIkrB,mBAAqB9lB,EAClBtS,KAAKgkC,iBAAiB7uB,EAAOjI,IAGxCK,EAAQ02B,OAAS,SAAUhxB,GAEvB,MADArC,GAAMiI,WAAW,YAAa,cACvB,GAAIkrB,GAAoB9wB,GAAUtE,WAG7CpB,EAAQhO,UAAU0kC,OAAS,WACvB,MAAO12B,GAAQ02B,OAAOjkC,SvC+0MpB,SAAUlB,EAAQD,EAASH,GwCv3MjC,YACAI,GAAOD,QACP,SAAS0O,EAASkD,EAAcpB,GAQhC,QAAS60B,GAAiBpa,GACtB9pB,KAAKye,aAAaqL,GAClB9pB,KAAKmkC,SAAW,EAChBnkC,KAAKokC,SAAU,EACfpkC,KAAKqkC,cAAe,EAiHxB,QAASC,GAAKrxB,EAAUsxB,GACpB,IAAe,EAAVA,KAAiBA,GAAWA,EAAU,EACvC,MAAOl1B,GAAa,iEAExB,IAAInC,GAAM,GAAIg3B,GAAiBjxB,GAC3BtE,EAAUzB,EAAIyB,SAGlB,OAFAzB,GAAIs3B,WAAWD,GACfr3B,EAAIkd,OACGzb,EApIX,GAAIb,GAAOpP,EAAQ,GACfsR,EAAatR,EAAQ,IAAYsR,WACjCK,EAAiB3R,EAAQ,IAAY2R,eACrCiP,EAAUxR,EAAKwR,QACfmlB,IASJ32B,GAAKuQ,SAAS6lB,EAAkBzzB,GAEhCyzB,EAAiB3kC,UAAU4qB,MAAQ,WAC/B,GAAKnqB,KAAKqkC,aAAV,CAGA,GAAsB,IAAlBrkC,KAAKmkC,SAEL,WADAnkC,MAAKuqB,YAGTvqB,MAAKg6B,OAAO91B,QAAW,EACvB,IAAIwgC,GAAkBplB,EAAQtf,KAAKiqB,UAC9BjqB,KAAK6X,eACN6sB,GACA1kC,KAAKmkC,SAAWnkC,KAAK2kC,uBACrB3kC,KAAKkW,QAAQlW,KAAK4kC,eAAe5kC,KAAKyC,aAI9CyhC,EAAiB3kC,UAAU6qB,KAAO,WAC9BpqB,KAAKqkC,cAAe,EACpBrkC,KAAKmqB,SAGT+Z,EAAiB3kC,UAAUslC,UAAY,WACnC7kC,KAAKokC,SAAU,GAGnBF,EAAiB3kC,UAAUglC,QAAU,WACjC,MAAOvkC,MAAKmkC,UAGhBD,EAAiB3kC,UAAUilC,WAAa,SAAUpnB,GAC9Cpd,KAAKmkC,SAAW/mB,GAGpB8mB,EAAiB3kC,UAAUuY,kBAAoB,SAAUlW,GAErD,MADA5B,MAAK8kC,cAAcljC,GACf5B,KAAK+kC,eAAiB/kC,KAAKukC,YAC3BvkC,KAAKiqB,QAAQxnB,OAASzC,KAAKukC,UACJ,IAAnBvkC,KAAKukC,WAAmBvkC,KAAKokC,QAC7BpkC,KAAKuqB,SAASvqB,KAAKiqB,QAAQ,IAE3BjqB,KAAKuqB,SAASvqB,KAAKiqB,UAEhB,IAKfia,EAAiB3kC,UAAUwY,iBAAmB,SAAUzF,GAEpD,MADAtS,MAAKglC,aAAa1yB,GACXtS,KAAKilC,iBAGhBf,EAAiB3kC,UAAUmY,kBAAoB,WAC3C,MAAI1X,MAAKiqB,kBAAmB1c,IAA2B,MAAhBvN,KAAKiqB,QACjCjqB,KAAK2X,WAEhB3X,KAAKglC,aAAaP,GACXzkC,KAAKilC,kBAGhBf,EAAiB3kC,UAAU0lC,cAAgB,WACvC,GAAIjlC,KAAKukC,UAAYvkC,KAAK2kC,sBAAuB,CAE7C,IAAK,GADDt9B,GAAI,GAAIgJ,GACHhR,EAAIW,KAAKyC,SAAUpD,EAAIW,KAAKiqB,QAAQxnB,SAAUpD,EAC/CW,KAAKiqB,QAAQ5qB,KAAOolC,GACpBp9B,EAAEgF,KAAKrM,KAAKiqB,QAAQ5qB,GAQ5B,OALIgI,GAAE5E,OAAS,EACXzC,KAAKkW,QAAQ7O,GAEbrH,KAAK2X,WAEF,EAEX,OAAO,GAGXusB,EAAiB3kC,UAAUwlC,WAAa,WACpC,MAAO/kC,MAAKkqB,gBAGhBga,EAAiB3kC,UAAU2lC,UAAY,WACnC,MAAOllC,MAAKiqB,QAAQxnB,OAASzC,KAAKyC,UAGtCyhC,EAAiB3kC,UAAUylC,aAAe,SAAU1yB,GAChDtS,KAAKiqB,QAAQ5d,KAAKiG,IAGtB4xB,EAAiB3kC,UAAUulC,cAAgB,SAAUljC,GACjD5B,KAAKiqB,QAAQjqB,KAAKkqB,kBAAoBtoB,GAG1CsiC,EAAiB3kC,UAAUolC,oBAAsB,WAC7C,MAAO3kC,MAAKyC,SAAWzC,KAAKklC,aAGhChB,EAAiB3kC,UAAUqlC,eAAiB,SAAUxnB,GAClD,GAAI1G,GAAU,qCACN1W,KAAKmkC,SAAW,4BAA8B/mB,EAAQ,QAC9D,OAAO,IAAIpN,GAAW0G,IAG1BwtB,EAAiB3kC,UAAU+qB,mBAAqB,WAC5CtqB,KAAKkW,QAAQlW,KAAK4kC,eAAe,KAcrCr3B,EAAQ+2B,KAAO,SAAUrxB,EAAUsxB,GAC/B,MAAOD,GAAKrxB,EAAUsxB,IAG1Bh3B,EAAQhO,UAAU+kC,KAAO,SAAUC,GAC/B,MAAOD,GAAKtkC,KAAMukC,IAGtBh3B,EAAQ43B,kBAAoBjB,IxCy3MtB,SAAUplC,EAAQD,GyC3gNxB,YACAC,GAAOD,QAAU,SAAS0O,EAASS,GACnC,GAAIo3B,GAAa73B,EAAQlI,GAEzBkI,GAAQhO,UAAUue,OAAS,SAAUle,EAAIoE,GACrC,MAAOohC,GAAWplC,KAAMJ,EAAIoE,EAASgK,IAGzCT,EAAQuQ,OAAS,SAAU7K,EAAUrT,EAAIoE,GACrC,MAAOohC,GAAWnyB,EAAUrT,EAAIoE,EAASgK,MzCohNvC,SAAUlP,EAAQD,G0C7hNxB,YACAC,GAAOD,QAAU,SAAS0O,EAASS,GAInC,QAASq3B,KACL,MAAOC,GAAWtlC,MAGtB,QAASulC,GAAiBtyB,EAAUrT,GAChC,MAAO4lC,GAAcvyB,EAAUrT,EAAIoO,EAAUA,GARjD,GAAIw3B,GAAgBj4B,EAAQ5H,OACxB2/B,EAAa/3B,EAAQyE,GAUzBzE,GAAQhO,UAAUkmC,KAAO,SAAU7lC,GAC/B,MAAO4lC,GAAcxlC,KAAMJ,EAAIoO,EAAU,GAC9BwD,MAAM6zB,EAAgBnhC,OAAWA,OAAWlE,KAAMkE,SAGjEqJ,EAAQhO,UAAUmmC,UAAY,SAAU9lC,GACpC,MAAO4lC,GAAcxlC,KAAMJ,EAAIoO,EAAUA,IAG7CT,EAAQk4B,KAAO,SAAUxyB,EAAUrT,GAC/B,MAAO4lC,GAAcvyB,EAAUrT,EAAIoO,EAAU,GAClCwD,MAAM6zB,EAAgBnhC,OAAWA,OAAW+O,EAAU/O,SAGrEqJ,EAAQm4B,UAAYH,I1CmiNd,SAAUzmC,EAAQD,G2C9jNxB,YACAC,GAAOD,QAAU,SAAS0O,GAE1B,QAASo4B,GAAI1yB,GACT,GAAI/F,GAAM,GAAIg3B,GAAiBjxB,GAC3BtE,EAAUzB,EAAIyB,SAIlB,OAHAzB,GAAIs3B,WAAW,GACft3B,EAAI23B,YACJ33B,EAAIkd,OACGzb,EAPX,GAAIu1B,GAAmB32B,EAAQ43B,iBAU/B53B,GAAQo4B,IAAM,SAAU1yB,GACpB,MAAO0yB,GAAI1yB,IAGf1F,EAAQhO,UAAUomC,IAAM,WACpB,MAAOA,GAAI3lC,S3CukNT,SAAUlB,EAAQD,EAASH,GAEhC,YAQA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAEvF,QAASG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCARhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,M4C5lNjiB+hC,EAAAvkC,EAAA,I5CgmNKknC,EAAShlC,EAAuBqiC,G4C/lN/B4C,EAAgBnnC,EAAQ,IAExBonC,E5CqmNQ,W4CpmNZ,QAAAA,GAAY3mC,GAAG,GAAAgF,GAAAnE,IAAAgB,GAAAhB,KAAA8lC,IACb,EAAAF,EAAA7kC,SAAK5B,EAAG,SAACyC,EAAOgB,GACduB,EAAKvB,GAAOhB,I5CynNf,MAZAS,GAAayjC,IACXljC,IAAK,MACLhB,MAAO,S4C3mNNmkC,GACF,MAAO/lC,MAAK+lC,M5C8mNXnjC,IAAK,MACLhB,MAAO,S4C5mNNmkC,EAAGr3B,GACL1O,KAAK+lC,GAAKr3B,M5CgnNJo3B,I4C3mNV,IADAhnC,EAAOD,QAAU,GAAIinC,GAAOD,GACQ,mBAA1B/mC,GAAOD,QAAQinC,OACvB,KAAM,IAAIh/B,OAAM,+DAElBhI,GAAOD,QAAQinC,OAASA,G5CmnNlB,SAAUhnC,EAAQD,EAASH,GAEhC,Y6C5oNDI,GAAOD,QAAUH,EAAQ,K7CkpNnB,SAAUI,EAAQD,EAASH,GAEhC,Y8CjnND,SAASkG,GAAQohC,EAAYC,GAC3B,GAAIC,GAAO5mB,EAAQ0mB,GAAcG,EAAYC,CAC7C,OAAOF,GAAKF,EAAYK,EAAaJ,IArCvC,GAAIE,GAAYznC,EAAQ,IACpB0nC,EAAW1nC,EAAQ,IACnB2nC,EAAe3nC,EAAQ,IACvB4gB,EAAU5gB,EAAQ,GAqCtBI,GAAOD,QAAU+F,G9C0pNX,SAAU9F,EAAQD,GAEvB,Y+C3rND,SAASsnC,GAAU7rB,EAAO2rB,GAIxB,IAHA,GAAI9wB,IAAQ,EACR1S,EAAkB,MAAT6X,EAAgB,EAAIA,EAAM7X,SAE9B0S,EAAQ1S,GACXwjC,EAAS3rB,EAAMnF,GAAQA,EAAOmF,MAAW,IAI/C,MAAOA,GAGTxb,EAAOD,QAAUsnC,G/C0sNX,SAAUrnC,EAAQD,EAASH,GAEhC,YgDjuND,IAAI4nC,GAAa5nC,EAAQ,IACrB6nC,EAAiB7nC,EAAQ,IAUzB0nC,EAAWG,EAAeD,EAE9BxnC,GAAOD,QAAUunC,GhDuuNX,SAAUtnC,EAAQD,EAASH,GAEhC,YiD3uND,SAAS4nC,GAAWE,EAAQP,GAC1B,MAAOO,IAAUC,EAAQD,EAAQP,EAAU1pB,GAZ7C,GAAIkqB,GAAU/nC,EAAQ,IAClB6d,EAAO7d,EAAQ,GAcnBI,GAAOD,QAAUynC,GjD4vNX,SAAUxnC,EAAQD,EAASH,GAEhC,YkD7wND,IAAIgoC,GAAgBhoC,EAAQ,IAaxB+nC,EAAUC,GAEd5nC,GAAOD,QAAU4nC,GlDmxNX,SAAU3nC,EAAQD,GAEvB,YmD7xND,SAAS6nC,GAAcC,GACrB,MAAO,UAASH,EAAQP,EAAUW,GAMhC,IALA,GAAIzxB,IAAQ,EACR0xB,EAAWvnC,OAAOknC,GAClBhkC,EAAQokC,EAASJ,GACjB/jC,EAASD,EAAMC,OAEZA,KAAU,CACf,GAAIG,GAAMJ,EAAMmkC,EAAYlkC,IAAW0S,EACvC,IAAI8wB,EAASY,EAASjkC,GAAMA,EAAKikC,MAAc,EAC7C,MAGJ,MAAOL,IAIX1nC,EAAOD,QAAU6nC,GnD0yNX,SAAU5nC,EAAQD,EAASH,GAEhC,YoDpyND,SAAS6d,GAAKiqB,GACZ,MAAOM,GAAYN,GAAUO,EAAcP,GAAUQ,EAASR,GAjChE,GAAIO,GAAgBroC,EAAQ,IACxBsoC,EAAWtoC,EAAQ,IACnBooC,EAAcpoC,EAAQ,GAkC1BI,GAAOD,QAAU0d,GpD00NX,SAAUzd,EAAQD,EAASH,GAEhC,YqD31ND,SAASqoC,GAAcnlC,EAAOqlC,GAC5B,GAAIC,GAAQ5nB,EAAQ1d,GAChBulC,GAASD,GAASE,EAAYxlC,GAC9BylC,GAAUH,IAAUC,GAASG,EAAS1lC,GACtC2lC,GAAUL,IAAUC,IAAUE,GAAUG,EAAa5lC,GACrD6lC,EAAcP,GAASC,GAASE,GAAUE,EAC1Cx+B,EAAS0+B,EAAcC,EAAU9lC,EAAMa,OAAQmtB,WAC/CntB,EAASsG,EAAOtG,MAEpB,KAAK,GAAIG,KAAOhB,IACTqlC,IAAaznC,EAAeP,KAAK2C,EAAOgB,IACvC6kC,IAEQ,UAAP7kC,GAECykC,IAAkB,UAAPzkC,GAA0B,UAAPA,IAE9B2kC,IAAkB,UAAP3kC,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDu4B,EAAQv4B,EAAKH,KAElBsG,EAAOsD,KAAKzJ,EAGhB,OAAOmG,GA7CT,GAAI2+B,GAAYhpC,EAAQ,IACpB0oC,EAAc1oC,EAAQ,IACtB4gB,EAAU5gB,EAAQ,IAClB4oC,EAAW5oC,EAAQ,IACnBy8B,EAAUz8B,EAAQ,IAClB8oC,EAAe9oC,EAAQ,IAGvBipC,EAAcroC,OAAOC,UAGrBC,EAAiBmoC,EAAYnoC,cAqCjCV,GAAOD,QAAUkoC,GrDo3NX,SAAUjoC,EAAQD,GAEvB,YsD75ND,SAAS6oC,GAAUj8B,EAAGw6B,GAIpB,IAHA,GAAI9wB,IAAQ,EACRpM,EAASvD,MAAMiG,KAEV0J,EAAQ1J,GACf1C,EAAOoM,GAAS8wB,EAAS9wB,EAE3B,OAAOpM,GAGTjK,EAAOD,QAAU6oC,GtD46NX,SAAU5oC,EAAQD,EAASH,GAEhC,YuDj8ND,IAAIkpC,GAAkBlpC,EAAQ,IAC1BmpC,EAAenpC,EAAQ,IAGvBipC,EAAcroC,OAAOC,UAGrBC,EAAiBmoC,EAAYnoC,eAG7BsoC,EAAuBH,EAAYG,qBAoBnCV,EAAcQ,EAAgB,WAAa,MAAO3jC,eAAkB2jC,EAAkB,SAAShmC,GACjG,MAAOimC,GAAajmC,IAAUpC,EAAeP,KAAK2C,EAAO,YACtDkmC,EAAqB7oC,KAAK2C,EAAO,UAGtC9C,GAAOD,QAAUuoC,GvDw8NX,SAAUtoC,EAAQD,EAASH,GAEhC,YwDh+ND,SAASkpC,GAAgBhmC,GACvB,MAAOimC,GAAajmC,IAAUmmC,EAAWnmC,IAAUomC,EAdrD,GAAID,GAAarpC,EAAQ,IACrBmpC,EAAenpC,EAAQ,IAGvBspC,EAAU,oBAadlpC,GAAOD,QAAU+oC,GxDm/NX,SAAU9oC,EAAQD,EAASH,GAEhC,YyDp/ND,SAASqpC,GAAWnmC,GAClB,MAAa,OAATA,EACesC,SAAVtC,EAAsBqmC,EAAeC,EAEtCC,GAAkBA,IAAkB7oC,QAAOsC,GAC/CwmC,EAAUxmC,GACVymC,EAAezmC,GAxBrB,GAAIO,GAASzD,EAAQ,IACjB0pC,EAAY1pC,EAAQ,IACpB2pC,EAAiB3pC,EAAQ,IAGzBwpC,EAAU,gBACVD,EAAe,qBAGfE,EAAiBhmC,EAASA,EAAOmmC,YAAcpkC,MAkBnDpF,GAAOD,QAAUkpC,GzD0gOX,SAAUjpC,EAAQD,EAASH,GAEhC,Y0DviOD,IAAI6pC,GAAO7pC,EAAQ,IAGfyD,EAASomC,EAAKpmC,MAElBrD,GAAOD,QAAUsD,G1D6iOX,SAAUrD,EAAQD,EAASH,GAEhC,YAEA,IAAIwD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,I2DtjOnQ2nC,EAAa9pC,EAAQ,IAGrB+pC,EAA0B,WAAf,mBAAOpnC,MAAP,YAAAa,EAAOb,QAAoBA,MAAQA,KAAK/B,SAAWA,QAAU+B,KAGxEknC,EAAOC,GAAcC,GAAY1pB,SAAS,gBAE9CjgB,GAAOD,QAAU0pC,G3D4jOX,SAAUzpC,EAAQD,IAEK,SAASqB,GAAS,YAE9C,IAAIgC,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,I4DvkOnQ2nC,EAA8B,WAAjB,mBAAOtoC,GAAP,YAAAgC,EAAOhC,KAAsBA,GAAUA,EAAOZ,SAAWA,QAAUY,CAEpFpB,GAAOD,QAAU2pC,I5D2kOavpC,KAAKJ,EAAU,WAAa,MAAOmB,WAI3D,SAAUlB,EAAQD,EAASH,GAEhC,Y6D3jOD,SAAS0pC,GAAUxmC,GACjB,GAAI8mC,GAAQlpC,EAAeP,KAAK2C,EAAOumC,GACnCQ,EAAM/mC,EAAMumC,EAEhB,KACEvmC,EAAMumC,GAAkBjkC,MACxB,IAAI0kC,IAAW,EACf,MAAOvhC,IAET,GAAI0B,GAAS8/B,EAAqB5pC,KAAK2C,EAQvC,OAPIgnC,KACEF,EACF9mC,EAAMumC,GAAkBQ,QAEjB/mC,GAAMumC,IAGVp/B,EA1CT,GAAI5G,GAASzD,EAAQ,IAGjBipC,EAAcroC,OAAOC,UAGrBC,EAAiBmoC,EAAYnoC,eAO7BqpC,EAAuBlB,EAAYl9B,SAGnC09B,EAAiBhmC,EAASA,EAAOmmC,YAAcpkC,MA6BnDpF,GAAOD,QAAUupC,G7D0lOX,SAAUtpC,EAAQD,GAEvB,Y8DxnOD,SAASwpC,GAAezmC,GACtB,MAAOinC,GAAqB5pC,KAAK2C,GAjBnC,GAAI+lC,GAAcroC,OAAOC,UAOrBspC,EAAuBlB,EAAYl9B,QAavC3L,GAAOD,QAAUwpC,G9D+oOX,SAAUvpC,EAAQD,GAEvB,Y+D9oOD,SAASgpC,GAAajmC,GACpB,MAAgB,OAATA,GAAiC,WAAhB,mBAAOA,GAAP,YAAAM,EAAON,I/D+oOhC,GAAIM,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,G+D5oOvQ/B,GAAOD,QAAUgpC,G/D8qOX,SAAU/oC,EAAQD,GAEvB,YgErrOD,IAAIygB,GAAU9Z,MAAM8Z,OAEpBxgB,GAAOD,QAAUygB,GhEktOX,SAAUxgB,EAAQD,EAASH,IAEJ,SAASI,GAAS,YAE9C,IAAIoD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,IiE/uOnQ0nC,EAAO7pC,EAAQ,IACfoqC,EAAYpqC,EAAQ,IAGpBqqC,EAAgC,UAAlB7mC,EAAOrD,IAAuBA,IAAYA,EAAQmqC,UAAYnqC,EAG5EoqC,EAAaF,GAAgC,UAAjB7mC,EAAOpD,IAAsBA,IAAWA,EAAOkqC,UAAYlqC,EAGvFoqC,EAAgBD,GAAcA,EAAWpqC,UAAYkqC,EAGrDI,EAASD,EAAgBX,EAAKY,OAASjlC,OAGvCklC,EAAiBD,EAASA,EAAO7B,SAAWpjC,OAmB5CojC,EAAW8B,GAAkBN,CAEjChqC,GAAOD,QAAUyoC,IjEkvOaroC,KAAKJ,EAASH,EAAoB,IAAII,KAI9D,SAAUA,EAAQD,GAEvB,YkE7xODC,GAAOD,QAAU,SAASC,GAQzB,MAPIA,GAAOuqC,kBACVvqC,EAAOwqC,UAAY,aACnBxqC,EAAOyqC,SAEPzqC,EAAO0qC,YACP1qC,EAAOuqC,gBAAkB,GAEnBvqC,IlEoyOF,SAAUA,EAAQD,GAEvB,YmEjyOD,SAASiqC,KACP,OAAO,EAGThqC,EAAOD,QAAUiqC,GnEozOX,SAAUhqC,EAAQD,GAEvB,YoEzzOD,SAASs8B,GAAQv5B,EAAOa,GAEtB,MADAA,GAAmB,MAAVA,EAAiBgnC,EAAmBhnC,IACpCA,IACU,gBAATb,IAAqB8nC,EAAS7sB,KAAKjb,KAC1CA,GAAQ,GAAMA,EAAQ,GAAK,GAAKA,EAAQa,EAjB7C,GAAIgnC,GAAmB,iBAGnBC,EAAW,kBAiBf5qC,GAAOD,QAAUs8B,GpE20OX,SAAUr8B,EAAQD,EAASH,GAEhC,YqEl2OD,IAAIirC,GAAmBjrC,EAAQ,IAC3BkrC,EAAYlrC,EAAQ,IACpBmrC,EAAWnrC,EAAQ,IAGnBorC,EAAmBD,GAAYA,EAASrC,aAmBxCA,EAAesC,EAAmBF,EAAUE,GAAoBH,CAEpE7qC,GAAOD,QAAU2oC,GrEw2OX,SAAU1oC,EAAQD,EAASH,GAEhC,YsE90OD,SAASirC,GAAiB/nC,GACxB,MAAOimC,GAAajmC,IAClBmoC,EAASnoC,EAAMa,WAAaunC,EAAejC,EAAWnmC,IAxD1D,GAAImmC,GAAarpC,EAAQ,IACrBqrC,EAAWrrC,EAAQ,IACnBmpC,EAAenpC,EAAQ,IAGvBspC,EAAU,qBACViC,EAAW,iBACXC,EAAU,mBACVC,EAAU,gBACVC,EAAW,iBACXC,EAAU,oBACVC,EAAS,eACTC,EAAY,kBACZC,EAAY,kBACZC,EAAY,kBACZC,EAAS,eACTC,EAAY,kBACZC,EAAa,mBAEbC,EAAiB,uBACjBC,EAAc,oBACdC,EAAa,wBACbC,EAAa,wBACbC,EAAU,qBACVC,EAAW,sBACXC,EAAW,sBACXC,EAAW,sBACXC,EAAkB,6BAClBC,EAAY,uBACZC,EAAY,uBAGZvB,IACJA,GAAee,GAAcf,EAAegB,GAC5ChB,EAAeiB,GAAWjB,EAAekB,GACzClB,EAAemB,GAAYnB,EAAeoB,GAC1CpB,EAAeqB,GAAmBrB,EAAesB,GACjDtB,EAAeuB,IAAa,EAC5BvB,EAAehC,GAAWgC,EAAeC,GACzCD,EAAea,GAAkBb,EAAeE,GAChDF,EAAec,GAAed,EAAeG,GAC7CH,EAAeI,GAAYJ,EAAeK,GAC1CL,EAAeM,GAAUN,EAAeO,GACxCP,EAAeQ,GAAaR,EAAeS,GAC3CT,EAAeU,GAAUV,EAAeW,GACxCX,EAAeY,IAAc,EAc7B9rC,EAAOD,QAAU8qC,GtE83OX,SAAU7qC,EAAQD,GAEvB,YuE95OD,SAASkrC,GAASnoC,GAChB,MAAuB,gBAATA,IACZA,GAAQ,GAAMA,EAAQ,GAAK,GAAKA,GAAS6nC,EA9B7C,GAAIA,GAAmB,gBAiCvB3qC,GAAOD,QAAUkrC,GvEg8OX,SAAUjrC,EAAQD,GAEvB,YwE79OD,SAAS+qC,GAAU1D,GACjB,MAAO,UAAStkC,GACd,MAAOskC,GAAKtkC,IAIhB9C,EAAOD,QAAU+qC,GxE0+OX,SAAU9qC,EAAQD,EAASH,IAEJ,SAASI,GAAS,YAE9C,IAAIoD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,IyE3/OnQ2nC,EAAa9pC,EAAQ,IAGrBqqC,EAAgC,UAAlB7mC,EAAOrD,IAAuBA,IAAYA,EAAQmqC,UAAYnqC,EAG5EoqC,EAAaF,GAAgC,UAAjB7mC,EAAOpD,IAAsBA,IAAWA,EAAOkqC,UAAYlqC,EAGvFoqC,EAAgBD,GAAcA,EAAWpqC,UAAYkqC,EAGrDyC,EAActC,GAAiBV,EAAW96B,QAG1Cm8B,EAAY,WACd,IACE,MAAO2B,IAAeA,EAAYtwB,SAAWswB,EAAYtwB,QAAQ,QACjE,MAAO7T,OAGXvI,GAAOD,QAAUgrC,IzE8/Oa5qC,KAAKJ,EAASH,EAAoB,IAAII,KAI9D,SAAUA,EAAQD,EAASH,GAEhC,Y0EzgPD,SAASsoC,GAASR,GAChB,IAAKiF,EAAYjF,GACf,MAAOkF,GAAWlF,EAEpB,IAAIz9B,KACJ,KAAK,GAAInG,KAAOtD,QAAOknC,GACjBhnC,EAAeP,KAAKunC,EAAQ5jC,IAAe,eAAPA,GACtCmG,EAAOsD,KAAKzJ,EAGhB,OAAOmG,GA1BT,GAAI0iC,GAAc/sC,EAAQ,IACtBgtC,EAAahtC,EAAQ,IAGrBipC,EAAcroC,OAAOC,UAGrBC,EAAiBmoC,EAAYnoC,cAsBjCV,GAAOD,QAAUmoC,G1E+hPX,SAAUloC,EAAQD,GAEvB,Y2EpjPD,SAAS4sC,GAAY7pC,GACnB,GAAI+pC,GAAO/pC,GAASA,EAAMD,YACtB2e,EAAwB,kBAARqrB,IAAsBA,EAAKpsC,WAAcooC,CAE7D,OAAO/lC,KAAU0e,EAbnB,GAAIqnB,GAAcroC,OAAOC,SAgBzBT,GAAOD,QAAU4sC,G3EokPX,SAAU3sC,EAAQD,EAASH,GAEhC,Y4EvlPD,IAAIktC,GAAUltC,EAAQ,IAGlBgtC,EAAaE,EAAQtsC,OAAOid,KAAMjd,OAEtCR,GAAOD,QAAU6sC,G5E6lPX,SAAU5sC,EAAQD,GAEvB,Y6E5lPD,SAAS+sC,GAAQ1F,EAAM2F,GACrB,MAAO,UAAS1gC,GACd,MAAO+6B,GAAK2F,EAAU1gC,KAI1BrM,EAAOD,QAAU+sC,G7E0mPX,SAAU9sC,EAAQD,EAASH,GAEhC,Y8E9lPD,SAASooC,GAAYllC,GACnB,MAAgB,OAATA,GAAiBmoC,EAASnoC,EAAMa,UAAYyI,EAAWtJ,GA7BhE,GAAIsJ,GAAaxM,EAAQ,IACrBqrC,EAAWrrC,EAAQ,GA+BvBI,GAAOD,QAAUioC,G9EgoPX,SAAUhoC,EAAQD,EAASH,GAEhC,Y+ExoPD,SAASwM,GAAWtJ,GAClB,IAAKyJ,EAASzJ,GACZ,OAAO,CAIT,IAAI+mC,GAAMZ,EAAWnmC,EACrB,OAAO+mC,IAAO0B,GAAW1B,GAAOmD,GAAUnD,GAAOoD,GAAYpD,GAAOqD,EAjCtE,GAAIjE,GAAarpC,EAAQ,IACrB2M,EAAW3M,EAAQ,IAGnBqtC,EAAW,yBACX1B,EAAU,oBACVyB,EAAS,6BACTE,EAAW,gBA6BfltC,GAAOD,QAAUqM,G/EwqPX,SAAUpM,EAAQD,GAEvB,YgFrrPD,SAASwM,GAASzJ,GAChB,GAAIgK,GAAA,mBAAchK,GAAd,YAAAM,EAAcN,EAClB,OAAgB,OAATA,IAA0B,UAARgK,GAA4B,YAARA,GhFqrP9C,GAAI1J,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GgFlrPvQ/B,GAAOD,QAAUwM,GhFstPX,SAAUvM,EAAQD,EAASH,GAEhC,YiF5uPD,SAAS6nC,GAAe0F,EAAUtF,GAChC,MAAO,UAASX,EAAYC,GAC1B,GAAkB,MAAdD,EACF,MAAOA,EAET,KAAKc,EAAYd,GACf,MAAOiG,GAASjG,EAAYC,EAM9B,KAJA,GAAIxjC,GAASujC,EAAWvjC,OACpB0S,EAAQwxB,EAAYlkC,GAAS,EAC7BokC,EAAWvnC,OAAO0mC,IAEdW,EAAYxxB,MAAYA,EAAQ1S,IAClCwjC,EAASY,EAAS1xB,GAAQA,EAAO0xB,MAAc,IAIrD,MAAOb,IA3BX,GAAIc,GAAcpoC,EAAQ,GA+B1BI,GAAOD,QAAU0nC,GjF4vPX,SAAUznC,EAAQD,EAASH,GAEhC,YkFpxPD,SAAS2nC,GAAazkC,GACpB,MAAuB,kBAATA,GAAsBA,EAAQsqC,EAV9C,GAAIA,GAAWxtC,EAAQ,GAavBI,GAAOD,QAAUwnC,GlFmyPX,SAAUvnC,EAAQD,GAEvB,YmFlyPD,SAASqtC,GAAStqC,GAChB,MAAOA,GAGT9C,EAAOD,QAAUqtC,GnFwzPX,SAAUptC,EAAQD,GoF50PxBC,EAAAD,SAAkBwH,UAAA,OAAAG,UAAA,2BAAAJ,IAAA,wBAAAF,IAAA,wBAAAimC,QAAA,GAAAC,UAAA,GAAAC,eAAA,MAAAC,SAAA,mEAAA3nC,2BAAA,2CAAAuD,mBAAA,IpFk1PZ,SAAUpJ,EAAQD,GAEvB,YAEAS,QAAOqD,eAAe9D,EAAS,cAC7B+C,OAAO,IAET/C,EAAQkC,UqFv1PHZ,IAAO,eACP0E,OAAU,yBACVK,QAAW,WAAY,iBAGvB/E,IAAO,eACP0E,OAAU,mCACVK,QAAW,QAGX/E,IAAO,eACP0E,OAAU,6BACVK,QAAW,QAGX/E,IAAO,eACP0E,OAAU,6BAGV1E,IAAO,eACP0E,OAAU,oBACVK,QAAW,WAAY,WAGvB/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,YAGX/E,IAAO,eACP0E,OAAU,iCACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,oCACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,8BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,gCACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,6BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,4BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,6BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,4BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,2BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,8BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,yBACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,8BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,8BACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,mBACVK,QAAW,cAGX/E,IAAO,eACP0E,OAAU,YACVK,QAAW,cAGX/E,IAAO,eACP0E,OAAU,mBACVK,QAAW,WAAY,iBAGvB/E,IAAO,eACP0E,OAAU,YACVK,QAAW,UAGX/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,QAAS,WAGpB/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,QAAS,WAGpB/E,IAAO,eACP0E,OAAU,wBACVK,QAAW,QAAS,WAGpB/E,IAAO,eACP0E,OAAU,wBACVK,QAAW,QAAS,WAGpB/E,IAAO,eACP0E,OAAU,eAGV1E,IAAO,eACP0E,OAAU,kCAGV1E,IAAO,eACP0E,OAAU,yBAGV1E,IAAO,eACP0E,OAAU,qBAGV1E,IAAO,eACP0E,OAAU,qCAGV1E,IAAO,eACP0E,OAAU,yBAGV1E,IAAO,eACP0E,OAAU,yBAGV1E,IAAO,eACP0E,OAAU,gCAGV1E,IAAO,qBACP0E,OAAU,qBACVK,QAAW,SAGX/E,IAAO,eACP0E,OAAU,eACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,yBACVK,QAAW,eAGX/E,IAAO,eACP0E,OAAU,uBACVK,QAAW,kBAGX/E,IAAO,eACP0E,OAAU,kBACVK,QAAW,iBAAkB,WAG7B/E,IAAO,eACP0E,OAAU,sBAGV1E,IAAO,eACP0E,OAAU,0BACVK,QAAW,iBAGX/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,UAAW,OAAQ,QAAS,uBAAwB,2BAG/D/E,IAAO,eACP0E,OAAU,oBACVK,QAAW,aAGX/E,IAAO,eACP0E,OAAU,uBACVK,QAAW,aAGX/E,IAAO,eACP0E,OAAU,aACVK,QAAW,OAAQ,cAGnB/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,UAAW,uBAGtB/E,IAAO,eACP0E,OAAU,wBACVK,QAAW,UAAW,mBAGtB/E,IAAO,eACP0E,OAAU,4BACVK,QAAW,aAGX/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,aAGX/E,IAAO,eACP0E,OAAU,iBACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,kBACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,eAAgB,WAG3B/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,SAGX/E,IAAO,eACP0E,OAAU,kBACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,MAAO,mBAGlB/E,IAAO,eACP0E,OAAU,2BACVK,QAAW,SAGX/E,IAAO,eACP0E,OAAU,mBACVK,QAAW,SAGX/E,IAAO,eACP0E,OAAU,2BACVK,QAAW,WAAY,aAGvB/E,IAAO,eACP0E,OAAU,mBACVK,QAAW,SAAU,cAGrB/E,IAAO,eACP0E,OAAU,oBACVK,QAAW,WAGX/E,IAAO,eACP0E,OAAU,cACVK,QAAW,SAAU,cAGrB/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,SAAU,cAGrB/E,IAAO,eACP0E,OAAU,wCACVK,QAAW,SAAU,gBAAiB,aAAc,WAGpD/E,IAAO,eACP0E,OAAU,6BACVK,QAAW,cAAe,gBAAiB,WAG3C/E,IAAO,eACP0E,OAAU,gBACVK,QAAW,gBAGX/E,IAAO,eACP0E,OAAU,yBACVK,QAAW,iBAGX/E,IAAO,eACP0E,OAAU,wBACVK,QAAW,OAAQ,WAGnB/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,iBAAkB,WAG7B/E,IAAO,eACP0E,OAAU,sBAGV1E,IAAO,eACP0E,OAAU,yBAGV1E,IAAO,eACP0E,OAAU,oBAGV1E,IAAO,eACP0E,OAAU,kBACVK,QAAW,UAGX/E,IAAO,eACP0E,OAAU,0BACVK,QAAW,UAAW,OAAQ,WAG9B/E,IAAO,YACP0E,OAAU,QACVK,QAAW,WAAY,cAGvB/E,IAAO,YACP0E,OAAU,kBACVK,QAAW,kBAGX/E,IAAO,YACP0E,OAAU,gBAGV1E,IAAO,aACP0E,OAAU,gBACVK,QAAW,YAAa,gBAAiB,aAAc,WAGvD/E,IAAO,aACP0E,OAAU,gBACVK,QAAW,WAAY,iBAAkB,aAAc,WAGvD/E,IAAO,aACP0E,OAAU,mBACVK,QAAW,aAGX/E,IAAO,aACP0E,OAAU,mBACVK,QAAW,UAAW,UAAW,WAGjC/E,IAAO,aACP0E,OAAU,WACVK,QAAW,UAAW,UAAW,WAGjC/E,IAAO,aACP0E,OAAU,mBACVK,QAAW,UAAW,UAAW,WAGjC/E,IAAO,aACP0E,OAAU,WACVK,QAAW,UAAW,UAAW,WAGjC/E,IAAO,aACP0E,OAAU,0BACVK,QAAW,iBAAkB,WAG7B/E,IAAO,aACP0E,OAAU,mBACVK,QAAW,SAAU,cAGrB/E,IAAO,aACP0E,OAAU,mBACVK,QAAW,iBAGX/E,IAAO,wBACP0E,OAAU,wBACVK,QAAW,SAGX/E,IAAO,wBACP0E,OAAU,sCACVK,QAAW,uBAAwB,SAGnC/E,IAAO,wBACP0E,OAAU,oCACVK,QAAW,SAGX/E,IAAO,wBACP0E,OAAU,kBACVK,QAAW,OAGX/E,IAAO,wBACP0E,OAAU,oBACVK,QAAW,iBAGX/E,IAAO,qBACP0E,OAAU,aACVK,YAGA/E,IAAO,qBACP0E,OAAU,aACVK,YAGA/E,IAAO,qBACP0E,OAAU,iBACVE,YAAe,qBACfG,QAAW,WAGX/E,IAAO,qBACP0E,OAAU,oBACVK,QAAW,QAAS,MAAO,WAG3B/E,IAAO,qBACP0E,OAAU,oBACVK,QAAW,WAGX/E,IAAO,qBACP0E,OAAU,qBACVK,QAAW,iBAAkB,QAAS,SAGtC/E,IAAO,qBACP0E,OAAU,6BACVK,YAGA/E,IAAO,eACP0E,OAAU,iBACVK,QAAW,YAGX/E,IAAO,eACP0E,OAAU,iBACVK,QAAW,QAAS,QAAS,WAAY,kBAAmB,YAG5D/E,IAAO,eACP0E,OAAU,sBACVK,QAAW,QAAS,QAAS,WAAY,kBAAmB,YAG5D/E,IAAO,eACP0E,OAAU,eACVK,arFqvPA,SAAUpG,EAAQD,EAASH,GAEhC,YAcA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAZvFvB,OAAOqD,eAAe9D,EAAS,cAC7B+C,OAAO,GsFzvQV,IAAA6B,GAAA/E,EAAA,ItF8vQK6tC,EAAS3rC,EAAuB6C,GsF7vQrC+oC,EAAA9tC,EAAA,ItFiwQK+tC,EAAO7rC,EAAuB4rC,EAIlC3tC,GAAQkC,SsFlwQPwF,eACAE,etFwwQI,SAAU3H,EAAQD,EAASH,GAEhC,YA2BA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAEvF,QAASG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2BC,EAAMpC,GAAQ,IAAKoC,EAAQ,KAAM,IAAIC,gBAAe,4DAAgE,QAAOrC,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BoC,EAAPpC,EAElO,QAASsC,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIN,WAAU,iEAAoEM,GAAeD,GAASjC,UAAYD,OAAOoC,OAAOD,GAAcA,EAAWlC,WAAaoC,aAAeC,MAAOJ,EAAUK,YAAY,EAAOC,UAAU,EAAMC,cAAc,KAAeN,IAAYnC,OAAO0C,eAAiB1C,OAAO0C,eAAeR,EAAUC,GAAcD,EAASS,UAAYR,GuFrxQ3d,QAAS+F,GAAQpB,EAAjBsmC,GAA+D,GAAxC7nC,GAAwC6nC,EAAxC7nC,OAAQ9F,EAAgC2tC,EAAhC3tC,GAAImG,EAA4BwnC,EAA5BxnC,OAA4BynC,EAAAD,EAApBE,cAAoB1oC,SAAAyoC,EAAAE,EAAA9rC,QAAA4rC,EAC9DG,GAAW/tC,KAAIguC,QAAS,MAAOloC,SAAQK,SAC7C,OAAO0nC,GAAYxmC,GACjB87B,KAAMv3B,KAAKC,UAAUkiC,GACrBjoC,OAAQ,OACR2D,KAAM,OACNwkC,SACEC,OAAQ,oCACRC,eAAgB,sBAEjBzlC,KAAK,SAAAC,GACN,IAAKA,EAAIylC,GACP,KAAM,IAAIrmC,OAAJ,QAAmBY,EAAI0lC,OAAvB,KAAoC1lC,EAAI2lC,WAEhD,OAAO3lC,GAAI4lC,SACV7lC,KAAK,SAAA8lC,GACN,GAAIA,EAAOxuC,KAAOA,EAChB,KAAM,IAAI+H,OAAJ,wBAAmCymC,EAAOxuC,GAElD,IAAIwuC,EAAOvlC,MACT,KAAM,IAAIwlC,GAASD,EAAOvlC,MAE5B,OAAOulC,GAAOxkC,SvFguQjBzJ,OAAOqD,eAAe9D,EAAS,cAC7B+C,OAAO,IAET/C,EAAQ2uC,SAAWtpC,MAEnB,IAAI7B,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,KAEhiBrC,GuF7vQe2I,SA3BhB,IAAAimC,GAAA/uC,EAAA,IvF4xQKmuC,EAAejsC,EAAuB6sC,GuF3xQ3CC,EAAAhvC,EAAA,IvF+xQKivC,EAAU/sC,EAAuB8sC,GuF9xQtCE,EAAAlvC,EAAA,IvFkyQKmvC,EAAUjtC,EAAuBgtC,GuFjyQtCE,EAAApvC,EAAA,IvFqyQKqvC,EAASntC,EAAuBktC,GuFnyQ/Bl9B,GAAQ,EAAA+8B,EAAA5sC,SAAS,cAEVysC,EvF6yQG3uC,EuF7yQH2uC,SvF6yQsB,SAAUQ,GuF5yQ3C,QAAAR,GAAYS,GAAUjtC,EAAAhB,KAAAwtC,EAAA,IAAArpC,GAAA/C,EAAApB,MAAAwtC,EAAAvrC,WAAA3C,OAAA8E,eAAAopC,IAAAvuC,KAAAe,KACdiuC,EAASv3B,SADK,OAEpBvS,GAAK8W,KAAO,WACZ9W,EAAK00B,KAAOoV,EAASpV,KACrB10B,EAAK8C,KAAOgnC,EAAShnC,KAJD9C,EvF0zQrB,MAbA5C,GAAUisC,EAAUQ,GAabR,GuF3zQoB1mC,OA8CTonC,EvF6zQA,SAAUC,GAG5B,QAASD,KAGP,MAFAltC,GAAgBhB,KAAMkuC,GAEf9sC,EAA2BpB,MAAOkuC,EAAcjsC,WAAa3C,OAAO8E,eAAe8pC,IAAgBnuC,MAAMC,KAAMiE,YA4ExH,MAjFA1C,GAAU2sC,EAAeC,GAQzB9rC,EAAa6rC,IACXtrC,IAAK,OACLhB,MAAO,SuFv0QLzB,EAAK8G,EAAM9B,GAAU,GAAA0C,GAAA7H,IACpBA,MAAKgE,QAAQoqC,gBACfjuC,EAAM,iBAERyQ,EAAM,cAAezQ,EAAK8G,EAC1B,IAAMlI,GAAKkI,EAAKlI,IAAMiB,KAAKjB,KACvBmG,GAAU/E,EAAK8G,EAAKpC,OAAQoC,EAAK/B,QAa/BmpC,EAAYruC,KAAKquC,UAAUluC,EAAK8G,GAChC2lC,EAAc5sC,KAAKgE,QAAQ4oC,WAC7ByB,GACFA,EAAU5X,QAAQ,SAAC6X,GACjB9mC,EAAQK,EAAK7D,QAAQoC,KAAOvB,OAAQ,OAAQ9F,KAAImG,SAAQ0nC,gBAAenlC,KACrE,SAAAC,GAASvC,EAAS,KAAMuC,IACxB,SAAAC,GACM0mC,EAAUE,MAAM5mC,IAGpBxC,EAASkpC,EAAUG,iBAKzBhnC,EAAQxH,KAAKgE,QAAQoC,KAAOvB,OAAQ,OAAQ9F,KAAImG,SAAQ0nC,gBAAenlC,KACrE,SAAAC,GAASvC,EAAS,KAAMuC,IACxB,SAAAC,GAASxC,EAASwC,QvF80QrB/E,IAAK,YAILhB,MAAO,SuFl0QAzB,EAAK8G,GACb,MAAIjH,MAAKyuC,uBAAuBnK,KAAK,SAAC9jB,GAAD,MAAOA,KAAMvZ,EAAKpC,SAE9C,KACEvF,OAAOU,KAAKgE,QAAQuqC,SAAWvuC,KAAKgE,QAAQuqC,MAE9CV,EAAA9sC,QAAM+I,UAAU9J,KAAKgE,QAAQuqC,OAC3BvuC,KAAKgE,QAAQuqC,MAEfV,EAAA9sC,QAAM+I,YAGN,QvFw0QRlH,IAAK,yBACLwZ,IAAK,WuF/1QN,MAAOpc,MAAKgE,QAAQyqC,yBAClB,wBACA,sCACA,oCACA,kBACA,2BvF+1QIP,GACPH,EAAOhtC,QAETlC,GAAQkC,QuFl5QYmtC,GvFs5Qf,SAAUpvC,EAAQD,GAEvB,YwF78QD,IAAIwC,OACJ,SAAUA,GA4CR,QAASqtC,GAAczzB,GAIrB,GAHoB,gBAATA,KACTA,EAAO2U,OAAO3U,IAEZ,6BAA6B4B,KAAK5B,GACpC,KAAM,IAAI9Z,WAAU,yCAEtB,OAAO8Z,GAAK0E,cAGd,QAASgvB,GAAe/sC,GAItB,MAHqB,gBAAVA,KACTA,EAAQguB,OAAOhuB,IAEVA,EAIT,QAASgtC,GAAYC,GACnB,GAAIzsC,IACFsd,KAAM,WACJ,GAAI9d,GAAQitC,EAAMpsB,OAClB,QAAQ5Q,KAAgB3N,SAAVtC,EAAqBA,MAAOA,IAU9C,OANIktC,GAAQjI,WACVzkC,EAASD,OAAOC,UAAY,WAC1B,MAAOA,KAIJA,EAGT,QAAS2sC,GAAQ/B,GACfhtC,KAAKqF,OAED2nC,YAAmB+B,GACrB/B,EAAQpoC,QAAQ,SAAShD,EAAOqZ,GAC9Bjb,KAAKgvC,OAAO/zB,EAAMrZ,IACjB5B,MACMwF,MAAM8Z,QAAQ0tB,GACvBA,EAAQpoC,QAAQ,SAASqqC,GACvBjvC,KAAKgvC,OAAOC,EAAO,GAAIA,EAAO,KAC7BjvC,MACMgtC,GACT1tC,OAAO4f,oBAAoB8tB,GAASpoC,QAAQ,SAASqW,GACnDjb,KAAKgvC,OAAO/zB,EAAM+xB,EAAQ/xB,KACzBjb,MA0DP,QAASkvC,GAAShN,GAChB,MAAIA,GAAKiN,SACA5hC,QAAQgC,OAAO,GAAIpO,WAAU,sBAEtC+gC,EAAKiN,UAAW,GAGlB,QAASC,GAAgBC,GACvB,MAAO,IAAI9hC,SAAQ,SAAS6F,EAAS7D,GACnC8/B,EAAOC,OAAS,WACdl8B,EAAQi8B,EAAOtmC,SAEjBsmC,EAAOE,QAAU,WACfhgC,EAAO8/B,EAAOrnC,UAKpB,QAASwnC,GAAsBC,GAC7B,GAAIJ,GAAS,GAAIK,YACb/gC,EAAUygC,EAAgBC,EAE9B,OADAA,GAAOM,kBAAkBF,GAClB9gC,EAGT,QAASihC,GAAeH,GACtB,GAAIJ,GAAS,GAAIK,YACb/gC,EAAUygC,EAAgBC,EAE9B,OADAA,GAAOQ,WAAWJ,GACX9gC,EAGT,QAASmhC,GAAsB1lC,GAI7B,IAAK,GAHD2lC,GAAO,GAAIC,YAAW5lC,GACtB6lC,EAAQ,GAAIzqC,OAAMuqC,EAAKttC,QAElBpD,EAAI,EAAGA,EAAI0wC,EAAKttC,OAAQpD,IAC/B4wC,EAAM5wC,GAAKuwB,OAAOsgB,aAAaH,EAAK1wC,GAEtC,OAAO4wC,GAAM5mB,KAAK,IAGpB,QAAS8mB,GAAY/lC,GACnB,GAAIA,EAAIzK,MACN,MAAOyK,GAAIzK,MAAM,EAEjB,IAAIowC,GAAO,GAAIC,YAAW5lC,EAAIgmC,WAE9B,OADAL,GAAK3nC,IAAI,GAAI4nC,YAAW5lC,IACjB2lC,EAAKM,OAIhB,QAASC,KA0FP,MAzFAtwC,MAAKmvC,UAAW,EAEhBnvC,KAAKuwC,UAAY,SAASrO,GAExB,GADAliC,KAAKwwC,UAAYtO,EACZA,EAEE,GAAoB,gBAATA,GAChBliC,KAAKywC,UAAYvO,MACZ,IAAI4M,EAAQW,MAAQiB,KAAKnxC,UAAUoxC,cAAczO,GACtDliC,KAAK4wC,UAAY1O,MACZ,IAAI4M,EAAQ+B,UAAYC,SAASvxC,UAAUoxC,cAAczO,GAC9DliC,KAAK+wC,cAAgB7O,MAChB,IAAI4M,EAAQkC,cAAgBC,gBAAgB1xC,UAAUoxC,cAAczO,GACzEliC,KAAKywC,UAAYvO,EAAKz3B,eACjB,IAAIqkC,EAAQoC,aAAepC,EAAQW,MAAQ0B,EAAWjP,GAC3DliC,KAAKoxC,iBAAmBjB,EAAYjO,EAAKmO,QAEzCrwC,KAAKwwC,UAAY,GAAIE,OAAM1wC,KAAKoxC,uBAC3B,KAAItC,EAAQoC,cAAgBG,YAAY9xC,UAAUoxC,cAAczO,KAASoP,EAAkBpP,GAGhG,KAAM,IAAIp7B,OAAM,4BAFhB9G,MAAKoxC,iBAAmBjB,EAAYjO,OAdpCliC,MAAKywC,UAAY,EAmBdzwC,MAAKgtC,QAAQ5wB,IAAI,kBACA,gBAAT8lB,GACTliC,KAAKgtC,QAAQ5kC,IAAI,eAAgB,4BACxBpI,KAAK4wC,WAAa5wC,KAAK4wC,UAAUhlC,KAC1C5L,KAAKgtC,QAAQ5kC,IAAI,eAAgBpI,KAAK4wC,UAAUhlC,MACvCkjC,EAAQkC,cAAgBC,gBAAgB1xC,UAAUoxC,cAAczO,IACzEliC,KAAKgtC,QAAQ5kC,IAAI,eAAgB,qDAKnC0mC,EAAQW,OACVzvC,KAAKyvC,KAAO,WACV,GAAIn8B,GAAW47B,EAASlvC,KACxB,IAAIsT,EACF,MAAOA,EAGT,IAAItT,KAAK4wC,UACP,MAAOrjC,SAAQ6F,QAAQpT,KAAK4wC,UACvB,IAAI5wC,KAAKoxC,iBACd,MAAO7jC,SAAQ6F,QAAQ,GAAIs9B,OAAM1wC,KAAKoxC,mBACjC,IAAIpxC,KAAK+wC,cACd,KAAM,IAAIjqC,OAAM,uCAEhB,OAAOyG,SAAQ6F,QAAQ,GAAIs9B,OAAM1wC,KAAKywC,cAI1CzwC,KAAKkxC,YAAc,WACjB,MAAIlxC,MAAKoxC,iBACAlC,EAASlvC,OAASuN,QAAQ6F,QAAQpT,KAAKoxC,kBAEvCpxC,KAAKyvC,OAAOhoC,KAAK+nC,KAK9BxvC,KAAKuxC,KAAO,WACV,GAAIj+B,GAAW47B,EAASlvC,KACxB,IAAIsT,EACF,MAAOA,EAGT,IAAItT,KAAK4wC,UACP,MAAOhB,GAAe5vC,KAAK4wC,UACtB,IAAI5wC,KAAKoxC,iBACd,MAAO7jC,SAAQ6F,QAAQ08B,EAAsB9vC,KAAKoxC,kBAC7C,IAAIpxC,KAAK+wC,cACd,KAAM,IAAIjqC,OAAM,uCAEhB,OAAOyG,SAAQ6F,QAAQpT,KAAKywC,YAI5B3B,EAAQ+B,WACV7wC,KAAK6wC,SAAW,WACd,MAAO7wC,MAAKuxC,OAAO9pC,KAAK+pC,KAI5BxxC,KAAKstC,KAAO,WACV,MAAOttC,MAAKuxC,OAAO9pC,KAAKkD,KAAK8mC,QAGxBzxC,KAMT,QAAS0xC,GAAgB7sC,GACvB,GAAI8sC,GAAU9sC,EAAO+sC,aACrB,OAAQ1oB,GAAQ5C,QAAQqrB,IAAW,EAAMA,EAAU9sC,EAGrD,QAASgtC,GAAQnV,EAAO14B,GACtBA,EAAUA,KACV,IAAIk+B,GAAOl+B,EAAQk+B,IAEnB,IAAIxF,YAAiBmV,GAAS,CAC5B,GAAInV,EAAMyS,SACR,KAAM,IAAIhuC,WAAU,eAEtBnB,MAAKkG,IAAMw2B,EAAMx2B,IACjBlG,KAAK8xC,YAAcpV,EAAMoV,YACpB9tC,EAAQgpC,UACXhtC,KAAKgtC,QAAU,GAAI+B,GAAQrS,EAAMsQ,UAEnChtC,KAAK6E,OAAS63B,EAAM73B,OACpB7E,KAAKwI,KAAOk0B,EAAMl0B,KACb05B,GAA2B,MAAnBxF,EAAM8T,YACjBtO,EAAOxF,EAAM8T,UACb9T,EAAMyS,UAAW,OAGnBnvC,MAAKkG,IAAM0pB,OAAO8M,EAWpB,IARA18B,KAAK8xC,YAAc9tC,EAAQ8tC,aAAe9xC,KAAK8xC,aAAe,QAC1D9tC,EAAQgpC,SAAYhtC,KAAKgtC,UAC3BhtC,KAAKgtC,QAAU,GAAI+B,GAAQ/qC,EAAQgpC,UAErChtC,KAAK6E,OAAS6sC,EAAgB1tC,EAAQa,QAAU7E,KAAK6E,QAAU,OAC/D7E,KAAKwI,KAAOxE,EAAQwE,MAAQxI,KAAKwI,MAAQ,KACzCxI,KAAK+xC,SAAW,MAEK,QAAhB/xC,KAAK6E,QAAoC,SAAhB7E,KAAK6E,SAAsBq9B,EACvD,KAAM,IAAI/gC,WAAU,4CAEtBnB,MAAKuwC,UAAUrO,GAOjB,QAASsP,GAAOtP,GACd,GAAI8P,GAAO,GAAIlB,SASf,OARA5O,GAAK+P,OAAOhyB,MAAM,KAAKrb,QAAQ,SAASstC,GACtC,GAAIA,EAAO,CACT,GAAIjyB,GAAQiyB,EAAMjyB,MAAM,KACpBhF,EAAOgF,EAAMwC,QAAQgN,QAAQ,MAAO,KACpC7tB,EAAQqe,EAAMoJ,KAAK,KAAKoG,QAAQ,MAAO,IAC3CuiB,GAAKhD,OAAOmD,mBAAmBl3B,GAAOk3B,mBAAmBvwC,OAGtDowC,EAGT,QAASI,GAAaC,GACpB,GAAIrF,GAAU,GAAI+B,EASlB,OARAsD,GAAWpyB,MAAM,SAASrb,QAAQ,SAASqpB,GACzC,GAAIqkB,GAAQrkB,EAAKhO,MAAM,KACnBrd,EAAM0vC,EAAM7vB,QAAQwvB,MACxB,IAAIrvC,EAAK,CACP,GAAIhB,GAAQ0wC,EAAMjpB,KAAK,KAAK4oB,MAC5BjF,GAAQgC,OAAOpsC,EAAKhB,MAGjBorC,EAKT,QAASuF,GAASC,EAAUxuC,GACrBA,IACHA,MAGFhE,KAAK4L,KAAO,UACZ5L,KAAKotC,OAAS,UAAYppC,GAAUA,EAAQopC,OAAS,IACrDptC,KAAKmtC,GAAKntC,KAAKotC,QAAU,KAAOptC,KAAKotC,OAAS,IAC9CptC,KAAKqtC,WAAa,cAAgBrpC,GAAUA,EAAQqpC,WAAa,KACjErtC,KAAKgtC,QAAU,GAAI+B,GAAQ/qC,EAAQgpC,SACnChtC,KAAKkG,IAAMlC,EAAQkC,KAAO,GAC1BlG,KAAKuwC,UAAUiC,GA7XjB,IAAInxC,EAAKoxC,MAAT,CAIA,GAAI3D,IACFkC,aAAc,mBAAqB3vC,GACnCwlC,SAAU,UAAYxlC,IAAQ,YAAcc,QAC5CstC,KAAM,cAAgBpuC,IAAQ,QAAUA,IAAS,WAC/C,IAEE,MADA,IAAIqvC;CACG,EACP,MAAMrpC,GACN,OAAO,MAGXwpC,SAAU,YAAcxvC,GACxB6vC,YAAa,eAAiB7vC,GAGhC,IAAIytC,EAAQoC,YACV,GAAIwB,IACF,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEvB,EAAa,SAAStwC,GACxB,MAAOA,IAAO8xC,SAASpzC,UAAUoxC,cAAc9vC,IAG7CywC,EAAoBD,YAAYuB,QAAU,SAAS/xC,GACrD,MAAOA,IAAO6xC,EAAYpsB,QAAQhnB,OAAOC,UAAUkL,SAASxL,KAAK4B,KAAQ,EAyD7EkuC,GAAQxvC,UAAUyvC,OAAS,SAAS/zB,EAAMrZ,GACxCqZ,EAAOyzB,EAAczzB,GACrBrZ,EAAQ+sC,EAAe/sC,EACvB,IAAIixC,GAAW7yC,KAAKqF,IAAI4V,EACxBjb,MAAKqF,IAAI4V,GAAQ43B,EAAWA,EAAS,IAAIjxC,EAAQA,GAGnDmtC,EAAQxvC,UAAR,OAA8B,SAAS0b,SAC9Bjb,MAAKqF,IAAIqpC,EAAczzB,KAGhC8zB,EAAQxvC,UAAU6c,IAAM,SAASnB,GAE/B,MADAA,GAAOyzB,EAAczzB,GACdjb,KAAKqgB,IAAIpF,GAAQjb,KAAKqF,IAAI4V,GAAQ,MAG3C8zB,EAAQxvC,UAAU8gB,IAAM,SAASpF,GAC/B,MAAOjb,MAAKqF,IAAI7F,eAAekvC,EAAczzB,KAG/C8zB,EAAQxvC,UAAU6I,IAAM,SAAS6S,EAAMrZ,GACrC5B,KAAKqF,IAAIqpC,EAAczzB,IAAS0zB,EAAe/sC,IAGjDmtC,EAAQxvC,UAAUqF,QAAU,SAASO,EAAU6xB,GAC7C,IAAK,GAAI/b,KAAQjb,MAAKqF,IAChBrF,KAAKqF,IAAI7F,eAAeyb,IAC1B9V,EAASlG,KAAK+3B,EAASh3B,KAAKqF,IAAI4V,GAAOA,EAAMjb,OAKnD+uC,EAAQxvC,UAAUgd,KAAO,WACvB,GAAIsyB,KAEJ,OADA7uC,MAAK4E,QAAQ,SAAShD,EAAOqZ,GAAQ4zB,EAAMxiC,KAAK4O,KACzC2zB,EAAYC,IAGrBE,EAAQxvC,UAAUuqB,OAAS,WACzB,GAAI+kB,KAEJ,OADA7uC,MAAK4E,QAAQ,SAAShD,GAASitC,EAAMxiC,KAAKzK,KACnCgtC,EAAYC,IAGrBE,EAAQxvC,UAAU6iC,QAAU,WAC1B,GAAIyM,KAEJ,OADA7uC,MAAK4E,QAAQ,SAAShD,EAAOqZ,GAAQ4zB,EAAMxiC,MAAM4O,EAAMrZ,MAChDgtC,EAAYC,IAGjBC,EAAQjI,WACVkI,EAAQxvC,UAAU4C,OAAOC,UAAY2sC,EAAQxvC,UAAU6iC,QAqJzD,IAAIlZ,IAAW,SAAU,MAAO,OAAQ,UAAW,OAAQ,MA4C3D2oB,GAAQtyC,UAAUuzC,MAAQ,WACxB,MAAO,IAAIjB,GAAQ7xC,MAAQkiC,KAAMliC,KAAKwwC,aA6BxCF,EAAKrxC,KAAK4yC,EAAQtyC,WAgBlB+wC,EAAKrxC,KAAKszC,EAAShzC,WAEnBgzC,EAAShzC,UAAUuzC,MAAQ,WACzB,MAAO,IAAIP,GAASvyC,KAAKwwC,WACvBpD,OAAQptC,KAAKotC,OACbC,WAAYrtC,KAAKqtC,WACjBL,QAAS,GAAI+B,GAAQ/uC,KAAKgtC,SAC1B9mC,IAAKlG,KAAKkG,OAIdqsC,EAASvqC,MAAQ,WACf,GAAI+qC,GAAW,GAAIR,GAAS,MAAOnF,OAAQ,EAAGC,WAAY,IAE1D,OADA0F,GAASnnC,KAAO,QACTmnC,EAGT,IAAIC,IAAoB,IAAK,IAAK,IAAK,IAAK,IAE5CT,GAASU,SAAW,SAAS/sC,EAAKknC,GAChC,GAAI4F,EAAiB1sB,QAAQ8mB,MAAY,EACvC,KAAM,IAAIp9B,YAAW,sBAGvB,OAAO,IAAIuiC,GAAS,MAAOnF,OAAQA,EAAQJ,SAAUkG,SAAUhtC,MAGjE7E,EAAK0tC,QAAUA,EACf1tC,EAAKwwC,QAAUA,EACfxwC,EAAKkxC,SAAWA,EAEhBlxC,EAAKoxC,MAAQ,SAAS/V,EAAOtS,GAC3B,MAAO,IAAI7c,SAAQ,SAAS6F,EAAS7D,GACnC,GAAIzH,GAAU,GAAI+pC,GAAQnV,EAAOtS,GAC7B+oB,EAAM,GAAIC,eAEdD,GAAI7D,OAAS,WACX,GAAItrC,IACFopC,OAAQ+F,EAAI/F,OACZC,WAAY8F,EAAI9F,WAChBL,QAASoF,EAAae,EAAIE,yBAA2B,IAEvDrvC,GAAQkC,IAAM,eAAiBitC,GAAMA,EAAIG,YAActvC,EAAQgpC,QAAQ5wB,IAAI,gBAC3E,IAAI8lB,GAAO,YAAciR,GAAMA,EAAIJ,SAAWI,EAAII,YAClDngC,GAAQ,GAAIm/B,GAASrQ,EAAMl+B,KAG7BmvC,EAAI5D,QAAU,WACZhgC,EAAO,GAAIpO,WAAU,4BAGvBgyC,EAAIK,UAAY,WACdjkC,EAAO,GAAIpO,WAAU,4BAGvBgyC,EAAIM,KAAK3rC,EAAQjD,OAAQiD,EAAQ5B,KAAK,GAEV,YAAxB4B,EAAQgqC,cACVqB,EAAIO,iBAAkB,GAGpB,gBAAkBP,IAAOrE,EAAQW,OACnC0D,EAAIQ,aAAe,QAGrB7rC,EAAQklC,QAAQpoC,QAAQ,SAAShD,EAAOqZ,GACtCk4B,EAAIS,iBAAiB34B,EAAMrZ,KAG7BuxC,EAAI/tC,KAAkC,mBAAtB0C,GAAQ0oC,UAA4B,KAAO1oC,EAAQ0oC,cAGvEnvC,EAAKoxC,MAAMoB,UAAW,IACL,mBAATxyC,GAAuBA,EAA9B6C,OAOG,IAAIuuC,GAAQpxC,EAAKoxC,KAEjBA,GAAMA,MAAQA,EACdA,EAAMF,SAAWlxC,EAAKkxC,SACtBE,EAAM1D,QAAU1tC,EAAK0tC,QACrB0D,EAAMZ,QAAUxwC,EAAKwwC,QAGrB/yC,EAAOD,QAAU4zC,GxF+8QjB,SAAU3zC,EAAQD,EAASH,IAEJ,SAASgP,GAAU,YyFv4RhD,SAASomC,KAIP,QAAsB,mBAAXnzC,UAA0BA,OAAO+M,SAAmC,aAAxB/M,OAAO+M,QAAQ9B,QAM1C,mBAAbyX,WAA4BA,SAAS4D,iBAAmB5D,SAAS4D,gBAAgB8sB,OAAS1wB,SAAS4D,gBAAgB8sB,MAAMC,kBAEnH,mBAAXrzC,SAA0BA,OAAO4L,UAAY5L,OAAO4L,QAAQ0nC,SAAYtzC,OAAO4L,QAAQ2nC,WAAavzC,OAAO4L,QAAQ4nC,QAGrG,mBAAdh2B,YAA6BA,UAAUi2B,WAAaj2B,UAAUi2B,UAAUz0B,cAAcxZ,MAAM,mBAAqByqB,SAASgQ,OAAOyT,GAAI,KAAO,IAE9H,mBAAdl2B,YAA6BA,UAAUi2B,WAAaj2B,UAAUi2B,UAAUz0B,cAAcxZ,MAAM,uBAsBxG,QAASmuC,GAAW50C,GAClB,GAAIo0C,GAAY9zC,KAAK8zC,SASrB,IAPAp0C,EAAK,IAAMo0C,EAAY,KAAO,IAC1B9zC,KAAKu0C,WACJT,EAAY,MAAQ,KACrBp0C,EAAK,IACJo0C,EAAY,MAAQ,KACrB,IAAMj1C,EAAQ21C,SAASx0C,KAAKy0C,MAE3BX,EAAL,CAEA,GAAI30C,GAAI,UAAYa,KAAK60B,KACzBn1B,GAAKsN,OAAO,EAAG,EAAG7N,EAAG,iBAKrB,IAAIgW,GAAQ,EACRu/B,EAAQ,CACZh1C,GAAK,GAAG+vB,QAAQ,cAAe,SAAStpB,GAClC,OAASA,IACbgP,IACI,OAAShP,IAGXuuC,EAAQv/B,MAIZzV,EAAKsN,OAAO0nC,EAAO,EAAGv1C,IAUxB,QAAS0H,KAGP,MAAO,+BAAoB0F,SAApB,YAAArK,EAAoBqK,WACtBA,QAAQ1F,KACRkY,SAASxf,UAAUQ,MAAMd,KAAKsN,QAAQ1F,IAAK0F,QAAStI,WAU3D,QAAS0wC,GAAKC,GACZ,IACM,MAAQA,EACV/1C,EAAQg2C,QAAQC,WAAW,SAE3Bj2C,EAAQg2C,QAAQjkC,MAAQgkC,EAE1B,MAAMvtC,KAUV,QAAS0tC,KACP,GAAIn+B,EACJ,KACEA,EAAI/X,EAAQg2C,QAAQjkC,MACpB,MAAMvJ,IAOR,OAJKuP,GAAwB,mBAAZlJ,IAA2B,OAASA,KACnDkJ,EAAIlJ,EAAQiN,IAAIq6B,OAGXp+B,EAoBT,QAASq+B,KACP,IACE,MAAOt0C,QAAOu0C,aACd,MAAO7tC,KzFwvRV,GAAInF,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GyFz6RvQhC,GAAUC,EAAOD,QAAUH,EAAQ,IACnCG,EAAQgI,IAAMA,EACdhI,EAAQy1C,WAAaA,EACrBz1C,EAAQ81C,KAAOA,EACf91C,EAAQk2C,KAAOA,EACfl2C,EAAQi1C,UAAYA,EACpBj1C,EAAQg2C,QAAU,mBAAsBh1B,SACtB,mBAAsBA,QAAOg1B,QAC3Bh1B,OAAOg1B,QAAQM,MACfF,IAMpBp2C,EAAQu2C,QACN,gBACA,cACA,YACA,aACA,aACA,WAmCFv2C,EAAQw2C,WAAWhkC,EAAI,SAAS3C,GAC9B,IACE,MAAO/D,MAAKC,UAAU8D,GACtB,MAAO/G,GACP,MAAO,+BAAiCA,EAAI+O,UAqGhD7X,EAAQy2C,OAAOP,OzFi7Re91C,KAAKJ,EAASH,EAAoB,KAI1D,SAAUI,EAAQD,EAASH,GAEhC,Y0FnjSD,SAAS62C,GAAYhB,GACnB,GAAcl1C,GAAVkL,EAAO,CAEX,KAAKlL,IAAKk1C,GACRhqC,GAAUA,GAAQ,GAAKA,EAAQgqC,EAAUiB,WAAWn2C,GACpDkL,GAAQ,CAGV,OAAO1L,GAAQu2C,OAAOjuC,KAAKsuC,IAAIlrC,GAAQ1L,EAAQu2C,OAAO3yC,QAWxD,QAASizC,GAAYnB,GAEnB,QAAS3jC,KAEP,GAAKA,EAAM+kC,QAAX,CAEA,GAAIt0C,GAAOuP,EAGPglC,GAAQ,GAAIC,MACZxY,EAAKuY,GAAQE,GAAYF,EAC7Bv0C,GAAKozC,KAAOpX,EACZh8B,EAAKygB,KAAOg0B,EACZz0C,EAAKu0C,KAAOA,EACZE,EAAWF,CAIX,KAAK,GADDl2C,GAAO,GAAI8F,OAAMvB,UAAUxB,QACtBpD,EAAI,EAAGA,EAAIK,EAAK+C,OAAQpD,IAC/BK,EAAKL,GAAK4E,UAAU5E,EAGtBK,GAAK,GAAKb,EAAQk3C,OAAOr2C,EAAK,IAE1B,gBAAoBA,GAAK,IAE3BA,EAAKs2C,QAAQ,KAIf,IAAI7gC,GAAQ,CACZzV,GAAK,GAAKA,EAAK,GAAG+vB,QAAQ,gBAAiB,SAAStpB,EAAO8vC,GAEzD,GAAc,OAAV9vC,EAAgB,MAAOA,EAC3BgP,IACA,IAAI3U,GAAY3B,EAAQw2C,WAAWY,EACnC,IAAI,kBAAsBz1C,GAAW,CACnC,GAAIkS,GAAMhT,EAAKyV,EACfhP,GAAQ3F,EAAUvB,KAAKoC,EAAMqR,GAG7BhT,EAAKsN,OAAOmI,EAAO,GACnBA,IAEF,MAAOhP,KAITtH,EAAQy1C,WAAWr1C,KAAKoC,EAAM3B,EAE9B,IAAIw2C,GAAQtlC,EAAM/J,KAAOhI,EAAQgI,KAAO0F,QAAQ1F,IAAIZ,KAAKsG,QACzD2pC,GAAMn2C,MAAMsB,EAAM3B,IAapB,MAVAkR,GAAM2jC,UAAYA,EAClB3jC,EAAM+kC,QAAU92C,EAAQ82C,QAAQpB,GAChC3jC,EAAMkjC,UAAYj1C,EAAQi1C,YAC1BljC,EAAMikB,MAAQ0gB,EAAYhB,GAGtB,kBAAsB11C,GAAQurB,MAChCvrB,EAAQurB,KAAKxZ,GAGRA,EAWT,QAAS0kC,GAAOV,GACd/1C,EAAQ81C,KAAKC,GAEb/1C,EAAQ2d,SACR3d,EAAQs3C,QAKR,KAAK,GAHDl2B,IAA+B,gBAAf20B,GAA0BA,EAAa,IAAI30B,MAAM,UACjElU,EAAMkU,EAAMxd,OAEPpD,EAAI,EAAGA,EAAI0M,EAAK1M,IAClB4gB,EAAM5gB,KACXu1C,EAAa30B,EAAM5gB,GAAGowB,QAAQ,MAAO,OACf,MAAlBmlB,EAAW,GACb/1C,EAAQs3C,MAAM9pC,KAAK,GAAIu0B,QAAO,IAAMgU,EAAWtkB,OAAO,GAAK,MAE3DzxB,EAAQ2d,MAAMnQ,KAAK,GAAIu0B,QAAO,IAAMgU,EAAa,OAWvD,QAASwB,KACPv3C,EAAQy2C,OAAO,IAWjB,QAASK,GAAQ16B,GACf,GAAI5b,GAAG0M,CACP,KAAK1M,EAAI,EAAG0M,EAAMlN,EAAQs3C,MAAM1zC,OAAQpD,EAAI0M,EAAK1M,IAC/C,GAAIR,EAAQs3C,MAAM92C,GAAGwd,KAAK5B,GACxB,OAAO,CAGX,KAAK5b,EAAI,EAAG0M,EAAMlN,EAAQ2d,MAAM/Z,OAAQpD,EAAI0M,EAAK1M,IAC/C,GAAIR,EAAQ2d,MAAMnd,GAAGwd,KAAK5B,GACxB,OAAO,CAGX,QAAO,EAWT,QAAS86B,GAAOrjC,GACd,MAAIA,aAAe5L,OAAc4L,EAAI0P,OAAS1P,EAAIgE,QAC3ChE,EAhMT7T,EAAUC,EAAOD,QAAU62C,EAAY9kC,MAAQ8kC,EAAA,QAAyBA,EACxE72C,EAAQk3C,OAASA,EACjBl3C,EAAQu3C,QAAUA,EAClBv3C,EAAQy2C,OAASA,EACjBz2C,EAAQ82C,QAAUA,EAClB92C,EAAQ21C,SAAW91C,EAAQ,IAM3BG,EAAQ2d,SACR3d,EAAQs3C,SAQRt3C,EAAQw2C,aAMR,IAAIS,I1F2wSE,SAAUh3C,EAAQD,GAEvB,Y2FjwSD,SAAS4yC,GAAMx0B,GAEb,GADAA,EAAM2S,OAAO3S,KACTA,EAAIxa,OAAS,KAAjB,CAGA,GAAI0D,GAAQ,wHAAwHkwC,KAClIp5B,EAEF,IAAK9W,EAAL,CAGA,GAAIsF,GAAI6qC,WAAWnwC,EAAM,IACrByF,GAAQzF,EAAM,IAAM,MAAMwZ,aAC9B,QAAQ/T,GACN,IAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,IACH,MAAOH,GAAI8qC,CACb,KAAK,OACL,IAAK,MACL,IAAK,IACH,MAAO9qC,GAAInE,CACb,KAAK,QACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,IACH,MAAOmE,GAAI+qC,CACb,KAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,IACH,MAAO/qC,GAAIvM,CACb,KAAK,UACL,IAAK,SACL,IAAK,OACL,IAAK,MACL,IAAK,IACH,MAAOuM,GAAIgrC,CACb,KAAK,eACL,IAAK,cACL,IAAK,QACL,IAAK,OACL,IAAK,KACH,MAAOhrC,EACT,SACE,UAYN,QAASirC,GAASrZ,GAChB,MAAIA,IAAM/1B,EACDH,KAAKwvC,MAAMtZ,EAAK/1B,GAAK,IAE1B+1B,GAAMmZ,EACDrvC,KAAKwvC,MAAMtZ,EAAKmZ,GAAK,IAE1BnZ,GAAMn+B,EACDiI,KAAKwvC,MAAMtZ,EAAKn+B,GAAK,IAE1Bm+B,GAAMoZ,EACDtvC,KAAKwvC,MAAMtZ,EAAKoZ,GAAK,IAEvBpZ,EAAK,KAWd,QAASuZ,GAAQvZ,GACf,MAAOwZ,GAAOxZ,EAAI/1B,EAAG,QACnBuvC,EAAOxZ,EAAImZ,EAAG,SACdK,EAAOxZ,EAAIn+B,EAAG,WACd23C,EAAOxZ,EAAIoZ,EAAG,WACdpZ,EAAK,MAOT,QAASwZ,GAAOxZ,EAAI5xB,EAAGwP,GACrB,KAAIoiB,EAAK5xB,GAGT,MAAI4xB,GAAS,IAAJ5xB,EACAtE,KAAK2vC,MAAMzZ,EAAK5xB,GAAK,IAAMwP,EAE7B9T,KAAK4vC,KAAK1Z,EAAK5xB,GAAK,IAAMwP,EAAO,I3F2pSzC,GAAI/Y,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,I2F7ySnQ41C,EAAI,IACJv3C,EAAQ,GAAJu3C,EACJD,EAAQ,GAAJt3C,EACJoI,EAAQ,GAAJkvC,EACJD,EAAQ,OAAJjvC,CAgBRxI,GAAOD,QAAU,SAAS6T,EAAK1O,GAC7BA,EAAUA,KACV,IAAI4H,GAAA,mBAAc8G,GAAd,YAAAxQ,EAAcwQ,EAClB,IAAa,WAAT9G,GAAqB8G,EAAIjQ,OAAS,EACpC,MAAOgvC,GAAM/+B,EACR,IAAa,WAAT9G,GAAqBF,MAAMgH,MAAS,EAC7C,MAAO1O,GAAQgzC,KAAOJ,EAAQlkC,GAAOgkC,EAAShkC,EAEhD,MAAM,IAAI5L,OACR,wDACE6D,KAAKC,UAAU8H,M3Fm6Sf,SAAU5T,EAAQD,EAASH,GAEhC,Y4Fv8SDI,GAAOD,QAAUH,EAAQ,K5F68SnB,SAAUI,EAAQD,EAASH,GAEhC,Y6F/8SD,IAAIu4C,GAAiBv4C,EAAQ,GAE7BG,GAAQiL,UAAY,SAAS9F,GAC3B,GAAIkzC,GAAWr4C,EAAQq4C,SAASlzC,EAChC,OAAO,IAAIizC,GAAeC,GACtBC,QAASnzC,GAAWA,EAAQmzC,QAC5B3yB,MAAOxgB,GAAWA,EAAQwgB,MAC1B4yB,aAAcpzC,GAAWA,EAAQozC,gBAIvCv4C,EAAQq4C,SAAW,SAASlzC,GAC1B,GAAIA,YAAmBwB,OACrB,SAAUvF,OAAO+D,EAGnB,IAAIuf,IACF8zB,QAAS,GACTC,OAAQ,EACRC,WAAY,IACZC,WAAYC,IACZC,WAAW,EAEb,KAAK,GAAI90C,KAAOoB,GACduf,EAAK3gB,GAAOoB,EAAQpB,EAGtB,IAAI2gB,EAAKg0B,WAAah0B,EAAKi0B,WACzB,KAAM,IAAI1wC,OAAM,wCAIlB,KAAK,GADDowC,MACK73C,EAAI,EAAGA,EAAIkkB,EAAK8zB,QAASh4C,IAChC63C,EAAS7qC,KAAKrM,KAAK23C,cAAct4C,EAAGkkB,GAYtC,OATIvf,IAAWA,EAAQmzC,UAAYD,EAASz0C,QAC1Cy0C,EAAS7qC,KAAKrM,KAAK23C,cAAct4C,EAAGkkB,IAItC2zB,EAASU,KAAK,SAAS/3C,EAAEC,GACvB,MAAOD,GAAIC,IAGNo3C,GAGTr4C,EAAQ84C,cAAgB,SAASlhB,EAASlT,GACxC,GAAInc,GAAUmc,EAAKm0B,UACdvwC,KAAKC,SAAW,EACjB,EAEA+S,EAAUhT,KAAKwvC,MAAMvvC,EAASmc,EAAKg0B,WAAapwC,KAAK0wC,IAAIt0B,EAAK+zB,OAAQ7gB,GAG1E,OAFAtc,GAAUhT,KAAKk6B,IAAIlnB,EAASoJ,EAAKi0B,aAKnC34C,EAAQi5C,KAAO,SAASj3C,EAAKmD,EAASklB,GAMpC,GALIllB,YAAmBwB,SACrB0jB,EAAUllB,EACVA,EAAU,OAGPklB,EAAS,CACZA,IACA,KAAK,GAAItmB,KAAO/B,GACU,kBAAbA,GAAI+B,IACbsmB,EAAQ7c,KAAKzJ,GAKnB,IAAK,GAAIvD,GAAI,EAAGA,EAAI6pB,EAAQzmB,OAAQpD,IAAK,CACvC,GAAIwF,GAAWqkB,EAAQ7pB,GACnB04C,EAAWl3C,EAAIgE,EAEnBhE,GAAIgE,GAAU,SAAsBkzC,GAClC,GAAIC,GAAWn5C,EAAQiL,UAAU9F,GAC7BtE,EAAW8F,MAAMjG,UAAUI,MAAMV,KAAKgF,UAAW,GACjDkB,EAAWzF,EAAKgG,KAEpBhG,GAAK2M,KAAK,SAAS1E,GACbqwC,EAAGzJ,MAAM5mC,KAGTA,IACF1D,UAAU,GAAK+zC,EAAGxJ,aAEpBrpC,EAASpF,MAAMC,KAAMiE,cAGvB+zC,EAAGvhB,QAAQ,WACTshB,EAASh4C,MAAMc,EAAKnB,MAEtBuG,KAAKpF,EAAKk3C,GACZl3C,EAAIgE,GAAQb,QAAUA,K7Fq9SpB,SAAUlF,EAAQD,GAEvB,Y8FxjTD,SAASo4C,GAAeC,EAAUlzC,GAET,iBAAZA,KACTA,GAAYmzC,QAASnzC,IAGvBhE,KAAKi4C,kBAAoBttC,KAAK8mC,MAAM9mC,KAAKC,UAAUssC,IACnDl3C,KAAKk4C,UAAYhB,EACjBl3C,KAAKm4C,SAAWn0C,MAChBhE,KAAKo4C,cAAgBp0C,GAAWA,EAAQozC,cAAgBK,IACxDz3C,KAAKkjC,IAAM,KACXljC,KAAKq4C,WACLr4C,KAAKs4C,UAAY,EACjBt4C,KAAKu4C,kBAAoB,KACzBv4C,KAAKw4C,oBAAsB,KAC3Bx4C,KAAKy4C,SAAW,KAChBz4C,KAAK04C,gBAAkB,KAEnB14C,KAAKm4C,SAAShB,UAChBn3C,KAAK24C,gBAAkB34C,KAAKk4C,UAAUv4C,MAAM,IAGhDb,EAAOD,QAAUo4C,EAEjBA,EAAe13C,UAAUq5C,MAAQ,WAC/B54C,KAAKs4C,UAAY,EACjBt4C,KAAKk4C,UAAYl4C,KAAKi4C,mBAGxBhB,EAAe13C,UAAUmH,KAAO,WAC1B1G,KAAKy4C,UACP7+B,aAAa5Z,KAAKy4C,UAGpBz4C,KAAKk4C,aACLl4C,KAAK24C,gBAAkB,MAGzB1B,EAAe13C,UAAUgvC,MAAQ,SAAS5mC,GAKxC,GAJI3H,KAAKy4C,UACP7+B,aAAa5Z,KAAKy4C,WAGf9wC,EACH,OAAO,CAET,IAAIkxC,IAAc,GAAIhD,OAAOiD,SAC7B,IAAInxC,GAAOkxC,EAAc74C,KAAK04C,iBAAmB14C,KAAKo4C,cAEpD,MADAp4C,MAAKq4C,QAAQrC,QAAQ,GAAIlvC,OAAM,qCACxB,CAGT9G,MAAKq4C,QAAQhsC,KAAK1E,EAElB,IAAIwS,GAAUna,KAAKk4C,UAAUz1B,OAC7B,IAAgBve,SAAZiW,EAAuB,CACzB,IAAIna,KAAK24C,gBAMP,OAAO,CAJP34C,MAAKq4C,QAAQrrC,OAAOhN,KAAKq4C,QAAQ51C,OAAS,EAAGzC,KAAKq4C,QAAQ51C,QAC1DzC,KAAKk4C,UAAYl4C,KAAK24C,gBAAgBh5C,MAAM,GAC5Cwa,EAAUna,KAAKk4C,UAAUz1B,QAM7B,GAAIphB,GAAOrB,KACP+4C,EAAQv/B,WAAW,WACrBnY,EAAKi3C,YAEDj3C,EAAKm3C,sBACPn3C,EAAKo3C,SAAWj/B,WAAW,WACzBnY,EAAKm3C,oBAAoBn3C,EAAKi3C,YAC7Bj3C,EAAKk3C,mBAEJl3C,EAAK82C,SAAS3zB,OACdnjB,EAAKo3C,SAASj0B,SAIpBnjB,EAAK6hC,IAAI7hC,EAAKi3C,YACbn+B,EAMH,OAJIna,MAAKm4C,SAAS3zB,OACdu0B,EAAMv0B,SAGH,GAGTyyB,EAAe13C,UAAUk3B,QAAU,SAAS72B,EAAIo5C,GAC9Ch5C,KAAKkjC,IAAMtjC,EAEPo5C,IACEA,EAAW7+B,UACbna,KAAKu4C,kBAAoBS,EAAW7+B,SAElC6+B,EAAW9xC,KACblH,KAAKw4C,oBAAsBQ,EAAW9xC,IAI1C,IAAI7F,GAAOrB,IACPA,MAAKw4C,sBACPx4C,KAAKy4C,SAAWj/B,WAAW,WACzBnY,EAAKm3C,uBACJn3C,EAAKk3C,oBAGVv4C,KAAK04C,iBAAkB,GAAI7C,OAAOiD,UAElC94C,KAAKkjC,IAAIljC,KAAKs4C,YAGhBrB,EAAe13C,UAAU05C,IAAM,SAASr5C,GACtC2M,QAAQ1F,IAAI,4CACZ7G,KAAKy2B,QAAQ72B,IAGfq3C,EAAe13C,UAAUyH,MAAQ,SAASpH,GACxC2M,QAAQ1F,IAAI,8CACZ7G,KAAKy2B,QAAQ72B,IAGfq3C,EAAe13C,UAAUyH,MAAQiwC,EAAe13C,UAAU05C,IAE1DhC,EAAe13C,UAAUwQ,OAAS,WAChC,MAAO/P,MAAKq4C,SAGdpB,EAAe13C,UAAU25C,SAAW,WAClC,MAAOl5C,MAAKs4C,WAGdrB,EAAe13C,UAAUivC,UAAY,WACnC,GAA4B,IAAxBxuC,KAAKq4C,QAAQ51C,OACf,MAAO,KAOT,KAAK,GAJD02C,MACA3K,EAAY,KACZ4K,EAAiB,EAEZ/5C,EAAI,EAAGA,EAAIW,KAAKq4C,QAAQ51C,OAAQpD,IAAK,CAC5C,GAAI2I,GAAQhI,KAAKq4C,QAAQh5C,GACrBqX,EAAU1O,EAAM0O,QAChB0G,GAAS+7B,EAAOziC,IAAY,GAAK,CAErCyiC,GAAOziC,GAAW0G,EAEdA,GAASg8B,IACX5K,EAAYxmC,EACZoxC,EAAiBh8B,GAIrB,MAAOoxB,K9F+jTH,SAAU1vC,EAAQD,EAASH,GAEhC,YAgBA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAEvF,QAASG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2BC,EAAMpC,GAAQ,IAAKoC,EAAQ,KAAM,IAAIC,gBAAe,4DAAgE,QAAOrC,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BoC,EAAPpC,EAElO,QAASsC,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIN,WAAU,iEAAoEM,GAAeD,GAASjC,UAAYD,OAAOoC,OAAOD,GAAcA,EAAWlC,WAAaoC,aAAeC,MAAOJ,EAAUK,YAAY,EAAOC,UAAU,EAAMC,cAAc,KAAeN,IAAYnC,OAAO0C,eAAiB1C,OAAO0C,eAAeR,EAAUC,GAAcD,EAASS,UAAYR,GApBjenC,OAAOqD,eAAe9D,EAAS,cAC7B+C,OAAO,GAGT,IAAIS,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,M+FnuTjiB+B,EAAAvE,EAAA,G/FuuTKwE,EAAatC,EAAuBqC,G+FtuTzCF,EAAArE,EAAA,G/F0uTKsE,EAAWpC,EAAuBmC,G+FxuTlBs2C,E/FkvTJ,SAAUt1C,G+FjvTzB,QAAAs1C,KAA0B,GAAdr1C,GAAcC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KAAAjD,GAAAhB,KAAAq5C,EAAA,IAAAl1C,GAAA/C,EAAApB,MAAAq5C,EAAAp3C,WAAA3C,OAAA8E,eAAAi1C,IAAAp6C,KAAAe,KAClBgE,GADkB,OAExBG,GAAKH,QAAUA,EACfG,EAAKpF,GAAK,EAHcoF,E/F0xTzB,MAxCA5C,GAAU83C,EAAWt1C,GAcrB1B,EAAag3C,IACXz2C,IAAK,aACLhB,MAAO,S+F5vTCoC,GACT1E,OAAO2I,OAAOjI,KAAKgE,QAASA,GAC5BhE,KAAK0G,U/F+vTJ9D,IAAK,WACLhB,MAAO,S+F7vTDW,EAAQ+2C,EAAWn0C,GAI1B,MAHI5C,GAAOgkB,iBAAkBhkB,EAAOgkB,iBAAiB+yB,EAAWn0C,GAC3D5C,EAAOkK,GAAG6sC,EAAWn0C,GAEnB,WACD5C,EAAOg3C,oBACTh3C,EAAOg3C,oBAAoBD,EAAWn0C,GACnC5C,EAAOqK,eAAe0sC,EAAWn0C,O/F8vTvCvC,IAAK,OACLhB,MAAO,eAEPgB,IAAK,QACLhB,MAAO,eAEPgB,IAAK,OACLhB,MAAO,gBAGFy3C,GACPr2C,EAASjC,QAEXlC,GAAQkC,Q+F9xTYs4C,EA4BrBn2C,EAAAnC,QAAQ2/B,aAAa2Y,EAAU95C,Y/FywTzB,SAAUT,EAAQD,EAASH,GAEhC,YAwBA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAEvF,QAASG,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAEhH,QAASC,GAA2BC,EAAMpC,GAAQ,IAAKoC,EAAQ,KAAM,IAAIC,gBAAe,4DAAgE,QAAOrC,GAAyB,gBAATA,IAAqC,kBAATA,GAA8BoC,EAAPpC,EAElO,QAASsC,GAAUC,EAAUC,GAAc,GAA0B,kBAAfA,IAA4C,OAAfA,EAAuB,KAAM,IAAIN,WAAU,iEAAoEM,GAAeD,GAASjC,UAAYD,OAAOoC,OAAOD,GAAcA,EAAWlC,WAAaoC,aAAeC,MAAOJ,EAAUK,YAAY,EAAOC,UAAU,EAAMC,cAAc,KAAeN,IAAYnC,OAAO0C,eAAiB1C,OAAO0C,eAAeR,EAAUC,GAAcD,EAASS,UAAYR,GA5BjenC,OAAOqD,eAAe9D,EAAS,cAC7B+C,OAAO,GAGT,IAAIS,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MgGhzTjiB+B,EAAAvE,EAAA,GhGozTKwE,EAAatC,EAAuBqC,GgGnzTzCu2C,EAAA96C,EAAA,IhGuzTK+6C,EAAe74C,EAAuB44C,GgGtzT3C9L,EAAAhvC,EAAA,IhG0zTKivC,EAAU/sC,EAAuB8sC,GgGxzTtCI,EAAApvC,EAAA,IhG4zTKqvC,EAASntC,EAAuBktC,GgG1zTjC4L,QACJ,IAAAD,EAAA14C,QACE24C,EAAYh7C,EAAQ,QACf,IAAsB,mBAAXiC,QAGhB,KAAM,IAAImG,OAAM,yCAFhB4yC,GAAY/4C,OAAO+4C,UAKrB,GAAM9oC,IAAQ,EAAA+8B,EAAA5sC,SAAS,YAEF44C,EhGo0TF,SAAUxL,GgGn0T3B,QAAAwL,KAA0B,GAAd31C,GAAcC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KAAAjD,GAAAhB,KAAA25C,EAAA,IAAAx1C,GAAA/C,EAAApB,MAAA25C,EAAA13C,WAAA3C,OAAA8E,eAAAu1C,IAAA16C,KAAAe,KAClBV,OAAO2I,QAAQlJ,GAAI,GAAIiF,IADL,OAGxBG,GAAKy1C,UAAY,GAAI/vB,KACrB1lB,EAAK01C,SAAW,EAChB11C,EAAK21C,QAAS,EALU31C,EhGw/TzB,MApLA5C,GAAUo4C,EAAaxL,GAevB9rC,EAAas3C,IACX/2C,IAAK,QACLhB,MAAO,WgG70TF,GAAA2F,GAAAvH,IAEN,OAAIA,MAAK+5C,aACA/5C,KAAK+5C,cAGd/5C,KAAK+5C,aAAe,GAAA72C,GAAAnC,QAAY,SAACqS,EAAS7D,GACxChI,EAAKd,GAAK,GAAIizC,GAAUnyC,EAAKvD,QAAQwC,WACrCe,EAAKd,GAAG8oC,QAAU,SAAC5nC,GACjBJ,EAAKwyC,aAAe,KACpBxqC,EAAO5H,IAETJ,EAAKd,GAAGuzC,OAAS,WACfzyC,EAAKuyC,QAAS,EACdvyC,EAAKd,GAAG8oC,QAAUhoC,EAAK0yC,QAAQh0C,KAAKsB,GACpCA,EAAKd,GAAGuf,UAAYze,EAAK2yC,UAAUj0C,KAAKsB,GACxCA,EAAKd,GAAG0zC,QAAU5yC,EAAK6yC,QAAQn0C,KAAKsB,GACpC6L,OAGGpT,KAAK+5C,iBhGi1TXn3C,IAAK,OACLhB,MAAO,WgG90TRgP,EAAM,eAEN5Q,KAAK+5C,aAAe,KACpB/5C,KAAK85C,QAAS,EACd95C,KAAK45C,UAAUS,QAEXr6C,KAAKyG,KACPzG,KAAKyG,GAAG8oC,QAAUvvC,KAAKyG,GAAGuf,UAAYhmB,KAAKyG,GAAG0zC,QAAU,KACxDn6C,KAAKyG,GAAG8d,QACRvkB,KAAKyG,GAAK,ShGm1TX7D,IAAK,OACLhB,MAAO,SgGh1TLzB,EAAK8G,EAAM9B,GAAU,GAAA0C,GAAA7H,IAExB,OADA4Q,GAAM,cAAezQ,EAAK8G,GACnBjH,KAAKgH,QAAQS,KAAK,WACvB,GAAM6yC,KACN,IAAAp3C,GAAAnC,QAAY,SAACqS,EAAS7D,GACpB+qC,EAASlnC,QAAU,SAACV,GAClBU,EAAQV,GACRvN,EAAS,KAAMuN,IAEjB4nC,EAAS/qC,OAAS,SAACmD,GACjBnD,EAAOmD,GACPvN,EAASuN,MAIT7K,EAAK7D,QAAQoqC,gBACfjuC,EAAM,gBAGR,IAAMo6C,IACJD,WACAE,UAAW3E,KAAK4E,MAChB/jC,SACE3X,GAAIkI,EAAKlI,IAAM8I,EAAK9I,KACpB8F,OAAQ,OACRkoC,QAAS,MACT7nC,QAAS/E,EAAK8G,EAAKpC,OAAQoC,EAAK/B,SAMpC,OAHA2C,GAAKgyC,WACLhyC,EAAK+xC,UAAUxxC,IAAImyC,EAAS7jC,QAAQ3X,GAAIw7C,GACxC1yC,EAAKpB,GAAGrB,KAAKuF,KAAKC,UAAU2vC,EAAS7jC,UAC9B4jC,OhGs1TR13C,IAAK,UACLhB,MAAO,SgGn1TFoG,GAAO,GAAA0yC,IAAA,EAAAC,GAAA,EAAAC,EAAA12C,MAAA,KACb,OAAA22C,GAAAC,EAAqB96C,KAAK45C,UAA1Bz3C,OAAAC,cAAAs4C,GAAAG,EAAAC,EAAAp7B,QAAA7N,MAAA6oC,GAAA,EAAqC,IAA5BH,GAA4BM,EAAAj5C,KACnC24C,GAASD,SAAS/qC,OAAOvH,IAFd,MAAAL,GAAAgzC,GAAA,EAAAC,EAAAjzC,EAAA,aAAA+yC,GAAAI,EAAAC,QAAAD,EAAAC,SAAA,WAAAJ,EAAA,KAAAC,IAIb56C,KAAK0G,UhG42TJ9D,IAAK,UACLhB,MAAO,WgGz2TR,GAAMoG,GAAQ,GAAIlB,OAAM,yBADhBk0C,GAAA,EAAAC,GAAA,EAAAC,EAAAh3C,MAAA,KAER,OAAAi3C,GAAAC,EAAqBp7C,KAAK45C,UAA1Bz3C,OAAAC,cAAA44C,GAAAG,EAAAC,EAAA17B,QAAA7N,MAAAmpC,GAAA,EAAqC,IAA5BT,GAA4BY,EAAAv5C,KACnC24C,GAASD,SAAS/qC,OAAOvH,IAHnB,MAAAL,GAAAszC,GAAA,EAAAC,EAAAvzC,EAAA,aAAAqzC,GAAAI,EAAAL,QAAAK,EAAAL,SAAA,WAAAE,EAAA,KAAAC,IAKRl7C,KAAK45C,UAAUS,WhGm4Tdz3C,IAAK,YACLhB,MAAO,SgGj4TAy5C,GACR,GAAM3kC,GAAU/L,KAAK8mC,MAAM4J,EAAiBp0C,KAE5C,IADA2J,EAAM,yBAA0B8F,EAAQ3X,KACnCiB,KAAK45C,UAAUv5B,IAAI3J,EAAQ3X,IAC9B,KAAM,IAAI+H,OAAJ,6CAAuD4P,EAAQ3X,GAEvE,IAAMw7C,GAAWv6C,KAAK45C,UAAUx9B,IAAI1F,EAAQ3X,GAC5CiB,MAAK45C,UAAU0B,OAAO5kC,EAAQ3X,GAE9B,IAAMw8C,GAAa7kC,EAAQ1O,KAC3B,IAAIuzC,EAAY,CACd,GAAM5zC,GAAM,GAAIb,QAEby0C,EAAW7kC,SAAW,gCACrB,gDAEJ/O,GAAImlC,QAAUp2B,EACd6jC,EAASD,SAAS/qC,OAAO5H,OAEzB3H,MAAK2L,KAAK,oBAAqB4uC,EAAS7jC,QAAQ7R,OAAQgxC,KAAK4E,MAAQF,EAASC,WAC9ED,EAASD,SAASlnC,QAAQsD,EAAQ3N,YhGo4T9B4wC,GACP5L,EAAOhtC,QAETlC,GAAQkC,QgG5/TY44C,GhGggUf,SAAU76C,EAAQD,IAEK,SAASqB,GAAS,YiGnhU/CpB,GAAOD,SAAU,CAGjB,KACCC,EAAOD,QAA6D,qBAAnDS,OAAOC,UAAUkL,SAASxL,KAAKiB,EAAOwN,SACtD,MAAMrG,OjGshUsBpI,KAAKJ,EAAU,WAAa,MAAOmB,WAI3D,SAAUlB,EAAQD,KAMlB,SAAUC,EAAQD,EAASH,GAEhC,YAwBA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GkG/iUjF,QAASmE,GAAUiY,GACxB,MAAOA,GAAIwS,QAAQ+rB,EAAa,SAAS/7C,EAAIsd,GAC3C,MAAOA,GAAE60B,gBAIN,QAAS6J,GAAoB75C,GAClC,GAAIvC,UAAGq8C,SAAO3vC,SAAKuR,QAGnB,IADAA,EAAS,wBACJ1b,EACH,MAAO0b,GAAS,eAElB,IAAM7a,GAASb,EAAMa,MACrB,IAAIA,EAAS,EACX,MAAO6a,GAAS,YAElB,IAAI7a,EAAS,GACX,MAAO6a,GAAS,aAEd,MAAKT,KAAKjb,KACZ0b,EAAS,+BAEX,IAAMmH,GAAM7iB,EAAMqe,MAAM,IACxB,KAAK5gB,EAAI,EAAG0M,EAAM0Y,EAAIhiB,OAAQpD,EAAI0M,EAAK1M,IAAK,CAE1C,GADAq8C,EAAQj3B,EAAIplB,IACP,SAASwd,KAAK6+B,GACjB,MAAOp+B,GAAS,sBAElB,KAAK,eAAeT,KAAK6+B,GACvB,MAAOp+B,GAAS,uCAElB,IAAI,KAAKT,KAAK6+B,GACZ,MAAOp+B,GAAS,8BAElB,KAAK,YAAYT,KAAK6+B,GACpB,MAAOp+B,GAAS,6BAElB,MAAMo+B,EAAMj5C,QAAU,GACpB,MAAO6a,GAAS,YAGpB,MAAO,MAYT,QAASq+B,GAAUC,EAAY30C,GAC7B,GAAMopC,GAAS,GAAIwL,GACjBA,EAAWC,iBACXD,EAAWE,cAIb,OAFAH,GAAWI,iBAAiB3L,EAAQppC,GACpCopC,EAAO4L,OACA5L,EAAO5lC,SAAS,OAElB,QAASyxC,GACdC,EACA35C,GAEA,GAAMyE,IACJm1C,cACAD,QACA35C,UAJFk4C,GAAA,EAAAC,GAAA,EAAAC,EAAA12C,MAAA,KAMA,OAAA22C,GAAAC,EAAkBx7C,OAAOid,KAAK/Z,GAA9BL,OAAAC,cAAAs4C,GAAAG,EAAAC,EAAAp7B,QAAA7N,MAAA6oC,GAAA,EAAsC,IAA3B93C,GAA2Bi4C,EAAAj5C,MAChCgK,QACJ,QAAQhJ,GACN,IAAK,MACL,IAAK,kBACHgJ,EAAOywC,CACP,MACF,KAAK,yBACL,IAAK,wBACL,IAAK,qBACHzwC,EAAO0wC,CACP,MACF,KAAK,oBACH1wC,EAAO2wC,CACP,MACF,KAAK,MACH3wC,EAAO4wC,CACP,MACF,KAAK,oBACH5wC,EAAO6wC,CACP,MACF,KAAK,uBACH7wC,EAAO8wC,CACP,MACF,SACE,KAAM,IAAI51C,OAAJ,yBAAmClE,GAE7CqE,EAAKzE,MAAM6J,MAAMzJ,EAAK+4C,EAAU/vC,EAAMpJ,EAAMI,OAjC9C,MAAA+E,GAAAgzC,GAAA,EAAAC,EAAAjzC,EAAA,aAAA+yC,GAAAI,EAAAC,QAAAD,EAAAC,SAAA,WAAAJ,EAAA,KAAAC,IAoCA,MADA3zC,GAAKzE,MAAMo1C,KAAK,SAAC/3C,EAAGC,GAAJ,MAAUD,GAAE,GAAG88C,cAAc78C,EAAE,OACvC,yBAA0BmH,GAG7B,QAAS21C,KACdrwC,QAAQ1F,IAAI,mFlG+6TbvH,OAAOqD,eAAe9D,EAAS,cAC7B+C,OAAO,IAET/C,EkG5hUemG,YlG6hUfnG,EkGvhUe48C,sBlGwhUf58C,EkG/9Teq9C,uBlGg+Tfr9C,EkGt7Te+9C,sBAzHhB,IAAAC,GAAAn+C,EAAA,IlGmjUKo+C,EAAUl8C,EAAuBi8C,GkGljUtCj5C,EAAAlF,EAAA,KlGsjUKq+C,EAAen8C,EAAuBgD,GkGrjU3CT,EAAAzE,EAAA,IAGMm9C,GlGsjUUj7C,EAAuBuC,GkGxjUvCzE,EAAA,IAEmBA,EAAQ,MAGzB69C,ElG2jUYO,EAAQ/7C,QkG3jUpBw7C,OACAD,ElG2jUYQ,EAAQ/7C,QkG3jUpBu7C,OACAE,ElG2jUYM,EAAQ/7C,QkG3jUpBy7C,OACAH,ElG2jUgBS,EAAQ/7C,QkG3jUxBs7C,WACAK,ElG2jUWI,EAAQ/7C,QkG3jUnB27C,MAGIlB,EAAc,YAgDdiB,EAAQ,GAAAM,GAAAh8C,QACZ,SACE6U,KAAM8mC,EACNM,MAAON,KlG2oUL,SAAU59C,EAAQD,EAASH,IAEJ,SAASgP,EAASy7B,GAAS,YAcvD,SAASvoC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GmGxsUxF,QAASo8C,GAAsBr7C,GAC3B,GAAIA,GAAS,IACT,KAAM,IAAIkF,OAAM,mDAAqDlF,EAEzE,IAAMs7C,IACD,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpC,GAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpC,GAAI,GAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACpC,GAAI,GAAI,GAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GACpC,GAAI,GAAI,GAAI,GAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GACpC,GAAI,GAAI,GAAI,GAAI,GAAK,EAAG,GAAI,GAAI,GAAI,GACpC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAK,EAAG,GAAI,GAAI,GACpC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAK,EAAG,GAAI,GACpC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAK,EAAG,GACpC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAGpCC,EAAKv7C,EAAM,GACXw7C,EAAKx7C,EAAM,GACXy7C,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKF,EAAG,GACRG,EAAKH,EAAG,GACRI,EAAKF,EAAG,GACRG,EAAKH,EAAG,GAER7mC,EAAIkmC,EAAEc,EASV,OARAhnC,GAAIkmC,EAAElmC,EAAE+mC,GACR/mC,EAAIkmC,EAAElmC,EAAE8mC,GACR9mC,EAAIkmC,EAAElmC,EAAE4mC,GACR5mC,EAAIkmC,EAAElmC,EAAE0mC,GACR1mC,EAAIkmC,EAAElmC,EAAEwmC,GACRxmC,EAAIkmC,EAAElmC,EAAEsmC,GACRtmC,EAAIkmC,EAAElmC,EAAEomC,GAEDpmC,EAAE,GnGmpUZ,GAAIinC,GAAiB,WAAc,QAASC,GAAcC,EAAK9+C,GAAK,GAAI++C,MAAeC,GAAK,EAAUC,GAAK,EAAWC,EAAKr6C,MAAW,KAAM,IAAK,GAAiCs6C,GAA7BC,EAAKN,EAAIh8C,OAAOC,cAAmBi8C,GAAMG,EAAKC,EAAG/+B,QAAQ7N,QAAoBusC,EAAK/xC,KAAKmyC,EAAG58C,QAAYvC,GAAK++C,EAAK37C,SAAWpD,GAA3Dg/C,GAAK,IAAoE,MAAO12C,GAAO22C,GAAK,EAAMC,EAAK52C,EAAO,QAAU,KAAW02C,GAAMI,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIH,EAAI,KAAMC,IAAQ,MAAOH,GAAQ,MAAO,UAAUD,EAAK9+C,GAAK,GAAImG,MAAM8Z,QAAQ6+B,GAAQ,MAAOA,EAAY,IAAIh8C,OAAOC,WAAY9C,QAAO6+C,GAAQ,MAAOD,GAAcC,EAAK9+C,EAAa,MAAM,IAAI8B,WAAU,4DAEllBe,EAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,ImGzsUvQ8C,EAAAjF,EAAA,KACAggD,EAAAhgD,EAAA,KACAyE,EAAAzE,EAAA,InG+sUK0E,EAAWxC,EAAuBuC,GmGvtUjCuL,EAAIhQ,EAAQ,KACZigD,EAAWjgD,EAAQ,KACnBkgD,EAAKlgD,EAAQ,KACbmgD,EAAcngD,EAAQ,KAOtBogD,IACNhgD,GAAOD,QAAUigD,CAEjB,IAAMC,GAAWrxC,EAAQiN,IAAIqkC,wCAqE7BF,GAAMpC,OACFuC,eADU,SACKn/C,GACX,GAAIo/C,GAASp/C,EAAEq/C,YACXC,EAAYt/C,EAAEu/C,YACdC,EAAgB,GAChBC,EAAS,EAEb,IAAGH,GAAa,GAChB,CAEI,GAAII,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAS,EAAG5/C,EAAE4/C,OAAS,GACzCC,EAAM,GAAIxW,GAAOqW,EAAOI,WAAY,UAAUC,WAClDF,IAAY,GACZJ,EAAS,KAAOI,EAAIl1C,WAAWq1C,SAAS,EAAG,KAAO7C,EAAqB0C,GAAKI,YAC5EX,GAAwB,GACxBt/C,EAAEkgD,KAAK,GACPV,GAAgB,EAAAZ,EAAAuB,oBAAmBf,EAAOE,OAG9C,CAEI,GAAII,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAQ5/C,EAAE4/C,OAAS,EACzCH,GAAS,GAAIpW,GAAOqW,EAAOI,WAAY,UAAUn1C,WAAWglB,QAAQ,QAAS,IAC7E3vB,EAAEkgD,KAAK,GAEPV,GAAgB,EAAAZ,EAAAuB,oBAAmBf,EAAQE,GAG/C,MAAOE,GAAgB,IAAMC,GAEjCvD,iBA9BU,SA8BOl8C,EAAG0mC,GAChB,GAAI0Y,GAAS,GACTK,EAAS,GACTI,EAAM,EACNP,EAAY,CAEhB,IAAG5Y,EAAA,IACH,CACE+Y,EAAS/Y,EAAA,IACTmZ,EAAM/uB,SAAS2uB,EAAO5/C,MAAM,GAE5BggD,GAAMx4C,KAAK2vC,MAAM6I,EAAM,GACC1C,GAAqB0C,EAE7C,QAAOnZ,EAAA,KAEL,IAAK,cACH4Y,EAAY,EACZG,EAA2C,OAAlCn8C,EAAArC,QAAOqb,IAAK,kBAA8B,QAAU,OAC7D,MACF,KAAK,cACHgjC,EAAY,EACZG,EAA2C,OAAlCn8C,EAAArC,QAAOqb,IAAK,kBAA8B,MAAQ,KAC3D,MACF,KAAK,cACHgjC,EAAY,EACZG,EAAS,QAIbH,EAAYxuB,SAAS4V,EAAA,WACrB1mC,EAAEogD,WAAWxxC,EAAEyxC,QAAQvvB,SAAS4V,EAAA,cAGlC,CAEI,GADAA,EAASA,EAAOyL,QACV,kCAAkCp1B,KAAK2pB,GACzC,KAAM,IAAI1/B,OAAM,uDAAyD0/B,EAAS,IAEtF,IAAI9+B,GAAM8+B,EAAOvmB,MAAM,IAOvB,IANAi/B,EAASx3C,EAAI,GACb63C,EAAS73C,EAAI,GAGb63C,EAAmB,QAAVA,EAAmB,QAAoB,OAAVA,EAAkB,MAAQA,EAE7DA,EAAOa,WAAW,MACrB,CAEIT,EAAM/uB,SAAS2uB,EAAO5/C,MAAM,GAE5BggD,GAAMx4C,KAAK2vC,MAAM6I,EAAM,GACC1C,GAAqB0C,OAE5C,IAAGJ,EAAO98C,OAAS,EACpB,KAAM,IAAIqE,OAAM,4CAA8Cy4C,EAAS,IAAKA,EAAO98C,OAEvF3C,GAAEogD,WAAWxxC,EAAEyxC,QAAQjB,EAAOzvB,QAAQ,IAAK,KAC3C,IAAI4wB,GAAMnB,EAAO54B,QAAQ,IACzB84B,GAAYiB,KAAQ,EAAK,EAAInB,EAAOz8C,OAAS49C,EAAM,EAIvD,GAAGd,EAAOa,WAAW,MAEjBT,GAAOA,GAAO,GAAK,GAAKP,EACxBt/C,EAAEwgD,YAAYX,OAGlB,CACI7/C,EAAEygD,WAAWnB,GACbt/C,EAAEkvC,OAAOuQ,EAAO3N,cAAe,SAC/B,KAAI,GAAIvyC,GAAI,EAAGA,EAAI,EAAIkgD,EAAO98C,OAAQpD,IACpCS,EAAEygD,WAAW,KAKvBC,WA5GU,SA4GCha,GACP,MAAOA,IAEXr8B,SA/GU,SA+GDq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,aACjDA,IAIfsY,EAAM4B,cACFzB,eADiB,SACFn/C,GACX,GAAIs/C,GAAYt/C,EAAEu/C,YAEdsB,EAAa,EAEjB,IAAGvB,GAAa,GAChB,CAEI,GAAII,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAS,EAAG5/C,EAAE4/C,OAAS,GACzCC,EAAM,GAAIxW,GAAOqW,EAAOI,WAAY,UAAUC,WAClDF,IAAY,GACZgB,EAAa,KAAOhB,EAAIl1C,WAAWq1C,SAAS,EAAG,KAAO7C,EAAqB0C,GAAKI,YAChFX,GAAwB,GACxBt/C,EAAEkgD,KAAK,OAGX,CAEI,GAAIR,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAQ5/C,EAAE4/C,OAAS,GACrCH,EAAS,GAAIpW,GAAOqW,EAAOI,WAAY,UAAUn1C,WAAWglB,QAAQ,QAAS,GACjF,IAAa,SAAV8vB,GAA+B,SAAVA,EACtBoB,EAAa,kBACV,IAAa,OAAVpB,GAA6B,OAAVA,EACzBoB,EAAa,kBACV,IAAa,SAAVpB,EAGN,KAAM,IAAIz4C,OAAM,qDAAuDy4C,EAAS,IAFhFoB,GAAa,cAGf7gD,EAAEkgD,KAAK,GAGX,OAAQL,IAAQgB,EAAYvB,UAAcA,IAE9CpD,iBAlCiB,SAkCAl8C,EAAG0mC,GAEhB,GAAImZ,GAAM,CACV,KAAInZ,EAAA,IAAc4Z,WAAW,MAC3B,KAAM,IAAIt5C,OAAM,sDAAwD0/B,EAAA,IAE1EmZ,GAAM/uB,SAAS4V,EAAA,IAAc7mC,MAAM,GAEnCggD,GAAMx4C,KAAK2vC,MAAM6I,EAAM,GACvB,IAEIP,IAFoBnC,EAAqB0C,GAE7B,GACZJ,EAAS,EACb,QAAO/Y,EAAA,KAEL,IAAK,cACH4Y,EAAY,EACVG,EAA2C,OAAlCn8C,EAAArC,QAAOqb,IAAK,kBAA8B,QAAU,OAC/D,MACF,KAAK,cACHgjC,EAAY,EACZG,EAA2C,OAAlCn8C,EAAArC,QAAOqb,IAAK,kBAA8B,MAAQ,KAC3D,MACF,KAAK,cACHgjC,EAAY,EACZG,EAAS,QAIb,GAAIH,EAAY,EAChB,CAEEt/C,EAAEygD,WAAWnB,GACbt/C,EAAEkvC,OAAOuQ,EAAQ,SACjB,KAAI,GAAIlgD,GAAI,EAAGA,EAAI,EAAIkgD,EAAO98C,OAAQpD,IAClCS,EAAEygD,WAAW,OAIjBZ,IAAOA,GAAO,GAAK,GAAKnZ,EAAA,UACxB1mC,EAAEwgD,YAAYX,IAKpBa,WA/EiB,SA+ENha,GACP,MAAOA,IAEXr8B,SAlFiB,SAkFRq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,QACjDA,IAIfsY,EAAM8B,OAEF3B,eAFU,SAEKn/C,GACX,MAAOA,GAAEu/C,aAEbrD,iBALU,SAKOl8C,EAAG0mC,GAChB93B,EAAEmyC,cAAc,EAAE,IAAKra,EAAvB,SAAwCA,GACxC1mC,EAAEygD,WAAW/Z,IAGjBga,WAVU,SAUCha,GAEP,MADA93B,GAAEmyC,cAAc,EAAE,IAAKra,EAAvB,SAAwCA,GACjCA,GAEXr8B,SAdU,SAcDq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,GACxD93B,EAAEmyC,cAAc,EAAE,IAAKra,EAAvB,SAAwCA,GACjC5V,SAAS4V,MAIxBsY,EAAMvC,QACD0C,eAAD,SAAgBn/C,GACZ,MAAOA,GAAEghD,cAEb9E,iBAHA,SAGiBl8C,EAAG0mC,GAChB93B,EAAEmyC,cAAc,EAAE,MAAOra,EAAzB,UAA2CA,GAC3C1mC,EAAEihD,YAAYva,IAGlBga,WARA,SAQWha,GAEP,MADA93B,GAAEmyC,cAAc,EAAE,MAAOra,EAAzB,UAA2CA,GACpCA,GAEXr8B,SAZA,SAYSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,GACxD93B,EAAEmyC,cAAc,EAAE,MAAOra,EAAzB,UAA2CA,GACpC5V,SAAS4V,MAIxBsY,EAAMxC,QACD2C,eAAD,SAAgBn/C,GACZ,MAAOA,GAAEkhD,cAEbhF,iBAHA,SAGiBl8C,EAAG0mC,GAChB93B,EAAEmyC,cAAc,EAAE,WAAWra,EAA7B,UAA+CA,GAC/C1mC,EAAEwgD,YAAY9Z,IAGlBga,WARA,SAQWha,GAEP,MADA93B,GAAEmyC,cAAc,EAAE,WAAWra,EAA7B,UAA+CA,GACxCA,GAEXr8B,SAZA,SAYSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,GACxD93B,EAAEmyC,cAAc,EAAE,WAAWra,EAA7B,UAA+CA,GACxC5V,SAAS4V,KAIxB,IAAIya,IAAgB,EAAK95C,KAAK0wC,IAAI,EAAE,IAChCqJ,EAAgB/5C,KAAK0wC,IAAI,EAAE,IAAM,CAErCiH,GAAMqC,UACDlC,eAAD,SAAgBn/C,GACZ,MAAOA,GAAEshD,gBAEbpF,iBAHA,SAGiBl8C,EAAG0mC,GAChB93B,EAAEmyC,cACEI,EACAC,EACA1a,EAHJ,UAIcA,GAEd1mC,EAAEuhD,cAAc7a,IAGpBga,WAbA,SAaWha,GAOP,MANA93B,GAAEmyC,cACEI,EACAC,EACA1a,EAHJ,UAIcA,GAEPA,GAEXr8B,SAtBA,SAsBSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,GACxD93B,EAAEmyC,cACEI,EACAC,EACA1a,EAHJ,UAIcA,GAEP5V,SAAS4V,MAIxBsY,EAAMwC,OACDrC,eAAD,SAAgBn/C,GACZ,MAAOA,GAAEyhD,aAEbvF,iBAHA,SAGiBl8C,EAAG0mC,GAChB1mC,EAAE0hD,WAAWhb,IAGjBga,WAPA,SAOWha,GACP,MAAOA,IAEXr8B,SAVA,SAUSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,EACjD5V,SAAS4V,KAIxBsY,EAAM2C,OACDxC,eAAD,SAAgBn/C,GACZ,MAAOA,GAAEq/C,aAEbnD,iBAHA,SAGiBl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACX1mC,EAAEogD,WAAWxxC,EAAEyxC,QAAQ3Z,KAG3Bga,WARA,SAQWha,GAEP,MADA93B,GAAEgzC,SAASlb,GACJ93B,EAAEyxC,QAAQ3Z,IAErBr8B,SAZA,SAYSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,KACxD93B,EAAEgzC,SAASlb,GACJ93B,EAAEyxC,QAAQ3Z,GAAQ/7B,cAIjCq0C,EAAM6C,QACD1C,eAAD,SAAgBn/C,GACZ,MAAOA,GAAE8hD,cAEb5F,iBAHA,SAGiBl8C,EAAG0mC,GAChB1mC,EAAE+hD,YAAYnzC,EAAEyxC,QAAQzxC,EAAEozC,SAAStb,MAGvCga,WAPA,SAOWha,GACP,MAAO93B,GAAEyxC,QAAQzxC,EAAEozC,SAAStb,KAEhCr8B,SAVA,SAUSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,IACjD93B,EAAEyxC,QAAQ3Z,GAAQ/7B,aAIjCq0C,EAAMiD,SACD9C,eAAD,SAAgBn/C,GAEZ,MADAA,GAAEkiD,eACKliD,EAAEkiD,gBAEbhG,iBAJA,SAIiBl8C,EAAG0mC,GAChB1mC,EAAE+hD,YAAYnzC,EAAEyxC,QAAQzxC,EAAEozC,SAAS,KACnChiD,EAAE+hD,YAAYnzC,EAAEyxC,QAAQzxC,EAAEozC,SAAStb,MAGvCga,WATA,SASWha,GACP,MAAO93B,GAAEyxC,QAAQzxC,EAAEozC,SAAStb,KAEhCr8B,SAZA,SAYSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,IACjD93B,EAAEyxC,QAAQ3Z,GAAQ/7B,aAIjCq0C,EAAMtC,QACDyC,eAAD,SAAgBn/C,GACZ,MAAO,IAAIqpC,GAAOrpC,EAAEmiD,cAAe,SAEvCjG,iBAHA,SAGiBl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACX1mC,EAAEoiD,aAAa1b,EAAO/7B,aAG1B+1C,WARA,SAQWha,GAEP,MADA93B,GAAEgzC,SAASlb,GACJ,GAAI2C,GAAO3C,EAAQ,SAE9Br8B,SAZA,SAYSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,GACjDA,EAAO/7B,SAAS,UAI/Bq0C,EAAMqD,eACDlD,eAAD,SAAgBn/C,GACZ,GAAI0/C,GACAzzC,EAAMjM,EAAEshD,cAEZ,OADA5B,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAQ5/C,EAAE4/C,OAAS3zC,GAAMjM,EAAEkgD,KAAKj0C,GAC3C,GAAIo9B,GAAOqW,EAAOI,WAAY,WAGzC5D,iBAPA,SAOiBl8C,EAAG0mC,GAChB1mC,EAAEuhD,cAAc7a,EAAO/jC,QACvB3C,EAAEkvC,OAAOxI,EAAO/7B,SAAS,UAAW,WAGxC+1C,WAZA,SAYWha,GAEP,MADA93B,GAAEgzC,SAASlb,GACJ,GAAI2C,GAAO3C,IAEtBr8B,SAhBA,SAgBSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EAA+B,GACjDA,EAAO/7B,aAItBq0C,EAAM5M,MAAQ,SAASjqB,GACnB,OAAQg3B,eAAD,SAAgBn/C,GACnB,GAAaoE,SAAT+jB,EAAoB,CACpB,GAAIu3B,GACAzzC,EAAMjM,EAAEshD,cAEZ,OADA5B,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAQ5/C,EAAE4/C,OAAS3zC,GAAMjM,EAAEkgD,KAAKj0C,GAC3C,GAAIo9B,GAAOqW,EAAOI,WAAY,UAGrC,MADAJ,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAQ5/C,EAAE4/C,OAASz3B,GAAOnoB,EAAEkgD,KAAK/3B,GAC5C,GAAIkhB,GAAOqW,EAAOI,WAAY,WAG7C5D,iBAXO,SAWUl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACU,gBAAXA,KACNA,EAAS,GAAI2C,GAAO3C,EAAQ,QAEnBtiC,SAAT+jB,GACAnoB,EAAEuhD,cAAc7a,EAAO/jC,QAE3B3C,EAAEkvC,OAAOxI,EAAO/7B,SAAS,UAAW,WAGxC+1C,WAtBO,SAsBIha,GAEP,MADA93B,GAAEgzC,SAASlb,GACP2C,EAAO7B,SAASd,GACTA,EAEJ,GAAI2C,GAAO3C,EAAQ,QAE9Br8B,SA7BO,SA6BEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,IAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,EAAsB,CAC3C,GAAI4b,GAAM,SAASC,GAAM,MAAO,IAAI78C,OAAO68C,GAAMh5B,KAAM,MACvD,OAAO+4B,GAAMn6B,GAGjB,MADAvZ,GAAEgzC,SAASlb,GACJA,EAAO/7B,SAAS,UAK/Bq0C,EAAMwD,MACDrD,eAAD,SAAgBn/C,GACZ,MAAyB,KAAlBA,EAAEu/C,aAEbrD,iBAHA,SAGiBl8C,EAAG0mC,GAEhB1mC,EAAEygD,WAAW51C,KAAK8mC,MAAMjL,GAAU,EAAI,IAG1Cga,WARA,SAQWha,GACP,QAAO77B,KAAK8mC,MAAMjL,IAEtBr8B,SAXA,SAWSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,SAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,MAClB77B,KAAK8mC,MAAMjL,KAI1BsY,EAAMyD,MACDtD,eAAD,SAAgBn/C,GACZ,KAAM,IAAIgH,OAAM,0BAEpBk1C,iBAHA,SAGiBl8C,EAAG0mC,GAChB,KAAM,IAAI1/B,OAAM,0BAEpB05C,WANA,SAMWha,GACP,KAAM,IAAI1/B,OAAM,0BAEpBqD,SATA,SASSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,KAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,EAGzB,KAAM,IAAI1/B,OAAM,2BAIxBg4C,EAAMxkC,MAAQ,SAASkoC,GACnB,OAAQvD,eAAD,SAAgBn/C,GACnB,GAAImoB,GAAOnoB,EAAEshD,cACTrC,IACAxyC,QAAQ1F,IAAI,mBAAqBohB,EAAKxd,SAAS,IAGnD,KAAK,GADD1B,MACK1J,EAAI,EAAG,EAAI4oB,EAAO5oB,EAAI4oB,EAAO5oB,EAAI4oB,EAAM,EAAIA,EAAO5oB,IAAMA,IAC7D0J,EAAOsD,KAAKm2C,EAAavD,eAAen/C,GAE5C,OAAO2iD,GAAc15C,EAAQy5C,IAEjCxG,iBAXO,SAWUl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACXA,EAASic,EAAcjc,EAAQgc,GAC/B1iD,EAAEuhD,cAAc7a,EAAO/jC,OACvB,KAAK,GAAW+d,GAAPnhB,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACXmjD,EAAaxG,iBAAiBl8C,EAAG0gB,IAGzCggC,WApBO,SAoBIha,GACP93B,EAAEgzC,SAASlb,GACXA,EAASic,EAAcjc,EAAQgc,EAE/B,KAAK,GAAWhiC,GADZzX,KACK1J,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX0J,EAAOsD,KAAKm2C,EAAahC,WAAWhgC,GAExC,OAAOzX,IAEXoB,SA9BO,SA8BEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,IAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,EACrB,OAASgc,EAAar4C,SAASq8B,EAAQ51B,GAE3ClC,GAAEgzC,SAASlb,GACXA,EAASic,EAAcjc,EAAQgc,EAG/B,KAAK,GAAWhiC,GADZzX,KACK1J,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX0J,EAAOsD,KAAKm2C,EAAar4C,SAASqW,EAAG5P,GAEzC,OAAO7H,MAKf+1C,EAAM4D,gBACFzD,eADmB,SACJn/C,GAAI,MAAOA,GAAEkhD,cAC5BhF,iBAFmB,SAEFl8C,EAAG0mC,GACK,gBAAXA,KACNA,EAASsY,EAAM4D,eAAelC,WAAWha,IAE7C1mC,EAAEwgD,YAAY9Z,IAGlBga,WATmB,SASRha,GAGP,GAFA93B,EAAEgzC,SAASlb,GAEU,gBAAXA,GACN,MAAOA,EAEX,IAAGA,EAAOsS,QACN,MAAO3xC,MAAK2vC,MAAOtQ,EAAOsS,UAAY,IAE1C,IAAqB,gBAAXtS,GACN,KAAM,IAAI1/B,OAAM,sBAAwB0/B,EAK5C,OAHqB,gBAAXA,IAAwB,KAAK3pB,KAAK2pB,KACxCA,GAAkB,KAEfr/B,KAAK2vC,MAAO,GAAIjB,MAAKrP,GAAQsS,UAAY,MAEpD3uC,SA1BmB,SA0BVq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,IAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,EACrB,MAAQ,IAAIqP,MAAK,GAAI8M,cAAc1iC,MAAM,KAAK,EAIlD,IAFAvR,EAAEgzC,SAASlb,GAEU,gBAAXA,GACN,MAAOA,EAEX,IAAGA,EAAOsS,QACN,MAAOtS,GAAOmc,cAAc1iC,MAAM,KAAK,EAE3C,IAAI2iC,GAAMhyB,SAAS4V,EAEnB,OADA93B,GAAEmyC,cAAc,EAAE,WAAW+B,EAA7B,UAA4Cpc,GACpC,GAAIqP,MAAY,IAAN+M,GAAcD,cAAc1iC,MAAM,KAAK,KAIjE6+B,EAAM12C,IAAM,SAASo6C,GACjB,OAAQK,SAAD,SAAUvoC,GAEb,IAAK,GAAWkG,GADZsiC,KACKzjD,EAAI,EAAMA,EAAIib,EAAM7X,OAAQpD,IAAK,CACtCmhB,EAAIlG,EAAMjb,EACV,IAAIolB,EACJ,IAAIA,EAAA,mBAAajE,GAAb,YAAAte,EAAase,IAAI,SAAU,UAAU8F,QAAQ7B,IAAQ,EAAG,CACxD,GAAmBvgB,SAAf4+C,EAAQtiC,GACR,KAAM,IAAI1Z,OAAM,kBAEpBg8C,GAAQtiC,IAAK,GAGrB,MAAOiiC,GAAcnoC,EAAOkoC,IAEhCvD,eAdO,SAcQn/C,GACX,GAAImoB,GAAOnoB,EAAEshD,cAIb,OAHIrC,IACAxyC,QAAQ1F,IAAI,mBAAqBohB,EAAKxd,SAAS,KAE5CzK,KAAK6iD,SAAW,WAEnB,IAAK,GADD95C,MACK1J,EAAI,EAAG,EAAI4oB,EAAO5oB,EAAI4oB,EAAO5oB,EAAI4oB,EAAM,EAAIA,EAAO5oB,IAAMA,IAC7D0J,EAAOsD,KAAKm2C,EAAavD,eAAen/C,GAE5C,OAAOiJ,QAGfizC,iBA3BO,SA2BUl8C,EAAG0mC,GACXA,IAAUA,MACf1mC,EAAEuhD,cAAc7a,EAAO/jC,OAEvB,KAAK,GAAW+d,GADZqmB,EAAW7mC,KAAK6iD,SAASrc,GACpBnnC,EAAI,EAAMA,EAAIwnC,EAASpkC,OAAQpD,IACpCmhB,EAAIqmB,EAASxnC,GACbmjD,EAAaxG,iBAAiBl8C,EAAG0gB,IAIzCggC,WArCO,SAqCIha,GAEP,MADKA,KAAUA,MACRxmC,KAAK6iD,SAAW,WAEnB,IAAK,GAAWriC,GADZzX,KACK1J,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX0J,EAAOsD,KAAKm2C,EAAahC,WAAWhgC,GAExC,OAAOzX,QAGfoB,SAhDO,SAgDEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,GACZgc,EAAar4C,SAASq8B,EAAQ51B,KAEtC41B,IAAUA,MACRxmC,KAAK6iD,SAAW,WAEnB,IAAK,GAAWriC,GADZzX,KACK1J,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX0J,EAAOsD,KAAKm2C,EAAar4C,SAASqW,EAAG5P,GAEzC,OAAO7H,WAOnB+1C,EAAMiE,YAAc,SAAS3lC,EAAOolC,GAClC,OACEvD,eAAgB,SAASn/C,GACvB,GAAIT,GAAGgS,EAAGoT,EAAKu+B,CAEf,KADAA,KACK3jD,EAAIgS,EAAI,EAAGoT,EAAMrH,EAAO/L,EAAIoT,EAAKplB,EAAIgS,GAAK,EAC7C2xC,EAAQ32C,KAAKm2C,EAAavD,eAAen/C,GAE3C,OAAO2iD,GAAcO,EAASR,IAEhCxG,iBAAkB,SAASl8C,EAAG0mC,GAC5B,GAAInnC,GAAGgS,EAAGoT,CAKV,KAJc,IAAVrH,IACF1O,EAAEgzC,SAASlb,GACXA,EAASic,EAAcjc,EAAQgc,IAE5BnjD,EAAIgS,EAAI,EAAGoT,EAAMrH,EAAO/L,EAAIoT,EAAKplB,EAAIgS,GAAK,EAC7CmxC,EAAaxG,iBAAiBl8C,EAAG0mC,EAAOnnC,KAG5CmhD,WAAY,SAASha,GACnB,GAAInnC,GAAGgS,EAAGoT,EAAKu+B,CAKf,KAJc,IAAV5lC,GACF1O,EAAEgzC,SAASlb,GAEbwc,KACK3jD,EAAIgS,EAAI,EAAGoT,EAAMrH,EAAO/L,EAAIoT,EAAKplB,EAAIgS,GAAK,EAC7C2xC,EAAQ32C,KAAKm2C,EAAahC,WAAWha,EAAOnnC,IAE9C,OAAO2jD,IAET74C,SAAU,SAASq8B,EAAQ51B,GACzB,GAAIvR,GAAGgS,EAAG00B,EAAGthB,EAAKw+B,EAAMD,EAASE,CAIjC,IAHa,MAATtyC,IACFA,MAEEA,EAAM6vC,aAA0B,SAAXja,EAAmB,CAE1C,IADAwc,KACK3jD,EAAIgS,EAAI,EAAGoT,EAAMrH,EAAO/L,EAAIoT,EAAKplB,EAAIgS,GAAK,EAC7C2xC,EAAQ32C,KAAKm2C,EAAar4C,SAAS,OAAQyG,GAE7C,OAAOoyC,GAMT,IAJc,IAAV5lC,GACF1O,EAAEgzC,SAASlb,GAEb0c,KACK7jD,EAAI0mC,EAAI,EAAGkd,EAAO7lC,EAAO2oB,EAAIkd,EAAM5jD,EAAI0mC,GAAK,EAC/Cmd,EAAS72C,KAAKm2C,EAAar4C,SAASq8B,EAAOnnC,GAAIuR,GAEjD,OAAOsyC,KAOb,IAAIC,GAAU,SAASC,EAAiBC,GAGpC,MAFA30C,GAAEgzC,SAAS0B,EAAiB,mBAC5B10C,EAAEgzC,SAAS2B,EAAa,gBAChBpE,eAAD,SAAgBn/C,GACnB,MAAOA,GAAEshD,gBAEbpF,iBAHO,SAGUl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACYtiC,SAAnBsiC,EAAOpzB,UAAyBozB,EAASA,EAAOpzB,SAEhD,2BAA2ByJ,KAAK2pB,KAChCA,EAAS93B,EAAE40C,aAAaF,EAAiBC,EAAa7c,IAE1D1mC,EAAEuhD,cAAc3yC,EAAE60C,UAAU/c,KAGhCga,WAbO,SAaIha,GAGP,MAFA93B,GAAEgzC,SAASlb,GACYtiC,SAAnBsiC,EAAOpzB,UAAyBozB,EAASA,EAAOpzB,SAChD1E,EAAE80C,UAAUhd,GACL93B,EAAE60C,UAAU/c,GAEhB93B,EAAE40C,aAAaF,EAAiBC,EAAa7c,IAExDr8B,SArBO,SAqBEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,MACpBw/C,EAAiB5E,EAAYwE,YAAYA,EAC7C,OAAIzyC,GAAM6vC,aAA0Bv8C,SAAXsiC,EACX4c,EAAV,IAA6BK,EAA7B,MAEJ/0C,EAAEgzC,SAASlb,GACYtiC,SAAnBsiC,EAAOpzB,UAAyBozB,EAASA,EAAOpzB,SAChD,2BAA2ByJ,KAAK2pB,KAChCA,EAAS93B,EAAE40C,aAAaF,EAAiBC,EAAa7c,IAGhD4c,EAAH,IAAsBK,EAAtB,IAAwCjd,KAKvDsY,GAAM4E,iBAAmB,SAASzoC,GAE9B,MADAvM,GAAEgzC,SAASzmC,EAAM,QACVkoC,EAAQtE,EAAYuE,gBAAgBO,aAAc1oC,IAG7D6jC,EAAM8E,gBACD3E,eAAD,SAAgBn/C;AACZ,MAAO6+C,GAASM,eAAen/C,IAEnCk8C,iBAHA,SAGiBl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACYtiC,SAAnBsiC,EAAOpzB,UAAyBozB,EAASA,EAAOpzB,SACpDozB,EAASmY,EAASkF,WAAWrd,GAC7BA,EAAOwV,iBAAiBl8C,IAG5B0gD,WAVA,SAUWha,GAGP,MAFA93B,GAAEgzC,SAASlb,GACYtiC,SAAnBsiC,EAAOpzB,UAAyBozB,EAASA,EAAOpzB,SAC7CurC,EAASkF,WAAWrd,IAE/Br8B,SAfA,SAeSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EACd,SAEX93B,EAAEgzC,SAASlb,GACYtiC,SAAnBsiC,EAAOpzB,UACPozB,EAASA,EAAOpzB,SAEpBozB,EAASmY,EAASkF,WAAWrd,GACtBA,EAAO/7B,cAItBq0C,EAAMgF,SACDC,KAAM,IACPC,GAAM,WACN/E,eAFA,SAEen/C,GACX,GAAI8B,GAAQ9B,EAAEkhD,YACd,QACIp1C,KAAMhK,EAAQ5B,KAAK+jD,KACnBhlD,GAAI6C,EAAQ5B,KAAKgkD,KAGzBhI,iBATA,SASiBl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACG,WAAXA,IACCA,EAASsY,EAAMgF,QAAQtD,WAAWha,GAEtC,IAAI5kC,GAAQ4kC,EAAOznC,IAAM,EAAIynC,EAAO56B,IACpC9L,GAAEwgD,YAAY1+C,IAGlB4+C,WAlBA,SAkBWha,GAEP,GADA93B,EAAEgzC,SAASlb,EAAQ,kBACE,YAAlB,mBAAOA,GAAP,YAAAtkC,EAAOskC,IAGN,MAFA93B,GAAEgzC,SAASlb,EAAO56B,KAAM,QACxB8C,EAAEgzC,SAASlb,EAAOznC,GAAI,MACfynC,CAEX93B,GAAEu1C,aAAa,kBAAmBzd,EAAlC,kBAA4DA,EAP9C,IAAA0d,GAQG1d,EAAOvmB,MAAM,KARhBkkC,EAAAlG,EAAAiG,EAAA,GAQTt4C,EARSu4C,EAAA,GAQHplD,EARGolD,EAAA,EAWd,OAFAz1C,GAAEmyC,cAAc,EAAE,IAAKj1C,EAAvB,aAAyC46B,GACzC93B,EAAEmyC,cAAc,EAAE,SAAS9hD,EAA3B,WAAyCynC,IAChC56B,OAAM7M,OAEnBoL,SA/BA,SA+BSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EACd,OAEX93B,EAAEgzC,SAASlb,GACU,gBAAXA,KACNA,EAASsY,EAAMgF,QAAQtD,WAAWha,IAE/BA,EAAO56B,KAAO,IAAM46B,EAAOznC,KAEtCqlD,QAzCA,SAyCQvkD,EAAGC,GAGP,MAFgB,YAAb,mBAAOD,GAAP,YAAAqC,EAAOrC,MAAgBA,EAAIi/C,EAAMgF,QAAQtD,WAAW3gD,IACvC,YAAb,mBAAOC,GAAP,YAAAoC,EAAOpC,MAAgBA,EAAIg/C,EAAMgF,QAAQtD,WAAW1gD,IAChD8wB,SAAS/wB,EAAEd,IAAM6xB,SAAS9wB,EAAEf,MAI3C+/C,EAAMuF,SAAW,SAAS7B,GAEtB,MADA9zC,GAAEgzC,SAASc,EAAc,iBACjBvD,eAAD,SAAgBn/C,GACnB,GAAwB,IAAlBA,EAAEu/C,YAGR,MAAOmD,GAAavD,eAAen/C,IAEvCk8C,iBANO,SAMUl8C,EAAG0mC,GACD,OAAXA,GAA8BtiC,SAAXsiC,GACnB1mC,EAAEygD,WAAW,GACbiC,EAAaxG,iBAAiBl8C,EAAG0mC,IAEjC1mC,EAAEygD,WAAW,IAIrBC,WAfO,SAeIha,GACP,GAAetiC,SAAXsiC,EACJ,MAAOgc,GAAahC,WAAWha,IAEnCr8B,SAnBO,SAmBEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,MAEpBqgD,EAAiB,WACjB,MAAK1zC,GAAM6vC,aAA0Bv8C,SAAXsiC,EAGfgc,EAAar4C,SAASq8B,EAAQ51B,GAFrC,SAaR,OAPIA,GAAM2zC,WACuB,YAAzB,mBAAOD,GAAP,YAAApiD,EAAOoiD,IACPA,EAAcE,WAAa,qBAE3BF,GAAiBE,WAAYF,IAG9BA,KAKfxF,EAAM2F,eAAiB,SAASC,GAC5B,OACIC,QAAQ,EACRC,cAAeF,EACnBG,SAHO,SAGEjjD,GACL,GAAIkjD,GAAM,EAAGC,QACb,IAAoB,gBAAVnjD,GACNmjD,EAAUnjD,MACT,IAAA84C,IAAA,EAAAC,GAAA,EAAAC,EAAA12C,MAAA,KACD,OAAA22C,GAAAC,EAAc96C,KAAK4kD,cAAnBziD,OAAAC,cAAAs4C,GAAAG,EAAAC,EAAAp7B,QAAA7N,MAAA6oC,GAAA,EAAkC,IAA1B1C,GAA0B6C,EAAAj5C,KAC9B,IAAGo2C,EAAGgN,iBAAmBpjD,EAAO,CAC5BmjD,EAAUD,CACV,OAEJA,KANH,MAAAn9C,GAAAgzC,GAAA,EAAAC,EAAAjzC,EAAA,aAAA+yC,GAAAI,EAAAC,QAAAD,EAAAC,SAAA,WAAAJ,EAAA,KAAAC,KASL,MAAOmK,IAEX9F,eAlBO,SAkBQn/C,GACX,GAAIilD,GAAUjlD,EAAEshD,eACZoB,EAAexiD,KAAK4kD,cAAcG,EAKtC,OAJIhG,IACAxyC,QAAQvE,MAAR,uBAAqC+8C,EAAQt6C,SAAS,IAAtD,KAA8Ds6C,EAA9D,KAEJr2C,EAAEgzC,SAASc,EAAX,aAAsCuC,IAElCA,EACAvC,EAAavD,eAAen/C,KAGpCk8C,iBA9BO,SA8BUl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,EACX,IAAIue,GAAU/kD,KAAK6kD,SAASre,EAAO,IAC/Bgc,EAAexiD,KAAK4kD,cAAcG,EACtCr2C,GAAEgzC,SAASc,EAAX,aAAsCuC,GACtCjlD,EAAEuhD,cAAc0D,GAChBvC,EAAaxG,iBAAiBl8C,EAAG0mC,EAAO,KAG5Cga,WAvCO,SAuCIha,GACP93B,EAAEgzC,SAASlb,EACX,IAAIue,GAAU/kD,KAAK6kD,SAASre,EAAO,IAC/Bgc,EAAexiD,KAAK4kD,cAAcG,EAEtC,OADAr2C,GAAEgzC,SAASc,EAAX,aAAsCuC,IAElCA,EACAvC,EAAahC,WAAWha,EAAO,MAGvCr8B,SAjDO,SAiDEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,IAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,EACrB,OAAQxmC,KAAK4kD,cAAc,GAAGI,eAAgBhlD,KAAK4kD,cAAc,GAAGz6C,SAASjG,OAAW0M,GAE5FlC,GAAEgzC,SAASlb,EACX,IAAIue,GAAU/kD,KAAK6kD,SAASre,EAAO,IAC/Bgc,EAAexiD,KAAK4kD,cAAcG,EAEtC,OADAr2C,GAAEgzC,SAASc,EAAX,aAAsCuC,IAElCvC,EAAawC,eACbxC,EAAar4C,SAASq8B,EAAO,GAAI51B,KAGzCwzC,QA9DO,SA8DCvkD,EAAGC,GACP,MAAOmlD,GAAOjlD,KAAK6kD,SAAShlD,EAAE,IAAKG,KAAK6kD,SAAS/kD,EAAE,QAK3Dg/C,EAAMz5C,IAAM,SAAS6/C,EAAkBC,GACnC,OAAQtC,SAAD,SAAUvoC,GACb,IAAK9U,MAAM8Z,QAAQhF,GACf,KAAM,IAAIxT,OAAM,kBAGpB,KAAK,GAAW0Z,GADZsiC,KACKzjD,EAAI,EAAMA,EAAIib,EAAM7X,OAAQpD,IAAK,CACtCmhB,EAAIlG,EAAMjb,EACV,IAAIolB,EACJ,IAAmB,IAAbjE,EAAE/d,OACJ,KAAM,IAAIqE,OAAM,yBAEpB,IAAI2d,IAAajE,EAAE,KAAK,SAAU,UAAU8F,QAAQ7B,IAAQ,EAAG,CAC3D,GAAsBvgB,SAAlB4+C,EAAQtiC,EAAE,IACV,KAAM,IAAI1Z,OAAM,kBAEpBg8C,GAAQtiC,EAAE,KAAM,GAGxB,MAAOiiC,GAAcnoC,EAAO4qC,IAGhCjG,eArBO,SAqBQn/C,GAGX,IAAK,GAFDiJ,MACAq8C,EAAMtlD,EAAEshD,eACH/hD,EAAI,EAAG,EAAI+lD,EAAM/lD,EAAI+lD,EAAM/lD,EAAI+lD,EAAK,EAAIA,EAAM/lD,IAAMA,IACzD0J,EAAOsD,MACH64C,EAAiBjG,eAAen/C,GAChCqlD,EAAmBlG,eAAen/C,IAG1C,OAAOE,MAAK6iD,SAAS95C,IAGzBizC,iBAjCO,SAiCUl8C,EAAG0mC,GAChBxmC,KAAK6iD,SAASrc,GACd1mC,EAAEuhD,cAAc7a,EAAO/jC,OACvB,KAAK,GAAW+d,GAAPnhB,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX6lD,EAAiBlJ,iBAAiBl8C,EAAG0gB,EAAE,IACvC2kC,EAAmBnJ,iBAAiBl8C,EAAG0gB,EAAE,KAIjDggC,WA3CO,SA2CIha,GACP93B,EAAEgzC,SAASlb,EAEX,KAAK,GAAWhmB,GADZzX,KACK1J,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX0J,EAAOsD,MACH64C,EAAiB1E,WAAWhgC,EAAE,IAC9B2kC,EAAmB3E,WAAWhgC,EAAE,KAGxC,OAAOxgB,MAAK6iD,SAAS95C,IAEzBoB,SAvDO,SAuDEq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,IAAI2M,EAAM6vC,aAA0Bv8C,SAAXsiC,EACrB,QAEQ0e,EAAiB/6C,SAASjG,OAAW0M,GACrCu0C,EAAmBh7C,SAASjG,OAAW0M,IAInDlC,GAAEgzC,SAASlb,GACXA,EAASxmC,KAAK6iD,SAASrc,EAEvB,KAAK,GAAWhmB,GADZzX,KACK1J,EAAI,EAAMA,EAAImnC,EAAO/jC,OAAQpD,IAClCmhB,EAAIgmB,EAAOnnC,GACX0J,EAAOsD,MACH64C,EAAiB/6C,SAASqW,EAAE,GAAI5P,GAChCu0C,EAAmBh7C,SAASqW,EAAE,GAAI5P,IAG1C,OAAO7H,MAKf+1C,EAAMzC,YACFgJ,SADe,SACN7e,GAEL,MADuBtiC,UAAnBsiC,EAAOpzB,UAAyBozB,EAASA,EAAOpzB,SACnC,MAAVozB,EAAiBA,EACpBA,EAAO8e,EAAI9e,EAAS7iC,EAAA4hD,UAAUC,kBAAkBhf,IAExDyY,eANe,SAMAn/C,GACX,MAAO8+C,GAAGvC,WAAWv8C,IAEzBk8C,iBATe,SASEl8C,EAAG0mC,GAChB93B,EAAEgzC,SAASlb,GACXoY,EAAGvC,WAAWv8C,EAAGg/C,EAAMzC,WAAWgJ,SAAS7e,KAG/Cga,WAde,SAcJha,GAEP,MADA93B,GAAEgzC,SAASlb,GACPA,EAAO8e,EAAY9e,EAChBsY,EAAMzC,WAAWgJ,SAAS7e,IAErCr8B,SAnBe,SAmBNq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EACd7iC,EAAA8hD,WAAWrpC,IAAI,kBAAoB,sDAE9C1N,EAAEgzC,SAASlb,GACJA,EAAO/7B,aAElB25C,QA1Be,SA0BPvkD,EAAGC,GAEP,MAAO,GAAImlD,EAAOplD,EAAE4K,WAAY3K,EAAE2K,cAI1Cq0C,EAAM4G,SACDC,YAAD,SAAanf,GAET,MADA93B,GAAEgzC,SAASlb,GACPA,EAAOof,KAAepf,EACnB7iC,EAAAkiD,QAAQhC,WAAWrd,IAE9ByY,eALA,SAKen/C,GACX,MAAO,IAAA6D,GAAAkiD,QAAYjH,EAAGkH,UAAUhmD,KAEpCk8C,iBARA,SAQiBl8C,EAAG0mC,GAChBoY,EAAGkH,UAAUhmD,EAAGg/C,EAAM4G,QAAQC,YAAYnf,GAAQn8B,aAGtDm2C,WAZA,SAYWha,GACP,MAAOsY,GAAM4G,QAAQC,YAAYnf,IAErCr8B,SAfA,SAeSq8B,GAAmB,GAAX51B,GAAW3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,KACxB,OAAI2M,GAAM6vC,aAA0Bv8C,SAAXsiC,EACd7iC,EAAA8hD,WAAWrpC,IAAI,kBAAoB,oCAEvC0iC,EAAM4G,QAAQC,YAAYnf,GAAQ/7B,YAE7C25C,QArBA,SAqBQvkD,EAAGC,GAEP,OAAO,EAAKmlD,EAAOplD,EAAE4K,WAAY3K,EAAE2K,aAI3C,IAAIw6C,GAAS,SAACplD,EAAGC,GAAJ,MAAUD,GAAIC,EAAI,EAAID,EAAIC,GAAI,EAAK,GAC5CimD,EAAU,SAAAC,GAAA,MAAMxgD,OAAM8Z,QAAQ0mC,GAAMA,EAAG,GAAKA,GAC5CvD,EAAgB,SAACnoC,EAAOkoC,GAExB,MAAOA,GAAamC,OAASrqC,EAC7BkoC,EAAa4B,QACb9pC,EAAMs9B,KAAK,SAAC/3C,EAAEC,GAAH,MAAQ0iD,GAAa4B,QAAQ2B,EAAQlmD,GAAIkmD,EAAQjmD,MAC5Dwa,EAAMs9B,KAAK,SAAC/3C,EAAEC,GAAH,MACe,gBAAfimD,GAAQlmD,IAAyC,gBAAfkmD,GAAQjmD,GAAkBimD,EAAQlmD,GAAKkmD,EAAQjmD,GAExFqpC,EAAO7B,SAASye,EAAQlmD,KAAOspC,EAAO7B,SAASye,EAAQjmD,IAAMmlD,EAAOc,EAAQlmD,GAAG4K,SAAS,OAAQs7C,EAAQjmD,GAAG2K,SAAS,QACpHw6C,EAAOc,EAAQlmD,GAAG4K,WAAYs7C,EAAQjmD,GAAG2K,iBnGwwUnBxL,KAAKJ,EAASH,EAAoB,GAAIA,EAAoB,IAAIyqC,SAItF,SAAUrqC,EAAQD,EAASH,IoG56WjC,SAAAwB,GAQA,YA2CA,SAAS+lD,KACP,IACE,GAAI9H,GAAM,GAAInO,YAAW,EAEzB,OADAmO,GAAIl8C,WAAaA,UAAW+tC,WAAWzwC,UAAW2mD,IAAK,WAAc,MAAO,MACvD,KAAd/H,EAAI+H,OACiB,kBAAjB/H,GAAIgI,UACuB,IAAlChI,EAAIgI,SAAS,EAAG,GAAG/V,WACvB,MAAO/oC,GACP,OAAO,GAIX,QAAS++C,KACP,MAAOjd,GAAOkd,oBACV,WACA,WAGN,QAASC,GAAcC,EAAM9jD,GAC3B,GAAI2jD,IAAe3jD,EACjB,KAAM,IAAIuN,YAAW,6BAcvB,OAZIm5B,GAAOkd,qBAETE,EAAO,GAAIvW,YAAWvtC,GACtB8jD,EAAKtkD,UAAYknC,EAAO5pC,YAGX,OAATgnD,IACFA,EAAO,GAAIpd,GAAO1mC,IAEpB8jD,EAAK9jD,OAASA,GAGT8jD,EAaT,QAASpd,GAAQh+B,EAAKq7C,EAAkB/jD,GACtC,KAAK0mC,EAAOkd,qBAAyBrmD,eAAgBmpC,IACnD,MAAO,IAAIA,GAAOh+B,EAAKq7C,EAAkB/jD,EAI3C,IAAmB,gBAAR0I,GAAkB,CAC3B,GAAgC,gBAArBq7C,GACT,KAAM,IAAI1/C,OACR,oEAGJ,OAAO2/C,GAAYzmD,KAAMmL,GAE3B,MAAOyS,GAAK5d,KAAMmL,EAAKq7C,EAAkB/jD,GAW3C,QAASmb,GAAM2oC,EAAM3kD,EAAO4kD,EAAkB/jD,GAC5C,GAAqB,gBAAVb,GACT,KAAM,IAAIT,WAAU,wCAGtB,OAA2B,mBAAhBkwC,cAA+BzvC,YAAiByvC,aAClDqV,EAAgBH,EAAM3kD,EAAO4kD,EAAkB/jD,GAGnC,gBAAVb,GACFiiD,EAAW0C,EAAM3kD,EAAO4kD,GAG1BhG,EAAW+F,EAAM3kD,GA4B1B,QAAS+kD,GAAY1+B,GACnB,GAAoB,gBAATA,GACT,KAAM,IAAI9mB,WAAU,mCACf,IAAI8mB,EAAO,EAChB,KAAM,IAAIjY,YAAW,wCAIzB,QAAS42C,GAAOL,EAAMt+B,EAAM4+B,EAAMC,GAEhC,MADAH,GAAW1+B,GACPA,GAAQ,EACHq+B,EAAaC,EAAMt+B,GAEf/jB,SAAT2iD,EAIyB,gBAAbC,GACVR,EAAaC,EAAMt+B,GAAM4+B,KAAKA,EAAMC,GACpCR,EAAaC,EAAMt+B,GAAM4+B,KAAKA,GAE7BP,EAAaC,EAAMt+B,GAW5B,QAASw+B,GAAaF,EAAMt+B,GAG1B,GAFA0+B,EAAW1+B,GACXs+B,EAAOD,EAAaC,EAAMt+B,EAAO,EAAI,EAAoB,EAAhB8+B,EAAQ9+B,KAC5CkhB,EAAOkd,oBACV,IAAK,GAAIhnD,GAAI,EAAGA,EAAI4oB,IAAQ5oB,EAC1BknD,EAAKlnD,GAAK,CAGd,OAAOknD,GAgBT,QAAS1C,GAAY0C,EAAM/J,EAAQsK,GAKjC,GAJwB,gBAAbA,IAAsC,KAAbA,IAClCA,EAAW,SAGR3d,EAAO6d,WAAWF,GACrB,KAAM,IAAI3lD,WAAU,6CAGtB,IAAIsB,GAAwC,EAA/B2tC,EAAWoM,EAAQsK,EAChCP,GAAOD,EAAaC,EAAM9jD,EAE1B,IAAIwkD,GAASV,EAAKpkC,MAAMq6B,EAAQsK,EAShC,OAPIG,KAAWxkD,IAIb8jD,EAAOA,EAAK5mD,MAAM,EAAGsnD,IAGhBV,EAGT,QAASW,GAAeX,EAAMjsC,GAC5B,GAAI7X,GAAS6X,EAAM7X,OAAS,EAAI,EAA4B,EAAxBskD,EAAQzsC,EAAM7X,OAClD8jD,GAAOD,EAAaC,EAAM9jD,EAC1B,KAAK,GAAIpD,GAAI,EAAGA,EAAIoD,EAAQpD,GAAK,EAC/BknD,EAAKlnD,GAAgB,IAAXib,EAAMjb,EAElB,OAAOknD,GAGT,QAASG,GAAiBH,EAAMjsC,EAAO6sC,EAAY1kD,GAGjD,GAFA6X,EAAM81B,WAEF+W,EAAa,GAAK7sC,EAAM81B,WAAa+W,EACvC,KAAM,IAAIn3C,YAAW,4BAGvB,IAAIsK,EAAM81B,WAAa+W,GAAc1kD,GAAU,GAC7C,KAAM,IAAIuN,YAAW,4BAmBvB,OAfEsK,GADiBpW,SAAfijD,GAAuCjjD,SAAXzB,EACtB,GAAIutC,YAAW11B,GACHpW,SAAXzB,EACD,GAAIutC,YAAW11B,EAAO6sC,GAEtB,GAAInX,YAAW11B,EAAO6sC,EAAY1kD,GAGxC0mC,EAAOkd,qBAETE,EAAOjsC,EACPisC,EAAKtkD,UAAYknC,EAAO5pC,WAGxBgnD,EAAOW,EAAcX,EAAMjsC,GAEtBisC,EAGT,QAAS/F,GAAY+F,EAAM1lD,GACzB,GAAIsoC,EAAO7B,SAASzmC,GAAM,CACxB,GAAIkL,GAA4B,EAAtBg7C,EAAQlmD,EAAI4B,OAGtB,OAFA8jD,GAAOD,EAAaC,EAAMx6C,GAEN,IAAhBw6C,EAAK9jD,OACA8jD,GAGT1lD,EAAI4+C,KAAK8G,EAAM,EAAG,EAAGx6C,GACdw6C,GAGT,GAAI1lD,EAAK,CACP,GAA4B,mBAAhBwwC,cACRxwC,EAAIwvC,iBAAkBgB,cAAgB,UAAYxwC,GACpD,MAA0B,gBAAfA,GAAI4B,QAAuB2kD,EAAMvmD,EAAI4B,QACvC6jD,EAAaC,EAAM,GAErBW,EAAcX,EAAM1lD,EAG7B,IAAiB,WAAbA,EAAI+K,MAAqB0T,EAAQze,EAAIoG,MACvC,MAAOigD,GAAcX,EAAM1lD,EAAIoG,MAInC,KAAM,IAAI9F,WAAU,sFAGtB,QAAS4lD,GAAStkD,GAGhB,GAAIA,GAAU2jD,IACZ,KAAM,IAAIp2C,YAAW,0DACao2C,IAAa37C,SAAS,IAAM,SAEhE,OAAgB,GAAThI,EAGT,QAAS4kD,GAAY5kD,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJ0mC,EAAOyd,OAAOnkD,GA+EvB,QAAS2tC,GAAYoM,EAAQsK,GAC3B,GAAI3d,EAAO7B,SAASkV,GAClB,MAAOA,GAAO/5C,MAEhB,IAA2B,mBAAhB4uC,cAA6D,kBAAvBA,aAAYuB,SACxDvB,YAAYuB,OAAO4J,IAAWA,YAAkBnL,cACnD,MAAOmL,GAAOpM,UAEM,iBAAXoM,KACTA,EAAS,GAAKA,EAGhB,IAAIzwC,GAAMywC,EAAO/5C,MACjB,IAAY,IAARsJ,EAAW,MAAO,EAItB,KADA,GAAIu7C,IAAc,IAEhB,OAAQR,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,MAAO/6C,EACT,KAAK,OACL,IAAK,QACL,IAAK7H,QACH,MAAOqjD,GAAY/K,GAAQ/5C,MAC7B,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAa,GAANsJ,CACT,KAAK,MACH,MAAOA,KAAQ,CACjB,KAAK,SACH,MAAOy7C,GAAchL,GAAQ/5C,MAC/B,SACE,GAAI6kD,EAAa,MAAOC,GAAY/K,GAAQ/5C,MAC5CqkD,IAAY,GAAKA,GAAUnnC,cAC3B2nC,GAAc,GAMtB,QAASG,GAAcX,EAAU9/C,EAAOo+C,GACtC,GAAIkC,IAAc,CAclB,KALcpjD,SAAV8C,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQhH,KAAKyC,OACf,MAAO,EAOT,KAJYyB,SAARkhD,GAAqBA,EAAMplD,KAAKyC,UAClC2iD,EAAMplD,KAAKyC,QAGT2iD,GAAO,EACT,MAAO,EAOT,IAHAA,KAAS,EACTp+C,KAAW,EAEPo+C,GAAOp+C,EACT,MAAO,EAKT,KAFK8/C,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,MAAOY,GAAS1nD,KAAMgH,EAAOo+C,EAE/B,KAAK,OACL,IAAK,QACH,MAAOuC,GAAU3nD,KAAMgH,EAAOo+C,EAEhC,KAAK,QACH,MAAOwC,GAAW5nD,KAAMgH,EAAOo+C,EAEjC,KAAK,SACL,IAAK,SACH,MAAOyC,GAAY7nD,KAAMgH,EAAOo+C,EAElC,KAAK,SACH,MAAO0C,GAAY9nD,KAAMgH,EAAOo+C,EAElC,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO2C,GAAa/nD,KAAMgH,EAAOo+C,EAEnC,SACE,GAAIkC,EAAa,KAAM,IAAInmD,WAAU,qBAAuB2lD,EAC5DA,IAAYA,EAAW,IAAInnC,cAC3B2nC,GAAc,GAStB,QAASU,GAAMloD,EAAG2L,EAAGvM,GACnB,GAAIG,GAAIS,EAAE2L,EACV3L,GAAE2L,GAAK3L,EAAEZ,GACTY,EAAEZ,GAAKG,EAmIT,QAAS4oD,GAAsB5X,EAAQ39B,EAAKy0C,EAAYL,EAAUzrC,GAEhE,GAAsB,IAAlBg1B,EAAO5tC,OAAc,OAAO,CAmBhC,IAhB0B,gBAAf0kD,IACTL,EAAWK,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAa,aACtBA,GAAa,YAEfA,GAAcA,EACVz7C,MAAMy7C,KAERA,EAAa9rC,EAAM,EAAKg1B,EAAO5tC,OAAS,GAItC0kD,EAAa,IAAGA,EAAa9W,EAAO5tC,OAAS0kD,GAC7CA,GAAc9W,EAAO5tC,OAAQ,CAC/B,GAAI4Y,EAAK,OAAO,CACX8rC,GAAa9W,EAAO5tC,OAAS,MAC7B,IAAI0kD,EAAa,EAAG,CACzB,IAAI9rC,EACC,OAAO,CADH8rC,GAAa,EAUxB,GALmB,gBAARz0C,KACTA,EAAMy2B,EAAOvrB,KAAKlL,EAAKo0C,IAIrB3d,EAAO7B,SAAS50B,GAElB,MAAmB,KAAfA,EAAIjQ,QACC,EAEFylD,EAAa7X,EAAQ39B,EAAKy0C,EAAYL,EAAUzrC,EAClD,IAAmB,gBAAR3I,GAEhB,MADAA,IAAY,IACRy2B,EAAOkd,qBACiC,kBAAjCrW,YAAWzwC,UAAU+mB,QAC1BjL,EACK20B,WAAWzwC,UAAU+mB,QAAQrnB,KAAKoxC,EAAQ39B,EAAKy0C,GAE/CnX,WAAWzwC,UAAU4oD,YAAYlpD,KAAKoxC,EAAQ39B,EAAKy0C,GAGvDe,EAAa7X,GAAU39B,GAAOy0C,EAAYL,EAAUzrC,EAG7D,MAAM,IAAIla,WAAU,wCAGtB,QAAS+mD,GAAc/J,EAAKzrC,EAAKy0C,EAAYL,EAAUzrC,GAmBrD,QAAS+sC,GAAMh+C,EAAK/K,GAClB,MAAkB,KAAdgpD,EACKj+C,EAAI/K,GAEJ+K,EAAIk+C,aAAajpD,EAAIgpD,GAtBhC,GAAIA,GAAY,EACZE,EAAYpK,EAAI17C,OAChB+lD,EAAY91C,EAAIjQ,MAEpB,IAAiByB,SAAb4iD,IACFA,EAAWl3B,OAAOk3B,GAAUnnC,cACX,SAAbmnC,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAI3I,EAAI17C,OAAS,GAAKiQ,EAAIjQ,OAAS,EACjC,OAAO,CAET4lD,GAAY,EACZE,GAAa,EACbC,GAAa,EACbrB,GAAc,EAYlB,GAAI9nD,EACJ,IAAIgc,EAAK,CACP,GAAIotC,IAAa,CACjB,KAAKppD,EAAI8nD,EAAY9nD,EAAIkpD,EAAWlpD,IAClC,GAAI+oD,EAAKjK,EAAK9+C,KAAO+oD,EAAK11C,EAAK+1C,KAAe,EAAK,EAAIppD,EAAIopD,IAEzD,GADIA,KAAe,IAAIA,EAAappD,GAChCA,EAAIopD,EAAa,IAAMD,EAAW,MAAOC,GAAaJ,MAEtDI,MAAe,IAAIppD,GAAKA,EAAIopD,GAChCA,GAAa,MAKjB,KADItB,EAAaqB,EAAYD,IAAWpB,EAAaoB,EAAYC,GAC5DnpD,EAAI8nD,EAAY9nD,GAAK,EAAGA,IAAK,CAEhC,IAAK,GADDqpD,IAAQ,EACHr3C,EAAI,EAAGA,EAAIm3C,EAAWn3C,IAC7B,GAAI+2C,EAAKjK,EAAK9+C,EAAIgS,KAAO+2C,EAAK11C,EAAKrB,GAAI,CACrCq3C,GAAQ,CACR,OAGJ,GAAIA,EAAO,MAAOrpD,GAItB,OAAO,EAeT,QAASspD,GAAUv+C,EAAKoyC,EAAQkD,EAAQj9C,GACtCi9C,EAASx/B,OAAOw/B,IAAW,CAC3B,IAAIkJ,GAAYx+C,EAAI3H,OAASi9C,CACxBj9C,IAGHA,EAASyd,OAAOzd,GACZA,EAASmmD,IACXnmD,EAASmmD,IAJXnmD,EAASmmD,CASX,IAAIC,GAASrM,EAAO/5C,MACpB,IAAIomD,EAAS,IAAM,EAAG,KAAM,IAAI1nD,WAAU,qBAEtCsB,GAASomD,EAAS,IACpBpmD,EAASomD,EAAS,EAEpB,KAAK,GAAIxpD,GAAI,EAAGA,EAAIoD,IAAUpD,EAAG,CAC/B,GAAImuB,GAASoD,SAAS4rB,EAAOlsB,OAAW,EAAJjxB,EAAO,GAAI,GAC/C,IAAIqM,MAAM8hB,GAAS,MAAOnuB,EAC1B+K,GAAIs1C,EAASrgD,GAAKmuB,EAEpB,MAAOnuB,GAGT,QAASypD,GAAW1+C,EAAKoyC,EAAQkD,EAAQj9C,GACvC,MAAOsmD,GAAWxB,EAAY/K,EAAQpyC,EAAI3H,OAASi9C,GAASt1C,EAAKs1C,EAAQj9C,GAG3E,QAASumD,GAAY5+C,EAAKoyC,EAAQkD,EAAQj9C,GACxC,MAAOsmD,GAAWE,EAAazM,GAASpyC,EAAKs1C,EAAQj9C,GAGvD,QAASymD,GAAa9+C,EAAKoyC,EAAQkD,EAAQj9C,GACzC,MAAOumD,GAAW5+C,EAAKoyC,EAAQkD,EAAQj9C,GAGzC,QAAS0mD,GAAa/+C,EAAKoyC,EAAQkD,EAAQj9C,GACzC,MAAOsmD,GAAWvB,EAAchL,GAASpyC,EAAKs1C,EAAQj9C,GAGxD,QAAS2mD,GAAWh/C,EAAKoyC,EAAQkD,EAAQj9C,GACvC,MAAOsmD,GAAWM,EAAe7M,EAAQpyC,EAAI3H,OAASi9C,GAASt1C,EAAKs1C,EAAQj9C,GAkF9E,QAASqlD,GAAa19C,EAAKpD,EAAOo+C,GAChC,MAAc,KAAVp+C,GAAeo+C,IAAQh7C,EAAI3H,OACtB6mD,EAAOC,cAAcn/C,GAErBk/C,EAAOC,cAAcn/C,EAAIzK,MAAMqH,EAAOo+C,IAIjD,QAASuC,GAAWv9C,EAAKpD,EAAOo+C,GAC9BA,EAAMj+C,KAAKk6B,IAAIj3B,EAAI3H,OAAQ2iD,EAI3B,KAHA,GAAI19C,MAEArI,EAAI2H,EACD3H,EAAI+lD,GAAK,CACd,GAAIoE,GAAYp/C,EAAI/K,GAChBoqD,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,CAEJ,IAAInqD,EAAIqqD,GAAoBtE,EAAK,CAC/B,GAAIuE,GAAYC,EAAWC,EAAYC,CAEvC,QAAQJ,GACN,IAAK,GACCF,EAAY,MACdC,EAAYD,EAEd,MACF,KAAK,GACHG,EAAav/C,EAAI/K,EAAI,GACO,OAAV,IAAbsqD,KACHG,GAA6B,GAAZN,IAAqB,EAAoB,GAAbG,EACzCG,EAAgB,MAClBL,EAAYK,GAGhB,MACF,KAAK,GACHH,EAAav/C,EAAI/K,EAAI,GACrBuqD,EAAYx/C,EAAI/K,EAAI,GACQ,OAAV,IAAbsqD,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZN,IAAoB,IAAoB,GAAbG,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,GAGhB,MACF,KAAK,GACHH,EAAav/C,EAAI/K,EAAI,GACrBuqD,EAAYx/C,EAAI/K,EAAI,GACpBwqD,EAAaz/C,EAAI/K,EAAI,GACO,OAAV,IAAbsqD,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZN,IAAoB,IAAqB,GAAbG,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,KAMJ,OAAdL,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACb/hD,EAAI2E,KAAKo9C,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvB/hD,EAAI2E,KAAKo9C,GACTpqD,GAAKqqD,EAGP,MAAOK,GAAsBriD,GAQ/B,QAASqiD,GAAuBC,GAC9B,GAAIj+C,GAAMi+C,EAAWvnD,MACrB,IAAIsJ,GAAOk+C,GACT,MAAOr6B,QAAOsgB,aAAanwC,MAAM6vB,OAAQo6B,EAM3C,KAFA,GAAItiD,GAAM,GACNrI,EAAI,EACDA,EAAI0M,GACTrE,GAAOkoB,OAAOsgB,aAAanwC,MACzB6vB,OACAo6B,EAAWrqD,MAAMN,EAAGA,GAAK4qD,IAG7B,OAAOviD,GAGT,QAASkgD,GAAYx9C,EAAKpD,EAAOo+C,GAC/B,GAAIl4C,GAAM,EACVk4C,GAAMj+C,KAAKk6B,IAAIj3B,EAAI3H,OAAQ2iD,EAE3B,KAAK,GAAI/lD,GAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EAC7B6N,GAAO0iB,OAAOsgB,aAAsB,IAAT9lC,EAAI/K,GAEjC,OAAO6N,GAGT,QAAS26C,GAAaz9C,EAAKpD,EAAOo+C,GAChC,GAAIl4C,GAAM,EACVk4C,GAAMj+C,KAAKk6B,IAAIj3B,EAAI3H,OAAQ2iD,EAE3B,KAAK,GAAI/lD,GAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EAC7B6N,GAAO0iB,OAAOsgB,aAAa9lC,EAAI/K,GAEjC,OAAO6N,GAGT,QAASw6C,GAAUt9C,EAAKpD,EAAOo+C,GAC7B,GAAIr5C,GAAM3B,EAAI3H,SAETuE,GAASA,EAAQ,KAAGA,EAAQ,KAC5Bo+C,GAAOA,EAAM,GAAKA,EAAMr5C,KAAKq5C,EAAMr5C,EAGxC,KAAK,GADDm+C,GAAM,GACD7qD,EAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EAC7B6qD,GAAOC,EAAM//C,EAAI/K,GAEnB,OAAO6qD,GAGT,QAASnC,GAAc39C,EAAKpD,EAAOo+C,GAGjC,IAAK,GAFDlT,GAAQ9nC,EAAIzK,MAAMqH,EAAOo+C,GACzB19C,EAAM,GACDrI,EAAI,EAAGA,EAAI6yC,EAAMzvC,OAAQpD,GAAK,EACrCqI,GAAOkoB,OAAOsgB,aAAagC,EAAM7yC,GAAoB,IAAf6yC,EAAM7yC,EAAI,GAElD,OAAOqI,GA0CT,QAAS0iD,GAAa1K,EAAQ2K,EAAK5nD,GACjC,GAAKi9C,EAAS,IAAO,GAAKA,EAAS,EAAG,KAAM,IAAI1vC,YAAW,qBAC3D,IAAI0vC,EAAS2K,EAAM5nD,EAAQ,KAAM,IAAIuN,YAAW,yCA+JlD,QAASs6C,GAAUlgD,EAAKxI,EAAO89C,EAAQ2K,EAAK/zB,EAAK+K,GAC/C,IAAK8H,EAAO7B,SAASl9B,GAAM,KAAM,IAAIjJ,WAAU,8CAC/C,IAAIS,EAAQ00B,GAAO10B,EAAQy/B,EAAK,KAAM,IAAIrxB,YAAW,oCACrD,IAAI0vC,EAAS2K,EAAMjgD,EAAI3H,OAAQ,KAAM,IAAIuN,YAAW,sBAkDtD,QAASu6C,GAAmBngD,EAAKxI,EAAO89C,EAAQ8K,GAC1C5oD,EAAQ,IAAGA,EAAQ,MAASA,EAAQ,EACxC,KAAK,GAAIvC,GAAI,EAAGgS,EAAIlK,KAAKk6B,IAAIj3B,EAAI3H,OAASi9C,EAAQ,GAAIrgD,EAAIgS,IAAKhS,EAC7D+K,EAAIs1C,EAASrgD,IAAMuC,EAAS,KAAS,GAAK4oD,EAAenrD,EAAI,EAAIA,MAClC,GAA5BmrD,EAAenrD,EAAI,EAAIA,GA8B9B,QAASorD,GAAmBrgD,EAAKxI,EAAO89C,EAAQ8K,GAC1C5oD,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,EAC5C,KAAK,GAAIvC,GAAI,EAAGgS,EAAIlK,KAAKk6B,IAAIj3B,EAAI3H,OAASi9C,EAAQ,GAAIrgD,EAAIgS,IAAKhS,EAC7D+K,EAAIs1C,EAASrgD,GAAMuC,IAAuC,GAA5B4oD,EAAenrD,EAAI,EAAIA,GAAU,IAmJnE,QAASqrD,GAActgD,EAAKxI,EAAO89C,EAAQ2K,EAAK/zB,EAAK+K,GACnD,GAAIqe,EAAS2K,EAAMjgD,EAAI3H,OAAQ,KAAM,IAAIuN,YAAW,qBACpD,IAAI0vC,EAAS,EAAG,KAAM,IAAI1vC,YAAW,sBAGvC,QAAS26C,GAAYvgD,EAAKxI,EAAO89C,EAAQ8K,EAAcI,GAKrD,MAJKA,IACHF,EAAatgD,EAAKxI,EAAO89C,EAAQ,EAAG,uBAAwB,uBAE9DmL,EAAQ1oC,MAAM/X,EAAKxI,EAAO89C,EAAQ8K,EAAc,GAAI,GAC7C9K,EAAS,EAWlB,QAASoL,GAAa1gD,EAAKxI,EAAO89C,EAAQ8K,EAAcI,GAKtD,MAJKA,IACHF,EAAatgD,EAAKxI,EAAO89C,EAAQ,EAAG,wBAAyB,wBAE/DmL,EAAQ1oC,MAAM/X,EAAKxI,EAAO89C,EAAQ8K,EAAc,GAAI,GAC7C9K,EAAS,EAgIlB,QAASqL,GAAa9tC,GAIpB,GAFAA,EAAM+tC,EAAW/tC,GAAKwS,QAAQw7B,GAAmB,IAE7ChuC,EAAIxa,OAAS,EAAG,MAAO,EAE3B,MAAOwa,EAAIxa,OAAS,IAAM,GACxBwa,GAAY,GAEd,OAAOA,GAGT,QAAS+tC,GAAY/tC,GACnB,MAAIA,GAAIg1B,KAAah1B,EAAIg1B,OAClBh1B,EAAIwS,QAAQ,aAAc,IAGnC,QAAS06B,GAAO1+C,GACd,MAAIA,GAAI,GAAW,IAAMA,EAAEhB,SAAS,IAC7BgB,EAAEhB,SAAS,IAGpB,QAAS88C,GAAa/K,EAAQ0O,GAC5BA,EAAQA,GAASzT,GAMjB,KAAK,GALDgS,GACAhnD,EAAS+5C,EAAO/5C,OAChB0oD,EAAgB,KAChBjZ,KAEK7yC,EAAI,EAAGA,EAAIoD,IAAUpD,EAAG,CAI/B,GAHAoqD,EAAYjN,EAAOhH,WAAWn2C,GAG1BoqD,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAK0B,EAAe,CAElB,GAAI1B,EAAY,MAAQ,EAEjByB,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,IAC9C,UACK,GAAIhN,EAAI,IAAMoD,EAAQ,EAEtByoD,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,IAC9C,UAIF8+C,EAAgB1B,CAEhB,UAIF,GAAIA,EAAY,MAAQ,EACjByB,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,KAC9C8+C,EAAgB1B,CAChB,UAIFA,GAAa0B,EAAgB,OAAU,GAAK1B,EAAY,OAAU,UACzD0B,KAEJD,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,IAMhD,IAHA8+C,EAAgB,KAGZ1B,EAAY,IAAM,CACpB,IAAKyB,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KAAKo9C,OACN,IAAIA,EAAY,KAAO,CAC5B,IAAKyB,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KACJo9C,GAAa,EAAM,IACP,GAAZA,EAAmB,SAEhB,IAAIA,EAAY,MAAS,CAC9B,IAAKyB,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KACJo9C,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,KAAM,IAAI3iD,OAAM,qBARhB,KAAKokD,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KACJo9C,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,MAAOvX,GAGT,QAAS+W,GAAchsC,GAErB,IAAK,GADDmuC,MACK/rD,EAAI,EAAGA,EAAI4d,EAAIxa,SAAUpD,EAEhC+rD,EAAU/+C,KAAyB,IAApB4Q,EAAIu4B,WAAWn2C,GAEhC,OAAO+rD,GAGT,QAAS/B,GAAgBpsC,EAAKiuC,GAG5B,IAAK,GAFD/rD,GAAGksD,EAAIC,EACPF,KACK/rD,EAAI,EAAGA,EAAI4d,EAAIxa,WACjByoD,GAAS,GAAK,KADa7rD,EAGhCF,EAAI8d,EAAIu4B,WAAWn2C,GACnBgsD,EAAKlsD,GAAK,EACVmsD,EAAKnsD,EAAI,IACTisD,EAAU/+C,KAAKi/C,GACfF,EAAU/+C,KAAKg/C,EAGjB,OAAOD,GAGT,QAAS5D,GAAevqC,GACtB,MAAOqsC,GAAOiC,YAAYR,EAAY9tC,IAGxC,QAAS8rC,GAAYthC,EAAKE,EAAK+3B,EAAQj9C,GACrC,IAAK,GAAIpD,GAAI,EAAGA,EAAIoD,KACbpD,EAAIqgD,GAAU/3B,EAAIllB,QAAYpD,GAAKooB,EAAIhlB,UADhBpD,EAE5BsoB,EAAItoB,EAAIqgD,GAAUj4B,EAAIpoB,EAExB,OAAOA,GAGT,QAAS+nD,GAAO10C,GACd,MAAOA,KAAQA,EAjvDjB,GAAI42C,GAAS5qD,EAAQ,KACjBmsD,EAAUnsD,EAAQ,KAClB4gB,EAAU5gB,EAAQ,IAEtBG,GAAQsqC,OAASA,EACjBtqC,EAAQwoD,WAAaA,EACrBxoD,EAAQ2sD,kBAAoB,GA0B5BriB,EAAOkd,oBAAqDniD,SAA/BhE,EAAOmmD,oBAChCnmD,EAAOmmD,oBACPJ,IAKJpnD,EAAQunD,WAAaA,IAkErBjd,EAAOsiB,SAAW,KAGlBtiB,EAAOuiB,SAAW,SAAUvN,GAE1B,MADAA,GAAIl8C,UAAYknC,EAAO5pC,UAChB4+C,GA2BThV,EAAOvrB,KAAO,SAAUhc,EAAO4kD,EAAkB/jD,GAC/C,MAAOmb,GAAK,KAAMhc,EAAO4kD,EAAkB/jD,IAGzC0mC,EAAOkd,sBACTld,EAAO5pC,UAAU0C,UAAY+tC,WAAWzwC,UACxC4pC,EAAOlnC,UAAY+tC,WACG,mBAAX7tC,SAA0BA,OAAOwpD,SACxCxiB,EAAOhnC,OAAOwpD,WAAaxiB,GAE7B7pC,OAAOqD,eAAewmC,EAAQhnC,OAAOwpD,SACnC/pD,MAAO,KACPG,cAAc,KAiCpBonC,EAAOyd,MAAQ,SAAU3+B,EAAM4+B,EAAMC,GACnC,MAAOF,GAAM,KAAM3+B,EAAM4+B,EAAMC,IAiBjC3d,EAAOsd,YAAc,SAAUx+B,GAC7B,MAAOw+B,GAAY,KAAMx+B,IAK3BkhB,EAAOyiB,gBAAkB,SAAU3jC,GACjC,MAAOw+B,GAAY,KAAMx+B,IAiH3BkhB,EAAO7B,SAAW,SAAmBxnC,GACnC,QAAe,MAALA,IAAaA,EAAE+rD,YAG3B1iB,EAAOib,QAAU,SAAkBvkD,EAAGC,GACpC,IAAKqpC,EAAO7B,SAASznC,KAAOspC,EAAO7B,SAASxnC,GAC1C,KAAM,IAAIqB,WAAU,4BAGtB,IAAItB,IAAMC,EAAG,MAAO,EAKpB,KAAK,GAHDkX,GAAInX,EAAE4C,OACN8zC,EAAIz2C,EAAE2C,OAEDpD,EAAI,EAAG0M,EAAM5E,KAAKk6B,IAAIrqB,EAAGu/B,GAAIl3C,EAAI0M,IAAO1M,EAC/C,GAAIQ,EAAER,KAAOS,EAAET,GAAI,CACjB2X,EAAInX,EAAER,GACNk3C,EAAIz2C,EAAET,EACN,OAIJ,MAAI2X,GAAIu/B,GAAU,EACdA,EAAIv/B,EAAU,EACX,GAGTmyB,EAAO6d,WAAa,SAAqBF,GACvC,OAAQl3B,OAAOk3B,GAAUnnC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,CACT,SACE,OAAO,IAIbwpB,EAAOlpC,OAAS,SAAiB6M,EAAMrK,GACrC,IAAK6c,EAAQxS,GACX,KAAM,IAAI3L,WAAU,8CAGtB,IAAoB,IAAhB2L,EAAKrK,OACP,MAAO0mC,GAAOyd,MAAM,EAGtB,IAAIvnD,EACJ,IAAe6E,SAAXzB,EAEF,IADAA,EAAS,EACJpD,EAAI,EAAGA,EAAIyN,EAAKrK,SAAUpD,EAC7BoD,GAAUqK,EAAKzN,GAAGoD,MAItB,IAAI4tC,GAASlH,EAAOsd,YAAYhkD,GAC5BqiD,EAAM,CACV,KAAKzlD,EAAI,EAAGA,EAAIyN,EAAKrK,SAAUpD,EAAG,CAChC,GAAI+K,GAAM0C,EAAKzN,EACf,KAAK8pC,EAAO7B,SAASl9B,GACnB,KAAM,IAAIjJ,WAAU,8CAEtBiJ,GAAIq1C,KAAKpP,EAAQyU,GACjBA,GAAO16C,EAAI3H,OAEb,MAAO4tC,IA8CTlH,EAAOiH,WAAaA,EA0EpBjH,EAAO5pC,UAAUssD,WAAY,EAQ7B1iB,EAAO5pC,UAAUusD,OAAS,WACxB,GAAI//C,GAAM/L,KAAKyC,MACf,IAAIsJ,EAAM,IAAM,EACd,KAAM,IAAIiE,YAAW,4CAEvB,KAAK,GAAI3Q,GAAI,EAAGA,EAAI0M,EAAK1M,GAAK,EAC5B2oD,EAAKhoD,KAAMX,EAAGA,EAAI,EAEpB,OAAOW,OAGTmpC,EAAO5pC,UAAUwsD,OAAS,WACxB,GAAIhgD,GAAM/L,KAAKyC,MACf,IAAIsJ,EAAM,IAAM,EACd,KAAM,IAAIiE,YAAW,4CAEvB,KAAK,GAAI3Q,GAAI,EAAGA,EAAI0M,EAAK1M,GAAK,EAC5B2oD,EAAKhoD,KAAMX,EAAGA,EAAI,GAClB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,EAExB,OAAOW,OAGTmpC,EAAO5pC,UAAUysD,OAAS,WACxB,GAAIjgD,GAAM/L,KAAKyC,MACf,IAAIsJ,EAAM,IAAM,EACd,KAAM,IAAIiE,YAAW,4CAEvB,KAAK,GAAI3Q,GAAI,EAAGA,EAAI0M,EAAK1M,GAAK,EAC5B2oD,EAAKhoD,KAAMX,EAAGA,EAAI,GAClB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,GACtB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,GACtB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,EAExB,OAAOW,OAGTmpC,EAAO5pC,UAAUkL,SAAW,WAC1B,GAAIhI,GAAuB,EAAdzC,KAAKyC,MAClB,OAAe,KAAXA,EAAqB,GACA,IAArBwB,UAAUxB,OAAqBklD,EAAU3nD,KAAM,EAAGyC,GAC/CglD,EAAa1nD,MAAMC,KAAMiE,YAGlCklC,EAAO5pC,UAAU0sD,OAAS,SAAiBnsD,GACzC,IAAKqpC,EAAO7B,SAASxnC,GAAI,KAAM,IAAIqB,WAAU,4BAC7C,OAAInB,QAASF,GACsB,IAA5BqpC,EAAOib,QAAQpkD,KAAMF,IAG9BqpC,EAAO5pC,UAAU2sD,QAAU,WACzB,GAAIjvC,GAAM,GACNqZ,EAAMz3B,EAAQ2sD,iBAKlB,OAJIxrD,MAAKyC,OAAS,IAChBwa,EAAMjd,KAAKyK,SAAS,MAAO,EAAG6rB,GAAKnwB,MAAM,SAASkjB,KAAK,KACnDrpB,KAAKyC,OAAS6zB,IAAKrZ,GAAO,UAEzB,WAAaA,EAAM,KAG5BksB,EAAO5pC,UAAU6kD,QAAU,SAAkB7hD,EAAQyE,EAAOo+C,EAAK+G,EAAWC,GAC1E,IAAKjjB,EAAO7B,SAAS/kC,GACnB,KAAM,IAAIpB,WAAU,4BAgBtB,IAbc+C,SAAV8C,IACFA,EAAQ,GAEE9C,SAARkhD,IACFA,EAAM7iD,EAASA,EAAOE,OAAS,GAEfyB,SAAdioD,IACFA,EAAY,GAEEjoD,SAAZkoD,IACFA,EAAUpsD,KAAKyC,QAGbuE,EAAQ,GAAKo+C,EAAM7iD,EAAOE,QAAU0pD,EAAY,GAAKC,EAAUpsD,KAAKyC,OACtE,KAAM,IAAIuN,YAAW,qBAGvB,IAAIm8C,GAAaC,GAAWplD,GAASo+C,EACnC,MAAO,EAET,IAAI+G,GAAaC,EACf,OAAO,CAET,IAAIplD,GAASo+C,EACX,MAAO,EAQT,IALAp+C,KAAW,EACXo+C,KAAS,EACT+G,KAAe,EACfC,KAAa,EAETpsD,OAASuC,EAAQ,MAAO,EAS5B,KAAK,GAPDyU,GAAIo1C,EAAUD,EACd5V,EAAI6O,EAAMp+C,EACV+E,EAAM5E,KAAKk6B,IAAIrqB,EAAGu/B,GAElB8V,EAAWrsD,KAAKL,MAAMwsD,EAAWC,GACjCE,EAAa/pD,EAAO5C,MAAMqH,EAAOo+C,GAE5B/lD,EAAI,EAAGA,EAAI0M,IAAO1M,EACzB,GAAIgtD,EAAShtD,KAAOitD,EAAWjtD,GAAI,CACjC2X,EAAIq1C,EAAShtD,GACbk3C,EAAI+V,EAAWjtD,EACf,OAIJ,MAAI2X,GAAIu/B,GAAU,EACdA,EAAIv/B,EAAU,EACX,GA6HTmyB,EAAO5pC,UAAUuL,SAAW,SAAmB4H,EAAKy0C,EAAYL,GAC9D,MAAO9mD,MAAKsmB,QAAQ5T,EAAKy0C,EAAYL,MAAc,GAGrD3d,EAAO5pC,UAAU+mB,QAAU,SAAkB5T,EAAKy0C,EAAYL,GAC5D,MAAOmB,GAAqBjoD,KAAM0S,EAAKy0C,EAAYL,GAAU,IAG/D3d,EAAO5pC,UAAU4oD,YAAc,SAAsBz1C,EAAKy0C,EAAYL,GACpE,MAAOmB,GAAqBjoD,KAAM0S,EAAKy0C,EAAYL,GAAU,IAkD/D3d,EAAO5pC,UAAU4iB,MAAQ,SAAgBq6B,EAAQkD,EAAQj9C,EAAQqkD,GAE/D,GAAe5iD,SAAXw7C,EACFoH,EAAW,OACXrkD,EAASzC,KAAKyC,OACdi9C,EAAS,MAEJ,IAAex7C,SAAXzB,GAA0C,gBAAXi9C,GACxCoH,EAAWpH,EACXj9C,EAASzC,KAAKyC,OACdi9C,EAAS,MAEJ,KAAI3lB,SAAS2lB,GAWlB,KAAM,IAAI54C,OACR,0EAXF44C,IAAkB,EACd3lB,SAASt3B,IACXA,GAAkB,EACDyB,SAAb4iD,IAAwBA,EAAW,UAEvCA,EAAWrkD,EACXA,EAASyB,QASb,GAAI0kD,GAAY5oD,KAAKyC,OAASi9C,CAG9B,KAFex7C,SAAXzB,GAAwBA,EAASmmD,KAAWnmD,EAASmmD,GAEpDpM,EAAO/5C,OAAS,IAAMA,EAAS,GAAKi9C,EAAS,IAAOA,EAAS1/C,KAAKyC,OACrE,KAAM,IAAIuN,YAAW,yCAGlB82C,KAAUA,EAAW,OAG1B,KADA,GAAIQ,IAAc,IAEhB,OAAQR,GACN,IAAK,MACH,MAAO6B,GAAS3oD,KAAMw8C,EAAQkD,EAAQj9C,EAExC,KAAK,OACL,IAAK,QACH,MAAOqmD,GAAU9oD,KAAMw8C,EAAQkD,EAAQj9C,EAEzC,KAAK,QACH,MAAOumD,GAAWhpD,KAAMw8C,EAAQkD,EAAQj9C,EAE1C,KAAK,SACL,IAAK,SACH,MAAOymD,GAAYlpD,KAAMw8C,EAAQkD,EAAQj9C,EAE3C,KAAK,SAEH,MAAO0mD,GAAYnpD,KAAMw8C,EAAQkD,EAAQj9C,EAE3C,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO2mD,GAAUppD,KAAMw8C,EAAQkD,EAAQj9C,EAEzC,SACE,GAAI6kD,EAAa,KAAM,IAAInmD,WAAU,qBAAuB2lD,EAC5DA,IAAY,GAAKA,GAAUnnC,cAC3B2nC,GAAc,IAKtBne,EAAO5pC,UAAU0S,OAAS,WACxB,OACErG,KAAM,SACN3E,KAAMzB,MAAMjG,UAAUI,MAAMV,KAAKe,KAAKo+C,MAAQp+C,KAAM,IAwFxD,IAAIiqD,IAAuB,IA8D3B9gB,GAAO5pC,UAAUI,MAAQ,SAAgBqH,EAAOo+C,GAC9C,GAAIr5C,GAAM/L,KAAKyC,MACfuE,KAAUA,EACVo+C,EAAclhD,SAARkhD,EAAoBr5C,IAAQq5C,EAE9Bp+C,EAAQ,GACVA,GAAS+E,EACL/E,EAAQ,IAAGA,EAAQ,IACdA,EAAQ+E,IACjB/E,EAAQ+E,GAGNq5C,EAAM,GACRA,GAAOr5C,EACHq5C,EAAM,IAAGA,EAAM,IACVA,EAAMr5C,IACfq5C,EAAMr5C,GAGJq5C,EAAMp+C,IAAOo+C,EAAMp+C,EAEvB,IAAIulD,EACJ,IAAIpjB,EAAOkd,oBACTkG,EAASvsD,KAAKmmD,SAASn/C,EAAOo+C,GAC9BmH,EAAOtqD,UAAYknC,EAAO5pC,cACrB,CACL,GAAIitD,GAAWpH,EAAMp+C,CACrBulD,GAAS,GAAIpjB,GAAOqjB,EAAUtoD,OAC9B,KAAK,GAAI7E,GAAI,EAAGA,EAAImtD,IAAYntD,EAC9BktD,EAAOltD,GAAKW,KAAKX,EAAI2H,GAIzB,MAAOulD,IAWTpjB,EAAO5pC,UAAUktD,WAAa,SAAqB/M,EAAQtP,EAAYwa,GACrElL,GAAkB,EAClBtP,GAA0B,EACrBwa,GAAUR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKpD,KAHA,GAAIiQ,GAAM1S,KAAK0/C,GACXgN,EAAM,EACNrtD,EAAI,IACCA,EAAI+wC,IAAesc,GAAO,MACjCh6C,GAAO1S,KAAK0/C,EAASrgD,GAAKqtD,CAG5B,OAAOh6C,IAGTy2B,EAAO5pC,UAAUotD,WAAa,SAAqBjN,EAAQtP,EAAYwa,GACrElL,GAAkB,EAClBtP,GAA0B,EACrBwa,GACHR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKvC,KAFA,GAAIiQ,GAAM1S,KAAK0/C,IAAWtP,GACtBsc,EAAM,EACHtc,EAAa,IAAMsc,GAAO,MAC/Bh6C,GAAO1S,KAAK0/C,IAAWtP,GAAcsc,CAGvC,OAAOh6C,IAGTy2B,EAAO5pC,UAAUqtD,UAAY,SAAoBlN,EAAQkL,GAEvD,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCzC,KAAK0/C,IAGdvW,EAAO5pC,UAAUstD,aAAe,SAAuBnN,EAAQkL,GAE7D,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCzC,KAAK0/C,GAAW1/C,KAAK0/C,EAAS,IAAM,GAG7CvW,EAAO5pC,UAAU+oD,aAAe,SAAuB5I,EAAQkL,GAE7D,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACnCzC,KAAK0/C,IAAW,EAAK1/C,KAAK0/C,EAAS,IAG7CvW,EAAO5pC,UAAUutD,aAAe,SAAuBpN,EAAQkL,GAG7D,MAFKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,SAElCzC,KAAK0/C,GACT1/C,KAAK0/C,EAAS,IAAM,EACpB1/C,KAAK0/C,EAAS,IAAM,IACD,SAAnB1/C,KAAK0/C,EAAS,IAGrBvW,EAAO5pC,UAAUwtD,aAAe,SAAuBrN,EAAQkL,GAG7D,MAFKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QAEpB,SAAfzC,KAAK0/C,IACT1/C,KAAK0/C,EAAS,IAAM,GACrB1/C,KAAK0/C,EAAS,IAAM,EACrB1/C,KAAK0/C,EAAS,KAGlBvW,EAAO5pC,UAAUytD,UAAY,SAAoBtN,EAAQtP,EAAYwa,GACnElL,GAAkB,EAClBtP,GAA0B,EACrBwa,GAAUR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKpD,KAHA,GAAIiQ,GAAM1S,KAAK0/C,GACXgN,EAAM,EACNrtD,EAAI,IACCA,EAAI+wC,IAAesc,GAAO,MACjCh6C,GAAO1S,KAAK0/C,EAASrgD,GAAKqtD,CAM5B,OAJAA,IAAO,IAEHh6C,GAAOg6C,IAAKh6C,GAAOvL,KAAK0wC,IAAI,EAAG,EAAIzH,IAEhC19B,GAGTy2B,EAAO5pC,UAAU0tD,UAAY,SAAoBvN,EAAQtP,EAAYwa,GACnElL,GAAkB,EAClBtP,GAA0B,EACrBwa,GAAUR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKpD,KAHA,GAAIpD,GAAI+wC,EACJsc,EAAM,EACNh6C,EAAM1S,KAAK0/C,IAAWrgD,GACnBA,EAAI,IAAMqtD,GAAO,MACtBh6C,GAAO1S,KAAK0/C,IAAWrgD,GAAKqtD,CAM9B,OAJAA,IAAO,IAEHh6C,GAAOg6C,IAAKh6C,GAAOvL,KAAK0wC,IAAI,EAAG,EAAIzH,IAEhC19B,GAGTy2B,EAAO5pC,UAAU2tD,SAAW,SAAmBxN,EAAQkL,GAErD,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACtB,IAAfzC,KAAK0/C,IACF,IAAO1/C,KAAK0/C,GAAU,IAAK,EADA1/C,KAAK0/C,IAI3CvW,EAAO5pC,UAAU4tD,YAAc,SAAsBzN,EAAQkL,GACtDA,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,OAC3C,IAAIiQ,GAAM1S,KAAK0/C,GAAW1/C,KAAK0/C,EAAS,IAAM,CAC9C,OAAc,OAANhtC,EAAsB,WAANA,EAAmBA,GAG7Cy2B,EAAO5pC,UAAU6tD,YAAc,SAAsB1N,EAAQkL,GACtDA,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,OAC3C,IAAIiQ,GAAM1S,KAAK0/C,EAAS,GAAM1/C,KAAK0/C,IAAW,CAC9C,OAAc,OAANhtC,EAAsB,WAANA,EAAmBA,GAG7Cy2B,EAAO5pC,UAAU8tD,YAAc,SAAsB3N,EAAQkL,GAG3D,MAFKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QAEnCzC,KAAK0/C,GACV1/C,KAAK0/C,EAAS,IAAM,EACpB1/C,KAAK0/C,EAAS,IAAM,GACpB1/C,KAAK0/C,EAAS,IAAM,IAGzBvW,EAAO5pC,UAAU+tD,YAAc,SAAsB5N,EAAQkL,GAG3D,MAFKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QAEnCzC,KAAK0/C,IAAW,GACrB1/C,KAAK0/C,EAAS,IAAM,GACpB1/C,KAAK0/C,EAAS,IAAM,EACpB1/C,KAAK0/C,EAAS,IAGnBvW,EAAO5pC,UAAUguD,YAAc,SAAsB7N,EAAQkL,GAE3D,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAM,GAAI,IAG9CvW,EAAO5pC,UAAUiuD,YAAc,SAAsB9N,EAAQkL,GAE3D,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAO,GAAI,IAG/CvW,EAAO5pC,UAAUkuD,aAAe,SAAuB/N,EAAQkL,GAE7D,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAM,GAAI,IAG9CvW,EAAO5pC,UAAUmuD,aAAe,SAAuBhO,EAAQkL,GAE7D,MADKA,IAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAO,GAAI,IAS/CvW,EAAO5pC,UAAUouD,YAAc,SAAsB/rD,EAAO89C,EAAQtP,EAAYwa,GAI9E,GAHAhpD,GAASA,EACT89C,GAAkB,EAClBtP,GAA0B,GACrBwa,EAAU,CACb,GAAIgD,GAAWzmD,KAAK0wC,IAAI,EAAG,EAAIzH,GAAc,CAC7Cka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAYwd,EAAU,GAGtD,GAAIlB,GAAM,EACNrtD,EAAI,CAER,KADAW,KAAK0/C,GAAkB,IAAR99C,IACNvC,EAAI+wC,IAAesc,GAAO,MACjC1sD,KAAK0/C,EAASrgD,GAAMuC,EAAQ8qD,EAAO,GAGrC,OAAOhN,GAAStP,GAGlBjH,EAAO5pC,UAAUsuD,YAAc,SAAsBjsD,EAAO89C,EAAQtP,EAAYwa,GAI9E,GAHAhpD,GAASA,EACT89C,GAAkB,EAClBtP,GAA0B,GACrBwa,EAAU,CACb,GAAIgD,GAAWzmD,KAAK0wC,IAAI,EAAG,EAAIzH,GAAc,CAC7Cka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAYwd,EAAU,GAGtD,GAAIvuD,GAAI+wC,EAAa,EACjBsc,EAAM,CAEV,KADA1sD,KAAK0/C,EAASrgD,GAAa,IAARuC,IACVvC,GAAK,IAAMqtD,GAAO,MACzB1sD,KAAK0/C,EAASrgD,GAAMuC,EAAQ8qD,EAAO,GAGrC,OAAOhN,GAAStP,GAGlBjH,EAAO5pC,UAAUuuD,WAAa,SAAqBlsD,EAAO89C,EAAQkL,GAMhE,MALAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,IAAM,GACjDvW,EAAOkd,sBAAqBzkD,EAAQuF,KAAK2vC,MAAMl1C,IACpD5B,KAAK0/C,GAAmB,IAAR99C,EACT89C,EAAS,GAWlBvW,EAAO5pC,UAAUwuD,cAAgB,SAAwBnsD,EAAO89C,EAAQkL,GAUtE,MATAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,MAAQ,GACpDvW,EAAOkd,qBACTrmD,KAAK0/C,GAAmB,IAAR99C,EAChB5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAE9B2oD,EAAkBvqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAGlBvW,EAAO5pC,UAAUyuD,cAAgB,SAAwBpsD,EAAO89C,EAAQkL,GAUtE,MATAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,MAAQ,GACpDvW,EAAOkd,qBACTrmD,KAAK0/C,GAAW99C,IAAU,EAC1B5B,KAAK0/C,EAAS,GAAc,IAAR99C,GAEpB2oD,EAAkBvqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAUlBvW,EAAO5pC,UAAU0uD,cAAgB,SAAwBrsD,EAAO89C,EAAQkL,GAYtE,MAXAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,WAAY,GACxDvW,EAAOkd,qBACTrmD,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,GAAmB,IAAR99C,GAEhB6oD,EAAkBzqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAGlBvW,EAAO5pC,UAAU2uD,cAAgB,SAAwBtsD,EAAO89C,EAAQkL,GAYtE,MAXAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,WAAY,GACxDvW,EAAOkd,qBACTrmD,KAAK0/C,GAAW99C,IAAU,GAC1B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,EAAS,GAAc,IAAR99C,GAEpB6oD,EAAkBzqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAGlBvW,EAAO5pC,UAAU4uD,WAAa,SAAqBvsD,EAAO89C,EAAQtP,EAAYwa,GAG5E,GAFAhpD,GAASA,EACT89C,GAAkB,GACbkL,EAAU,CACb,GAAItxB,GAAQnyB,KAAK0wC,IAAI,EAAG,EAAIzH,EAAa,EAEzCka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAY9W,EAAQ,GAAIA,GAGxD,GAAIj6B,GAAI,EACJqtD,EAAM,EACN0B,EAAM,CAEV,KADApuD,KAAK0/C,GAAkB,IAAR99C,IACNvC,EAAI+wC,IAAesc,GAAO,MAC7B9qD,EAAQ,GAAa,IAARwsD,GAAsC,IAAzBpuD,KAAK0/C,EAASrgD,EAAI,KAC9C+uD,EAAM,GAERpuD,KAAK0/C,EAASrgD,IAAOuC,EAAQ8qD,GAAQ,GAAK0B,EAAM,GAGlD,OAAO1O,GAAStP,GAGlBjH,EAAO5pC,UAAU8uD,WAAa,SAAqBzsD,EAAO89C,EAAQtP,EAAYwa,GAG5E,GAFAhpD,GAASA,EACT89C,GAAkB,GACbkL,EAAU,CACb,GAAItxB,GAAQnyB,KAAK0wC,IAAI,EAAG,EAAIzH,EAAa,EAEzCka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAY9W,EAAQ,GAAIA,GAGxD,GAAIj6B,GAAI+wC,EAAa,EACjBsc,EAAM,EACN0B,EAAM,CAEV,KADApuD,KAAK0/C,EAASrgD,GAAa,IAARuC,IACVvC,GAAK,IAAMqtD,GAAO,MACrB9qD,EAAQ,GAAa,IAARwsD,GAAsC,IAAzBpuD,KAAK0/C,EAASrgD,EAAI,KAC9C+uD,EAAM,GAERpuD,KAAK0/C,EAASrgD,IAAOuC,EAAQ8qD,GAAQ,GAAK0B,EAAM,GAGlD,OAAO1O,GAAStP,GAGlBjH,EAAO5pC,UAAU+uD,UAAY,SAAoB1sD,EAAO89C,EAAQkL,GAO9D,MANAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,KAAM,KACjDvW,EAAOkd,sBAAqBzkD,EAAQuF,KAAK2vC,MAAMl1C,IAChDA,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC5B,KAAK0/C,GAAmB,IAAR99C,EACT89C,EAAS,GAGlBvW,EAAO5pC,UAAUgvD,aAAe,SAAuB3sD,EAAO89C,EAAQkL,GAUpE,MATAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,OAAQ,OACpDvW,EAAOkd,qBACTrmD,KAAK0/C,GAAmB,IAAR99C,EAChB5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAE9B2oD,EAAkBvqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAGlBvW,EAAO5pC,UAAUivD,aAAe,SAAuB5sD,EAAO89C,EAAQkL,GAUpE,MATAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,OAAQ,OACpDvW,EAAOkd,qBACTrmD,KAAK0/C,GAAW99C,IAAU,EAC1B5B,KAAK0/C,EAAS,GAAc,IAAR99C,GAEpB2oD,EAAkBvqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAGlBvW,EAAO5pC,UAAUkvD,aAAe,SAAuB7sD,EAAO89C,EAAQkL,GAYpE,MAXAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,YAAY,YACxDvW,EAAOkd,qBACTrmD,KAAK0/C,GAAmB,IAAR99C,EAChB5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,IAE9B6oD,EAAkBzqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAGlBvW,EAAO5pC,UAAUmvD,aAAe,SAAuB9sD,EAAO89C,EAAQkL,GAapE,MAZAhpD,IAASA,EACT89C,GAAkB,EACbkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,YAAY,YACxD99C,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GACxCunC,EAAOkd,qBACTrmD,KAAK0/C,GAAW99C,IAAU,GAC1B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,EAAS,GAAc,IAAR99C,GAEpB6oD,EAAkBzqD,KAAM4B,EAAO89C,GAAQ,GAElCA,EAAS,GAgBlBvW,EAAO5pC,UAAUovD,aAAe,SAAuB/sD,EAAO89C,EAAQkL,GACpE,MAAOD,GAAW3qD,KAAM4B,EAAO89C,GAAQ,EAAMkL,IAG/CzhB,EAAO5pC,UAAUqvD,aAAe,SAAuBhtD,EAAO89C,EAAQkL,GACpE,MAAOD,GAAW3qD,KAAM4B,EAAO89C,GAAQ,EAAOkL,IAWhDzhB,EAAO5pC,UAAUsvD,cAAgB,SAAwBjtD,EAAO89C,EAAQkL,GACtE,MAAOE,GAAY9qD,KAAM4B,EAAO89C,GAAQ,EAAMkL,IAGhDzhB,EAAO5pC,UAAUuvD,cAAgB,SAAwBltD,EAAO89C,EAAQkL,GACtE,MAAOE,GAAY9qD,KAAM4B,EAAO89C,GAAQ,EAAOkL,IAIjDzhB,EAAO5pC,UAAUkgD,KAAO,SAAel9C,EAAQwsD,EAAa/nD,EAAOo+C,GAQjE,GAPKp+C,IAAOA,EAAQ,GACfo+C,GAAe,IAARA,IAAWA,EAAMplD,KAAKyC,QAC9BssD,GAAexsD,EAAOE,SAAQssD,EAAcxsD,EAAOE,QAClDssD,IAAaA,EAAc,GAC5B3J,EAAM,GAAKA,EAAMp+C,IAAOo+C,EAAMp+C,GAG9Bo+C,IAAQp+C,EAAO,MAAO,EAC1B,IAAsB,IAAlBzE,EAAOE,QAAgC,IAAhBzC,KAAKyC,OAAc,MAAO,EAGrD,IAAIssD,EAAc,EAChB,KAAM,IAAI/+C,YAAW,4BAEvB,IAAIhJ,EAAQ,GAAKA,GAAShH,KAAKyC,OAAQ,KAAM,IAAIuN,YAAW,4BAC5D,IAAIo1C,EAAM,EAAG,KAAM,IAAIp1C,YAAW,0BAG9Bo1C,GAAMplD,KAAKyC,SAAQ2iD,EAAMplD,KAAKyC,QAC9BF,EAAOE,OAASssD,EAAc3J,EAAMp+C,IACtCo+C,EAAM7iD,EAAOE,OAASssD,EAAc/nD,EAGtC,IACI3H,GADA0M,EAAMq5C,EAAMp+C,CAGhB,IAAIhH,OAASuC,GAAUyE,EAAQ+nD,GAAeA,EAAc3J,EAE1D,IAAK/lD,EAAI0M,EAAM,EAAG1M,GAAK,IAAKA,EAC1BkD,EAAOlD,EAAI0vD,GAAe/uD,KAAKX,EAAI2H,OAEhC,IAAI+E,EAAM,MAASo9B,EAAOkd,oBAE/B,IAAKhnD,EAAI,EAAGA,EAAI0M,IAAO1M,EACrBkD,EAAOlD,EAAI0vD,GAAe/uD,KAAKX,EAAI2H,OAGrCgpC,YAAWzwC,UAAU6I,IAAInJ,KACvBsD,EACAvC,KAAKmmD,SAASn/C,EAAOA,EAAQ+E,GAC7BgjD,EAIJ,OAAOhjD,IAOTo9B,EAAO5pC,UAAUsnD,KAAO,SAAen0C,EAAK1L,EAAOo+C,EAAK0B,GAEtD,GAAmB,gBAARp0C,GAAkB,CAS3B,GARqB,gBAAV1L,IACT8/C,EAAW9/C,EACXA,EAAQ,EACRo+C,EAAMplD,KAAKyC,QACa,gBAAR2iD,KAChB0B,EAAW1B,EACXA,EAAMplD,KAAKyC,QAEM,IAAfiQ,EAAIjQ,OAAc,CACpB,GAAIo2B,GAAOnmB,EAAI8iC,WAAW,EACtB3c,GAAO,MACTnmB,EAAMmmB,GAGV,GAAiB30B,SAAb4iD,GAA8C,gBAAbA,GACnC,KAAM,IAAI3lD,WAAU,4BAEtB,IAAwB,gBAAb2lD,KAA0B3d,EAAO6d,WAAWF,GACrD,KAAM,IAAI3lD,WAAU,qBAAuB2lD,OAErB,gBAARp0C,KAChBA,GAAY,IAId,IAAI1L,EAAQ,GAAKhH,KAAKyC,OAASuE,GAAShH,KAAKyC,OAAS2iD,EACpD,KAAM,IAAIp1C,YAAW,qBAGvB,IAAIo1C,GAAOp+C,EACT,MAAOhH,KAGTgH,MAAkB,EAClBo+C,EAAclhD,SAARkhD,EAAoBplD,KAAKyC,OAAS2iD,IAAQ,EAE3C1yC,IAAKA,EAAM,EAEhB,IAAIrT,EACJ,IAAmB,gBAARqT,GACT,IAAKrT,EAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EACzBW,KAAKX,GAAKqT,MAEP,CACL,GAAIw/B,GAAQ/I,EAAO7B,SAAS50B,GACxBA,EACA60C,EAAY,GAAIpe,GAAOz2B,EAAKo0C,GAAUr8C,YACtCsB,EAAMmmC,EAAMzvC,MAChB,KAAKpD,EAAI,EAAGA,EAAI+lD,EAAMp+C,IAAS3H,EAC7BW,KAAKX,EAAI2H,GAASkrC,EAAM7yC,EAAI0M,GAIhC,MAAO/L,MAMT,IAAIirD,IAAoB,uBpG0gXMhsD,KAAKJ,EAAU,WAAa,MAAOmB,WAI3D,SAAUlB,EAAQD,GqG3naxB,YAmBA,SAASmwD,GAAmBC,GAC1B,GAAIljD,GAAMkjD,EAAIxsD,MACd,IAAIsJ,EAAM,EAAI,EACZ,KAAM,IAAIjF,OAAM,iDAQlB,OAAwB,MAAjBmoD,EAAIljD,EAAM,GAAa,EAAqB,MAAjBkjD,EAAIljD,EAAM,GAAa,EAAI,EAG/D,QAASqkC,GAAY6e,GAEnB,MAAqB,GAAbA,EAAIxsD,OAAa,EAAKusD,EAAkBC,GAGlD,QAAS1D,GAAa0D,GACpB,GAAI5vD,GAAG0d,EAAGmyC,EAAKC,EAAchR,EACzBpyC,EAAMkjD,EAAIxsD,MACd0sD,GAAeH,EAAkBC,GAEjC9Q,EAAM,GAAIiR,GAAW,EAANrjD,EAAU,EAAKojD,GAG9BpyC,EAAIoyC,EAAe,EAAIpjD,EAAM,EAAIA,CAEjC,IAAIsjD,GAAI,CAER,KAAKhwD,EAAI,EAAGA,EAAI0d,EAAG1d,GAAK,EACtB6vD,EAAOI,EAAUL,EAAIzZ,WAAWn2C,KAAO,GAAOiwD,EAAUL,EAAIzZ,WAAWn2C,EAAI,KAAO,GAAOiwD,EAAUL,EAAIzZ,WAAWn2C,EAAI,KAAO,EAAKiwD,EAAUL,EAAIzZ,WAAWn2C,EAAI,IAC/J8+C,EAAIkR,KAAQH,GAAO,GAAM,IACzB/Q,EAAIkR,KAAQH,GAAO,EAAK,IACxB/Q,EAAIkR,KAAa,IAANH,CAYb,OATqB,KAAjBC,GACFD,EAAOI,EAAUL,EAAIzZ,WAAWn2C,KAAO,EAAMiwD,EAAUL,EAAIzZ,WAAWn2C,EAAI,KAAO,EACjF8+C,EAAIkR,KAAa,IAANH,GACe,IAAjBC,IACTD,EAAOI,EAAUL,EAAIzZ,WAAWn2C,KAAO,GAAOiwD,EAAUL,EAAIzZ,WAAWn2C,EAAI,KAAO,EAAMiwD,EAAUL,EAAIzZ,WAAWn2C,EAAI,KAAO,EAC5H8+C,EAAIkR,KAAQH,GAAO,EAAK,IACxB/Q,EAAIkR,KAAa,IAANH,GAGN/Q,EAGT,QAASoR,GAAiBlN,GACxB,MAAOmN,GAAOnN,GAAO,GAAK,IAAQmN,EAAOnN,GAAO,GAAK,IAAQmN,EAAOnN,GAAO,EAAI,IAAQmN,EAAa,GAANnN,GAGhG,QAASoN,GAAa7O,EAAO55C,EAAOo+C,GAGlC,IAAK,GAFD8J,GACAQ,KACKrwD,EAAI2H,EAAO3H,EAAI+lD,EAAK/lD,GAAK,EAChC6vD,GAAOtO,EAAMvhD,IAAM,KAAOuhD,EAAMvhD,EAAI,IAAM,GAAMuhD,EAAMvhD,EAAI,GAC1DqwD,EAAOrjD,KAAKkjD,EAAgBL,GAE9B,OAAOQ,GAAOrmC,KAAK,IAGrB,QAASkgC,GAAe3I,GAStB,IAAK,GARDsO,GACAnjD,EAAM60C,EAAMn+C,OACZktD,EAAa5jD,EAAM,EACnB2jD,EAAS,GACTpd,KACAsd,EAAiB,MAGZvwD,EAAI,EAAGwwD,EAAO9jD,EAAM4jD,EAAYtwD,EAAIwwD,EAAMxwD,GAAKuwD,EACtDtd,EAAMjmC,KAAKojD,EAAY7O,EAAOvhD,EAAIA,EAAIuwD,EAAkBC,EAAOA,EAAQxwD,EAAIuwD,GAmB7E,OAfmB,KAAfD,GACFT,EAAMtO,EAAM70C,EAAM,GAClB2jD,GAAUF,EAAON,GAAO,GACxBQ,GAAUF,EAAQN,GAAO,EAAK,IAC9BQ,GAAU,MACc,IAAfC,IACTT,GAAOtO,EAAM70C,EAAM,IAAM,GAAM60C,EAAM70C,EAAM,GAC3C2jD,GAAUF,EAAON,GAAO,IACxBQ,GAAUF,EAAQN,GAAO,EAAK,IAC9BQ,GAAUF,EAAQN,GAAO,EAAK,IAC9BQ,GAAU,KAGZpd,EAAMjmC,KAAKqjD,GAEJpd,EAAMjpB,KAAK,IA9GpBxqB,EAAQuxC,WAAaA,EACrBvxC,EAAQ0sD,YAAcA,EACtB1sD,EAAQ0qD,cAAgBA,CAOxB,KAAK,GALDiG,MACAF,KACAF,EAA4B,mBAAfpf,YAA6BA,WAAaxqC,MAEvDqzB,EAAO,mEACFx5B,EAAI,EAAG0M,EAAM8sB,EAAKp2B,OAAQpD,EAAI0M,IAAO1M,EAC5CmwD,EAAOnwD,GAAKw5B,EAAKx5B,GACjBiwD,EAAUz2B,EAAK2c,WAAWn2C,IAAMA,CAGlCiwD,GAAU,IAAI9Z,WAAW,IAAM,GAC/B8Z,EAAU,IAAI9Z,WAAW,IAAM,IrGiuazB,SAAU12C,EAAQD,GAEvB,YsGpvaDA,GAAQupD,KAAO,SAAU/X,EAAQqP,EAAQoQ,EAAMC,EAAMC,GACnD,GAAI3oD,GAAGnI,EACH+wD,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAQ,EACR/wD,EAAIywD,EAAQE,EAAS,EAAK,EAC1B1oD,EAAIwoD,GAAO,EAAK,EAChBrZ,EAAIpG,EAAOqP,EAASrgD,EAOxB,KALAA,GAAKiI,EAELD,EAAIovC,GAAM,IAAO2Z,GAAU,EAC3B3Z,KAAQ2Z,EACRA,GAASH,EACFG,EAAQ,EAAG/oD,EAAQ,IAAJA,EAAUgpC,EAAOqP,EAASrgD,GAAIA,GAAKiI,EAAG8oD,GAAS,GAKrE,IAHAlxD,EAAImI,GAAM,IAAO+oD,GAAU,EAC3B/oD,KAAQ+oD,EACRA,GAASL,EACFK,EAAQ,EAAGlxD,EAAQ,IAAJA,EAAUmxC,EAAOqP,EAASrgD,GAAIA,GAAKiI,EAAG8oD,GAAS,GAErE,GAAU,IAAN/oD,EACFA,EAAI,EAAI8oD,MACH,IAAI9oD,IAAM6oD,EACf,MAAOhxD,GAAImxD,KAAQ5Z,GAAI,EAAK,IAAKgB,IAEjCv4C,IAAQiI,KAAK0wC,IAAI,EAAGkY,GACpB1oD,GAAQ8oD,EAEV,OAAQ1Z,GAAI,EAAK,GAAKv3C,EAAIiI,KAAK0wC,IAAI,EAAGxwC,EAAI0oD,IAG5ClxD,EAAQsjB,MAAQ,SAAUkuB,EAAQzuC,EAAO89C,EAAQoQ,EAAMC,EAAMC,GAC3D,GAAI3oD,GAAGnI,EAAGC,EACN8wD,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBI,EAAe,KAATP,EAAc5oD,KAAK0wC,IAAI,GAAG,IAAO1wC,KAAK0wC,IAAI,GAAG,IAAO,EAC1Dx4C,EAAIywD,EAAO,EAAKE,EAAS,EACzB1oD,EAAIwoD,EAAO,GAAI,EACfrZ,EAAI70C,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,CAmC1D,KAjCAA,EAAQuF,KAAKsuC,IAAI7zC,GAEb8J,MAAM9J,IAAUA,IAAU61C,KAC5Bv4C,EAAIwM,MAAM9J,GAAS,EAAI,EACvByF,EAAI6oD,IAEJ7oD,EAAIF,KAAK2vC,MAAM3vC,KAAKN,IAAIjF,GAASuF,KAAKopD,KAClC3uD,GAASzC,EAAIgI,KAAK0wC,IAAI,GAAIxwC,IAAM,IAClCA,IACAlI,GAAK,GAGLyC,GADEyF,EAAI8oD,GAAS,EACNG,EAAKnxD,EAELmxD,EAAKnpD,KAAK0wC,IAAI,EAAG,EAAIsY,GAE5BvuD,EAAQzC,GAAK,IACfkI,IACAlI,GAAK,GAGHkI,EAAI8oD,GAASD,GACfhxD,EAAI,EACJmI,EAAI6oD,GACK7oD,EAAI8oD,GAAS,GACtBjxD,GAAK0C,EAAQzC,EAAI,GAAKgI,KAAK0wC,IAAI,EAAGkY,GAClC1oD,GAAQ8oD,IAERjxD,EAAI0C,EAAQuF,KAAK0wC,IAAI,EAAGsY,EAAQ,GAAKhpD,KAAK0wC,IAAI,EAAGkY,GACjD1oD,EAAI,IAID0oD,GAAQ,EAAG1f,EAAOqP,EAASrgD,GAAS,IAAJH,EAAUG,GAAKiI,EAAGpI,GAAK,IAAK6wD,GAAQ,GAI3E,IAFA1oD,EAAKA,GAAK0oD,EAAQ7wD,EAClB+wD,GAAQF,EACDE,EAAO,EAAG5f,EAAOqP,EAASrgD,GAAS,IAAJgI,EAAUhI,GAAKiI,EAAGD,GAAK,IAAK4oD,GAAQ,GAE1E5f,EAAOqP,EAASrgD,EAAIiI,IAAU,IAAJmvC,ItG2vatB,SAAU33C,EAAQD,GAEvB,YuG/0aD,IAAI4L,MAAcA,QAElB3L,GAAOD,QAAU2G,MAAM8Z,SAAW,SAAU6+B,GAC1C,MAA6B,kBAAtB1zC,EAASxL,KAAKk/C,KvGs1ajB,SAAUr/C,EAAQD,EAASH,GAEhC,YwG11aDI,GAAOD,SACHgnD,QAASnnD,EAAQ,KACjB8xD,IAAK9xD,EAAQ,KACb+xD,WAAY/xD,EAAQ,KACpB6mD,UAAW7mD,EAAQ,KACnBgyD,UAAWhyD,EAAQ,KACnBiyD,SAAUjyD,EAAQ,KAClBkyD,UAAWlyD,EAAQ,KACnB6L,KAAM7L,EAAQ,KACd+mD,WAAY/mD,EAAQ,MxGi2alB,SAAUI,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YAI9C,SAASnoC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MyG/2a3hB2vD,EAASnyD,EAAQ,KACjB6B,EAAS7B,EAAQ,IACjB6L,EAAO7L,EAAQ,KACfoyD,EAASpyD,EAAQ,KAKjBmnD,EzGo3aS,WyGl3aX,QAAAA,GAAYD,GAAM5kD,EAAAhB,KAAA6lD,GAAE7lD,KAAK4lD,KAAOA,EzGm7a/B,MA1DAvjD,GAAawjD,IACTjjD,IAAK,WACLhB,MAAO,WyGx1aR,MAAO5B,MAAK4lD,QzG41aXhjD,IAAK,WACLhB,MAAO,WyG11a4C,GAA/CyqC,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,kBAC3B20C,EAAWxmD,EAAKu7C,UAAU9lD,KAAK4lD,MAC/BA,EAAOzc,EAAOlpC,QAAQD,KAAK4lD,KAAMmL,EAASpxD,MAAM,EAAG,IACzD,OAAO0sC,GAAiBykB,EAAOE,OAAOpL,QzG+1arChjD,IAAK,aACLhB,MAAO,SyGv4aMyuC,GACd,GAAM4gB,GAAQ1mD,EAAK2mD,OAAO7gB,GACpBuV,EAAOr7C,EAAKu7C,UAAUmL,EAC5B,OAAO,IAAIpL,GAAQD,MzG04alBhjD,IAAK,aACLhB,MAAO,SyGx4aM46C,GAAuD,GAA/CnQ,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,kBAC5CiB,EAASm/B,EAAO78C,MAAM,EAAG0sC,EAAe5pC,OAC9CouD,GAAOM,MAAM9kB,EAAgBhvB,EAA7B,+BAAoEgvB,EAApE,iBAAmGhvB,EACnG,IAAIuoC,GAAOpJ,EAAO78C,MAAM0sC,EAAe5pC,OACvCmjD,GAAO,GAAIzc,GAAO2nB,EAAOtf,OAAOoU,GAAO,SACvC,IAAMmL,GAAWnL,EAAKjmD,OAAM,EAC5BimD,GAAOA,EAAKjmD,MAAM,GAAG,EACrB,IAAIyxD,GAAe7mD,EAAKu7C,UAAUF,EAGlC,OAFAwL,GAAeA,EAAazxD,MAAM,EAAG,GACrCkxD,EAAOQ,UAAUN,EAAUK,EAAc,0BAClC,GAAIvL,GAAQD,MzGg5alBhjD,IAAK,aACLhB,MAAO,SyG74aMy6C,GAA6C,GAAjCiV,KAAiCrtD,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,KAAAA,UAAA,GAAd6U,EAAc7U,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAJ,GACjDstD,EAAOhnD,EAAKC,OAAO6xC,EAAWhyC,SAASinD,IACvCE,EAAMjnD,EAAKu7C,UAAUyL,GACrBE,EAAgB,GAAItoB,GAAO,EACjCsoB,GAAc3D,WAAY,IAAOh1C,EAAU,EAC3C,IAAM44C,GAAOvoB,EAAOlpC,QAAQwxD,EAAeD,IACvC5jD,EAAQrD,EAAKC,OAAOknD,EACxB9jD,GAAQrD,EAAKC,OAAOoD,EACpB,IAAMyiC,GAASlH,EAAOlpC,QAAQyxD,EAAM9jD,EAAMjO,MAAM,EAAG,IACnD,OAAO,IAAIkmD,GAAQt7C,EAAKu7C,UAAUzV,QzGo5a9BwV,IyGt4aZ/mD,GAAOD,QAAUgnD,IzG04aa5mD,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,I0Gr8ajC,SAAAwB,GAAA,YAWA,SAASkkD,GAAQvkD,EAAGC,GAClB,GAAID,IAAMC,EACR,MAAO,EAMT,KAAK,GAHDkX,GAAInX,EAAE4C,OACN8zC,EAAIz2C,EAAE2C,OAEDpD,EAAI,EAAG0M,EAAM5E,KAAKk6B,IAAIrqB,EAAGu/B,GAAIl3C,EAAI0M,IAAO1M,EAC/C,GAAIQ,EAAER,KAAOS,EAAET,GAAI,CACjB2X,EAAInX,EAAER,GACNk3C,EAAIz2C,EAAET,EACN,OAIJ,MAAI2X,GAAIu/B,GACC,EAELA,EAAIv/B,EACC,EAEF,EAET,QAASswB,GAASxnC,GAChB,MAAII,GAAOipC,QAA4C,kBAA3BjpC,GAAOipC,OAAO7B,SACjCpnC,EAAOipC,OAAO7B,SAASxnC,KAEjB,MAALA,IAAaA,EAAE+rD,WAmC3B,QAAS8F,GAAW9wD,GAClB,MAAOvB,QAAOC,UAAUkL,SAASxL,KAAK4B,GAExC,QAAS+xC,GAAOgf,GACd,OAAItqB,EAASsqB,KAGqB,kBAAvB1xD,GAAOmxC,cAGgB,kBAAvBA,aAAYuB,OACdvB,YAAYuB,OAAOgf,KAEvBA,IAGDA,YAAkBjf,cAGlBif,EAAOvhB,QAAUuhB,EAAOvhB,iBAAkBgB,iBAkBhD,QAASwgB,GAAQ3rB,GACf,GAAKp4B,EAAK5C,WAAWg7B,GAArB,CAGA,GAAI4rB,EACF,MAAO5rB,GAAKjrB,IAEd,IAAIgC,GAAMipB,EAAKz7B,WACXtE,EAAQ8W,EAAI9W,MAAM4rD,EACtB,OAAO5rD,IAASA,EAAM,IAyCxB,QAAS6rD,GAASvb,EAAGhrC,GACnB,MAAiB,gBAANgrC,GACFA,EAAEh0C,OAASgJ,EAAIgrC,EAAIA,EAAE92C,MAAM,EAAG8L,GAE9BgrC,EAGX,QAASyV,GAAQ+F,GACf,GAAIH,IAAuBhkD,EAAK5C,WAAW+mD,GACzC,MAAOnkD,GAAKo+C,QAAQ+F,EAEtB,IAAIC,GAAUL,EAAQI,GAClBh3C,EAAOi3C,EAAU,KAAOA,EAAU,EACtC,OAAO,YAAej3C,EAAO,IAE/B,QAASk3C,GAAW9wD,GAClB,MAAO2wD,GAAS9F,EAAQ7qD,EAAK4lD,QAAS,KAAO,IACtC5lD,EAAK+wD,SAAW,IAChBJ,EAAS9F,EAAQ7qD,EAAKgxD,UAAW,KAc1C,QAASl9B,GAAK8xB,EAAQoL,EAAU37C,EAAS07C,EAAUE,GACjD,KAAM,IAAIzB,GAAO0B,gBACf77C,QAASA,EACTuwC,OAAQA,EACRoL,SAAUA,EACVD,SAAUA,EACVE,mBAAoBA,IAcxB,QAASnlB,GAAGvrC,EAAO8U,GACZ9U,GAAOuzB,EAAKvzB,GAAO,EAAM8U,EAAS,KAAMm6C,EAAO1jB,IAoCtD,QAASqlB,GAAWvL,EAAQoL,EAAUI,EAAQC,GAE5C,GAAIzL,IAAWoL,EACb,OAAO,CACF,IAAI/qB,EAAS2f,IAAW3f,EAAS+qB,GACtC,MAAqC,KAA9BjO,EAAQ6C,EAAQoL,EAIlB,IAAIvkD,EAAK6kD,OAAO1L,IAAWn5C,EAAK6kD,OAAON,GAC5C,MAAOpL,GAAOnO,YAAcuZ,EAASvZ,SAKhC,IAAIhrC,EAAK8kD,SAAS3L,IAAWn5C,EAAK8kD,SAASP,GAChD,MAAOpL,GAAO5gC,SAAWgsC,EAAShsC,QAC3B4gC,EAAO/mD,SAAWmyD,EAASnyD,QAC3B+mD,EAAO4L,YAAcR,EAASQ,WAC9B5L,EAAO97B,YAAcknC,EAASlnC,WAC9B87B,EAAO6L,aAAeT,EAASS,UAIjC,IAAgB,OAAX7L,GAAqC,YAAlB,mBAAOA,GAAP,YAAA/kD,EAAO+kD,KACb,OAAboL,GAAyC,YAApB,mBAAOA,GAAP,YAAAnwD,EAAOmwD,IASjC,IAAIzf,EAAOqU,IAAWrU,EAAOyf,IACzBV,EAAU1K,KAAY0K,EAAUU,MAC9BpL,YAAkB8L,eAClB9L,YAAkB+L,eAC7B,MACoD,KAD7C5O,EAAQ,GAAIpU,YAAWiX,EAAO5W,QACtB,GAAIL,YAAWqiB,EAAShiB,QAQlC,IAAI/I,EAAS2f,KAAY3f,EAAS+qB,GACvC,OAAO,CAEPK,GAAQA,IAAUzL,UAAYoL,YAE9B,IAAIY,GAAcP,EAAMzL,OAAO3gC,QAAQ2gC,EACvC,OAAIgM,MAAgB,GACdA,IAAgBP,EAAML,SAAS/rC,QAAQ+rC,KAK7CK,EAAMzL,OAAO56C,KAAK46C;AAClByL,EAAML,SAAShmD,KAAKgmD,GAEba,EAASjM,EAAQoL,EAAUI,EAAQC,IApC1C,MAAOD,GAASxL,IAAWoL,EAAWpL,GAAUoL,EAwCpD,QAASjrB,GAAYZ,GACnB,MAAiD,sBAA1ClnC,OAAOC,UAAUkL,SAASxL,KAAKunC,GAGxC,QAAS0sB,GAASrzD,EAAGC,EAAG2yD,EAAQU,GAC9B,GAAU,OAANtzD,GAAoBqE,SAANrE,GAAyB,OAANC,GAAoBoE,SAANpE,EACjD,OAAO,CAET,IAAIgO,EAAK2N,YAAY5b,IAAMiO,EAAK2N,YAAY3b,GAC1C,MAAOD,KAAMC,CACf,IAAI2yD,GAAUnzD,OAAO8E,eAAevE,KAAOP,OAAO8E,eAAetE,GAC/D,OAAO,CACT,IAAIszD,GAAUhsB,EAAYvnC,GACtBwzD,EAAUjsB,EAAYtnC,EAC1B,IAAKszD,IAAYC,IAAcD,GAAWC,EACxC,OAAO,CACT,IAAID,EAGF,MAFAvzD,GAAIyzD,EAAOr0D,KAAKY,GAChBC,EAAIwzD,EAAOr0D,KAAKa,GACT0yD,EAAW3yD,EAAGC,EAAG2yD,EAE1B,IAEI7vD,GAAKvD,EAFLk0D,EAAKC,EAAW3zD,GAChB4zD,EAAKD,EAAW1zD,EAIpB,IAAIyzD,EAAG9wD,SAAWgxD,EAAGhxD,OACnB,OAAO,CAKT,KAHA8wD,EAAG3b,OACH6b,EAAG7b,OAEEv4C,EAAIk0D,EAAG9wD,OAAS,EAAGpD,GAAK,EAAGA,IAC9B,GAAIk0D,EAAGl0D,KAAOo0D,EAAGp0D,GACf,OAAO,CAIX,KAAKA,EAAIk0D,EAAG9wD,OAAS,EAAGpD,GAAK,EAAGA,IAE9B,GADAuD,EAAM2wD,EAAGl0D,IACJmzD,EAAW3yD,EAAE+C,GAAM9C,EAAE8C,GAAM6vD,EAAQU,GACtC,OAAO,CAEX,QAAO,EAaT,QAASO,GAAmBzM,EAAQoL,EAAU37C,GACxC87C,EAAWvL,EAAQoL,GAAU,IAC/Bl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,qBAAsBg9C,GAuB1D,QAASC,GAAkB1M,EAAQoL,GACjC,IAAKpL,IAAWoL,EACd,OAAO,CAGT,IAAgD,mBAA5C/yD,OAAOC,UAAUkL,SAASxL,KAAKozD,GACjC,MAAOA,GAASx1C,KAAKoqC,EAGvB,KACE,GAAIA,YAAkBoL,GACpB,OAAO,EAET,MAAOhrD,IAIT,OAAIP,MAAM6pC,cAAc0hB,IAIjBA,EAASpzD,QAASgoD,MAAY,EAGvC,QAAS2M,GAAUC,GACjB,GAAI7rD,EACJ,KACE6rD,IACA,MAAOxsD,GACPW,EAAQX,EAEV,MAAOW,GAGT,QAAS8rD,GAAQC,EAAaF,EAAOxB,EAAU37C,GAC7C,GAAIuwC,EAEJ,IAAqB,kBAAV4M,GACT,KAAM,IAAI1yD,WAAU,sCAGE,iBAAbkxD,KACT37C,EAAU27C,EACVA,EAAW,MAGbpL,EAAS2M,EAAUC,GAEnBn9C,GAAW27C,GAAYA,EAASp3C,KAAO,KAAOo3C,EAASp3C,KAAO,KAAO,MAC1DvE,EAAU,IAAMA,EAAU,KAEjCq9C,IAAgB9M,GAClB9xB,EAAK8xB,EAAQoL,EAAU,6BAA+B37C,EAGxD,IAAIs9C,GAAyC,gBAAZt9C,GAC7Bu9C,GAAuBF,GAAejmD,EAAKyP,QAAQ0pC,GACnDiN,GAAyBH,GAAe9M,IAAWoL,CASvD,KAPK4B,GACDD,GACAL,EAAkB1M,EAAQoL,IAC1B6B,IACF/+B,EAAK8xB,EAAQoL,EAAU,yBAA2B37C,GAG/Cq9C,GAAe9M,GAAUoL,IACzBsB,EAAkB1M,EAAQoL,KAAgB0B,GAAe9M,EAC5D,KAAMA,G1GkgaT,GAAI/kD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,I0G/4anQiN,EAAOpP,EAAQ,KACfy1D,EAAS70D,OAAOC,UAAUC,eAC1B8zD,EAAS9tD,MAAMjG,UAAUI,MACzBmyD,EAAsB,WACxB,MAAkC,QAA3B,aAAkB72C,QA8BvB41C,EAAS/xD,EAAOD,QAAUsuC,EAO1B4kB,EAAQ,6BAaZlB,GAAO0B,eAAiB,SAAwBvuD,GAC9ChE,KAAKib,KAAO,iBACZjb,KAAKinD,OAASjjD,EAAQijD,OACtBjnD,KAAKqyD,SAAWruD,EAAQquD,SACxBryD,KAAKoyD,SAAWpuD,EAAQouD,SACpBpuD,EAAQ0S,SACV1W,KAAK0W,QAAU1S,EAAQ0S,QACvB1W,KAAKo0D,kBAAmB,IAExBp0D,KAAK0W,QAAUy7C,EAAWnyD,MAC1BA,KAAKo0D,kBAAmB,EAE1B,IAAI9B,GAAqBtuD,EAAQsuD,oBAAsBn9B,CACvD,IAAIruB,MAAM8hB,kBACR9hB,MAAM8hB,kBAAkB5oB,KAAMsyD,OACzB,CAEL,GAAI3qD,GAAM,GAAIb,MACd,IAAIa,EAAIya,MAAO,CACb,GAAI8nC,GAAMviD,EAAIya,MAGViyC,EAAUxC,EAAQS,GAClBgC,EAAMpK,EAAI5jC,QAAQ,KAAO+tC,EAC7B,IAAIC,GAAO,EAAG,CAGZ,GAAIC,GAAYrK,EAAI5jC,QAAQ,KAAMguC,EAAM,EACxCpK,GAAMA,EAAIsK,UAAUD,EAAY,GAGlCv0D,KAAKoiB,MAAQ8nC,KAMnBp8C,EAAKuQ,SAASwyC,EAAO0B,eAAgBzrD,OA6CrC+pD,EAAO17B,KAAOA,EAYd07B,EAAO1jB,GAAKA,EAMZ0jB,EAAOM,MAAQ,SAAelK,EAAQoL,EAAU37C,GAC1CuwC,GAAUoL,GAAUl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,KAAMm6C,EAAOM,QAMvEN,EAAO4D,SAAW,SAAkBxN,EAAQoL,EAAU37C,GAChDuwC,GAAUoL,GACZl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,KAAMm6C,EAAO4D,WAOjD5D,EAAOQ,UAAY,SAAmBpK,EAAQoL,EAAU37C,GACjD87C,EAAWvL,EAAQoL,GAAU,IAChCl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,YAAam6C,EAAOQ,YAIxDR,EAAO6D,gBAAkB,SAAyBzN,EAAQoL,EAAU37C,GAC7D87C,EAAWvL,EAAQoL,GAAU,IAChCl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,kBAAmBm6C,EAAO6D,kBAuH9D7D,EAAO8D,aAAe,SAAsB1N,EAAQoL,EAAU37C,GACxD87C,EAAWvL,EAAQoL,GAAU,IAC/Bl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,eAAgBm6C,EAAO8D,eAI3D9D,EAAO6C,mBAAqBA,EAW5B7C,EAAO+D,YAAc,SAAqB3N,EAAQoL,EAAU37C,GACtDuwC,IAAWoL,GACbl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,MAAOm6C,EAAO+D,cAOlD/D,EAAOgE,eAAiB,SAAwB5N,EAAQoL,EAAU37C,GAC5DuwC,IAAWoL,GACbl9B,EAAK8xB,EAAQoL,EAAU37C,EAAS,MAAOm6C,EAAOgE,iBA+ElDhE,EAAOiE,OAAS,SAASjB,EAAmB7rD,EAAmB0O,GAC7Do9C,GAAQ,EAAMD,EAAO7rD,EAAO0O,IAI9Bm6C,EAAOkE,aAAe,SAASlB,EAAmB7rD,EAAmB0O,GACnEo9C,GAAQ,EAAOD,EAAO7rD,EAAO0O,IAG/Bm6C,EAAOmE,QAAU,SAASrtD,GAAO,GAAIA,EAAK,KAAMA,GAEhD,IAAI6rD,GAAal0D,OAAOid,MAAQ,SAAU1b,GACxC,GAAI0b,KACJ,KAAK,GAAI3Z,KAAO/B,GACVszD,EAAOl1D,KAAK4B,EAAK+B,IAAM2Z,EAAKlQ,KAAKzJ,EAEvC,OAAO2Z,M1Gs7aqBtd,KAAKJ,EAAU,WAAa,MAAOmB,WAI3D,SAAUlB,EAAQD,EAASH,IAEJ,SAASwB,EAAQwN,GAAU,Y2GxybxD,SAASw+C,GAAQrrD,EAAK0iB,GAEpB,GAAIvL,IACFi9C,QACAC,QAASC,EAkBX,OAfIlxD,WAAUxB,QAAU,IAAGuV,EAAIo9C,MAAQnxD,UAAU,IAC7CA,UAAUxB,QAAU,IAAGuV,EAAIo9B,OAASnxC,UAAU,IAC9CoxD,EAAU9xC,GAEZvL,EAAIs9C,WAAa/xC,EACRA,GAET1kB,EAAQ02D,QAAQv9C,EAAKuL,GAGnBjY,EAAY0M,EAAIs9C,cAAat9C,EAAIs9C,YAAa,GAC9ChqD,EAAY0M,EAAIo9C,SAAQp9C,EAAIo9C,MAAQ,GACpC9pD,EAAY0M,EAAIo9B,UAASp9B,EAAIo9B,QAAS,GACtC9pC,EAAY0M,EAAIw9C,iBAAgBx9C,EAAIw9C,eAAgB,GACpDx9C,EAAIo9B,SAAQp9B,EAAIk9C,QAAUO,GACvBC,EAAY19C,EAAKnX,EAAKmX,EAAIo9C,OAoCnC,QAASK,GAAiBx4C,EAAK04C,GAC7B,GAAI5hB,GAAQmY,EAAQ0J,OAAOD,EAE3B,OAAI5hB,GACK,KAAYmY,EAAQ9W,OAAOrB,GAAO,GAAK,IAAM92B,EAC7C,KAAYivC,EAAQ9W,OAAOrB,GAAO,GAAK,IAEvC92B,EAKX,QAASk4C,GAAel4C,EAAK04C,GAC3B,MAAO14C,GAIT,QAAS44C,GAAYv7C,GACnB,GAAI/P,KAMJ,OAJA+P,GAAM1V,QAAQ,SAAS8N,EAAK4hD,GAC1B/pD,EAAKmI,IAAO,IAGPnI,EAIT,QAASmrD,GAAY19C,EAAKpW,EAAOk0D,GAG/B,GAAI99C,EAAIw9C,eACJ5zD,GACAsJ,EAAWtJ,EAAMsqD,UAEjBtqD,EAAMsqD,UAAYrtD,EAAQqtD,WAExBtqD,EAAMD,aAAeC,EAAMD,YAAYpC,YAAcqC,GAAQ,CACjE,GAAIsL,GAAMtL,EAAMsqD,QAAQ4J,EAAc99C,EAItC,OAHK+9C,GAAS7oD,KACZA,EAAMwoD,EAAY19C,EAAK9K,EAAK4oD,IAEvB5oD,EAIT,GAAI8oD,GAAYC,EAAgBj+C,EAAKpW,EACrC,IAAIo0D,EACF,MAAOA,EAIT,IAAIz5C,GAAOjd,OAAOid,KAAK3a,GACnBs0D,EAAcL,EAAYt5C,EAQ9B,IANIvE,EAAIs9C,aACN/4C,EAAOjd,OAAO4f,oBAAoBtd,IAKhC2b,EAAQ3b,KACJ2a,EAAK+J,QAAQ,YAAc,GAAK/J,EAAK+J,QAAQ,gBAAkB,GACrE,MAAO6vC,GAAYv0D,EAIrB,IAAoB,IAAhB2a,EAAK9Z,OAAc,CACrB,GAAIyI,EAAWtJ,GAAQ,CACrB,GAAIqZ,GAAOrZ,EAAMqZ,KAAO,KAAOrZ,EAAMqZ,KAAO,EAC5C,OAAOjD,GAAIk9C,QAAQ,YAAcj6C,EAAO,IAAK,WAE/C,GAAI23C,EAAShxD,GACX,MAAOoW,GAAIk9C,QAAQt0B,OAAOrhC,UAAUkL,SAASxL,KAAK2C,GAAQ,SAE5D,IAAI+wD,EAAO/wD,GACT,MAAOoW,GAAIk9C,QAAQrf,KAAKt2C,UAAUkL,SAASxL,KAAK2C,GAAQ,OAE1D,IAAI2b,EAAQ3b,GACV,MAAOu0D,GAAYv0D,GAIvB,GAAIgU,GAAO,GAAI0E,GAAQ,EAAO87C,GAAU,IAAK,IAS7C,IANI92C,EAAQ1d,KACV0Y,GAAQ,EACR87C,GAAU,IAAK,MAIblrD,EAAWtJ,GAAQ,CACrB,GAAI6J,GAAI7J,EAAMqZ,KAAO,KAAOrZ,EAAMqZ,KAAO,EACzCrF,GAAO,aAAenK,EAAI,IAkB5B,GAdImnD,EAAShxD,KACXgU,EAAO,IAAMgrB,OAAOrhC,UAAUkL,SAASxL,KAAK2C,IAI1C+wD,EAAO/wD,KACTgU,EAAO,IAAMigC,KAAKt2C,UAAU82D,YAAYp3D,KAAK2C,IAI3C2b,EAAQ3b,KACVgU,EAAO,IAAMugD,EAAYv0D,IAGP,IAAhB2a,EAAK9Z,UAAkB6X,GAAyB,GAAhB1Y,EAAMa,QACxC,MAAO2zD,GAAO,GAAKxgD,EAAOwgD,EAAO,EAGnC,IAAIN,EAAe,EACjB,MAAIlD,GAAShxD,GACJoW,EAAIk9C,QAAQt0B,OAAOrhC,UAAUkL,SAASxL,KAAK2C,GAAQ,UAEnDoW,EAAIk9C,QAAQ,WAAY,UAInCl9C,GAAIi9C,KAAK5oD,KAAKzK,EAEd,IAAI8tD,EAWJ,OATEA,GADEp1C,EACOg8C,EAAYt+C,EAAKpW,EAAOk0D,EAAcI,EAAa35C,GAEnDA,EAAKlX,IAAI,SAASzC,GACzB,MAAO2zD,GAAev+C,EAAKpW,EAAOk0D,EAAcI,EAAatzD,EAAK0X,KAItEtC,EAAIi9C,KAAKvvD,MAEF8wD,EAAqB9G,EAAQ95C,EAAMwgD,GAI5C,QAASH,GAAgBj+C,EAAKpW,GAC5B,GAAI0J,EAAY1J,GACd,MAAOoW,GAAIk9C,QAAQ,YAAa,YAClC,IAAIa,EAASn0D,GAAQ,CACnB,GAAI60D,GAAS,IAAO9rD,KAAKC,UAAUhJ,GAAO6tB,QAAQ,SAAU,IAClBA,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAAO,GACjE,OAAOzX,GAAIk9C,QAAQuB,EAAQ,UAE7B,MAAIrrD,GAASxJ,GACJoW,EAAIk9C,QAAQ,GAAKtzD,EAAO,UAC7ByzD,EAAUzzD,GACLoW,EAAIk9C,QAAQ,GAAKtzD,EAAO,WAE7B80D,EAAO90D,GACFoW,EAAIk9C,QAAQ,OAAQ,QAD7B,OAKF,QAASiB,GAAYv0D,GACnB,MAAO,IAAMkF,MAAMvH,UAAUkL,SAASxL,KAAK2C,GAAS,IAItD,QAAS00D,GAAYt+C,EAAKpW,EAAOk0D,EAAcI,EAAa35C,GAE1D,IAAK,GADDmzC,MACKrwD,EAAI,EAAG0d,EAAInb,EAAMa,OAAQpD,EAAI0d,IAAK1d,EACrCG,EAAeoC,EAAOguB,OAAOvwB,IAC/BqwD,EAAOrjD,KAAKkqD,EAAev+C,EAAKpW,EAAOk0D,EAAcI,EACjDtmC,OAAOvwB,IAAI,IAEfqwD,EAAOrjD,KAAK,GAShB,OANAkQ,GAAK3X,QAAQ,SAAShC,GACfA,EAAIuD,MAAM,UACbupD,EAAOrjD,KAAKkqD,EAAev+C,EAAKpW,EAAOk0D,EAAcI,EACjDtzD,GAAK,MAGN8sD,EAIT,QAAS6G,GAAev+C,EAAKpW,EAAOk0D,EAAcI,EAAatzD,EAAK0X,GAClE,GAAIW,GAAMgC,EAAKf,CAsCf,IArCAA,EAAO5c,OAAO6c,yBAAyBva,EAAOgB,KAAUhB,MAAOA,EAAMgB,IACjEsZ,EAAKE,IAELa,EADEf,EAAK9T,IACD4P,EAAIk9C,QAAQ,kBAAmB,WAE/Bl9C,EAAIk9C,QAAQ,WAAY,WAG5Bh5C,EAAK9T,MACP6U,EAAMjF,EAAIk9C,QAAQ,WAAY,YAG7B11D,EAAe02D,EAAatzD,KAC/BqY,EAAO,IAAMrY,EAAM,KAEhBqa,IACCjF,EAAIi9C,KAAK3uC,QAAQpK,EAAKta,OAAS,GAE/Bqb,EADEy5C,EAAOZ,GACHJ,EAAY19C,EAAKkE,EAAKta,MAAO,MAE7B8zD,EAAY19C,EAAKkE,EAAKta,MAAOk0D,EAAe,GAEhD74C,EAAIqJ,QAAQ,OAAQ,IAEpBrJ,EADE3C,EACI2C,EAAIgD,MAAM,MAAM5a,IAAI,SAAS4oB,GACjC,MAAO,KAAOA,IACb5E,KAAK,MAAMiH,OAAO,GAEf,KAAOrT,EAAIgD,MAAM,MAAM5a,IAAI,SAAS4oB,GACxC,MAAO,MAAQA,IACd5E,KAAK,QAIZpM,EAAMjF,EAAIk9C,QAAQ,aAAc,YAGhC5pD,EAAY2P,GAAO,CACrB,GAAIX,GAAS1X,EAAIuD,MAAM,SACrB,MAAO8W,EAEThC,GAAOtQ,KAAKC,UAAU,GAAKhI,GACvBqY,EAAK9U,MAAM,iCACb8U,EAAOA,EAAKqV,OAAO,EAAGrV,EAAKxY,OAAS,GACpCwY,EAAOjD,EAAIk9C,QAAQj6C,EAAM,UAEzBA,EAAOA,EAAKwU,QAAQ,KAAM,OACdA,QAAQ,OAAQ,KAChBA,QAAQ,WAAY,KAChCxU,EAAOjD,EAAIk9C,QAAQj6C,EAAM,WAI7B,MAAOA,GAAO,KAAOgC,EAIvB,QAASu5C,GAAqB9G,EAAQ95C,EAAMwgD,GAC1C,GAAIO,GAAc,EACdl0D,EAASitD,EAAO/pD,OAAO,SAASmc,EAAM80C,GAGxC,MAFAD,KACIC,EAAItwC,QAAQ,OAAS,GAAGqwC,IACrB70C,EAAO80C,EAAInnC,QAAQ,kBAAmB,IAAIhtB,OAAS,GACzD,EAEH,OAAIA,GAAS,GACJ2zD,EAAO,IACG,KAATxgD,EAAc,GAAKA,EAAO,OAC3B,IACA85C,EAAOrmC,KAAK,SACZ,IACA+sC,EAAO,GAGTA,EAAO,GAAKxgD,EAAO,IAAM85C,EAAOrmC,KAAK,MAAQ,IAAM+sC,EAAO,GAMnE,QAAS92C,GAAQu3C,GACf,MAAOrxD,OAAM8Z,QAAQu3C,GAIvB,QAASxB,GAAUlqD,GACjB,MAAsB,iBAARA,GAIhB,QAASurD,GAAOvrD,GACd,MAAe,QAARA,EAIT,QAAS2rD,GAAkB3rD,GACzB,MAAc,OAAPA,EAIT,QAASC,GAASD,GAChB,MAAsB,gBAARA,GAIhB,QAAS4qD,GAAS5qD,GAChB,MAAsB,gBAARA,GAIhB,QAAS4rD,GAAS5rD,GAChB,MAAsB,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,IAIhB,QAASG,GAAYH,GACnB,MAAe,UAARA,EAIT,QAASynD,GAASoE,GAChB,MAAO3rD,GAAS2rD,IAA8B,oBAAvB3uB,EAAe2uB,GAIxC,QAAS3rD,GAASF,GAChB,MAAsB,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,KAA4B,OAARA,EAIpC,QAASwnD,GAAOrrD,GACd,MAAO+D,GAAS/D,IAA4B,kBAAtB+gC,EAAe/gC,GAIvC,QAASiW,GAAQlW,GACf,MAAOgE,GAAShE,KACW,mBAAtBghC,EAAehhC,IAA2BA,YAAaP,QAI9D,QAASoE,GAAWC,GAClB,MAAsB,kBAARA,GAIhB,QAASsQ,GAAYtQ,GACnB,MAAe,QAARA,GACe,iBAARA,IACQ,gBAARA,IACQ,gBAARA,IACQ,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,KACQ,mBAARA,GAMhB,QAASk9B,GAAe7nB,GACtB,MAAOlhB,QAAOC,UAAUkL,SAASxL,KAAKuhB,GAIxC,QAASy2C,GAAIxrD,GACX,MAAOA,GAAI,GAAK,IAAMA,EAAEhB,SAAS,IAAMgB,EAAEhB,SAAS,IAQpD,QAASysD,KACP,GAAI5vD,GAAI,GAAIuuC,MACRshB,GAAQF,EAAI3vD,EAAE8vD,YACNH,EAAI3vD,EAAE+vD,cACNJ,EAAI3vD,EAAEgwD,eAAejuC,KAAK,IACtC,QAAQ/hB,EAAEiwD,UAAWC,EAAOlwD,EAAEmwD,YAAaN,GAAM9tC,KAAK,KAqCxD,QAAS7pB,GAAeqB,EAAKuf,GAC3B,MAAO9gB,QAAOC,UAAUC,eAAeP,KAAK4B,EAAKuf,G3G81alD,GAAIle,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,I2Gj5bnQ62D,EAAe,UACnB74D,GAAQo3C,OAAS,SAAS0hB,GACxB,IAAK5B,EAAS4B,GAAI,CAEhB,IAAK,GADDC,MACKv4D,EAAI,EAAGA,EAAI4E,UAAUxB,OAAQpD,IACpCu4D,EAAQvrD,KAAK6/C,EAAQjoD,UAAU5E,IAEjC,OAAOu4D,GAAQvuC,KAAK,KAsBtB,IAAK,GAnBDhqB,GAAI,EACJK,EAAOuE,UACP8H,EAAMrM,EAAK+C,OACXwa,EAAM2S,OAAO+nC,GAAGloC,QAAQioC,EAAc,SAAS1gD,GACjD,GAAU,OAANA,EAAY,MAAO,GACvB,IAAI3X,GAAK0M,EAAK,MAAOiL,EACrB,QAAQA,GACN,IAAK,KAAM,MAAO4Y,QAAOlwB,EAAKL,KAC9B,KAAK,KAAM,MAAO6gB,QAAOxgB,EAAKL,KAC9B,KAAK,KACH,IACE,MAAOsL,MAAKC,UAAUlL,EAAKL,MAC3B,MAAOmU,GACP,MAAO,aAEX,QACE,MAAOwD,MAGJA,EAAItX,EAAKL,GAAIA,EAAI0M,EAAKiL,EAAItX,IAAOL,GAEtC4d,GADEy5C,EAAO1/C,KAAO3L,EAAS2L,GAClB,IAAMA,EAEN,IAAMk1C,EAAQl1C,EAGzB,OAAOiG,IAOTpe,EAAQyqC,UAAY,SAAS1pC,EAAI0P,GAa/B,QAASuJ,KACP,IAAKvM,EAAQ,CACX,GAAIoB,EAAQmqD,iBACV,KAAM,IAAI/wD,OAAMwI,EACP5B,GAAQoqD,iBACjBvrD,QAAQC,MAAM8C,GAEd/C,QAAQvE,MAAMsH,GAEhBhD,GAAS,EAEX,MAAO1M,GAAGG,MAAMC,KAAMiE,WAtBxB,GAAIqH,EAAYpL,EAAOwN,SACrB,MAAO,YACL,MAAO7O,GAAQyqC,UAAU1pC,EAAI0P,GAAKvP,MAAMC,KAAMiE,WAIlD,IAAIyJ,EAAQqqD,iBAAkB,EAC5B,MAAOn4D,EAGT,IAAI0M,IAAS,CAeb,OAAOuM,GAIT,IACIm/C,GADAC,IAEJp5D,GAAQq5D,SAAW,SAAS9vD,GAI1B,GAHIkD,EAAY0sD,KACdA,EAAetqD,EAAQiN,IAAIw9C,YAAc,IAC3C/vD,EAAMA,EAAIwpC,eACLqmB,EAAO7vD,GACV,GAAI,GAAIw4B,QAAO,MAAQx4B,EAAM,MAAO,KAAKyU,KAAKm7C,GAAe,CAC3D,GAAII,GAAM1qD,EAAQ0qD,GAClBH,GAAO7vD,GAAO,WACZ,GAAIkH,GAAMzQ,EAAQo3C,OAAOl2C,MAAMlB,EAASoF,UACxCsI,SAAQvE,MAAM,YAAaI,EAAKgwD,EAAK9oD,QAGvC2oD,GAAO7vD,GAAO,YAGlB,OAAO6vD,GAAO7vD,IAoChBvJ,EAAQqtD,QAAUA,EAIlBA,EAAQ9W,QACNijB,MAAU,EAAG,IACbC,QAAY,EAAG,IACfC,WAAe,EAAG,IAClBC,SAAa,EAAG,IAChBC,OAAW,GAAI,IACfC,MAAU,GAAI,IACdC,OAAW,GAAI,IACfC,MAAU,GAAI,IACdC,MAAU,GAAI,IACdC,OAAW,GAAI,IACfC,SAAa,GAAI,IACjBC,KAAS,GAAI,IACbC,QAAY,GAAI,KAIlB/M,EAAQ0J,QACNsD,QAAW,OACXC,OAAU,SACVC,QAAW,SACXl1D,UAAa,OACbm1D,KAAQ,OACR7c,OAAU,QACV8c,KAAQ,UAERC,OAAU,OAkRZ16D,EAAQygB,QAAUA,EAKlBzgB,EAAQw2D,UAAYA,EAKpBx2D,EAAQ63D,OAASA,EAKjB73D,EAAQi4D,kBAAoBA,EAK5Bj4D,EAAQuM,SAAWA,EAKnBvM,EAAQk3D,SAAWA,EAKnBl3D,EAAQk4D,SAAWA,EAKnBl4D,EAAQyM,YAAcA,EAKtBzM,EAAQ+zD,SAAWA,EAKnB/zD,EAAQwM,SAAWA,EAKnBxM,EAAQ8zD,OAASA,EAMjB9zD,EAAQ0e,QAAUA,EAKlB1e,EAAQqM,WAAaA,EAUrBrM,EAAQ4c,YAAcA,EAEtB5c,EAAQyoC,SAAW5oC,EAAQ,IAY3B,IAAI84D,IAAU,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MACxD,MAAO,MAAO,MAa5B34D,GAAQgI,IAAM,WACZ0F,QAAQ1F,IAAI,UAAWqwD,IAAar4D,EAAQo3C,OAAOl2C,MAAMlB,EAASoF,aAiBpEpF,EAAQwf,SAAW3f,EAAQ,KAE3BG,EAAQ02D,QAAU,SAASiE,EAAQC,GAEjC,IAAKA,IAAQpuD,EAASouD,GAAM,MAAOD,EAInC,KAFA,GAAIj9C,GAAOjd,OAAOid,KAAKk9C,GACnBp6D,EAAIkd,EAAK9Z,OACNpD,KACLm6D,EAAOj9C,EAAKld,IAAMo6D,EAAIl9C,EAAKld,GAE7B,OAAOm6D,M3Go4bqBv6D,KAAKJ,EAAU,WAAa,MAAOmB,SAAYtB,EAAoB,KAI3F,SAAUI,EAAQD,GAEvB,YAEA,IAAIqD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,G4Gh9cvQ/B,GAAOD,QAAU,SAAkBsM,GACjC,MAAOA,IAAsB,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,KACI,kBAAbA,GAAIs0C,MACS,kBAAbt0C,GAAI07C,MACc,kBAAlB17C,GAAIyhD,Y5Go9cZ,SAAU9tD,EAAQD,GAEvB,Y6G19c4B,mBAAlBS,QAAOoC,OAEhB5C,EAAOD,QAAU,SAAkB66D,EAAMC,GACvCD,EAAKE,OAASD,EACdD,EAAKn6D,UAAYD,OAAOoC,OAAOi4D,EAAUp6D,WACvCoC,aACEC,MAAO83D,EACP73D,YAAY,EACZC,UAAU,EACVC,cAAc,MAMpBjD,EAAOD,QAAU,SAAkB66D,EAAMC,GACvCD,EAAKE,OAASD,CACd,IAAIE,GAAW,YACfA,GAASt6D,UAAYo6D,EAAUp6D,UAC/Bm6D,EAAKn6D,UAAY,GAAIs6D,GACrBH,EAAKn6D,UAAUoC,YAAc+3D,I7Gk+c3B,SAAU56D,EAAQD,EAASH,GAEhC,YAUA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,G8G3/cxF,QAASi5D,GAAK7yD,EAAM6/C,GAChB,OAAO,EAAAiT,EAAAh5D,SAAW,QAAQ8H,OAAO5B,GAAMqD,OAAOw8C,GAOlD,QAASt8C,GAAOvD,EAAM6/C,GAClB,OAAO,EAAAiT,EAAAh5D,SAAW,UAAU8H,OAAO5B,GAAMqD,OAAOw8C,GAOpD,QAASoK,GAAOjqD,EAAM6/C,GAClB,OAAO,EAAAiT,EAAAh5D,SAAW,UAAU8H,OAAO5B,GAAMqD,OAAOw8C,GAGpD,QAASkT,GAAW3pB,EAAQ4pB,GACxB,OAAO,EAAAC,EAAAn5D,SAAW,SAAUk5D,GAAQpxD,OAAOwnC,GAAQ/lC,SAGvD,QAASw7C,GAAU7+C,GACf,OAAO,EAAA8yD,EAAAh5D,SAAW,UAAU8H,OAAO5B,GAAMqD,SAhC7C,GAAA6vD,GAAAz7D,EAAA,K9G4/cKq7D,EAAen5D,EAAuBu5D,G8G3/c3CC,EAAA17D,EAAA,K9G+/cKw7D,EAAet5D,EAAuBw5D,E8Gh9c3Ct7D,GAAOD,SACHi7D,KAAMA,EACNtvD,OAAQA,EACR0mD,OAAQA,EACR8I,WAAYA,EACZlU,UAAWA,I9GygdT,SAAUhnD,EAAQD,EAASH,I+G9jdjC,SAAAyqC,GAAA,YAQA,SAASkxB,GAAmB9vD,GAC1B+vD,EAAKr7D,KAAKe,KAAM,UAEhBA,KAAKixD,MAAQ1mD,EACbvK,KAAKu6D,WAiBP,QAASC,GAAMjwD,GACb+vD,EAAKr7D,KAAKe,KAAM,UAEhBA,KAAKixD,MAAQ1mD,EA/Bf,GAAI8T,GAAW3f,EAAQ,KACnB+7D,EAAM/7D,EAAQ,KACdg8D,EAAYh8D,EAAQ,KACpBi8D,EAAMj8D,EAAQ,KAEd47D,EAAO57D,EAAQ,IASnB2f,GAASg8C,EAAmBC,GAE5BD,EAAkB96D,UAAUq7D,QAAU,SAAU3zD,GAC9CjH,KAAKu6D,QAAQluD,KAAKpF,IAGpBozD,EAAkB96D,UAAUs7D,OAAS,WACnC,GAAIzwD,GAAM++B,EAAOlpC,OAAOD,KAAKu6D,SACzB3jD,EAAI5W,KAAKixD,MAAM7mD,EAGnB,OAFApK,MAAKu6D,QAAU,KAER3jD,GASTyH,EAASm8C,EAAMF,GAEfE,EAAKj7D,UAAUq7D,QAAU,SAAU3zD,GACjCjH,KAAKixD,MAAMpoD,OAAO5B,IAGpBuzD,EAAKj7D,UAAUs7D,OAAS,WACtB,MAAO76D,MAAKixD,MAAM3mD,UAGpBxL,EAAOD,QAAU,SAAqBi8D,GAEpC,MADAA,GAAMA,EAAIn7C,cACE,QAARm7C,EAAsB,GAAIT,GAAkBI,GACI,GAAID,GAA5C,WAARM,GAA4B,cAARA,EAAqC,GAAIJ,GAEjDC,EAAIG,O/GmkdQ77D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAIpE,IAEM,SAAUrqC,EAAQD,EAASH,GgH3ndjC,YAeA,SAASq8D,GAAU/jD,EAAGjL,GAEpBiL,EAAEjL,GAAO,IAAM,KAAUA,EAAO,GAChCiL,GAAKjL,EAAM,KAAQ,GAAM,GAAK,IAAMA,CAOpC,KAAK,GALDlM,GAAI,WACJC,GAAI,UACJX,GAAI,WACJmI,EAAI,UAECjI,EAAI,EAAGA,EAAI2X,EAAEvU,OAAQpD,GAAK,GAAI,CACrC,GAAI27D,GAAOn7D,EACPo7D,EAAOn7D,EACPo7D,EAAO/7D,EACPg8D,EAAO7zD,CAEXzH,GAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,IAAI,WACrCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,GAAI,WACrCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,YACrCQ,EAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,GAAI,YACrCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,IAAI,YACrCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,UACrCQ,EAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,EAAG,YACpCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,IAAI,YACrCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,IAAI,OACtCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,IAAK,IAAI,YACtCQ,EAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,IAAK,EAAG,YACrCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,IAAK,IAAI,UACtCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,IAAI,YACtCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,IAAK,GAAI,YAEtCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,GAAG,YACpCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,GAAI,WACtCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,WACrCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,IAAK,EAAG,UACrCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,IAAI,WACtCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,WACrCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,EAAG,WACpCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,IAAK,GAAG,YACrCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,IAAI,WACrCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,GAAI,YACrCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,IAAK,GAAG,YACrCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,GAAG,UACpCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,GAAI,YACrCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,IAAK,IAAI,YAEtCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,QACpCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,IAAI,YACrCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,GAAI,YACtCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,IAAK,IAAI,UACtCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,YACpCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,GAAI,YACrCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,IAAI,WACrCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,IAAK,IAAI,YACtCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,IAAK,EAAG,WACrCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,IAAI,WACrCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,IAAI,WACrCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,GAAI,UACrCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,IAAK,IAAI,WACtCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,GAAI,WACtCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,WAErCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,GAAI,YACrCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,IAAI,YACtCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,UACrCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,IAAK,EAAG,YACrCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,GAAI,IAAI,YACrCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,IAAK,IAAI,SACtCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,YACrCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,EAAG,YACpCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,IAAK,IAAI,UACtCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,IAAI,YACrCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,IAAK,GAAI,YACtCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAI,GAAI,GAAG,WACpCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAI,IAAK,IAAI,YACtCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAI,GAAI,GAAI,WACrCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAI,GAAI,IAAI,WAErCQ,EAAI27D,EAAS37D,EAAGm7D,GAChBl7D,EAAI07D,EAAS17D,EAAGm7D,GAChB97D,EAAIq8D,EAASr8D,EAAG+7D,GAChB5zD,EAAIk0D,EAASl0D,EAAG6zD,GAGlB,OAAQt7D,EAAGC,EAAGX,EAAGmI,GAMnB,QAASm0D,GAASC,EAAG77D,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAC/B,MAAOse,GAASG,EAAQH,EAASA,EAAS37D,EAAG67D,GAAIF,EAASxkD,EAAGkmC,IAAKzG,GAAI32C,GAGxE,QAASs7D,GAAQv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GACjC,MAAOue,GAAS37D,EAAIX,GAAQW,EAAKwH,EAAIzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAGnD,QAASme,GAAQx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GACjC,MAAOue,GAAS37D,EAAIwH,EAAMnI,GAAMmI,EAAKzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAGnD,QAASoe,GAAQz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GACjC,MAAOue,GAAQ37D,EAAIX,EAAImI,EAAGzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAGxC,QAASqe,GAAQ17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GACjC,MAAOue,GAAQt8D,GAAKW,GAAMwH,GAAKzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAO7C,QAASse,GAAUxkD,EAAGu/B,GACpB,GAAIqlB,IAAW,MAAJ5kD,IAAmB,MAAJu/B,GACtBslB,GAAO7kD,GAAK,KAAOu/B,GAAK,KAAOqlB,GAAO,GAC1C,OAAQC,IAAO,GAAa,MAAND,EAMxB,QAASD,GAAStZ,EAAKyZ,GACrB,MAAQzZ,IAAOyZ,EAAQzZ,IAAS,GAAKyZ,EAvIvC,GAAIC,GAAWr9D,EAAQ,IA0IvBI,GAAOD,QAAU,SAAcuL,GAC7B,MAAO2xD,GAAS3xD,EAAK2wD,KhHkodjB,SAAUj8D,EAAQD,EAASH,IiHvxdjC,SAAAyqC,GAAA,YAQA,SAAS6yB,GAAS5xD,GAChB,GAAKA,EAAI3H,OAASw5D,IAAa,EAAG,CAChC,GAAIlwD,GAAM3B,EAAI3H,QAAUw5D,EAAW7xD,EAAI3H,OAASw5D,EAChD7xD,GAAM++B,EAAOlpC,QAAQmK,EAAK8xD,GAAanwD,GAIzC,IAAK,GADDoyC,GAAM,GAAI34C,OAAM4E,EAAI3H,SAAW,GAC1BpD,EAAI,EAAGgS,EAAI,EAAGhS,EAAI+K,EAAI3H,OAAQpD,GAAK48D,EAAS5qD,IACnD8sC,EAAI9sC,GAAKjH,EAAIijD,YAAYhuD,EAG3B,OAAO8+C,GAlBT,GAAI8d,GAAU,EACVC,EAAa,GAAI/yB,GAAO8yB,EAC5BC,GAAWrV,KAAK,EAEhB,IAAIsV,GAAW,EACXC,EAAW,EAgBft9D,GAAOD,QAAU,SAAeuL,EAAKxK,GACnC,GAAIu+C,GAAMv+C,EAAGo8D,EAAQ5xD,GAAMA,EAAI3H,OAAS05D,EACxC/xD,GAAM,GAAI++B,GAAOizB,EACjB,KAAK,GAAI/8D,GAAI,EAAGA,EAAI8+C,EAAI17C,OAAQpD,IAC9B+K,EAAIqkD,aAAatQ,EAAI9+C,GAAIA,GAAK,GAAG,EAEnC,OAAO+K,MjH4xdqBnL,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IkH5zdjC,SAAAyqC,GAAA,YAIA,SAASuxB,KACP2B,EAASp9D,KAAKe,KAAM,IAGpBA,KAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,GAAK,UACVt+C,KAAKu+C,GAAK,WA8PZ,QAASke,GAAMzlD,EAAGvL,GAChB,MAAQuL,IAAKvL,EAAMuL,IAAO,GAAKvL,EAGjC,QAASixD,GAAK78D,EAAGC,EAAGX,EAAGmI,EAAGD,EAAGnI,EAAG6mC,EAAG0Q,GACjC,MAAQgmB,GAAM58D,GAAKC,EAAIX,EAAImI,GAAKpI,EAAI6mC,EAAK,EAAG0Q,GAAKpvC,EAAK,EAGxD,QAASs1D,GAAK98D,EAAGC,EAAGX,EAAGmI,EAAGD,EAAGnI,EAAG6mC,EAAG0Q,GACjC,MAAQgmB,GAAM58D,GAAMC,EAAIX,GAAQW,EAAKwH,GAAMpI,EAAI6mC,EAAK,EAAG0Q,GAAKpvC,EAAK,EAGnE,QAASu1D,GAAK/8D,EAAGC,EAAGX,EAAGmI,EAAGD,EAAGnI,EAAG6mC,EAAG0Q,GACjC,MAAQgmB,GAAM58D,IAAMC,GAAMX,GAAMmI,GAAKpI,EAAI6mC,EAAK,EAAG0Q,GAAKpvC,EAAK,EAG7D,QAASw1D,GAAKh9D,EAAGC,EAAGX,EAAGmI,EAAGD,EAAGnI,EAAG6mC,EAAG0Q,GACjC,MAAQgmB,GAAM58D,GAAMC,EAAIwH,EAAMnI,GAAMmI,GAAOpI,EAAI6mC,EAAK,EAAG0Q,GAAKpvC,EAAK,EAGnE,QAASy1D,GAAKj9D,EAAGC,EAAGX,EAAGmI,EAAGD,EAAGnI,EAAG6mC,EAAG0Q,GACjC,MAAQgmB,GAAM58D,GAAKC,GAAKX,GAAMmI,IAAOpI,EAAI6mC,EAAK,EAAG0Q,GAAKpvC,EAAK,EA9R7D,GAAIgX,GAAW3f,EAAQ,KACnB29D,EAAW39D,EAAQ,IAavB2f,GAASq8C,EAAW2B,GAEpB3B,EAAUn7D,UAAUq7D,QAAU,WAE5B,IAAK,GADD17D,GAAI,GAAIsG,OAAM,IACTnG,EAAI,EAAGA,EAAI,KAAMA,EAAGH,EAAEG,GAAKW,KAAK+8D,OAAO1P,YAAgB,EAAJhuD,EAE5D,IAAI29D,GAAKh9D,KAAKs8D,GACVW,EAAKj9D,KAAKu8D,GACVW,EAAKl9D,KAAKw8D,GACVW,EAAKn9D,KAAKs+C,GACV0H,EAAKhmD,KAAKu+C,EAKdye,GAAKN,EAAIM,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,EAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK0W,EAAI1W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,EAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IAClEE,EAAKT,EAAIS,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,EAAY,IAAK89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKR,EAAIQ,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,EAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKP,EAAIO,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,EAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IACjEH,EAAKN,EAAIM,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,EAAY,GAAIg+D,EAAKT,EAAKS,EAAI,IACjElX,EAAK0W,EAAI1W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,EAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKT,EAAIS,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,EAAY,GAAI89D,EAAKP,EAAKO,EAAI,IACjEE,EAAKR,EAAIQ,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,EAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKP,EAAIO,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,EAAY,IAAKi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKN,EAAIM,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,EAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IACnElX,EAAK0W,EAAI1W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,IAAK,EAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IACnEE,EAAKT,EAAIS,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,IAAK,EAAY,GAAI89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKR,EAAIQ,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,IAAK,EAAY,GAAI8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKP,EAAIO,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,EAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKN,EAAIM,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,EAAY,GAAIg+D,EAAKT,EAAKS,EAAI,IAKlElX,EAAK2W,EAAI3W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKR,EAAIQ,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IACjEE,EAAKP,EAAIO,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,IAAK,WAAY,GAAI8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKN,EAAIM,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,WAAY,IAAKi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKL,EAAIK,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IACnElX,EAAK2W,EAAI3W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKR,EAAIQ,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,IAAK,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKP,EAAIO,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKN,EAAIM,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKL,EAAIK,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK2W,EAAI3W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IAClEE,EAAKR,EAAIQ,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IACjEE,EAAKP,EAAIO,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKN,EAAIM,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKL,EAAIK,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IACnElX,EAAK2W,EAAI3W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IAKlEE,EAAKP,EAAIO,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,IAAK89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKN,EAAIM,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,IAAK,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IACnEiX,EAAKL,EAAIK,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKJ,EAAII,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,GAAIg+D,EAAKT,EAAKS,EAAI,IACjElX,EAAK4W,EAAI5W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IAClEE,EAAKP,EAAIO,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,IAAK,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKN,EAAIM,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKL,EAAIK,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,WAAY,IAAKi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKJ,EAAII,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK4W,EAAI5W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKP,EAAIO,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,IAAK89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKN,EAAIM,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,GAAI8mD,EAAKyW,EAAKzW,EAAI,IACjEiX,EAAKL,EAAIK,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKJ,EAAII,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IACnElX,EAAK4W,EAAI5W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKP,EAAIO,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,IAAK,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IAKlEE,EAAKL,EAAIK,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKJ,EAAII,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,WAAY,IAAKi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKH,EAAIG,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IACnElX,EAAK6W,EAAI7W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,IAAK,WAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IACnEE,EAAKN,EAAIM,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,IAAK89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKL,EAAIK,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKJ,EAAII,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKH,EAAIG,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,GAAIg+D,EAAKT,EAAKS,EAAI,IACjElX,EAAK6W,EAAI7W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,IAAK,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IAClEE,EAAKN,EAAIM,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,IAAK89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKL,EAAIK,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,GAAI8mD,EAAKyW,EAAKzW,EAAI,IACjEiX,EAAKJ,EAAII,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKH,EAAIG,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,IAAK,WAAY,GAAIg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK6W,EAAI7W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKN,EAAIM,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IACjEE,EAAKL,EAAIK,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAKlEiX,EAAKH,EAAIG,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IACjEH,EAAKF,EAAIE,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK8W,EAAI9W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,GAAI,WAAY,GAAI+9D,EAAKR,EAAKQ,EAAI,IACjEE,EAAKL,EAAIK,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,IAAK89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKJ,EAAII,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,GAAI8mD,EAAKyW,EAAKzW,EAAI,IACjEiX,EAAKH,EAAIG,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKF,EAAIE,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK8W,EAAI9W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,IAAK,WAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IACnEE,EAAKL,EAAIK,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,IAAK,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IAClEE,EAAKJ,EAAII,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,GAAI,WAAY,IAAK8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKH,EAAIG,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,GAAI,WAAY,IAAKi+D,EAAKV,EAAKU,EAAI,IAClEH,EAAKF,EAAIE,EAAIC,EAAIC,EAAIC,EAAInX,EAAI9mD,EAAE,GAAI,WAAY,IAAKg+D,EAAKT,EAAKS,EAAI,IAClElX,EAAK8W,EAAI9W,EAAIgX,EAAIC,EAAIC,EAAIC,EAAIj+D,EAAE,IAAK,WAAY,IAAK+9D,EAAKR,EAAKQ,EAAI,IACnEE,EAAKL,EAAIK,EAAInX,EAAIgX,EAAIC,EAAIC,EAAIh+D,EAAE,GAAI,WAAY,GAAI89D,EAAKP,EAAKO,EAAI,IACjEE,EAAKJ,EAAII,EAAIC,EAAInX,EAAIgX,EAAIC,EAAI/9D,EAAE,IAAK,WAAY,GAAI8mD,EAAKyW,EAAKzW,EAAI,IAClEiX,EAAKH,EAAIG,EAAIC,EAAIC,EAAInX,EAAIgX,EAAI99D,EAAE,IAAK,WAAY,GAAIi+D,EAAKV,EAAKU,EAAI,GAElE,IAAItG,GAAK72D,KAAKs8D,GACVc,EAAKp9D,KAAKu8D,GACVpiC,EAAKn6B,KAAKw8D,GACVa,EAAKr9D,KAAKs+C,GACVzyC,EAAK7L,KAAKu+C,EAKdsY,GAAKiG,EAAIjG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IACjEtuB,EAAKixD,EAAIjxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,IAAK,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKP,EAAIO,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IACjE18B,EAAK2iC,EAAI3iC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKN,EAAIM,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAKiG,EAAIjG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAKixD,EAAIjxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,IAAK,WAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IACnEC,EAAKP,EAAIO,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IACjE18B,EAAK2iC,EAAI3iC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,IAAK,WAAY,GAAI2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKN,EAAIM,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IACjExG,EAAKiG,EAAIjG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,IAAK,WAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAKixD,EAAIjxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKP,EAAIO,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,WAAY,IAAK23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAK2iC,EAAI3iC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,IAAK,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IACnEuxD,EAAKN,EAAIM,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAKiG,EAAIjG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,IAAK,WAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IAKlEtuB,EAAKgxD,EAAIhxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IACjEC,EAAKR,EAAIQ,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,IAAK23D,EAAK4F,EAAK5F,EAAI,IACnE18B,EAAK0iC,EAAI1iC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKP,EAAIO,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IACjExG,EAAKgG,EAAIhG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAKgxD,EAAIhxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,IAAK,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKR,EAAIQ,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IACjE18B,EAAK0iC,EAAI1iC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,IAAK,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IACnEuxD,EAAKP,EAAIO,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,WAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAKgG,EAAIhG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,IAAK,WAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAKgxD,EAAIhxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKR,EAAIQ,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAK0iC,EAAI1iC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,GAAI2M,EAAK4wD,EAAK5wD,EAAI,IACjEuxD,EAAKP,EAAIO,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAKgG,EAAIhG,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAKgxD,EAAIhxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IAKlEC,EAAKT,EAAIS,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAKyiC,EAAIziC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,GAAI2M,EAAK4wD,EAAK5wD,EAAI,IACjEuxD,EAAKR,EAAIQ,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAK+F,EAAI/F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK+wD,EAAI/wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IACjEC,EAAKT,EAAIS,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAKyiC,EAAIziC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,GAAI2M,EAAK4wD,EAAK5wD,EAAI,IACjEuxD,EAAKR,EAAIQ,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAK+F,EAAI/F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,IAAK,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IACnEtuB,EAAK+wD,EAAI/wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKT,EAAIS,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAKyiC,EAAIziC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKR,EAAIQ,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,WAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,IACnExG,EAAK+F,EAAI/F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK+wD,EAAI/wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IACjEC,EAAKT,EAAIS,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IAKlE18B,EAAKwiC,EAAIxiC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKT,EAAIS,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,WAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IACjExG,EAAK8F,EAAI9F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IACjEtuB,EAAK8wD,EAAI9wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKV,EAAIU,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,WAAY,IAAK23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAKwiC,EAAIxiC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,IAAK,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IACnEuxD,EAAKT,EAAIS,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,WAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAK8F,EAAI9F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK8wD,EAAI9wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IACjEC,EAAKV,EAAIU,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAKwiC,EAAIxiC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,WAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKT,EAAIS,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,WAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAK8F,EAAI9F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,WAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK8wD,EAAI9wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,WAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IACjEC,EAAKV,EAAIU,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,IAAK,WAAY,IAAK23D,EAAK4F,EAAK5F,EAAI,IACnE18B,EAAKwiC,EAAIxiC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,IAAK,WAAY,GAAI2M,EAAK4wD,EAAK5wD,EAAI,IAKlEuxD,EAAKV,EAAIU,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,EAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAK6F,EAAI7F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,IAAK,EAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK6wD,EAAI7wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,IAAK,EAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IACnEC,EAAKX,EAAIW,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,EAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IACjE18B,EAAKuiC,EAAIviC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,EAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKV,EAAIU,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,GAAI,EAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IACjExG,EAAK6F,EAAI7F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,GAAI,EAAY,IAAKi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK6wD,EAAI7wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,EAAY,GAAIk+D,EAAKX,EAAKW,EAAI,IACjEC,EAAKX,EAAIW,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,EAAY,GAAI23D,EAAK4F,EAAK5F,EAAI,IACjE18B,EAAKuiC,EAAIviC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,EAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKV,EAAIU,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,EAAY,GAAIm+D,EAAKZ,EAAKY,EAAI,IAClExG,EAAK6F,EAAI7F,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,EAAI3M,EAAE,IAAK,EAAY,GAAIi7B,EAAKsiC,EAAKtiC,EAAI,IAClEtuB,EAAK6wD,EAAI7wD,EAAIgrD,EAAIuG,EAAIjjC,EAAIkjC,EAAIn+D,EAAE,GAAI,EAAY,IAAKk+D,EAAKX,EAAKW,EAAI,IAClEC,EAAKX,EAAIW,EAAIxxD,EAAIgrD,EAAIuG,EAAIjjC,EAAIj7B,EAAE,GAAI,EAAY,IAAK23D,EAAK4F,EAAK5F,EAAI,IAClE18B,EAAKuiC,EAAIviC,EAAIkjC,EAAIxxD,EAAIgrD,EAAIuG,EAAIl+D,EAAE,GAAI,EAAY,IAAK2M,EAAK4wD,EAAK5wD,EAAI,IAClEuxD,EAAKV,EAAIU,EAAIjjC,EAAIkjC,EAAIxxD,EAAIgrD,EAAI33D,EAAE,IAAK,EAAY,IAAKm+D,EAAKZ,EAAKY,EAAI,GAGnE,IAAIngB,GAAKl9C,KAAKu8D,GAAKW,EAAKG,EAAM,CAC9Br9D,MAAKu8D,GAAMv8D,KAAKw8D,GAAKW,EAAKtxD,EAAM,EAChC7L,KAAKw8D,GAAMx8D,KAAKs+C,GAAK0H,EAAK6Q,EAAM,EAChC72D,KAAKs+C,GAAMt+C,KAAKu+C,GAAKye,EAAKI,EAAM,EAChCp9D,KAAKu+C,GAAMv+C,KAAKs8D,GAAKW,EAAK9iC,EAAM,EAChCn6B,KAAKs8D,GAAKpf,GAGZwd,EAAUn7D,UAAU+9D,QAAU,WAE5Bt9D,KAAK+8D,OAAO/8D,KAAKu9D,gBAAkB,IAC/Bv9D,KAAKu9D,aAAe,KACtBv9D,KAAK+8D,OAAOlW,KAAK,EAAG7mD,KAAKu9D,aAAc,IACvCv9D,KAAK46D,UACL56D,KAAKu9D,aAAe,GAGtBv9D,KAAK+8D,OAAOlW,KAAK,EAAG7mD,KAAKu9D,aAAc,IACvCv9D,KAAK+8D,OAAO9O,cAAcjuD,KAAKwU,QAAQ,GAAI,IAC3CxU,KAAK+8D,OAAO9O,cAAcjuD,KAAKwU,QAAQ,GAAI,IAC3CxU,KAAK46D,SAGL,IAAIvqB,GAAS,GAAIlH,GAAO,GAMxB,OALAkH,GAAOoe,aAAazuD,KAAKs8D,GAAI,GAC7BjsB,EAAOoe,aAAazuD,KAAKu8D,GAAI,GAC7BlsB,EAAOoe,aAAazuD,KAAKw8D,GAAI,GAC7BnsB,EAAOoe,aAAazuD,KAAKs+C,GAAI,IAC7BjO,EAAOoe,aAAazuD,KAAKu+C,GAAI,IACtBlO,GA2BTvxC,EAAOD,QAAU67D,IlHg0daz7D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,ImHtmejC,SAAAyqC,GAAA,YAIA,SAASkzB,GAAUmB,GACjBC,EAAUx+D,KAAKe,MAEfA,KAAK+8D,OAAS,GAAI5zB,GAAOq0B,GACzBx9D,KAAK09D,WAAaF,EAClBx9D,KAAKu9D,aAAe,EACpBv9D,KAAKwU,SAAW,EAAG,EAAG,EAAG,GAEzBxU,KAAK29D,YAAa,EAXpB,GAAIF,GAAY/+D,EAAQ,KAAU++D,UAC9Bp/C,EAAW3f,EAAQ,IAavB2f,GAASg+C,EAAUoB,GAEnBpB,EAAS98D,UAAUq+D,WAAa,SAAUC,EAAO/W,EAAU3hD,GACzD,GAAI6C,GAAQ,IACZ,KACmB,WAAb8+C,IAAuB+W,EAAQ,GAAI10B,GAAO00B,EAAO/W,IACrD9mD,KAAK6I,OAAOg1D,GACZ,MAAOl2D,GACPK,EAAQL,EAGVxC,EAAS6C,IAGXq0D,EAAS98D,UAAUu+D,OAAS,SAAU34D,GACpC,GAAI6C,GAAQ,IACZ,KACEhI,KAAKqM,KAAKrM,KAAKs9D,WACf,MAAO31D,GACPK,EAAQL,EAGVxC,EAAS6C,IAGXq0D,EAAS98D,UAAUsJ,OAAS,SAAU5B,EAAM6/C,GAC1C,IAAK3d,EAAO7B,SAASrgC,IAAyB,gBAATA,GAAmB,KAAM,IAAI9F,WAAU,oCAC5E,IAAInB,KAAK29D,WAAY,KAAM,IAAI72D,OAAM,wBAChCqiC,GAAO7B,SAASrgC,KAAOA,EAAO,GAAIkiC,GAAOliC,EAAM6/C,GAAY,UAKhE,KAFA,GAAI+M,GAAQ7zD,KAAK+8D,OACbrd,EAAS,EACN1/C,KAAKu9D,aAAet2D,EAAKxE,OAASi9C,GAAU1/C,KAAK09D,YAAY,CAClE,IAAK,GAAIr+D,GAAIW,KAAKu9D,aAAcl+D,EAAIW,KAAK09D,YAAa7J,EAAMx0D,KAAO4H,EAAKy4C,IACxE1/C,MAAK46D,UACL56D,KAAKu9D,aAAe,EAEtB,KAAO7d,EAASz4C,EAAKxE,QAAQoxD,EAAM7zD,KAAKu9D,gBAAkBt2D,EAAKy4C,IAG/D,KAAK,GAAIruC,GAAI,EAAG0sD,EAAsB,EAAd92D,EAAKxE,OAAYs7D,EAAQ,IAAK1sD,EACpDrR,KAAKwU,QAAQnD,IAAM0sD,EACnBA,EAAS/9D,KAAKwU,QAAQnD,GAAK,WAAgB,EACvC0sD,EAAQ,IAAG/9D,KAAKwU,QAAQnD,IAAM,WAAe0sD,EAGnD,OAAO/9D,OAGTq8D,EAAS98D,UAAUq7D,QAAU,SAAU3zD,GACrC,KAAM,IAAIH,OAAM,+BAGlBu1D,EAAS98D,UAAU+K,OAAS,SAAUw8C,GACpC,GAAI9mD,KAAK29D,WAAY,KAAM,IAAI72D,OAAM,wBACrC9G,MAAK29D,YAAa,CAElB,IAAIrzD,GAAStK,KAAKs9D,SAElB,OADiBp5D,UAAb4iD,IAAwBx8C,EAASA,EAAOG,SAASq8C,IAC9Cx8C,GAGT+xD,EAAS98D,UAAU+9D,QAAU,WAC3B,KAAM,IAAIx2D,OAAM,+BAGlBhI,EAAOD,QAAUw9D,InH2meap9D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YoH1peD,SAASs/D,KACPC,EAAGh/D,KAAKe,MArBVlB,EAAOD,QAAUm/D,CAEjB,IAAIC,GAAKv/D,EAAQ,GAAUsM,aACvBqT,EAAW3f,EAAQ,IAEvB2f,GAAS2/C,EAAQC,GACjBD,EAAOE,SAAWx/D,EAAQ,KAC1Bs/D,EAAOG,SAAWz/D,EAAQ,KAC1Bs/D,EAAOI,OAAS1/D,EAAQ,KACxBs/D,EAAOP,UAAY/+D,EAAQ,KAC3Bs/D,EAAOK,YAAc3/D,EAAQ,KAG7Bs/D,EAAOA,OAASA,EAWhBA,EAAOz+D,UAAU++D,KAAO,SAASC,EAAMv6D,GAGrC,QAASw6D,GAAOX,GACVU,EAAKz8D,WACH,IAAUy8D,EAAKp8C,MAAM07C,IAAUx3C,EAAOo4C,OACxCp4C,EAAOo4C,QAOb,QAASC,KACHr4C,EAAOs4C,UAAYt4C,EAAOu4C,QAC5Bv4C,EAAOu4C,SAcX,QAASC,KACHC,IACJA,GAAW,EAEXP,EAAKnZ,OAIP,QAASjL,KACH2kB,IACJA,GAAW,EAEiB,kBAAjBP,GAAKQ,SAAwBR,EAAKQ,WAI/C,QAASxvB,GAAQ1jC,GAEf,GADAmzD,IACwC,IAApCf,EAAG9wD,cAAcnN,KAAM,SACzB,KAAM6L,GAQV,QAASmzD,KACP34C,EAAOzZ,eAAe,OAAQ4xD,GAC9BD,EAAK3xD,eAAe,QAAS8xD,GAE7Br4C,EAAOzZ,eAAe,MAAOiyD,GAC7Bx4C,EAAOzZ,eAAe,QAASutC,GAE/B9zB,EAAOzZ,eAAe,QAAS2iC,GAC/BgvB,EAAK3xD,eAAe,QAAS2iC,GAE7BlpB,EAAOzZ,eAAe,MAAOoyD,GAC7B34C,EAAOzZ,eAAe,QAASoyD,GAE/BT,EAAK3xD,eAAe,QAASoyD,GApE/B,GAAI34C,GAASrmB,IAUbqmB,GAAO5Z,GAAG,OAAQ+xD,GAQlBD,EAAK9xD,GAAG,QAASiyD,GAIZH,EAAKU,UAAcj7D,GAAWA,EAAQohD,OAAQ,IACjD/+B,EAAO5Z,GAAG,MAAOoyD,GACjBx4C,EAAO5Z,GAAG,QAAS0tC,GAGrB,IAAI2kB,IAAW,CAoDf,OA5BAz4C,GAAO5Z,GAAG,QAAS8iC,GACnBgvB,EAAK9xD,GAAG,QAAS8iC,GAmBjBlpB,EAAO5Z,GAAG,MAAOuyD,GACjB34C,EAAO5Z,GAAG,QAASuyD,GAEnBT,EAAK9xD,GAAG,QAASuyD,GAEjBT,EAAK5yD,KAAK,OAAQ0a,GAGXk4C,IpHuseH,SAAUz/D,EAAQD,EAASH,GAEhC,YqHt0eDG,GAAUC,EAAOD,QAAUH,EAAQ,KACnCG,EAAQm/D,OAASn/D,EACjBA,EAAQq/D,SAAWr/D,EACnBA,EAAQs/D,SAAWz/D,EAAQ,KAC3BG,EAAQu/D,OAAS1/D,EAAQ,KACzBG,EAAQ4+D,UAAY/+D,EAAQ,KAC5BG,EAAQw/D,YAAc3/D,EAAQ,MrH40exB,SAAUI,EAAQD,EAASH,IsHl1ejC,SAAAwB,EAAAwN,GAqBA,YAoCA,SAASwxD,GAAoBrB,GAC3B,MAAO10B,GAAOvrB,KAAKigD,GAErB,QAASsB,GAAct+D,GACrB,MAAOsoC,GAAO7B,SAASzmC,IAAQA,YAAeu+D,GA2BhD,QAASrkD,GAAgB1N,EAAS+Y,EAAOxmB,GAGvC,MAAuC,kBAA5ByN,GAAQ0N,gBACV1N,EAAQ0N,gBAAgBqL,EAAOxmB,QAMjCyN,EAAQtK,SAAYsK,EAAQtK,QAAQqjB,GAAuC9G,EAAQjS,EAAQtK,QAAQqjB,IAAS/Y,EAAQtK,QAAQqjB,GAAO4vB,QAAQp2C,GAASyN,EAAQtK,QAAQqjB,IAAUxmB,EAAIyN,EAAQtK,QAAQqjB,IAAtJ/Y,EAAQZ,GAAG2Z,EAAOxmB,IAIvE,QAASy/D,GAAcr7D,EAASs7D,GAC9BlB,EAASA,GAAU1/D,EAAQ,KAE3BsF,EAAUA,MAIVhE,KAAKu/D,aAAev7D,EAAQu7D,WAExBD,YAAkBlB,KAAQp+D,KAAKu/D,WAAav/D,KAAKu/D,cAAgBv7D,EAAQw7D,mBAI7E,IAAIC,GAAMz7D,EAAQ07D,cACdC,EAAa3/D,KAAKu/D,WAAa,GAAK,KACxCv/D,MAAK0/D,cAAgBD,GAAe,IAARA,EAAYA,EAAME,EAG9C3/D,KAAK0/D,cAAgBv4D,KAAK2vC,MAAM92C,KAAK0/D,eAKrC1/D,KAAKqwC,OAAS,GAAIuvB,GAClB5/D,KAAKyC,OAAS,EACdzC,KAAK6/D,MAAQ,KACb7/D,KAAK8/D,WAAa,EAClB9/D,KAAK+/D,QAAU,KACf//D,KAAKggE,OAAQ,EACbhgE,KAAKigE,YAAa,EAClBjgE,KAAKkgE,SAAU,EAMflgE,KAAKmgE,MAAO,EAIZngE,KAAKogE,cAAe,EACpBpgE,KAAKqgE,iBAAkB,EACvBrgE,KAAKsgE,mBAAoB,EACzBtgE,KAAKugE,iBAAkB,EAGvBvgE,KAAKwgE,WAAY,EAKjBxgE,KAAKygE,gBAAkBz8D,EAAQy8D,iBAAmB,OAGlDzgE,KAAK0gE,WAAa,EAGlB1gE,KAAK2gE,aAAc,EAEnB3gE,KAAK4gE,QAAU,KACf5gE,KAAK8mD,SAAW,KACZ9iD,EAAQ8iD,WACL+Z,IAAeA,EAAgBniE,EAAQ,KAAmBmiE,eAC/D7gE,KAAK4gE,QAAU,GAAIC,GAAc78D,EAAQ8iD,UACzC9mD,KAAK8mD,SAAW9iD,EAAQ8iD,UAI5B,QAASoX,GAASl6D,GAGhB,MAFAo6D,GAASA,GAAU1/D,EAAQ,KAErBsB,eAAgBk+D,IAEtBl+D,KAAK8gE,eAAiB,GAAIzB,GAAcr7D,EAAShE,MAGjDA,KAAK2+D,UAAW,EAEZ36D,IAC0B,kBAAjBA,GAAQokD,OAAqBpoD,KAAK+gE,MAAQ/8D,EAAQokD,MAE9B,kBAApBpkD,GAAQ+6D,UAAwB/+D,KAAKghE,SAAWh9D,EAAQ+6D,cAGrEf,GAAO/+D,KAAKe,OAb4B,GAAIk+D,GAASl6D,GAwEvD,QAASi9D,GAAiB3B,EAAQzB,EAAO/W,EAAUoa,EAAYC,GAC7D,GAAIC,GAAQ9B,EAAOwB,cACnB,IAAc,OAAVjD,EACFuD,EAAMlB,SAAU,EAChBmB,EAAW/B,EAAQ8B,OACd,CACL,GAAIv1D,EACCs1D,KAAgBt1D,EAAKy1D,EAAaF,EAAOvD,IAC1ChyD,EACFyzD,EAAO3zD,KAAK,QAASE,GACZu1D,EAAM7B,YAAc1B,GAASA,EAAMp7D,OAAS,GAChC,gBAAVo7D,IAAuBuD,EAAM7B,YAAcjgE,OAAO8E,eAAey5D,KAAW10B,EAAO5pC,YAC5Fs+D,EAAQqB,EAAoBrB,IAG1BqD,EACEE,EAAMnB,WAAYX,EAAO3zD,KAAK,QAAS,GAAI7E,OAAM,qCAA0Cy6D,EAASjC,EAAQ8B,EAAOvD,GAAO,GACrHuD,EAAMpB,MACfV,EAAO3zD,KAAK,QAAS,GAAI7E,OAAM,6BAE/Bs6D,EAAMlB,SAAU,EACZkB,EAAMR,UAAY9Z,GACpB+W,EAAQuD,EAAMR,QAAQz+C,MAAM07C,GACxBuD,EAAM7B,YAA+B,IAAjB1B,EAAMp7D,OAAc8+D,EAASjC,EAAQ8B,EAAOvD,GAAO,GAAY2D,EAAclC,EAAQ8B,IAE7GG,EAASjC,EAAQ8B,EAAOvD,GAAO,KAGzBqD,IACVE,EAAMlB,SAAU,GAIpB,MAAOuB,GAAaL,GAGtB,QAASG,GAASjC,EAAQ8B,EAAOvD,EAAOqD,GAClCE,EAAMrB,SAA4B,IAAjBqB,EAAM3+D,SAAiB2+D,EAAMjB,MAChDb,EAAO3zD,KAAK,OAAQkyD,GACpByB,EAAOlX,KAAK,KAGZgZ,EAAM3+D,QAAU2+D,EAAM7B,WAAa,EAAI1B,EAAMp7D,OACzCy+D,EAAYE,EAAM/wB,OAAO2F,QAAQ6nB,GAAYuD,EAAM/wB,OAAOhkC,KAAKwxD,GAE/DuD,EAAMhB,cAAcsB,EAAapC,IAEvCkC,EAAclC,EAAQ8B,GAGxB,QAASE,GAAaF,EAAOvD,GAC3B,GAAIhyD,EAIJ,OAHKszD,GAActB,IAA2B,gBAAVA,IAAgC35D,SAAV25D,GAAwBuD,EAAM7B,aACtF1zD,EAAK,GAAI1K,WAAU,oCAEd0K,EAUT,QAAS41D,GAAaL,GACpB,OAAQA,EAAMpB,QAAUoB,EAAMhB,cAAgBgB,EAAM3+D,OAAS2+D,EAAM1B,eAAkC,IAAjB0B,EAAM3+D,QAiB5F,QAASk/D,GAAwBl2D,GAc/B,MAbIA,IAAKm2D,EACPn2D,EAAIm2D,GAIJn2D,IACAA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,EACXA,GAAKA,IAAM,GACXA,KAEKA,EAKT,QAASo2D,GAAcp2D,EAAG21D,GACxB,MAAI31D,IAAK,GAAsB,IAAjB21D,EAAM3+D,QAAgB2+D,EAAMpB,MAAc,EACpDoB,EAAM7B,WAAmB,EACzB9zD,IAAMA,EAEJ21D,EAAMrB,SAAWqB,EAAM3+D,OAAe2+D,EAAM/wB,OAAOyxB,KAAK76D,KAAKxE,OAAmB2+D,EAAM3+D,QAGxFgJ,EAAI21D,EAAM1B,gBAAe0B,EAAM1B,cAAgBiC,EAAwBl2D,IACvEA,GAAK21D,EAAM3+D,OAAegJ,EAEzB21D,EAAMpB,MAIJoB,EAAM3+D,QAHX2+D,EAAMhB,cAAe,EACd,IA0GX,QAASiB,GAAW/B,EAAQ8B,GAC1B,IAAIA,EAAMpB,MAAV,CACA,GAAIoB,EAAMR,QAAS,CACjB,GAAI/C,GAAQuD,EAAMR,QAAQxb,KACtByY,IAASA,EAAMp7D,SACjB2+D,EAAM/wB,OAAOhkC,KAAKwxD,GAClBuD,EAAM3+D,QAAU2+D,EAAM7B,WAAa,EAAI1B,EAAMp7D,QAGjD2+D,EAAMpB,OAAQ,EAGd0B,EAAapC,IAMf,QAASoC,GAAapC,GACpB,GAAI8B,GAAQ9B,EAAOwB,cACnBM,GAAMhB,cAAe,EAChBgB,EAAMf,kBACTzvD,EAAM,eAAgBwwD,EAAMrB,SAC5BqB,EAAMf,iBAAkB,EACpBe,EAAMjB,KAAM4B,EAAgBC,EAAe1C,GAAa0C,EAAc1C,IAI9E,QAAS0C,GAAc1C,GACrB1uD,EAAM,iBACN0uD,EAAO3zD,KAAK,YACZs2D,EAAK3C,GASP,QAASkC,GAAclC,EAAQ8B,GACxBA,EAAMT,cACTS,EAAMT,aAAc,EACpBoB,EAAgBG,EAAgB5C,EAAQ8B,IAI5C,QAASc,GAAe5C,EAAQ8B,GAE9B,IADA,GAAIr1D,GAAMq1D,EAAM3+D,QACR2+D,EAAMlB,UAAYkB,EAAMrB,UAAYqB,EAAMpB,OAASoB,EAAM3+D,OAAS2+D,EAAM1B,gBAC9E9uD,EAAM,wBACN0uD,EAAOlX,KAAK,GACRr8C,IAAQq1D,EAAM3+D,SAELsJ,EAAMq1D,EAAM3+D,MAE3B2+D,GAAMT,aAAc,EAkJtB,QAASwB,GAAY16C,GACnB,MAAO,YACL,GAAI25C,GAAQ35C,EAAIq5C,cAChBlwD,GAAM,cAAewwD,EAAMV,YACvBU,EAAMV,YAAYU,EAAMV,aACH,IAArBU,EAAMV,YAAoB0B,EAAgB36C,EAAK,UACjD25C,EAAMrB,SAAU,EAChBkC,EAAKx6C,KAgFX,QAAS46C,GAAiBhhE,GACxBuP,EAAM,4BACNvP,EAAK+mD,KAAK,GAeZ,QAASwW,GAAOU,EAAQ8B,GACjBA,EAAMb,kBACTa,EAAMb,iBAAkB,EACxBwB,EAAgBO,EAAShD,EAAQ8B,IAIrC,QAASkB,GAAQhD,EAAQ8B,GAClBA,EAAMlB,UACTtvD,EAAM,iBACN0uD,EAAOlX,KAAK,IAGdgZ,EAAMb,iBAAkB,EACxBa,EAAMV,WAAa,EACnBpB,EAAO3zD,KAAK,UACZs2D,EAAK3C,GACD8B,EAAMrB,UAAYqB,EAAMlB,SAASZ,EAAOlX,KAAK,GAanD,QAAS6Z,GAAK3C,GACZ,GAAI8B,GAAQ9B,EAAOwB,cAEnB,KADAlwD,EAAM,OAAQwwD,EAAMrB,SACbqB,EAAMrB,SAA6B,OAAlBT,EAAOlX,UAwEjC,QAASma,GAAS92D,EAAG21D,GAEnB,GAAqB,IAAjBA,EAAM3+D,OAAc,MAAO,KAE/B,IAAIyK,EAUJ,OATIk0D,GAAM7B,WAAYryD,EAAMk0D,EAAM/wB,OAAO5tB,SAAkBhX,GAAKA,GAAK21D,EAAM3+D,QAEtDyK,EAAfk0D,EAAMR,QAAeQ,EAAM/wB,OAAOhnB,KAAK,IAAqC,IAAxB+3C,EAAM/wB,OAAO5tC,OAAoB2+D,EAAM/wB,OAAOyxB,KAAK76D,KAAgBm6D,EAAM/wB,OAAOpwC,OAAOmhE,EAAM3+D,QACrJ2+D,EAAM/wB,OAAOgK,SAGbntC,EAAMs1D,EAAgB/2D,EAAG21D,EAAM/wB,OAAQ+wB,EAAMR,SAGxC1zD,EAMT,QAASs1D,GAAgB/2D,EAAGqB,EAAM21D,GAChC,GAAIv1D,EAYJ,OAXIzB,GAAIqB,EAAKg1D,KAAK76D,KAAKxE,QAErByK,EAAMJ,EAAKg1D,KAAK76D,KAAKtH,MAAM,EAAG8L,GAC9BqB,EAAKg1D,KAAK76D,KAAO6F,EAAKg1D,KAAK76D,KAAKtH,MAAM8L,IAGtCyB,EAFSzB,IAAMqB,EAAKg1D,KAAK76D,KAAKxE,OAExBqK,EAAK2V,QAGLggD,EAAaC,EAAqBj3D,EAAGqB,GAAQ61D,EAAel3D,EAAGqB,GAEhEI,EAOT,QAASw1D,GAAqBj3D,EAAGqB,GAC/B,GAAI1N,GAAI0N,EAAKg1D,KACT3iE,EAAI,EACJ+N,EAAM9N,EAAE6H,IAEZ,KADAwE,GAAKyB,EAAIzK,OACFrD,EAAIA,EAAEsgB,MAAM,CACjB,GAAIzC,GAAM7d,EAAE6H,KACR27D,EAAKn3D,EAAIwR,EAAIxa,OAASwa,EAAIxa,OAASgJ,CAGvC,IAFuByB,GAAnB01D,IAAO3lD,EAAIxa,OAAewa,EAAgBA,EAAItd,MAAM,EAAG8L,GAC3DA,GAAKm3D,EACK,IAANn3D,EAAS,CACPm3D,IAAO3lD,EAAIxa,UACXtD,EACEC,EAAEsgB,KAAM5S,EAAKg1D,KAAO1iE,EAAEsgB,KAAU5S,EAAKg1D,KAAOh1D,EAAK+1D,KAAO,OAE5D/1D,EAAKg1D,KAAO1iE,EACZA,EAAE6H,KAAOgW,EAAItd,MAAMijE,GAErB,SAEAzjE,EAGJ,MADA2N,GAAKrK,QAAUtD,EACR+N,EAMT,QAASy1D,GAAel3D,EAAGqB,GACzB,GAAII,GAAMi8B,EAAOsd,YAAYh7C,GACzBrM,EAAI0N,EAAKg1D,KACT3iE,EAAI,CAGR,KAFAC,EAAE6H,KAAKw4C,KAAKvyC,GACZzB,GAAKrM,EAAE6H,KAAKxE,OACLrD,EAAIA,EAAEsgB,MAAM,CACjB,GAAItV,GAAMhL,EAAE6H,KACR27D,EAAKn3D,EAAIrB,EAAI3H,OAAS2H,EAAI3H,OAASgJ,CAGvC,IAFArB,EAAIq1C,KAAKvyC,EAAKA,EAAIzK,OAASgJ,EAAG,EAAGm3D,GACjCn3D,GAAKm3D,EACK,IAANn3D,EAAS,CACPm3D,IAAOx4D,EAAI3H,UACXtD,EACEC,EAAEsgB,KAAM5S,EAAKg1D,KAAO1iE,EAAEsgB,KAAU5S,EAAKg1D,KAAOh1D,EAAK+1D,KAAO,OAE5D/1D,EAAKg1D,KAAO1iE,EACZA,EAAE6H,KAAOmD,EAAIzK,MAAMijE,GAErB,SAEAzjE,EAGJ,MADA2N,GAAKrK,QAAUtD,EACR+N,EAGT,QAAS41D,GAAYxD,GACnB,GAAI8B,GAAQ9B,EAAOwB,cAInB,IAAIM,EAAM3+D,OAAS,EAAG,KAAM,IAAIqE,OAAM,6CAEjCs6D,GAAMnB,aACTmB,EAAMpB,OAAQ,EACd+B,EAAgBgB,EAAe3B,EAAO9B,IAI1C,QAASyD,GAAc3B,EAAO9B,GAEvB8B,EAAMnB,YAA+B,IAAjBmB,EAAM3+D,SAC7B2+D,EAAMnB,YAAa,EACnBX,EAAOX,UAAW,EAClBW,EAAO3zD,KAAK,QAUhB,QAAS2a,GAAQ08C,EAAIhsD,GACnB,IAAK,GAAI3X,GAAI,EAAG0d,EAAIimD,EAAGvgE,OAAQpD,EAAI0d,EAAG1d,IACpC,GAAI2jE,EAAG3jE,KAAO2X,EAAG,MAAO3X,EAE1B,QAAO,EAp9BT,GAAI0iE,GAAkBrjE,EAAQ,IAG9BI,GAAOD,QAAUq/D,CAGjB,IAIIE,GAJA9+C,EAAU5gB,EAAQ,IAOtBw/D,GAASmB,cAAgBA,CAGzB,IAEI+C,IAFK1jE,EAAQ,GAAUsM,aAEL,SAAUqC,EAASzB,GACvC,MAAOyB,GAAQrB,UAAUJ,GAAMnJ,SAK7Bu7D,EAASt/D,EAAQ,KAMjByqC,EAASzqC,EAAQ,KAAeyqC,OAChCi2B,EAAgBl/D,EAAO8vC,YAAc,aAUrCliC,EAAOpP,EAAQ,IACnBoP,GAAKuQ,SAAW3f,EAAQ,IAIxB,IAAIukE,GAAYvkE,EAAQ,KACpBkS,EAAQ,MAEVA,GADEqyD,GAAaA,EAAU/K,SACjB+K,EAAU/K,SAAS,UAEnB,YAIV,IAEI2I,GAFAjB,EAAalhE,EAAQ,KACrBwkE,EAAcxkE,EAAQ,IAG1BoP,GAAKuQ,SAAS6/C,EAAUF,EAExB,IAAImF,IAAgB,QAAS,QAAS,UAAW,QAAS,SAuG1D7jE,QAAOqD,eAAeu7D,EAAS3+D,UAAW,aACxC6c,IAAK,WACH,MAA4BlY,UAAxBlE,KAAK8gE,gBAGF9gE,KAAK8gE,eAAeN,WAE7Bp4D,IAAK,SAAUxG,GAGR5B,KAAK8gE,iBAMV9gE,KAAK8gE,eAAeN,UAAY5+D,MAIpCs8D,EAAS3+D,UAAUw/D,QAAUmE,EAAYnE,QACzCb,EAAS3+D,UAAU6jE,WAAaF,EAAYG,UAC5CnF,EAAS3+D,UAAUyhE,SAAW,SAAUr5D,EAAKT,GAC3ClH,KAAKqM,KAAK,MACVnF,EAAGS,IAOLu2D,EAAS3+D,UAAU8M,KAAO,SAAUwxD,EAAO/W,GACzC,GACIqa,GADAC,EAAQphE,KAAK8gE,cAgBjB,OAbKM,GAAM7B,WAUT4B,GAAiB,EATI,gBAAVtD,KACT/W,EAAWA,GAAYsa,EAAMX,gBACzB3Z,IAAasa,EAAMta,WACrB+W,EAAQ10B,EAAOvrB,KAAKigD,EAAO/W,GAC3BA,EAAW,IAEbqa,GAAiB,GAMdF,EAAiBjhE,KAAM69D,EAAO/W,GAAU,EAAOqa,IAIxDjD,EAAS3+D,UAAUy2C,QAAU,SAAU6nB,GACrC,MAAOoD,GAAiBjhE,KAAM69D,EAAO,MAAM,GAAM,IAwEnDK,EAAS3+D,UAAU+jE,SAAW,WAC5B,MAAOtjE,MAAK8gE,eAAef,WAAY,GAIzC7B,EAAS3+D,UAAUgkE,YAAc,SAAUC,GAIzC,MAHK3C,KAAeA,EAAgBniE,EAAQ,KAAmBmiE,eAC/D7gE,KAAK8gE,eAAeF,QAAU,GAAIC,GAAc2C,GAChDxjE,KAAK8gE,eAAeha,SAAW0c,EACxBxjE,KAIT,IAAI4hE,GAAU,OAuCd1D,GAAS3+D,UAAU6oD,KAAO,SAAU38C,GAClCmF,EAAM,OAAQnF,GACdA,EAAImlB,SAASnlB,EAAG,GAChB,IAAI21D,GAAQphE,KAAK8gE,eACb2C,EAAQh4D,CAOZ,IALU,IAANA,IAAS21D,EAAMf,iBAAkB,GAK3B,IAAN50D,GAAW21D,EAAMhB,eAAiBgB,EAAM3+D,QAAU2+D,EAAM1B,eAAiB0B,EAAMpB,OAGjF,MAFApvD,GAAM,qBAAsBwwD,EAAM3+D,OAAQ2+D,EAAMpB,OAC3B,IAAjBoB,EAAM3+D,QAAgB2+D,EAAMpB,MAAO8C,EAAY9iE,MAAW0hE,EAAa1hE,MACpE,IAMT,IAHAyL,EAAIo2D,EAAcp2D,EAAG21D,GAGX,IAAN31D,GAAW21D,EAAMpB,MAEnB,MADqB,KAAjBoB,EAAM3+D,QAAcqgE,EAAY9iE,MAC7B,IA0BT,IAAI0jE,GAAStC,EAAMhB,YACnBxvD,GAAM,gBAAiB8yD,IAGF,IAAjBtC,EAAM3+D,QAAgB2+D,EAAM3+D,OAASgJ,EAAI21D,EAAM1B,iBACjDgE,GAAS,EACT9yD,EAAM,6BAA8B8yD,IAKlCtC,EAAMpB,OAASoB,EAAMlB,SACvBwD,GAAS,EACT9yD,EAAM,mBAAoB8yD,IACjBA,IACT9yD,EAAM,WACNwwD,EAAMlB,SAAU,EAChBkB,EAAMjB,MAAO,EAEQ,IAAjBiB,EAAM3+D,SAAc2+D,EAAMhB,cAAe,GAE7CpgE,KAAK+gE,MAAMK,EAAM1B,eACjB0B,EAAMjB,MAAO,EAGRiB,EAAMlB,UAASz0D,EAAIo2D,EAAc4B,EAAOrC,IAG/C,IAAIl0D,EAqBJ,OApBWA,GAAPzB,EAAI,EAAS82D,EAAS92D,EAAG21D,GAAkB,KAEnC,OAARl0D,GACFk0D,EAAMhB,cAAe,EACrB30D,EAAI,GAEJ21D,EAAM3+D,QAAUgJ;AAGG,IAAjB21D,EAAM3+D,SAGH2+D,EAAMpB,QAAOoB,EAAMhB,cAAe,GAGnCqD,IAAUh4D,GAAK21D,EAAMpB,OAAO8C,EAAY9iE,OAGlC,OAARkN,GAAclN,KAAK2L,KAAK,OAAQuB,GAE7BA,GAkETgxD,EAAS3+D,UAAUwhE,MAAQ,SAAUt1D,GACnCzL,KAAK2L,KAAK,QAAS,GAAI7E,OAAM,gCAG/Bo3D,EAAS3+D,UAAU++D,KAAO,SAAUC,EAAMoF,GAwBxC,QAASC,GAASjF,EAAUkF,GAC1BjzD,EAAM,YACF+tD,IAAal3C,GACXo8C,GAAcA,EAAWC,cAAe,IAC1CD,EAAWC,YAAa,EACxB9E,KAKN,QAASH,KACPjuD,EAAM,SACN2tD,EAAKnZ,MAWP,QAAS4Z,KACPpuD,EAAM,WAEN2tD,EAAK3xD,eAAe,QAASutC,GAC7BokB,EAAK3xD,eAAe,SAAUm3D,GAC9BxF,EAAK3xD,eAAe,QAAS8xD,GAC7BH,EAAK3xD,eAAe,QAAS2iC,GAC7BgvB,EAAK3xD,eAAe,SAAUg3D,GAC9Bn8C,EAAI7a,eAAe,MAAOiyD,GAC1Bp3C,EAAI7a,eAAe,MAAOo3D,GAC1Bv8C,EAAI7a,eAAe,OAAQ4xD,GAE3ByF,GAAY,GAOR7C,EAAMV,YAAgBnC,EAAK2F,iBAAkB3F,EAAK2F,eAAeC,WAAYzF,IASnF,QAASF,GAAOX,GACdjtD,EAAM,UACNwzD,GAAsB,CACtB,IAAIl3D,GAAMqxD,EAAKp8C,MAAM07C,IACjB,IAAU3wD,GAAQk3D,KAKM,IAArBhD,EAAMtB,YAAoBsB,EAAMvB,QAAUtB,GAAQ6C,EAAMtB,WAAa,GAAKx5C,EAAQ86C,EAAMvB,MAAOtB,MAAU,KAAQ0F,IACpHrzD,EAAM,8BAA+B6W,EAAIq5C,eAAeJ,YACxDj5C,EAAIq5C,eAAeJ,aACnB0D,GAAsB,GAExB38C,EAAIg3C,SAMR,QAASlvB,GAAQ1jC,GACf+E,EAAM,UAAW/E,GACjBm4D,IACAzF,EAAK3xD,eAAe,QAAS2iC,GACU,IAAnC6yB,EAAgB7D,EAAM,UAAgBA,EAAK5yD,KAAK,QAASE,GAO/D,QAASsuC,KACPokB,EAAK3xD,eAAe,SAAUm3D,GAC9BC,IAGF,QAASD,KACPnzD,EAAM,YACN2tD,EAAK3xD,eAAe,QAASutC,GAC7B6pB,IAIF,QAASA,KACPpzD,EAAM,UACN6W,EAAIu8C,OAAOzF,GAvHb,GAAI92C,GAAMznB,KACNohE,EAAQphE,KAAK8gE,cAEjB,QAAQM,EAAMtB,YACZ,IAAK,GACHsB,EAAMvB,MAAQtB,CACd,MACF,KAAK,GACH6C,EAAMvB,OAASuB,EAAMvB,MAAOtB,EAC5B,MACF,SACE6C,EAAMvB,MAAMxzD,KAAKkyD,GAGrB6C,EAAMtB,YAAc,EACpBlvD,EAAM,wBAAyBwwD,EAAMtB,WAAY6D,EAEjD,IAAIU,KAAUV,GAAYA,EAASve,OAAQ,IAAUmZ,IAAS7wD,EAAQ42D,QAAU/F,IAAS7wD,EAAQwU,OAE7FqiD,EAAQF,EAAQxF,EAAQmF,CACxB5C,GAAMnB,WAAY8B,EAAgBwC,GAAY98C,EAAI/a,KAAK,MAAO63D,GAElEhG,EAAK9xD,GAAG,SAAUm3D,EAoBlB,IAAIlF,GAAUyD,EAAY16C,EAC1B82C,GAAK9xD,GAAG,QAASiyD,EAEjB,IAAIuF,IAAY,EA2BZG,GAAsB,CA2D1B,OA1DA38C,GAAIhb,GAAG,OAAQ+xD,GA6BfzjD,EAAgBwjD,EAAM,QAAShvB,GAO/BgvB,EAAK7xD,KAAK,QAASytC,GAMnBokB,EAAK7xD,KAAK,SAAUq3D,GAQpBxF,EAAK5yD,KAAK,OAAQ8b,GAGb25C,EAAMrB,UACTnvD,EAAM,eACN6W,EAAIm3C,UAGCL,GAeTL,EAAS3+D,UAAUykE,OAAS,SAAUzF,GACpC,GAAI6C,GAAQphE,KAAK8gE,eACb+C,GAAeC,YAAY,EAG/B,IAAyB,IAArB1C,EAAMtB,WAAkB,MAAO9/D,KAGnC,IAAyB,IAArBohE,EAAMtB,WAER,MAAIvB,IAAQA,IAAS6C,EAAMvB,MAAc7/D,MAEpCu+D,IAAMA,EAAO6C,EAAMvB,OAGxBuB,EAAMvB,MAAQ,KACduB,EAAMtB,WAAa,EACnBsB,EAAMrB,SAAU,EACZxB,GAAMA,EAAK5yD,KAAK,SAAU3L,KAAM6jE,GAC7B7jE,KAKT,KAAKu+D,EAAM,CAET,GAAIiG,GAAQpD,EAAMvB,MACd9zD,EAAMq1D,EAAMtB,UAChBsB,GAAMvB,MAAQ,KACduB,EAAMtB,WAAa,EACnBsB,EAAMrB,SAAU,CAEhB,KAAK,GAAI1gE,GAAI,EAAGA,EAAI0M,EAAK1M,IACvBmlE,EAAMnlE,GAAGsM,KAAK,SAAU3L,KAAM6jE,EAC/B,OAAO7jE,MAIV,GAAImV,GAAQmR,EAAQ86C,EAAMvB,MAAOtB,EACjC,OAAIppD,MAAU,EAAWnV,MAEzBohE,EAAMvB,MAAM7yD,OAAOmI,EAAO,GAC1BisD,EAAMtB,YAAc,EACK,IAArBsB,EAAMtB,aAAkBsB,EAAMvB,MAAQuB,EAAMvB,MAAM,IAEtDtB,EAAK5yD,KAAK,SAAU3L,KAAM6jE,GAEnB7jE,OAKTk+D,EAAS3+D,UAAUkN,GAAK,SAAUg4D,EAAI7kE,GACpC,GAAI8H,GAAMs2D,EAAOz+D,UAAUkN,GAAGxN,KAAKe,KAAMykE,EAAI7kE,EAE7C,IAAW,SAAP6kE,EAEEzkE,KAAK8gE,eAAef,WAAY,GAAO//D,KAAK4+D,aAC3C,IAAW,aAAP6F,EAAmB,CAC5B,GAAIrD,GAAQphE,KAAK8gE,cACZM,GAAMnB,YAAemB,EAAMd,oBAC9Bc,EAAMd,kBAAoBc,EAAMhB,cAAe,EAC/CgB,EAAMf,iBAAkB,EACnBe,EAAMlB,QAEAkB,EAAM3+D,QACfi/D,EAAa1hE,MAFb+hE,EAAgBM,EAAkBriE,OAOxC,MAAO0H,IAETw2D,EAAS3+D,UAAU2M,YAAcgyD,EAAS3+D,UAAUkN,GASpDyxD,EAAS3+D,UAAUq/D,OAAS,WAC1B,GAAIwC,GAAQphE,KAAK8gE,cAMjB,OALKM,GAAMrB,UACTnvD,EAAM,UACNwwD,EAAMrB,SAAU,EAChBnB,EAAO5+D,KAAMohE,IAERphE,MAuBTk+D,EAAS3+D,UAAUk/D,MAAQ,WAOzB,MANA7tD,GAAM,wBAAyB5Q,KAAK8gE,eAAef,UAC/C,IAAU//D,KAAK8gE,eAAef,UAChCnvD,EAAM,SACN5Q,KAAK8gE,eAAef,SAAU,EAC9B//D,KAAK2L,KAAK,UAEL3L,MAYTk+D,EAAS3+D,UAAUu4C,KAAO,SAAUwnB,GAClC,GAAI8B,GAAQphE,KAAK8gE,eACb4D,GAAS,EAETrjE,EAAOrB,IACXs/D,GAAO7yD,GAAG,MAAO,WAEf,GADAmE,EAAM,eACFwwD,EAAMR,UAAYQ,EAAMpB,MAAO,CACjC,GAAInC,GAAQuD,EAAMR,QAAQxb,KACtByY,IAASA,EAAMp7D,QAAQpB,EAAKgL,KAAKwxD,GAGvCx8D,EAAKgL,KAAK,QAGZizD,EAAO7yD,GAAG,OAAQ,SAAUoxD,GAK1B,GAJAjtD,EAAM,gBACFwwD,EAAMR,UAAS/C,EAAQuD,EAAMR,QAAQz+C,MAAM07C,MAG3CuD,EAAM7B,YAAyB,OAAV1B,GAA4B35D,SAAV25D,KAAuCuD,EAAM7B,YAAgB1B,GAAUA,EAAMp7D,QAA3C,CAE7E,GAAIyK,GAAM7L,EAAKgL,KAAKwxD,EACf3wD,KACHw3D,GAAS,EACTpF,EAAOb,WAMX,KAAK,GAAIp/D,KAAKigE,GACIp7D,SAAZlE,KAAKX,IAAyC,kBAAdigE,GAAOjgE,KACzCW,KAAKX,GAAK,SAAUwF,GAClB,MAAO,YACL,MAAOy6D,GAAOz6D,GAAQ9E,MAAMu/D,EAAQr7D,aAEtC5E,GAKN,KAAK,GAAIoM,GAAI,EAAGA,EAAI03D,EAAa1gE,OAAQgJ,IACvC6zD,EAAO7yD,GAAG02D,EAAa13D,GAAIpK,EAAKsK,KAAK1F,KAAK5E,EAAM8hE,EAAa13D,IAa/D,OARApK,GAAK0/D,MAAQ,SAAUt1D,GACrBmF,EAAM,gBAAiBnF,GACnBi5D,IACFA,GAAS,EACTpF,EAAOV,WAIJv9D,GAIT68D,EAASyG,UAAYpC,ItH49eStjE,KAAKJ,EAAU,WAAa,MAAOmB,SAAYtB,EAAoB,KAI3F,SAAUI,EAAQD,EAASH,IuHv0gBjC,SAAAgP,GAAA,YAUA,SAAS8M,GAAS5a,EAAIglE,EAAMC,EAAMC,GAChC,GAAkB,kBAAPllE,GACT,KAAM,IAAIuB,WAAU,yCAEtB,IACIzB,GAAML,EADN0M,EAAM9H,UAAUxB,MAEpB,QAAQsJ,GACR,IAAK,GACL,IAAK,GACH,MAAO2B,GAAQ8M,SAAS5a,EAC1B,KAAK,GACH,MAAO8N,GAAQ8M,SAAS,WACtB5a,EAAGX,KAAK,KAAM2lE,IAElB,KAAK,GACH,MAAOl3D,GAAQ8M,SAAS,WACtB5a,EAAGX,KAAK,KAAM2lE,EAAMC,IAExB,KAAK,GACH,MAAOn3D,GAAQ8M,SAAS,WACtB5a,EAAGX,KAAK,KAAM2lE,EAAMC,EAAMC,IAE9B,SAGE,IAFAplE,EAAO,GAAI8F,OAAMuG,EAAM,GACvB1M,EAAI,EACGA,EAAIK,EAAK+C,QACd/C,EAAKL,KAAO4E,UAAU5E,EAExB,OAAOqO,GAAQ8M,SAAS,WACtB5a,EAAGG,MAAM,KAAML,OArChBgO,EAAQoL,SAC0B,IAAnCpL,EAAQoL,QAAQwN,QAAQ,QACW,IAAnC5Y,EAAQoL,QAAQwN,QAAQ,QAAqD,IAArC5Y,EAAQoL,QAAQwN,QAAQ,SAClExnB,EAAOD,QAAU2b,EAEjB1b,EAAOD,QAAU6O,EAAQ8M,WvH22gBGvb,KAAKJ,EAASH,EAAoB,KAI1D,SAAUI,EAAQD,EAASH,GAEhC,YwHx3gBDI,GAAOD,QAAUH,EAAQ,GAAUsM,cxH83gB7B,SAAUlM,EAAQD,EAASH,GAEhC,YyH33gBD,SAASqmE,GAAWt9C,EAAKE,GACvB,IAAK,GAAI/kB,KAAO6kB,GACdE,EAAI/kB,GAAO6kB,EAAI7kB,GAWnB,QAASoiE,GAAY75D,EAAKq7C,EAAkB/jD,GAC1C,MAAO0mC,GAAOh+B,EAAKq7C,EAAkB/jD,GAlBvC,GAAI4tC,GAAS3xC,EAAQ,KACjByqC,EAASkH,EAAOlH,MAQhBA,GAAOvrB,MAAQurB,EAAOyd,OAASzd,EAAOsd,aAAetd,EAAOyiB,gBAC9D9sD,EAAOD,QAAUwxC,GAGjB00B,EAAU10B,EAAQxxC,GAClBA,EAAQsqC,OAAS67B,GAQnBD,EAAU57B,EAAQ67B,GAElBA,EAAWpnD,KAAO,SAAUzS,EAAKq7C,EAAkB/jD,GACjD,GAAmB,gBAAR0I,GACT,KAAM,IAAIhK,WAAU,gCAEtB,OAAOgoC,GAAOh+B,EAAKq7C,EAAkB/jD,IAGvCuiE,EAAWpe,MAAQ,SAAU3+B,EAAM4+B,EAAMC,GACvC,GAAoB,gBAAT7+B,GACT,KAAM,IAAI9mB,WAAU,4BAEtB,IAAIiJ,GAAM++B,EAAOlhB,EAUjB,OATa/jB,UAAT2iD,EACsB,gBAAbC,GACT18C,EAAIy8C,KAAKA,EAAMC,GAEf18C,EAAIy8C,KAAKA,GAGXz8C,EAAIy8C,KAAK,GAEJz8C,GAGT46D,EAAWve,YAAc,SAAUx+B,GACjC,GAAoB,gBAATA,GACT,KAAM,IAAI9mB,WAAU,4BAEtB,OAAOgoC,GAAOlhB,IAGhB+8C,EAAWpZ,gBAAkB,SAAU3jC,GACrC,GAAoB,gBAATA,GACT,KAAM,IAAI9mB,WAAU,4BAEtB,OAAOkvC,GAAOgX,WAAWp/B,KzHu4gBrB,SAAUnpB,EAAQD,EAASH,I0Hn8gBjC,SAAAyqC,GAQA,YAoCA,SAAS8c,KAEP,IACE,GAAI9H,GAAM,GAAInO,YAAW,EAEzB,OADAmO,GAAIl8C,WAAaA,UAAW+tC,WAAWzwC,UAAW2mD,IAAK,WAAc,MAAO,MACvD,KAAd/H,EAAI+H,MACX,MAAO7+C,GACP,OAAO,GAIX,QAASi/C,GAAc7jD,GACrB,GAAIA,EAASwiE,EACX,KAAM,IAAIj1D,YAAW,6BAGvB,IAAI5F,GAAM,GAAI4lC,YAAWvtC,EAEzB,OADA2H,GAAInI,UAAYknC,EAAO5pC,UAChB6K,EAaT,QAAS++B,GAAQh+B,EAAKq7C,EAAkB/jD,GAEtC,GAAmB,gBAAR0I,GAAkB,CAC3B,GAAgC,gBAArBq7C,GACT,KAAM,IAAI1/C,OACR,oEAGJ,OAAO2/C,GAAYt7C,GAErB,MAAOyS,GAAKzS,EAAKq7C,EAAkB/jD,GAgBrC,QAASmb,GAAMhc,EAAO4kD,EAAkB/jD,GACtC,GAAqB,gBAAVb,GACT,KAAM,IAAIT,WAAU,wCAGtB,OAAI+jE,GAActjE,GACT8kD,EAAgB9kD,EAAO4kD,EAAkB/jD,GAG7B,gBAAVb,GACFiiD,EAAWjiD,EAAO4kD,GAGpBhG,EAAW5+C,GAoBpB,QAAS+kD,GAAY1+B,GACnB,GAAoB,gBAATA,GACT,KAAM,IAAI9mB,WAAU,mCACf,IAAI8mB,EAAO,EAChB,KAAM,IAAIjY,YAAW,wCAIzB,QAAS42C,GAAO3+B,EAAM4+B,EAAMC,GAE1B,MADAH,GAAW1+B,GACPA,GAAQ,EACHq+B,EAAar+B,GAET/jB,SAAT2iD,EAIyB,gBAAbC,GACVR,EAAar+B,GAAM4+B,KAAKA,EAAMC,GAC9BR,EAAar+B,GAAM4+B,KAAKA,GAEvBP,EAAar+B,GAWtB,QAASw+B,GAAax+B,GAEpB,MADA0+B,GAAW1+B,GACJq+B,EAAar+B,EAAO,EAAI,EAAoB,EAAhB8+B,EAAQ9+B,IAgB7C,QAAS47B,GAAYrH,EAAQsK,GAK3B,GAJwB,gBAAbA,IAAsC,KAAbA,IAClCA,EAAW,SAGR3d,EAAO6d,WAAWF,GACrB,KAAM,IAAI3lD,WAAU,6CAGtB,IAAIsB,GAAwC,EAA/B2tC,EAAWoM,EAAQsK,GAC5B18C,EAAMk8C,EAAa7jD,GAEnBwkD,EAAS78C,EAAI+X,MAAMq6B,EAAQsK,EAS/B,OAPIG,KAAWxkD,IAIb2H,EAAMA,EAAIzK,MAAM,EAAGsnD,IAGd78C,EAGT,QAAS88C,GAAe5sC,GAGtB,IAAK,GAFD7X,GAAS6X,EAAM7X,OAAS,EAAI,EAA4B,EAAxBskD,EAAQzsC,EAAM7X,QAC9C2H,EAAMk8C,EAAa7jD,GACdpD,EAAI,EAAGA,EAAIoD,EAAQpD,GAAK,EAC/B+K,EAAI/K,GAAgB,IAAXib,EAAMjb,EAEjB,OAAO+K,GAGT,QAASs8C,GAAiBpsC,EAAO6sC,EAAY1kD,GAC3C,GAAI0kD,EAAa,GAAK7sC,EAAM81B,WAAa+W,EACvC,KAAM,IAAIn3C,YAAW,4BAGvB,IAAIsK,EAAM81B,WAAa+W,GAAc1kD,GAAU,GAC7C,KAAM,IAAIuN,YAAW,4BAGvB,IAAI5F,EAWJ,OATEA,GADiBlG,SAAfijD,GAAuCjjD,SAAXzB,EACxB,GAAIutC,YAAW11B,GACDpW,SAAXzB,EACH,GAAIutC,YAAW11B,EAAO6sC,GAEtB,GAAInX,YAAW11B,EAAO6sC,EAAY1kD,GAI1C2H,EAAInI,UAAYknC,EAAO5pC,UAChB6K,EAGT,QAASo2C,GAAY3/C,GACnB,GAAIsoC,EAAO7B,SAASzmC,GAAM,CACxB,GAAIkL,GAA4B,EAAtBg7C,EAAQlmD,EAAI4B,QAClB2H,EAAMk8C,EAAav6C,EAEvB,OAAmB,KAAf3B,EAAI3H,OACC2H,GAGTvJ,EAAI4+C,KAAKr1C,EAAK,EAAG,EAAG2B,GACb3B,GAGT,GAAIvJ,EAAK,CACP,GAAIywC,EAAkBzwC,IAAQ,UAAYA,GACxC,MAA0B,gBAAfA,GAAI4B,QAAuB0iE,EAAYtkE,EAAI4B,QAC7C6jD,EAAa,GAEfY,EAAcrmD,EAGvB,IAAiB,WAAbA,EAAI+K,MAAqBpG,MAAM8Z,QAAQze,EAAIoG,MAC7C,MAAOigD,GAAcrmD,EAAIoG,MAI7B,KAAM,IAAI9F,WAAU,sFAGtB,QAAS4lD,GAAStkD,GAGhB,GAAIA,GAAUwiE,EACZ,KAAM,IAAIj1D,YAAW,0DACai1D,EAAax6D,SAAS,IAAM,SAEhE,OAAgB,GAAThI,EAGT,QAAS4kD,GAAY5kD,GAInB,OAHKA,GAAUA,IACbA,EAAS,GAEJ0mC,EAAOyd,OAAOnkD,GA+EvB,QAAS2tC,GAAYoM,EAAQsK,GAC3B,GAAI3d,EAAO7B,SAASkV,GAClB,MAAOA,GAAO/5C,MAEhB,IAAI6uC,EAAkBkL,IAAW0oB,EAAc1oB,GAC7C,MAAOA,GAAOpM,UAEM,iBAAXoM,KACTA,EAAS,GAAKA,EAGhB,IAAIzwC,GAAMywC,EAAO/5C,MACjB,IAAY,IAARsJ,EAAW,MAAO,EAItB,KADA,GAAIu7C,IAAc,IAEhB,OAAQR,GACN,IAAK,QACL,IAAK,SACL,IAAK,SACH,MAAO/6C,EACT,KAAK,OACL,IAAK,QACL,IAAK7H,QACH,MAAOqjD,GAAY/K,GAAQ/5C,MAC7B,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAa,GAANsJ,CACT,KAAK,MACH,MAAOA,KAAQ,CACjB,KAAK,SACH,MAAOy7C,GAAchL,GAAQ/5C,MAC/B,SACE,GAAI6kD,EAAa,MAAOC,GAAY/K,GAAQ/5C,MAC5CqkD,IAAY,GAAKA,GAAUnnC,cAC3B2nC,GAAc,GAMtB,QAASG,GAAcX,EAAU9/C,EAAOo+C,GACtC,GAAIkC,IAAc,CAclB,KALcpjD,SAAV8C,GAAuBA,EAAQ,KACjCA,EAAQ,GAINA,EAAQhH,KAAKyC,OACf,MAAO,EAOT,KAJYyB,SAARkhD,GAAqBA,EAAMplD,KAAKyC,UAClC2iD,EAAMplD,KAAKyC,QAGT2iD,GAAO,EACT,MAAO,EAOT,IAHAA,KAAS,EACTp+C,KAAW,EAEPo+C,GAAOp+C,EACT,MAAO,EAKT,KAFK8/C,IAAUA,EAAW,UAGxB,OAAQA,GACN,IAAK,MACH,MAAOY,GAAS1nD,KAAMgH,EAAOo+C,EAE/B,KAAK,OACL,IAAK,QACH,MAAOuC,GAAU3nD,KAAMgH,EAAOo+C,EAEhC,KAAK,QACH,MAAOwC,GAAW5nD,KAAMgH,EAAOo+C,EAEjC,KAAK,SACL,IAAK,SACH,MAAOyC,GAAY7nD,KAAMgH,EAAOo+C,EAElC,KAAK,SACH,MAAO0C,GAAY9nD,KAAMgH,EAAOo+C,EAElC,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO2C,GAAa/nD,KAAMgH,EAAOo+C,EAEnC,SACE,GAAIkC,EAAa,KAAM,IAAInmD,WAAU,qBAAuB2lD,EAC5DA,IAAYA,EAAW,IAAInnC,cAC3B2nC,GAAc,GAatB,QAASU,GAAMloD,EAAG2L,EAAGvM,GACnB,GAAIG,GAAIS,EAAE2L,EACV3L,GAAE2L,GAAK3L,EAAEZ,GACTY,EAAEZ,GAAKG,EAmIT,QAAS4oD,GAAsB5X,EAAQ39B,EAAKy0C,EAAYL,EAAUzrC,GAEhE,GAAsB,IAAlBg1B,EAAO5tC,OAAc,OAAO,CAmBhC,IAhB0B,gBAAf0kD,IACTL,EAAWK,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,GAAa,aACtBA,GAAa,YAEfA,GAAcA,EACVge,EAAYhe,KAEdA,EAAa9rC,EAAM,EAAKg1B,EAAO5tC,OAAS,GAItC0kD,EAAa,IAAGA,EAAa9W,EAAO5tC,OAAS0kD,GAC7CA,GAAc9W,EAAO5tC,OAAQ,CAC/B,GAAI4Y,EAAK,OAAO,CACX8rC,GAAa9W,EAAO5tC,OAAS,MAC7B,IAAI0kD,EAAa,EAAG,CACzB,IAAI9rC,EACC,OAAO,CADH8rC,GAAa,EAUxB,GALmB,gBAARz0C,KACTA,EAAMy2B,EAAOvrB,KAAKlL,EAAKo0C,IAIrB3d,EAAO7B,SAAS50B,GAElB,MAAmB,KAAfA,EAAIjQ,QACC,EAEFylD,EAAa7X,EAAQ39B,EAAKy0C,EAAYL,EAAUzrC,EAClD,IAAmB,gBAAR3I,GAEhB,MADAA,IAAY,IACgC,kBAAjCs9B,YAAWzwC,UAAU+mB,QAC1BjL,EACK20B,WAAWzwC,UAAU+mB,QAAQrnB,KAAKoxC,EAAQ39B,EAAKy0C,GAE/CnX,WAAWzwC,UAAU4oD,YAAYlpD,KAAKoxC,EAAQ39B,EAAKy0C,GAGvDe,EAAa7X,GAAU39B,GAAOy0C,EAAYL,EAAUzrC,EAG7D,MAAM,IAAIla,WAAU,wCAGtB,QAAS+mD,GAAc/J,EAAKzrC,EAAKy0C,EAAYL,EAAUzrC,GAmBrD,QAAS+sC,GAAMh+C,EAAK/K,GAClB,MAAkB,KAAdgpD,EACKj+C,EAAI/K,GAEJ+K,EAAIk+C,aAAajpD,EAAIgpD,GAtBhC,GAAIA,GAAY,EACZE,EAAYpK,EAAI17C,OAChB+lD,EAAY91C,EAAIjQ,MAEpB,IAAiByB,SAAb4iD,IACFA,EAAWl3B,OAAOk3B,GAAUnnC,cACX,SAAbmnC,GAAoC,UAAbA,GACV,YAAbA,GAAuC,aAAbA,GAAyB,CACrD,GAAI3I,EAAI17C,OAAS,GAAKiQ,EAAIjQ,OAAS,EACjC,OAAO,CAET4lD,GAAY,EACZE,GAAa,EACbC,GAAa,EACbrB,GAAc,EAYlB,GAAI9nD,EACJ,IAAIgc,EAAK,CACP,GAAIotC,IAAa,CACjB,KAAKppD,EAAI8nD,EAAY9nD,EAAIkpD,EAAWlpD,IAClC,GAAI+oD,EAAKjK,EAAK9+C,KAAO+oD,EAAK11C,EAAK+1C,KAAe,EAAK,EAAIppD,EAAIopD,IAEzD,GADIA,KAAe,IAAIA,EAAappD,GAChCA,EAAIopD,EAAa,IAAMD,EAAW,MAAOC,GAAaJ,MAEtDI,MAAe,IAAIppD,GAAKA,EAAIopD,GAChCA,GAAa,MAKjB,KADItB,EAAaqB,EAAYD,IAAWpB,EAAaoB,EAAYC,GAC5DnpD,EAAI8nD,EAAY9nD,GAAK,EAAGA,IAAK,CAEhC,IAAK,GADDqpD,IAAQ,EACHr3C,EAAI,EAAGA,EAAIm3C,EAAWn3C,IAC7B,GAAI+2C,EAAKjK,EAAK9+C,EAAIgS,KAAO+2C,EAAK11C,EAAKrB,GAAI,CACrCq3C,GAAQ,CACR,OAGJ,GAAIA,EAAO,MAAOrpD,GAItB,OAAO,EAeT,QAASspD,GAAUv+C,EAAKoyC,EAAQkD,EAAQj9C,GACtCi9C,EAASx/B,OAAOw/B,IAAW,CAC3B,IAAIkJ,GAAYx+C,EAAI3H,OAASi9C,CACxBj9C,IAGHA,EAASyd,OAAOzd,GACZA,EAASmmD,IACXnmD,EAASmmD,IAJXnmD,EAASmmD,CASX,IAAIC,GAASrM,EAAO/5C,MACpB,IAAIomD,EAAS,IAAM,EAAG,KAAM,IAAI1nD,WAAU,qBAEtCsB,GAASomD,EAAS,IACpBpmD,EAASomD,EAAS,EAEpB,KAAK,GAAIxpD,GAAI,EAAGA,EAAIoD,IAAUpD,EAAG,CAC/B,GAAImuB,GAASoD,SAAS4rB,EAAOlsB,OAAW,EAAJjxB,EAAO,GAAI,GAC/C,IAAI8lE,EAAY33C,GAAS,MAAOnuB,EAChC+K,GAAIs1C,EAASrgD,GAAKmuB,EAEpB,MAAOnuB,GAGT,QAASypD,GAAW1+C,EAAKoyC,EAAQkD,EAAQj9C,GACvC,MAAOsmD,GAAWxB,EAAY/K,EAAQpyC,EAAI3H,OAASi9C,GAASt1C,EAAKs1C,EAAQj9C,GAG3E,QAASumD,GAAY5+C,EAAKoyC,EAAQkD,EAAQj9C,GACxC,MAAOsmD,GAAWE,EAAazM,GAASpyC,EAAKs1C,EAAQj9C,GAGvD,QAASymD,GAAa9+C,EAAKoyC,EAAQkD,EAAQj9C,GACzC,MAAOumD,GAAW5+C,EAAKoyC,EAAQkD,EAAQj9C,GAGzC,QAAS0mD,GAAa/+C,EAAKoyC,EAAQkD,EAAQj9C,GACzC,MAAOsmD,GAAWvB,EAAchL,GAASpyC,EAAKs1C,EAAQj9C,GAGxD,QAAS2mD,GAAWh/C,EAAKoyC,EAAQkD,EAAQj9C,GACvC,MAAOsmD,GAAWM,EAAe7M,EAAQpyC,EAAI3H,OAASi9C,GAASt1C,EAAKs1C,EAAQj9C,GAiF9E,QAASqlD,GAAa19C,EAAKpD,EAAOo+C,GAChC,MAAc,KAAVp+C,GAAeo+C,IAAQh7C,EAAI3H,OACtB6mD,EAAOC,cAAcn/C,GAErBk/C,EAAOC,cAAcn/C,EAAIzK,MAAMqH,EAAOo+C,IAIjD,QAASuC,GAAWv9C,EAAKpD,EAAOo+C,GAC9BA,EAAMj+C,KAAKk6B,IAAIj3B,EAAI3H,OAAQ2iD,EAI3B,KAHA,GAAI19C,MAEArI,EAAI2H,EACD3H,EAAI+lD,GAAK,CACd,GAAIoE,GAAYp/C,EAAI/K,GAChBoqD,EAAY,KACZC,EAAoBF,EAAY,IAAQ,EACvCA,EAAY,IAAQ,EACpBA,EAAY,IAAQ,EACrB,CAEJ,IAAInqD,EAAIqqD,GAAoBtE,EAAK,CAC/B,GAAIuE,GAAYC,EAAWC,EAAYC,CAEvC,QAAQJ,GACN,IAAK,GACCF,EAAY,MACdC,EAAYD,EAEd,MACF,KAAK,GACHG,EAAav/C,EAAI/K,EAAI,GACO,OAAV,IAAbsqD,KACHG,GAA6B,GAAZN,IAAqB,EAAoB,GAAbG,EACzCG,EAAgB,MAClBL,EAAYK,GAGhB,MACF,KAAK,GACHH,EAAav/C,EAAI/K,EAAI,GACrBuqD,EAAYx/C,EAAI/K,EAAI,GACQ,OAAV,IAAbsqD,IAAsD,OAAV,IAAZC,KACnCE,GAA6B,GAAZN,IAAoB,IAAoB,GAAbG,IAAsB,EAAmB,GAAZC,EACrEE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,GAGhB,MACF,KAAK,GACHH,EAAav/C,EAAI/K,EAAI,GACrBuqD,EAAYx/C,EAAI/K,EAAI,GACpBwqD,EAAaz/C,EAAI/K,EAAI,GACO,OAAV,IAAbsqD,IAAsD,OAAV,IAAZC,IAAsD,OAAV,IAAbC,KAClEC,GAA6B,GAAZN,IAAoB,IAAqB,GAAbG,IAAsB,IAAmB,GAAZC,IAAqB,EAAoB,GAAbC,EAClGC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,KAMJ,OAAdL,GAGFA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACb/hD,EAAI2E,KAAKo9C,IAAc,GAAK,KAAQ,OACpCA,EAAY,MAAqB,KAAZA,GAGvB/hD,EAAI2E,KAAKo9C,GACTpqD,GAAKqqD,EAGP,MAAOK,GAAsBriD,GAQ/B,QAASqiD,GAAuBC,GAC9B,GAAIj+C,GAAMi+C,EAAWvnD,MACrB,IAAIsJ,GAAOk+C,EACT,MAAOr6B,QAAOsgB,aAAanwC,MAAM6vB,OAAQo6B,EAM3C,KAFA,GAAItiD,GAAM,GACNrI,EAAI,EACDA,EAAI0M,GACTrE,GAAOkoB,OAAOsgB,aAAanwC,MACzB6vB,OACAo6B,EAAWrqD,MAAMN,EAAGA,GAAK4qD,GAG7B,OAAOviD,GAGT,QAASkgD,GAAYx9C,EAAKpD,EAAOo+C,GAC/B,GAAIl4C,GAAM,EACVk4C,GAAMj+C,KAAKk6B,IAAIj3B,EAAI3H,OAAQ2iD,EAE3B,KAAK,GAAI/lD,GAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EAC7B6N,GAAO0iB,OAAOsgB,aAAsB,IAAT9lC,EAAI/K,GAEjC,OAAO6N,GAGT,QAAS26C,GAAaz9C,EAAKpD,EAAOo+C,GAChC,GAAIl4C,GAAM,EACVk4C,GAAMj+C,KAAKk6B,IAAIj3B,EAAI3H,OAAQ2iD,EAE3B,KAAK,GAAI/lD,GAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EAC7B6N,GAAO0iB,OAAOsgB,aAAa9lC,EAAI/K,GAEjC,OAAO6N,GAGT,QAASw6C,GAAUt9C,EAAKpD,EAAOo+C,GAC7B,GAAIr5C,GAAM3B,EAAI3H,SAETuE,GAASA,EAAQ,KAAGA,EAAQ,KAC5Bo+C,GAAOA,EAAM,GAAKA,EAAMr5C,KAAKq5C,EAAMr5C,EAGxC,KAAK,GADDm+C,GAAM,GACD7qD,EAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EAC7B6qD,GAAOC,EAAM//C,EAAI/K,GAEnB,OAAO6qD,GAGT,QAASnC,GAAc39C,EAAKpD,EAAOo+C,GAGjC,IAAK,GAFDlT,GAAQ9nC,EAAIzK,MAAMqH,EAAOo+C,GACzB19C,EAAM,GACDrI,EAAI,EAAGA,EAAI6yC,EAAMzvC,OAAQpD,GAAK,EACrCqI,GAAOkoB,OAAOsgB,aAAagC,EAAM7yC,GAAqB,IAAf6yC,EAAM7yC,EAAI,GAEnD,OAAOqI,GAiCT,QAAS0iD,GAAa1K,EAAQ2K,EAAK5nD,GACjC,GAAKi9C,EAAS,IAAO,GAAKA,EAAS,EAAG,KAAM,IAAI1vC,YAAW,qBAC3D,IAAI0vC,EAAS2K,EAAM5nD,EAAQ,KAAM,IAAIuN,YAAW,yCA6KlD,QAASs6C,GAAUlgD,EAAKxI,EAAO89C,EAAQ2K,EAAK/zB,EAAK+K,GAC/C,IAAK8H,EAAO7B,SAASl9B,GAAM,KAAM,IAAIjJ,WAAU,8CAC/C,IAAIS,EAAQ00B,GAAO10B,EAAQy/B,EAAK,KAAM,IAAIrxB,YAAW,oCACrD,IAAI0vC,EAAS2K,EAAMjgD,EAAI3H,OAAQ,KAAM,IAAIuN,YAAW,sBAyLtD,QAAS06C,GAActgD,EAAKxI,EAAO89C,EAAQ2K,EAAK/zB,EAAK+K,GACnD,GAAIqe,EAAS2K,EAAMjgD,EAAI3H,OAAQ,KAAM,IAAIuN,YAAW,qBACpD,IAAI0vC,EAAS,EAAG,KAAM,IAAI1vC,YAAW,sBAGvC,QAAS26C,GAAYvgD,EAAKxI,EAAO89C,EAAQ8K,EAAcI,GAOrD,MANAhpD,IAASA,EACT89C,KAAoB,EACfkL,GACHF,EAAatgD,EAAKxI,EAAO89C,EAAQ,EAAG,uBAAwB,uBAE9DmL,EAAQ1oC,MAAM/X,EAAKxI,EAAO89C,EAAQ8K,EAAc,GAAI,GAC7C9K,EAAS,EAWlB,QAASoL,GAAa1gD,EAAKxI,EAAO89C,EAAQ8K,EAAcI,GAOtD,MANAhpD,IAASA,EACT89C,KAAoB,EACfkL,GACHF,EAAatgD,EAAKxI,EAAO89C,EAAQ,EAAG,wBAAyB,wBAE/DmL,EAAQ1oC,MAAM/X,EAAKxI,EAAO89C,EAAQ8K,EAAc,GAAI,GAC7C9K,EAAS,EAgIlB,QAASqL,GAAa9tC,GAIpB,GAFAA,EAAMA,EAAIg1B,OAAOxiB,QAAQw7B,EAAmB,IAExChuC,EAAIxa,OAAS,EAAG,MAAO,EAE3B,MAAOwa,EAAIxa,OAAS,IAAM,GACxBwa,GAAY,GAEd,OAAOA,GAGT,QAASktC,GAAO1+C,GACd,MAAIA,GAAI,GAAW,IAAMA,EAAEhB,SAAS,IAC7BgB,EAAEhB,SAAS,IAGpB,QAAS88C,GAAa/K,EAAQ0O,GAC5BA,EAAQA,GAASzT,GAMjB,KAAK,GALDgS,GACAhnD,EAAS+5C,EAAO/5C,OAChB0oD,EAAgB,KAChBjZ,KAEK7yC,EAAI,EAAGA,EAAIoD,IAAUpD,EAAG,CAI/B,GAHAoqD,EAAYjN,EAAOhH,WAAWn2C,GAG1BoqD,EAAY,OAAUA,EAAY,MAAQ,CAE5C,IAAK0B,EAAe,CAElB,GAAI1B,EAAY,MAAQ,EAEjByB,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,IAC9C,UACK,GAAIhN,EAAI,IAAMoD,EAAQ,EAEtByoD,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,IAC9C,UAIF8+C,EAAgB1B,CAEhB,UAIF,GAAIA,EAAY,MAAQ,EACjByB,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,KAC9C8+C,EAAgB1B,CAChB,UAIFA,GAAa0B,EAAgB,OAAU,GAAK1B,EAAY,OAAU,UACzD0B,KAEJD,GAAS,IAAK,GAAIhZ,EAAM7lC,KAAK,IAAM,IAAM,IAMhD,IAHA8+C,EAAgB,KAGZ1B,EAAY,IAAM,CACpB,IAAKyB,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KAAKo9C,OACN,IAAIA,EAAY,KAAO,CAC5B,IAAKyB,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KACJo9C,GAAa,EAAM,IACP,GAAZA,EAAmB,SAEhB,IAAIA,EAAY,MAAS,CAC9B,IAAKyB,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KACJo9C,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,MAAIA,EAAY,SASrB,KAAM,IAAI3iD,OAAM,qBARhB,KAAKokD,GAAS,GAAK,EAAG,KACtBhZ,GAAM7lC,KACJo9C,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,MAAOvX,GAGT,QAAS+W,GAAchsC,GAErB,IAAK,GADDmuC,MACK/rD,EAAI,EAAGA,EAAI4d,EAAIxa,SAAUpD,EAEhC+rD,EAAU/+C,KAAyB,IAApB4Q,EAAIu4B,WAAWn2C,GAEhC,OAAO+rD,GAGT,QAAS/B,GAAgBpsC,EAAKiuC,GAG5B,IAAK,GAFD/rD,GAAGksD,EAAIC,EACPF,KACK/rD,EAAI,EAAGA,EAAI4d,EAAIxa,WACjByoD,GAAS,GAAK,KADa7rD,EAGhCF,EAAI8d,EAAIu4B,WAAWn2C,GACnBgsD,EAAKlsD,GAAK,EACVmsD,EAAKnsD,EAAI,IACTisD,EAAU/+C,KAAKi/C,GACfF,EAAU/+C,KAAKg/C,EAGjB,OAAOD,GAGT,QAAS5D,GAAevqC,GACtB,MAAOqsC,GAAOiC,YAAYR,EAAY9tC,IAGxC,QAAS8rC,GAAYthC,EAAKE,EAAK+3B,EAAQj9C,GACrC,IAAK,GAAIpD,GAAI,EAAGA,EAAIoD,KACbpD,EAAIqgD,GAAU/3B,EAAIllB,QAAYpD,GAAKooB,EAAIhlB,UADhBpD,EAE5BsoB,EAAItoB,EAAIqgD,GAAUj4B,EAAIpoB,EAExB,OAAOA,GAKT,QAAS6lE,GAAerkE,GACtB,MAAOA,aAAewwC,cACZ,MAAPxwC,GAAkC,MAAnBA,EAAIc,aAAgD,gBAAzBd,EAAIc,YAAYsZ,MAC/B,gBAAnBpa,GAAIuvC,WAIjB,QAASkB,GAAmBzwC,GAC1B,MAAsC,kBAAvBwwC,aAAYuB,QAA0BvB,YAAYuB,OAAO/xC,GAG1E,QAASskE,GAAatkE,GACpB,MAAOA,KAAQA,EAtqDjB,GAAIyoD,GAAS5qD,EAAQ,KACjBmsD,EAAUnsD,EAAQ,IAEtBG,GAAQsqC,OAASA,EACjBtqC,EAAQwoD,WAAaA,EACrBxoD,EAAQ2sD,kBAAoB,EAE5B,IAAIyZ,GAAe,UACnBpmE,GAAQunD,WAAa6e,EAgBrB97B,EAAOkd,oBAAsBJ,IAExB9c,EAAOkd,qBAA0C,mBAAZ95C,UACb,kBAAlBA,SAAQvE,OACjBuE,QAAQvE,MACN,iJAkDkB,mBAAX7F,SAA0BA,OAAOwpD,SACxCxiB,EAAOhnC,OAAOwpD,WAAaxiB,GAC7B7pC,OAAOqD,eAAewmC,EAAQhnC,OAAOwpD,SACnC/pD,MAAO,KACPG,cAAc,EACdF,YAAY,EACZC,UAAU,IAIdqnC,EAAOsiB,SAAW,KA0BlBtiB,EAAOvrB,KAAO,SAAUhc,EAAO4kD,EAAkB/jD,GAC/C,MAAOmb,GAAKhc,EAAO4kD,EAAkB/jD,IAKvC0mC,EAAO5pC,UAAU0C,UAAY+tC,WAAWzwC,UACxC4pC,EAAOlnC,UAAY+tC,WA8BnB7G,EAAOyd,MAAQ,SAAU3+B,EAAM4+B,EAAMC,GACnC,MAAOF,GAAM3+B,EAAM4+B,EAAMC,IAW3B3d,EAAOsd,YAAc,SAAUx+B,GAC7B,MAAOw+B,GAAYx+B,IAKrBkhB,EAAOyiB,gBAAkB,SAAU3jC,GACjC,MAAOw+B,GAAYx+B,IAyGrBkhB,EAAO7B,SAAW,SAAmBxnC,GACnC,MAAY,OAALA,GAAaA,EAAE+rD,aAAc,GAGtC1iB,EAAOib,QAAU,SAAkBvkD,EAAGC,GACpC,IAAKqpC,EAAO7B,SAASznC,KAAOspC,EAAO7B,SAASxnC,GAC1C,KAAM,IAAIqB,WAAU,4BAGtB,IAAItB,IAAMC,EAAG,MAAO,EAKpB,KAAK,GAHDkX,GAAInX,EAAE4C,OACN8zC,EAAIz2C,EAAE2C,OAEDpD,EAAI,EAAG0M,EAAM5E,KAAKk6B,IAAIrqB,EAAGu/B,GAAIl3C,EAAI0M,IAAO1M,EAC/C,GAAIQ,EAAER,KAAOS,EAAET,GAAI,CACjB2X,EAAInX,EAAER,GACNk3C,EAAIz2C,EAAET,EACN,OAIJ,MAAI2X,GAAIu/B,GAAU,EACdA,EAAIv/B,EAAU,EACX,GAGTmyB,EAAO6d,WAAa,SAAqBF,GACvC,OAAQl3B,OAAOk3B,GAAUnnC,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,CACT,SACE,OAAO,IAIbwpB,EAAOlpC,OAAS,SAAiB6M,EAAMrK,GACrC,IAAK+C,MAAM8Z,QAAQxS,GACjB,KAAM,IAAI3L,WAAU,8CAGtB,IAAoB,IAAhB2L,EAAKrK,OACP,MAAO0mC,GAAOyd,MAAM,EAGtB,IAAIvnD,EACJ,IAAe6E,SAAXzB,EAEF,IADAA,EAAS,EACJpD,EAAI,EAAGA,EAAIyN,EAAKrK,SAAUpD,EAC7BoD,GAAUqK,EAAKzN,GAAGoD,MAItB,IAAI4tC,GAASlH,EAAOsd,YAAYhkD,GAC5BqiD,EAAM,CACV,KAAKzlD,EAAI,EAAGA,EAAIyN,EAAKrK,SAAUpD,EAAG,CAChC,GAAI+K,GAAM0C,EAAKzN,EACf,KAAK8pC,EAAO7B,SAASl9B,GACnB,KAAM,IAAIjJ,WAAU,8CAEtBiJ,GAAIq1C,KAAKpP,EAAQyU,GACjBA,GAAO16C,EAAI3H,OAEb,MAAO4tC,IA6CTlH,EAAOiH,WAAaA,EA8EpBjH,EAAO5pC,UAAUssD,WAAY,EAQ7B1iB,EAAO5pC,UAAUusD,OAAS,WACxB,GAAI//C,GAAM/L,KAAKyC,MACf,IAAIsJ,EAAM,IAAM,EACd,KAAM,IAAIiE,YAAW,4CAEvB,KAAK,GAAI3Q,GAAI,EAAGA,EAAI0M,EAAK1M,GAAK,EAC5B2oD,EAAKhoD,KAAMX,EAAGA,EAAI,EAEpB,OAAOW,OAGTmpC,EAAO5pC,UAAUwsD,OAAS,WACxB,GAAIhgD,GAAM/L,KAAKyC,MACf,IAAIsJ,EAAM,IAAM,EACd,KAAM,IAAIiE,YAAW,4CAEvB,KAAK,GAAI3Q,GAAI,EAAGA,EAAI0M,EAAK1M,GAAK,EAC5B2oD,EAAKhoD,KAAMX,EAAGA,EAAI,GAClB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,EAExB,OAAOW,OAGTmpC,EAAO5pC,UAAUysD,OAAS,WACxB,GAAIjgD,GAAM/L,KAAKyC,MACf,IAAIsJ,EAAM,IAAM,EACd,KAAM,IAAIiE,YAAW,4CAEvB,KAAK,GAAI3Q,GAAI,EAAGA,EAAI0M,EAAK1M,GAAK,EAC5B2oD,EAAKhoD,KAAMX,EAAGA,EAAI,GAClB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,GACtB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,GACtB2oD,EAAKhoD,KAAMX,EAAI,EAAGA,EAAI,EAExB,OAAOW,OAGTmpC,EAAO5pC,UAAUkL,SAAW,WAC1B,GAAIhI,GAASzC,KAAKyC,MAClB,OAAe,KAAXA,EAAqB,GACA,IAArBwB,UAAUxB,OAAqBklD,EAAU3nD,KAAM,EAAGyC,GAC/CglD,EAAa1nD,MAAMC,KAAMiE,YAGlCklC,EAAO5pC,UAAU0sD,OAAS,SAAiBnsD,GACzC,IAAKqpC,EAAO7B,SAASxnC,GAAI,KAAM,IAAIqB,WAAU,4BAC7C,OAAInB,QAASF,GACsB,IAA5BqpC,EAAOib,QAAQpkD,KAAMF,IAG9BqpC,EAAO5pC,UAAU2sD,QAAU,WACzB,GAAIjvC,GAAM,GACNqZ,EAAMz3B,EAAQ2sD,iBAKlB,OAJIxrD,MAAKyC,OAAS,IAChBwa,EAAMjd,KAAKyK,SAAS,MAAO,EAAG6rB,GAAKnwB,MAAM,SAASkjB,KAAK,KACnDrpB,KAAKyC,OAAS6zB,IAAKrZ,GAAO,UAEzB,WAAaA,EAAM,KAG5BksB,EAAO5pC,UAAU6kD,QAAU,SAAkB7hD,EAAQyE,EAAOo+C,EAAK+G,EAAWC,GAC1E,IAAKjjB,EAAO7B,SAAS/kC,GACnB,KAAM,IAAIpB,WAAU,4BAgBtB,IAbc+C,SAAV8C,IACFA,EAAQ,GAEE9C,SAARkhD,IACFA,EAAM7iD,EAASA,EAAOE,OAAS,GAEfyB,SAAdioD,IACFA,EAAY,GAEEjoD,SAAZkoD,IACFA,EAAUpsD,KAAKyC,QAGbuE,EAAQ,GAAKo+C,EAAM7iD,EAAOE,QAAU0pD,EAAY,GAAKC,EAAUpsD,KAAKyC,OACtE,KAAM,IAAIuN,YAAW,qBAGvB,IAAIm8C,GAAaC,GAAWplD,GAASo+C,EACnC,MAAO,EAET,IAAI+G,GAAaC,EACf,OAAO,CAET,IAAIplD,GAASo+C,EACX,MAAO,EAQT,IALAp+C,KAAW,EACXo+C,KAAS,EACT+G,KAAe,EACfC,KAAa,EAETpsD,OAASuC,EAAQ,MAAO,EAS5B,KAAK,GAPDyU,GAAIo1C,EAAUD,EACd5V,EAAI6O,EAAMp+C,EACV+E,EAAM5E,KAAKk6B,IAAIrqB,EAAGu/B,GAElB8V,EAAWrsD,KAAKL,MAAMwsD,EAAWC,GACjCE,EAAa/pD,EAAO5C,MAAMqH,EAAOo+C,GAE5B/lD,EAAI,EAAGA,EAAI0M,IAAO1M,EACzB,GAAIgtD,EAAShtD,KAAOitD,EAAWjtD,GAAI,CACjC2X,EAAIq1C,EAAShtD,GACbk3C,EAAI+V,EAAWjtD,EACf,OAIJ,MAAI2X,GAAIu/B,GAAU,EACdA,EAAIv/B,EAAU,EACX,GA4HTmyB,EAAO5pC,UAAUuL,SAAW,SAAmB4H,EAAKy0C,EAAYL,GAC9D,MAAO9mD,MAAKsmB,QAAQ5T,EAAKy0C,EAAYL,MAAc,GAGrD3d,EAAO5pC,UAAU+mB,QAAU,SAAkB5T,EAAKy0C,EAAYL,GAC5D,MAAOmB,GAAqBjoD,KAAM0S,EAAKy0C,EAAYL,GAAU,IAG/D3d,EAAO5pC,UAAU4oD,YAAc,SAAsBz1C,EAAKy0C,EAAYL,GACpE,MAAOmB,GAAqBjoD,KAAM0S,EAAKy0C,EAAYL,GAAU,IAkD/D3d,EAAO5pC,UAAU4iB,MAAQ,SAAgBq6B,EAAQkD,EAAQj9C,EAAQqkD,GAE/D,GAAe5iD,SAAXw7C,EACFoH,EAAW,OACXrkD,EAASzC,KAAKyC,OACdi9C,EAAS,MAEJ,IAAex7C,SAAXzB,GAA0C,gBAAXi9C,GACxCoH,EAAWpH,EACXj9C,EAASzC,KAAKyC,OACdi9C,EAAS,MAEJ,KAAI3lB,SAAS2lB,GAUlB,KAAM,IAAI54C,OACR,0EAVF44C,MAAoB,EAChB3lB,SAASt3B,IACXA,KAAoB,EACHyB,SAAb4iD,IAAwBA,EAAW,UAEvCA,EAAWrkD,EACXA,EAASyB,QAQb,GAAI0kD,GAAY5oD,KAAKyC,OAASi9C,CAG9B,KAFex7C,SAAXzB,GAAwBA,EAASmmD,KAAWnmD,EAASmmD,GAEpDpM,EAAO/5C,OAAS,IAAMA,EAAS,GAAKi9C,EAAS,IAAOA,EAAS1/C,KAAKyC,OACrE,KAAM,IAAIuN,YAAW,yCAGlB82C,KAAUA,EAAW,OAG1B,KADA,GAAIQ,IAAc,IAEhB,OAAQR,GACN,IAAK,MACH,MAAO6B,GAAS3oD,KAAMw8C,EAAQkD,EAAQj9C,EAExC,KAAK,OACL,IAAK,QACH,MAAOqmD,GAAU9oD,KAAMw8C,EAAQkD,EAAQj9C,EAEzC,KAAK,QACH,MAAOumD,GAAWhpD,KAAMw8C,EAAQkD,EAAQj9C,EAE1C,KAAK,SACL,IAAK,SACH,MAAOymD,GAAYlpD,KAAMw8C,EAAQkD,EAAQj9C,EAE3C,KAAK,SAEH,MAAO0mD,GAAYnpD,KAAMw8C,EAAQkD,EAAQj9C,EAE3C,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO2mD,GAAUppD,KAAMw8C,EAAQkD,EAAQj9C,EAEzC,SACE,GAAI6kD,EAAa,KAAM,IAAInmD,WAAU,qBAAuB2lD,EAC5DA,IAAY,GAAKA,GAAUnnC,cAC3B2nC,GAAc,IAKtBne,EAAO5pC,UAAU0S,OAAS,WACxB,OACErG,KAAM,SACN3E,KAAMzB,MAAMjG,UAAUI,MAAMV,KAAKe,KAAKo+C,MAAQp+C,KAAM,IAwFxD,IAAIiqD,GAAuB,IA8D3B9gB,GAAO5pC,UAAUI,MAAQ,SAAgBqH,EAAOo+C,GAC9C,GAAIr5C,GAAM/L,KAAKyC,MACfuE,KAAUA,EACVo+C,EAAclhD,SAARkhD,EAAoBr5C,IAAQq5C,EAE9Bp+C,EAAQ,GACVA,GAAS+E,EACL/E,EAAQ,IAAGA,EAAQ,IACdA,EAAQ+E,IACjB/E,EAAQ+E,GAGNq5C,EAAM,GACRA,GAAOr5C,EACHq5C,EAAM,IAAGA,EAAM,IACVA,EAAMr5C,IACfq5C,EAAMr5C,GAGJq5C,EAAMp+C,IAAOo+C,EAAMp+C,EAEvB,IAAIulD,GAASvsD,KAAKmmD,SAASn/C,EAAOo+C,EAGlC,OADAmH,GAAOtqD,UAAYknC,EAAO5pC,UACnBgtD,GAWTpjB,EAAO5pC,UAAUktD,WAAa,SAAqB/M,EAAQtP,EAAYwa,GACrElL,KAAoB,EACpBtP,KAA4B,EACvBwa,GAAUR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKpD,KAHA,GAAIiQ,GAAM1S,KAAK0/C,GACXgN,EAAM,EACNrtD,EAAI,IACCA,EAAI+wC,IAAesc,GAAO,MACjCh6C,GAAO1S,KAAK0/C,EAASrgD,GAAKqtD,CAG5B,OAAOh6C,IAGTy2B,EAAO5pC,UAAUotD,WAAa,SAAqBjN,EAAQtP,EAAYwa,GACrElL,KAAoB,EACpBtP,KAA4B,EACvBwa,GACHR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKvC,KAFA,GAAIiQ,GAAM1S,KAAK0/C,IAAWtP,GACtBsc,EAAM,EACHtc,EAAa,IAAMsc,GAAO,MAC/Bh6C,GAAO1S,KAAK0/C,IAAWtP,GAAcsc,CAGvC,OAAOh6C,IAGTy2B,EAAO5pC,UAAUqtD,UAAY,SAAoBlN,EAAQkL,GAGvD,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCzC,KAAK0/C,IAGdvW,EAAO5pC,UAAUstD,aAAe,SAAuBnN,EAAQkL,GAG7D,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCzC,KAAK0/C,GAAW1/C,KAAK0/C,EAAS,IAAM,GAG7CvW,EAAO5pC,UAAU+oD,aAAe,SAAuB5I,EAAQkL,GAG7D,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACnCzC,KAAK0/C,IAAW,EAAK1/C,KAAK0/C,EAAS,IAG7CvW,EAAO5pC,UAAUutD,aAAe,SAAuBpN,EAAQkL,GAI7D,MAHAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,SAElCzC,KAAK0/C,GACT1/C,KAAK0/C,EAAS,IAAM,EACpB1/C,KAAK0/C,EAAS,IAAM,IACD,SAAnB1/C,KAAK0/C,EAAS,IAGrBvW,EAAO5pC,UAAUwtD,aAAe,SAAuBrN,EAAQkL,GAI7D,MAHAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QAEpB,SAAfzC,KAAK0/C,IACT1/C,KAAK0/C,EAAS,IAAM,GACrB1/C,KAAK0/C,EAAS,IAAM,EACrB1/C,KAAK0/C,EAAS,KAGlBvW,EAAO5pC,UAAUytD,UAAY,SAAoBtN,EAAQtP,EAAYwa,GACnElL,KAAoB,EACpBtP,KAA4B,EACvBwa,GAAUR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKpD,KAHA,GAAIiQ,GAAM1S,KAAK0/C,GACXgN,EAAM,EACNrtD,EAAI,IACCA,EAAI+wC,IAAesc,GAAO,MACjCh6C,GAAO1S,KAAK0/C,EAASrgD,GAAKqtD,CAM5B,OAJAA,IAAO,IAEHh6C,GAAOg6C,IAAKh6C,GAAOvL,KAAK0wC,IAAI,EAAG,EAAIzH,IAEhC19B,GAGTy2B,EAAO5pC,UAAU0tD,UAAY,SAAoBvN,EAAQtP,EAAYwa,GACnElL,KAAoB,EACpBtP,KAA4B,EACvBwa,GAAUR,EAAY1K,EAAQtP,EAAYpwC,KAAKyC,OAKpD,KAHA,GAAIpD,GAAI+wC,EACJsc,EAAM,EACNh6C,EAAM1S,KAAK0/C,IAAWrgD,GACnBA,EAAI,IAAMqtD,GAAO,MACtBh6C,GAAO1S,KAAK0/C,IAAWrgD,GAAKqtD,CAM9B,OAJAA,IAAO,IAEHh6C,GAAOg6C,IAAKh6C,GAAOvL,KAAK0wC,IAAI,EAAG,EAAIzH,IAEhC19B,GAGTy2B,EAAO5pC,UAAU2tD,SAAW,SAAmBxN,EAAQkL,GAGrD,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACtB,IAAfzC,KAAK0/C,IACF,IAAO1/C,KAAK0/C,GAAU,IAAK,EADA1/C,KAAK0/C,IAI3CvW,EAAO5pC,UAAU4tD,YAAc,SAAsBzN,EAAQkL,GAC3DlL,KAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,OAC3C,IAAIiQ,GAAM1S,KAAK0/C,GAAW1/C,KAAK0/C,EAAS,IAAM,CAC9C,OAAc,OAANhtC,EAAsB,WAANA,EAAmBA,GAG7Cy2B,EAAO5pC,UAAU6tD,YAAc,SAAsB1N,EAAQkL,GAC3DlL,KAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,OAC3C,IAAIiQ,GAAM1S,KAAK0/C,EAAS,GAAM1/C,KAAK0/C,IAAW,CAC9C,OAAc,OAANhtC,EAAsB,WAANA,EAAmBA,GAG7Cy2B,EAAO5pC,UAAU8tD,YAAc,SAAsB3N,EAAQkL,GAI3D,MAHAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QAEnCzC,KAAK0/C,GACV1/C,KAAK0/C,EAAS,IAAM,EACpB1/C,KAAK0/C,EAAS,IAAM,GACpB1/C,KAAK0/C,EAAS,IAAM,IAGzBvW,EAAO5pC,UAAU+tD,YAAc,SAAsB5N,EAAQkL,GAI3D,MAHAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QAEnCzC,KAAK0/C,IAAW,GACrB1/C,KAAK0/C,EAAS,IAAM,GACpB1/C,KAAK0/C,EAAS,IAAM,EACpB1/C,KAAK0/C,EAAS,IAGnBvW,EAAO5pC,UAAUguD,YAAc,SAAsB7N,EAAQkL,GAG3D,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAM,GAAI,IAG9CvW,EAAO5pC,UAAUiuD,YAAc,SAAsB9N,EAAQkL,GAG3D,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAO,GAAI,IAG/CvW,EAAO5pC,UAAUkuD,aAAe,SAAuB/N,EAAQkL,GAG7D,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAM,GAAI,IAG9CvW,EAAO5pC,UAAUmuD,aAAe,SAAuBhO,EAAQkL,GAG7D,MAFAlL,MAAoB,EACfkL,GAAUR,EAAY1K,EAAQ,EAAG1/C,KAAKyC,QACpCooD,EAAQzC,KAAKpoD,KAAM0/C,GAAQ,EAAO,GAAI,IAS/CvW,EAAO5pC,UAAUouD,YAAc,SAAsB/rD,EAAO89C,EAAQtP,EAAYwa,GAI9E,GAHAhpD,GAASA,EACT89C,KAAoB,EACpBtP,KAA4B,GACvBwa,EAAU,CACb,GAAIgD,GAAWzmD,KAAK0wC,IAAI,EAAG,EAAIzH,GAAc,CAC7Cka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAYwd,EAAU,GAGtD,GAAIlB,GAAM,EACNrtD,EAAI,CAER,KADAW,KAAK0/C,GAAkB,IAAR99C,IACNvC,EAAI+wC,IAAesc,GAAO,MACjC1sD,KAAK0/C,EAASrgD,GAAMuC,EAAQ8qD,EAAO,GAGrC,OAAOhN,GAAStP,GAGlBjH,EAAO5pC,UAAUsuD,YAAc,SAAsBjsD,EAAO89C,EAAQtP,EAAYwa,GAI9E,GAHAhpD,GAASA,EACT89C,KAAoB,EACpBtP,KAA4B,GACvBwa,EAAU,CACb,GAAIgD,GAAWzmD,KAAK0wC,IAAI,EAAG,EAAIzH,GAAc,CAC7Cka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAYwd,EAAU,GAGtD,GAAIvuD,GAAI+wC,EAAa,EACjBsc,EAAM,CAEV,KADA1sD,KAAK0/C,EAASrgD,GAAa,IAARuC,IACVvC,GAAK,IAAMqtD,GAAO,MACzB1sD,KAAK0/C,EAASrgD,GAAMuC,EAAQ8qD,EAAO,GAGrC,OAAOhN,GAAStP,GAGlBjH,EAAO5pC,UAAUuuD,WAAa,SAAqBlsD,EAAO89C,EAAQkL,GAKhE,MAJAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,IAAM,GACtD1/C,KAAK0/C,GAAmB,IAAR99C,EACT89C,EAAS,GAGlBvW,EAAO5pC,UAAUwuD,cAAgB,SAAwBnsD,EAAO89C,EAAQkL,GAMtE,MALAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,MAAQ,GACxD1/C,KAAK0/C,GAAmB,IAAR99C,EAChB5B,KAAK0/C,EAAS,GAAM99C,IAAU,EACvB89C,EAAS,GAGlBvW,EAAO5pC,UAAUyuD,cAAgB,SAAwBpsD,EAAO89C,EAAQkL,GAMtE,MALAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,MAAQ,GACxD1/C,KAAK0/C,GAAW99C,IAAU,EAC1B5B,KAAK0/C,EAAS,GAAc,IAAR99C,EACb89C,EAAS,GAGlBvW,EAAO5pC,UAAU0uD,cAAgB,SAAwBrsD,EAAO89C,EAAQkL,GAQtE,MAPAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,WAAY,GAC5D1/C,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,GAAmB,IAAR99C,EACT89C,EAAS,GAGlBvW,EAAO5pC,UAAU2uD,cAAgB,SAAwBtsD,EAAO89C,EAAQkL,GAQtE,MAPAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,WAAY,GAC5D1/C,KAAK0/C,GAAW99C,IAAU,GAC1B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,EAAS,GAAc,IAAR99C,EACb89C,EAAS,GAGlBvW,EAAO5pC,UAAU4uD,WAAa,SAAqBvsD,EAAO89C,EAAQtP,EAAYwa,GAG5E,GAFAhpD,GAASA,EACT89C,KAAoB,GACfkL,EAAU,CACb,GAAItxB,GAAQnyB,KAAK0wC,IAAI,EAAI,EAAIzH,EAAc,EAE3Cka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAY9W,EAAQ,GAAIA,GAGxD,GAAIj6B,GAAI,EACJqtD,EAAM,EACN0B,EAAM,CAEV,KADApuD,KAAK0/C,GAAkB,IAAR99C,IACNvC,EAAI+wC,IAAesc,GAAO,MAC7B9qD,EAAQ,GAAa,IAARwsD,GAAsC,IAAzBpuD,KAAK0/C,EAASrgD,EAAI,KAC9C+uD,EAAM,GAERpuD,KAAK0/C,EAASrgD,IAAOuC,EAAQ8qD,GAAQ,GAAK0B,EAAM,GAGlD,OAAO1O,GAAStP,GAGlBjH,EAAO5pC,UAAU8uD,WAAa,SAAqBzsD,EAAO89C,EAAQtP,EAAYwa,GAG5E,GAFAhpD,GAASA,EACT89C,KAAoB,GACfkL,EAAU,CACb,GAAItxB,GAAQnyB,KAAK0wC,IAAI,EAAI,EAAIzH,EAAc,EAE3Cka,GAAStqD,KAAM4B,EAAO89C,EAAQtP,EAAY9W,EAAQ,GAAIA,GAGxD,GAAIj6B,GAAI+wC,EAAa,EACjBsc,EAAM,EACN0B,EAAM,CAEV,KADApuD,KAAK0/C,EAASrgD,GAAa,IAARuC,IACVvC,GAAK,IAAMqtD,GAAO,MACrB9qD,EAAQ,GAAa,IAARwsD,GAAsC,IAAzBpuD,KAAK0/C,EAASrgD,EAAI,KAC9C+uD,EAAM,GAERpuD,KAAK0/C,EAASrgD,IAAOuC,EAAQ8qD,GAAQ,GAAK0B,EAAM,GAGlD,OAAO1O,GAAStP,GAGlBjH,EAAO5pC,UAAU+uD,UAAY,SAAoB1sD,EAAO89C,EAAQkL,GAM9D,MALAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,KAAM,KAClD99C,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC5B,KAAK0/C,GAAmB,IAAR99C,EACT89C,EAAS,GAGlBvW,EAAO5pC,UAAUgvD,aAAe,SAAuB3sD,EAAO89C,EAAQkL,GAMpE,MALAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,OAAQ,OACxD1/C,KAAK0/C,GAAmB,IAAR99C,EAChB5B,KAAK0/C,EAAS,GAAM99C,IAAU,EACvB89C,EAAS,GAGlBvW,EAAO5pC,UAAUivD,aAAe,SAAuB5sD,EAAO89C,EAAQkL,GAMpE,MALAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,OAAQ,OACxD1/C,KAAK0/C,GAAW99C,IAAU,EAC1B5B,KAAK0/C,EAAS,GAAc,IAAR99C,EACb89C,EAAS,GAGlBvW,EAAO5pC,UAAUkvD,aAAe,SAAuB7sD,EAAO89C,EAAQkL,GAQpE,MAPAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,YAAY,YAC5D1/C,KAAK0/C,GAAmB,IAAR99C,EAChB5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GACvB89C,EAAS,GAGlBvW,EAAO5pC,UAAUmvD,aAAe,SAAuB9sD,EAAO89C,EAAQkL,GASpE,MARAhpD,IAASA,EACT89C,KAAoB,EACfkL,GAAUN,EAAStqD,KAAM4B,EAAO89C,EAAQ,EAAG,YAAY,YACxD99C,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C5B,KAAK0/C,GAAW99C,IAAU,GAC1B5B,KAAK0/C,EAAS,GAAM99C,IAAU,GAC9B5B,KAAK0/C,EAAS,GAAM99C,IAAU,EAC9B5B,KAAK0/C,EAAS,GAAc,IAAR99C,EACb89C,EAAS,GAkBlBvW,EAAO5pC,UAAUovD,aAAe,SAAuB/sD,EAAO89C,EAAQkL,GACpE,MAAOD,GAAW3qD,KAAM4B,EAAO89C,GAAQ,EAAMkL,IAG/CzhB,EAAO5pC,UAAUqvD,aAAe,SAAuBhtD,EAAO89C,EAAQkL,GACpE,MAAOD,GAAW3qD,KAAM4B,EAAO89C,GAAQ,EAAOkL,IAahDzhB,EAAO5pC,UAAUsvD,cAAgB,SAAwBjtD,EAAO89C,EAAQkL,GACtE,MAAOE,GAAY9qD,KAAM4B,EAAO89C,GAAQ,EAAMkL,IAGhDzhB,EAAO5pC,UAAUuvD,cAAgB,SAAwBltD,EAAO89C,EAAQkL,GACtE,MAAOE,GAAY9qD,KAAM4B,EAAO89C,GAAQ,EAAOkL,IAIjDzhB,EAAO5pC,UAAUkgD,KAAO,SAAel9C,EAAQwsD,EAAa/nD,EAAOo+C,GAQjE,GAPKp+C,IAAOA,EAAQ,GACfo+C,GAAe,IAARA,IAAWA,EAAMplD,KAAKyC,QAC9BssD,GAAexsD,EAAOE,SAAQssD,EAAcxsD,EAAOE,QAClDssD,IAAaA,EAAc,GAC5B3J,EAAM,GAAKA,EAAMp+C,IAAOo+C,EAAMp+C,GAG9Bo+C,IAAQp+C,EAAO,MAAO,EAC1B,IAAsB,IAAlBzE,EAAOE,QAAgC,IAAhBzC,KAAKyC,OAAc,MAAO,EAGrD,IAAIssD,EAAc,EAChB,KAAM,IAAI/+C,YAAW,4BAEvB,IAAIhJ,EAAQ,GAAKA,GAAShH,KAAKyC,OAAQ,KAAM,IAAIuN,YAAW,4BAC5D,IAAIo1C,EAAM,EAAG,KAAM,IAAIp1C,YAAW,0BAG9Bo1C,GAAMplD,KAAKyC,SAAQ2iD,EAAMplD,KAAKyC,QAC9BF,EAAOE,OAASssD,EAAc3J,EAAMp+C,IACtCo+C,EAAM7iD,EAAOE,OAASssD,EAAc/nD,EAGtC,IACI3H,GADA0M,EAAMq5C,EAAMp+C,CAGhB,IAAIhH,OAASuC,GAAUyE,EAAQ+nD,GAAeA,EAAc3J,EAE1D,IAAK/lD,EAAI0M,EAAM,EAAG1M,GAAK,IAAKA,EAC1BkD,EAAOlD,EAAI0vD,GAAe/uD,KAAKX,EAAI2H,OAEhC,IAAI+E,EAAM,IAEf,IAAK1M,EAAI,EAAGA,EAAI0M,IAAO1M,EACrBkD,EAAOlD,EAAI0vD,GAAe/uD,KAAKX,EAAI2H,OAGrCgpC,YAAWzwC,UAAU6I,IAAInJ,KACvBsD,EACAvC,KAAKmmD,SAASn/C,EAAOA,EAAQ+E,GAC7BgjD,EAIJ,OAAOhjD,IAOTo9B,EAAO5pC,UAAUsnD,KAAO,SAAen0C,EAAK1L,EAAOo+C,EAAK0B,GAEtD,GAAmB,gBAARp0C,GAAkB,CAS3B,GARqB,gBAAV1L,IACT8/C,EAAW9/C,EACXA,EAAQ,EACRo+C,EAAMplD,KAAKyC,QACa,gBAAR2iD,KAChB0B,EAAW1B,EACXA,EAAMplD,KAAKyC,QAEM,IAAfiQ,EAAIjQ,OAAc,CACpB,GAAIo2B,GAAOnmB,EAAI8iC,WAAW,EACtB3c,GAAO,MACTnmB,EAAMmmB,GAGV,GAAiB30B,SAAb4iD,GAA8C,gBAAbA,GACnC,KAAM,IAAI3lD,WAAU,4BAEtB,IAAwB,gBAAb2lD,KAA0B3d,EAAO6d,WAAWF,GACrD,KAAM,IAAI3lD,WAAU,qBAAuB2lD,OAErB,gBAARp0C,KAChBA,GAAY,IAId,IAAI1L,EAAQ,GAAKhH,KAAKyC,OAASuE,GAAShH,KAAKyC,OAAS2iD,EACpD,KAAM,IAAIp1C,YAAW,qBAGvB,IAAIo1C,GAAOp+C,EACT,MAAOhH,KAGTgH,MAAkB,EAClBo+C,EAAclhD,SAARkhD,EAAoBplD,KAAKyC,OAAS2iD,IAAQ,EAE3C1yC,IAAKA,EAAM,EAEhB,IAAIrT,EACJ,IAAmB,gBAARqT,GACT,IAAKrT,EAAI2H,EAAO3H,EAAI+lD,IAAO/lD,EACzBW,KAAKX,GAAKqT,MAEP,CACL,GAAIw/B,GAAQ/I,EAAO7B,SAAS50B,GACxBA,EACA,GAAIy2B,GAAOz2B,EAAKo0C,GAChB/6C,EAAMmmC,EAAMzvC,MAChB,KAAKpD,EAAI,EAAGA,EAAI+lD,EAAMp+C,IAAS3H,EAC7BW,KAAKX,EAAI2H,GAASkrC,EAAM7yC,EAAI0M,GAIhC,MAAO/L,MAMT,IAAIirD,GAAoB,sB1H2ihBMhsD,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y2HnjkB/C,SAAS7pB,GAAQnU,GACf,MAAI3F,OAAM8Z,QACD9Z,MAAM8Z,QAAQnU,GAEQ,mBAAxBk9B,EAAel9B,GAIxB,QAASkqD,GAAUlqD,GACjB,MAAsB,iBAARA,GAIhB,QAASurD,GAAOvrD,GACd,MAAe,QAARA,EAIT,QAAS2rD,GAAkB3rD,GACzB,MAAc,OAAPA,EAIT,QAASC,GAASD,GAChB,MAAsB,gBAARA,GAIhB,QAAS4qD,GAAS5qD,GAChB,MAAsB,gBAARA,GAIhB,QAAS4rD,GAAS5rD,GAChB,MAAsB,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,IAIhB,QAASG,GAAYH,GACnB,MAAe,UAARA,EAIT,QAASynD,GAASoE,GAChB,MAA8B,oBAAvB3uB,EAAe2uB,GAIxB,QAAS3rD,GAASF,GAChB,MAAsB,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,KAA4B,OAARA,EAIpC,QAASwnD,GAAOrrD,GACd,MAA6B,kBAAtB+gC,EAAe/gC,GAIxB,QAASiW,GAAQlW,GACf,MAA8B,mBAAtBghC,EAAehhC,IAA2BA,YAAaP,OAIjE,QAASoE,GAAWC,GAClB,MAAsB,kBAARA,GAIhB,QAASsQ,GAAYtQ,GACnB,MAAe,QAARA,GACe,iBAARA,IACQ,gBAARA,IACQ,gBAARA,IACQ,YAAf,mBAAOA,GAAP,YAAAjJ,EAAOiJ,KACQ,mBAARA,GAMhB,QAASk9B,GAAe7nB,GACtB,MAAOlhB,QAAOC,UAAUkL,SAASxL,KAAKuhB,G3Ho+jBvC,GAAIte,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,G2H/ikBvQhC,GAAQygB,QAAUA,EAKlBzgB,EAAQw2D,UAAYA,EAKpBx2D,EAAQ63D,OAASA,EAKjB73D,EAAQi4D,kBAAoBA,EAK5Bj4D,EAAQuM,SAAWA,EAKnBvM,EAAQk3D,SAAWA,EAKnBl3D,EAAQk4D,SAAWA,EAKnBl4D,EAAQyM,YAAcA,EAKtBzM,EAAQ+zD,SAAWA,EAKnB/zD,EAAQwM,SAAWA,EAKnBxM,EAAQ8zD,OAASA,EAKjB9zD,EAAQ0e,QAAUA,EAKlB1e,EAAQqM,WAAaA,EAUrBrM,EAAQ4c,YAAcA,EAEtB5c,EAAQyoC,SAAW6B,EAAO7B,W3HglkBIroC,KAAKJ,EAASH,EAAoB,IAAIyqC,SAIpE,GAEM,SAAUrqC,EAAQD,EAASH,G4H5rkBjC,YAIA,SAASsC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAKhH,QAASikE,GAAW39C,EAAKllB,EAAQm9C,GAC/Bj4B,EAAIg4B,KAAKl9C,EAAQm9C,GAJnB,GAAIvW,GAASzqC,EAAQ,KAAeyqC,MAOpCrqC,GAAOD,QAAU,WACf,QAAS+gE,KACP5+D,EAAgBhB,KAAM4/D,GAEtB5/D,KAAK8hE,KAAO,KACZ9hE,KAAK6iE,KAAO,KACZ7iE,KAAKyC,OAAS,EAqDhB,MAlDAm9D,GAAWrgE,UAAU8M,KAAO,SAAcqC,GACxC,GAAI22D,IAAUp+D,KAAMyH,EAAGgR,KAAM,KACzB1f,MAAKyC,OAAS,EAAGzC,KAAK6iE,KAAKnjD,KAAO2lD,EAAWrlE,KAAK8hE,KAAOuD,EAC7DrlE,KAAK6iE,KAAOwC,IACVrlE,KAAKyC,QAGTm9D,EAAWrgE,UAAUy2C,QAAU,SAAiBtnC,GAC9C,GAAI22D,IAAUp+D,KAAMyH,EAAGgR,KAAM1f,KAAK8hE,KACd,KAAhB9hE,KAAKyC,SAAczC,KAAK6iE,KAAOwC,GACnCrlE,KAAK8hE,KAAOuD,IACVrlE,KAAKyC,QAGTm9D,EAAWrgE,UAAUkjB,MAAQ,WAC3B,GAAoB,IAAhBziB,KAAKyC,OAAT,CACA,GAAIyK,GAAMlN,KAAK8hE,KAAK76D,IAGpB,OAFoB,KAAhBjH,KAAKyC,OAAczC,KAAK8hE,KAAO9hE,KAAK6iE,KAAO,KAAU7iE,KAAK8hE,KAAO9hE,KAAK8hE,KAAKpiD,OAC7E1f,KAAKyC,OACAyK,IAGT0yD,EAAWrgE,UAAU86C,MAAQ,WAC3Br6C,KAAK8hE,KAAO9hE,KAAK6iE,KAAO,KACxB7iE,KAAKyC,OAAS,GAGhBm9D,EAAWrgE,UAAU8pB,KAAO,SAAcotB,GACxC,GAAoB,IAAhBz2C,KAAKyC,OAAc,MAAO,EAG9B,KAFA,GAAIrD,GAAIY,KAAK8hE,KACT50D,EAAM,GAAK9N,EAAE6H,KACV7H,EAAIA,EAAEsgB,MACXxS,GAAOupC,EAAIr3C,EAAE6H,IACd,OAAOiG,IAGV0yD,EAAWrgE,UAAUU,OAAS,SAAgBwL,GAC5C,GAAoB,IAAhBzL,KAAKyC,OAAc,MAAO0mC,GAAOyd,MAAM,EAC3C,IAAoB,IAAhB5mD,KAAKyC,OAAc,MAAOzC,MAAK8hE,KAAK76D,IAIxC,KAHA,GAAIiG,GAAMi8B,EAAOsd,YAAYh7C,IAAM,GAC/BrM,EAAIY,KAAK8hE,KACTziE,EAAI,EACDD,GACLgmE,EAAWhmE,EAAE6H,KAAMiG,EAAK7N,GACxBA,GAAKD,EAAE6H,KAAKxE,OACZrD,EAAIA,EAAEsgB,IAER,OAAOxS,IAGF0yD,M5HuskBH,SAAU9gE,EAAQD,EAASH,G6H/wkBjC,YAQA,SAASqgE,GAAQp3D,EAAKT,GACpB,GAAI/C,GAAQnE,KAERslE,EAAoBtlE,KAAK8gE,gBAAkB9gE,KAAK8gE,eAAeN,UAC/D+E,EAAoBvlE,KAAKkkE,gBAAkBlkE,KAAKkkE,eAAe1D,SAEnE,OAAI8E,IAAqBC,OACnBr+D,EACFA,EAAGS,IACMA,GAAS3H,KAAKkkE,gBAAmBlkE,KAAKkkE,eAAesB,cAC9DzD,EAAgB0D,EAAazlE,KAAM2H,KAQnC3H,KAAK8gE,iBACP9gE,KAAK8gE,eAAeN,WAAY,GAI9BxgE,KAAKkkE,iBACPlkE,KAAKkkE,eAAe1D,WAAY,OAGlCxgE,MAAKghE,SAASr5D,GAAO,KAAM,SAAUA,IAC9BT,GAAMS,GACTo6D,EAAgB0D,EAAathE,EAAOwD,GAChCxD,EAAM+/D,iBACR//D,EAAM+/D,eAAesB,cAAe,IAE7Bt+D,GACTA,EAAGS,MAKT,QAAS07D,KACHrjE,KAAK8gE,iBACP9gE,KAAK8gE,eAAeN,WAAY,EAChCxgE,KAAK8gE,eAAeZ,SAAU,EAC9BlgE,KAAK8gE,eAAed,OAAQ,EAC5BhgE,KAAK8gE,eAAeb,YAAa,GAG/BjgE,KAAKkkE,iBACPlkE,KAAKkkE,eAAe1D,WAAY,EAChCxgE,KAAKkkE,eAAelE,OAAQ,EAC5BhgE,KAAKkkE,eAAewB,QAAS,EAC7B1lE,KAAKkkE,eAAeyB,UAAW,EAC/B3lE,KAAKkkE,eAAesB,cAAe,GAIvC,QAASC,GAAYpkE,EAAMsG,GACzBtG,EAAKsK,KAAK,QAAShE,GA7DrB,GAAIo6D,GAAkBrjE,EAAQ,IAgE9BI,GAAOD,SACLkgE,QAASA,EACTsE,UAAWA,I7HsxkBP,SAAUvkE,EAAQD,EAASH,G8Hl0kBjC,YAkCA,SAAS0/D,GAAOp6D,GACd,MAAMhE,gBAAgBo+D,IAEtBF,EAASj/D,KAAKe,KAAMgE,GACpBm6D,EAASl/D,KAAKe,KAAMgE,GAEhBA,GAAWA,EAAQ26D,YAAa,IAAO3+D,KAAK2+D,UAAW,GAEvD36D,GAAWA,EAAQlC,YAAa,IAAO9B,KAAK8B,UAAW,GAE3D9B,KAAK4lE,eAAgB,EACjB5hE,GAAWA,EAAQ4hE,iBAAkB,IAAO5lE,KAAK4lE,eAAgB,OAErE5lE,MAAK0M,KAAK,MAAOmyD,IAZqB,GAAIT,GAAOp6D,GAgBnD,QAAS66D,KAGH7+D,KAAK4lE,eAAiB5lE,KAAKkkE,eAAelE,OAI9C+B,EAAgB8D,EAAS7lE,MAG3B,QAAS6lE,GAAQxkE,GACfA,EAAK+jD,MA1DP,GAAI2c,GAAkBrjE,EAAQ,KAI1B80D,EAAal0D,OAAOid,MAAQ,SAAU1b,GACxC,GAAI0b,KACJ,KAAK,GAAI3Z,KAAO/B,GACd0b,EAAKlQ,KAAKzJ,EACX,OAAO2Z,GAIVzd,GAAOD,QAAUu/D,CAGjB,IAAItwD,GAAOpP,EAAQ,IACnBoP,GAAKuQ,SAAW3f,EAAQ,IAGxB,IAAIw/D,GAAWx/D,EAAQ,KACnBy/D,EAAWz/D,EAAQ,IAEvBoP,GAAKuQ,SAAS+/C,EAAQF,EAGtB,KAAK,GADD3hD,GAAOi3C,EAAW2K,EAAS5+D,WACtBmP,EAAI,EAAGA,EAAI6N,EAAK9Z,OAAQiM,IAAK,CACpC,GAAI7J,GAAS0X,EAAK7N,EACb0vD,GAAO7+D,UAAUsF,KAASu5D,EAAO7+D,UAAUsF,GAAUs5D,EAAS5+D,UAAUsF,IAkC/EvF,OAAOqD,eAAey7D,EAAO7+D,UAAW,aACtC6c,IAAK,WACH,MAA4BlY,UAAxBlE,KAAK8gE,gBAAwD58D,SAAxBlE,KAAKkkE,iBAGvClkE,KAAK8gE,eAAeN,WAAaxgE,KAAKkkE,eAAe1D,YAE9Dp4D,IAAK,SAAUxG,GAGesC,SAAxBlE,KAAK8gE,gBAAwD58D,SAAxBlE,KAAKkkE,iBAM9ClkE,KAAK8gE,eAAeN,UAAY5+D,EAChC5B,KAAKkkE,eAAe1D,UAAY5+D,MAIpCw8D,EAAO7+D,UAAUyhE,SAAW,SAAUr5D,EAAKT,GACzClH,KAAKqM,KAAK,MACVrM,KAAKolD,MAEL2c,EAAgB76D,EAAIS,K9Hy2kBhB,SAAU7I,EAAQD,EAASH,I+H79kBjC,SAAAgP,EAAAiV,EAAAziB,GAyBA,YAmBA,SAAS4lE,GAAc1E,GACrB,GAAIj9D,GAAQnE,IAEZA,MAAK0f,KAAO,KACZ1f,KAAKqlE,MAAQ,KACbrlE,KAAK+lE,OAAS,WACZC,EAAe7hE,EAAOi9D,IAiC1B,QAASlC,GAAoBrB,GAC3B,MAAO10B,GAAOvrB,KAAKigD,GAErB,QAASsB,GAAct+D,GACrB,MAAOsoC,GAAO7B,SAASzmC,IAAQA,YAAeu+D,GAQhD,QAAS6G,MAET,QAASC,GAAcliE,EAASs7D,GAC9BlB,EAASA,GAAU1/D,EAAQ,KAE3BsF,EAAUA,MAIVhE,KAAKu/D,aAAev7D,EAAQu7D,WAExBD,YAAkBlB,KAAQp+D,KAAKu/D,WAAav/D,KAAKu/D,cAAgBv7D,EAAQmiE,mBAK7E,IAAI1G,GAAMz7D,EAAQ07D,cACdC,EAAa3/D,KAAKu/D,WAAa,GAAK,KACxCv/D,MAAK0/D,cAAgBD,GAAe,IAARA,EAAYA,EAAME,EAG9C3/D,KAAK0/D,cAAgBv4D,KAAK2vC,MAAM92C,KAAK0/D,eAGrC1/D,KAAKomE,aAAc,EAGnBpmE,KAAKmkE,WAAY,EAEjBnkE,KAAK0lE,QAAS,EAEd1lE,KAAKggE,OAAQ,EAEbhgE,KAAK2lE,UAAW,EAGhB3lE,KAAKwgE,WAAY,CAKjB,IAAI6F,GAAWriE,EAAQsiE,iBAAkB,CACzCtmE,MAAKsmE,eAAiBD,EAKtBrmE,KAAKygE,gBAAkBz8D,EAAQy8D,iBAAmB,OAKlDzgE,KAAKyC,OAAS,EAGdzC,KAAKumE,SAAU,EAGfvmE,KAAKwmE,OAAS,EAMdxmE,KAAKmgE,MAAO,EAKZngE,KAAKymE,kBAAmB,EAGxBzmE,KAAK0mE,QAAU,SAAU76D,GACvB66D,EAAQpH,EAAQzzD,IAIlB7L,KAAK2mE,QAAU,KAGf3mE,KAAK4mE,SAAW,EAEhB5mE,KAAK6mE,gBAAkB,KACvB7mE,KAAK8mE,oBAAsB,KAI3B9mE,KAAK+mE,UAAY,EAIjB/mE,KAAKgnE,aAAc,EAGnBhnE,KAAKwlE,cAAe,EAGpBxlE,KAAKinE,qBAAuB,EAI5BjnE,KAAKknE,mBAAqB,GAAIpB,GAAc9lE,MAyC9C,QAASm+D,GAASn6D,GAUhB,MATAo6D,GAASA,GAAU1/D,EAAQ,KAStByoE,EAAgBloE,KAAKk/D,EAAUn+D,OAAWA,eAAgBo+D,IAI/Dp+D,KAAKkkE,eAAiB,GAAIgC,GAAcliE,EAAShE,MAGjDA,KAAK8B,UAAW,EAEZkC,IAC2B,kBAAlBA,GAAQme,QAAsBniB,KAAKonE,OAASpjE,EAAQme,OAEjC,kBAAnBne,GAAQqjE,SAAuBrnE,KAAKsnE,QAAUtjE,EAAQqjE,QAElC,kBAApBrjE,GAAQ+6D,UAAwB/+D,KAAKghE,SAAWh9D,EAAQ+6D,SAEtC,kBAAlB/6D,GAAQujE,QAAsBvnE,KAAK66D,OAAS72D,EAAQujE,YAGjEvJ,GAAO/+D,KAAKe,OAlBH,GAAIm+D,GAASn6D,GA0BxB,QAASwjE,GAAclI,EAAQp4D,GAC7B,GAAI2E,GAAK,GAAI/E,OAAM,kBAEnBw4D,GAAO3zD,KAAK,QAASE,GACrBk2D,EAAgB76D,EAAI2E,GAMtB,QAAS47D,GAAWnI,EAAQ8B,EAAOvD,EAAO32D,GACxC,GAAIwgE,IAAQ,EACR77D,GAAK,CAYT,OAVc,QAAVgyD,EACFhyD,EAAK,GAAI1K,WAAU,uCACO,gBAAV08D,IAAgC35D,SAAV25D,GAAwBuD,EAAM7B,aACpE1zD,EAAK,GAAI1K,WAAU,oCAEjB0K,IACFyzD,EAAO3zD,KAAK,QAASE,GACrBk2D,EAAgB76D,EAAI2E,GACpB67D,GAAQ,GAEHA,EAqDT,QAASC,GAAYvG,EAAOvD,EAAO/W,GAIjC,MAHKsa,GAAM7B,YAAc6B,EAAMkF,iBAAkB,GAA0B,gBAAVzI,KAC/DA,EAAQ10B,EAAOvrB,KAAKigD,EAAO/W,IAEtB+W,EAMT,QAAS+J,GAActI,EAAQ8B,EAAOyG,EAAOhK,EAAO/W,EAAU5/C,GAC5D,IAAK2gE,EAAO,CACV,GAAIC,GAAWH,EAAYvG,EAAOvD,EAAO/W,EACrC+W,KAAUiK,IACZD,GAAQ,EACR/gB,EAAW,SACX+W,EAAQiK,GAGZ,GAAI/7D,GAAMq1D,EAAM7B,WAAa,EAAI1B,EAAMp7D,MAEvC2+D,GAAM3+D,QAAUsJ,CAEhB,IAAImB,GAAMk0D,EAAM3+D,OAAS2+D,EAAM1B,aAI/B,IAFKxyD,IAAKk0D,EAAM+C,WAAY,GAExB/C,EAAMmF,SAAWnF,EAAMoF,OAAQ,CACjC,GAAIn9D,GAAO+3D,EAAM0F,mBACjB1F,GAAM0F,qBACJjJ,MAAOA,EACP/W,SAAUA,EACV+gB,MAAOA,EACP1iE,SAAU+B,EACVwY,KAAM,MAEJrW,EACFA,EAAKqW,KAAO0hD,EAAM0F,oBAElB1F,EAAMyF,gBAAkBzF,EAAM0F,oBAEhC1F,EAAM6F,sBAAwB,MAE9Bc,GAAQzI,EAAQ8B,GAAO,EAAOr1D,EAAK8xD,EAAO/W,EAAU5/C,EAGtD,OAAOgG,GAGT,QAAS66D,GAAQzI,EAAQ8B,EAAOiG,EAAQt7D,EAAK8xD,EAAO/W,EAAU5/C,GAC5Dk6D,EAAMwF,SAAW76D,EACjBq1D,EAAMuF,QAAUz/D,EAChBk6D,EAAMmF,SAAU,EAChBnF,EAAMjB,MAAO,EACTkH,EAAQ/H,EAAOgI,QAAQzJ,EAAOuD,EAAMsF,SAAcpH,EAAO8H,OAAOvJ,EAAO/W,EAAUsa,EAAMsF,SAC3FtF,EAAMjB,MAAO,EAGf,QAAS6H,GAAa1I,EAAQ8B,EAAOjB,EAAMt0D,EAAI3E,KAC3Ck6D,EAAM2F,UAEJ5G,GAGF4B,EAAgB76D,EAAI2E,GAGpBk2D,EAAgBkG,EAAa3I,EAAQ8B,GACrC9B,EAAO4E,eAAesB,cAAe,EACrClG,EAAO3zD,KAAK,QAASE,KAIrB3E,EAAG2E,GACHyzD,EAAO4E,eAAesB,cAAe,EACrClG,EAAO3zD,KAAK,QAASE,GAGrBo8D,EAAY3I,EAAQ8B,IAIxB,QAAS8G,GAAmB9G,GAC1BA,EAAMmF,SAAU,EAChBnF,EAAMuF,QAAU,KAChBvF,EAAM3+D,QAAU2+D,EAAMwF,SACtBxF,EAAMwF,SAAW,EAGnB,QAASF,GAAQpH,EAAQzzD,GACvB,GAAIu1D,GAAQ9B,EAAO4E,eACf/D,EAAOiB,EAAMjB,KACbj5D,EAAKk6D,EAAMuF,OAIf,IAFAuB,EAAmB9G,GAEfv1D,EAAIm8D,EAAa1I,EAAQ8B,EAAOjB,EAAMt0D,EAAI3E,OAAS,CAErD,GAAIy+D,GAAWwC,EAAW/G,EAErBuE,IAAavE,EAAMoF,QAAWpF,EAAMqF,mBAAoBrF,EAAMyF,iBACjEuB,EAAY9I,EAAQ8B,GAGlBjB,EAEFkI,EAAWC,EAAYhJ,EAAQ8B,EAAOuE,EAAUz+D,GAGhDohE,EAAWhJ,EAAQ8B,EAAOuE,EAAUz+D,IAK1C,QAASohE,GAAWhJ,EAAQ8B,EAAOuE,EAAUz+D,GACtCy+D,GAAU4C,EAAajJ,EAAQ8B,GACpCA,EAAM2F,YACN7/D,IACA+gE,EAAY3I,EAAQ8B,GAMtB,QAASmH,GAAajJ,EAAQ8B,GACP,IAAjBA,EAAM3+D,QAAgB2+D,EAAM+C,YAC9B/C,EAAM+C,WAAY,EAClB7E,EAAO3zD,KAAK,UAKhB,QAASy8D,GAAY9I,EAAQ8B,GAC3BA,EAAMqF,kBAAmB,CACzB,IAAIpB,GAAQjE,EAAMyF,eAElB,IAAIvH,EAAOgI,SAAWjC,GAASA,EAAM3lD,KAAM,CAEzC,GAAI3C,GAAIqkD,EAAM6F,qBACV52B,EAAS,GAAI7qC,OAAMuX,GACnBmc,EAASkoC,EAAM8F,kBACnBhuC,GAAOmsC,MAAQA,CAIf,KAFA,GAAIjoD,GAAQ,EACRorD,GAAa,EACVnD,GACLh1B,EAAOjzB,GAASioD,EACXA,EAAMwC,QAAOW,GAAa,GAC/BnD,EAAQA,EAAM3lD,KACdtC,GAAS,CAEXizB,GAAOm4B,WAAaA,EAEpBT,EAAQzI,EAAQ8B,GAAO,EAAMA,EAAM3+D,OAAQ4tC,EAAQ,GAAInX,EAAO6sC,QAI9D3E,EAAM2F,YACN3F,EAAM0F,oBAAsB,KACxB5tC,EAAOxZ,MACT0hD,EAAM8F,mBAAqBhuC,EAAOxZ,KAClCwZ,EAAOxZ,KAAO,MAEd0hD,EAAM8F,mBAAqB,GAAIpB,GAAc1E,OAE1C,CAEL,KAAOiE,GAAO,CACZ,GAAIxH,GAAQwH,EAAMxH,MACd/W,EAAWue,EAAMve,SACjB5/C,EAAKm+D,EAAMlgE,SACX4G,EAAMq1D,EAAM7B,WAAa,EAAI1B,EAAMp7D,MAQvC,IANAslE,EAAQzI,EAAQ8B,GAAO,EAAOr1D,EAAK8xD,EAAO/W,EAAU5/C,GACpDm+D,EAAQA,EAAM3lD,KAKV0hD,EAAMmF,QACR,MAIU,OAAVlB,IAAgBjE,EAAM0F,oBAAsB,MAGlD1F,EAAM6F,qBAAuB,EAC7B7F,EAAMyF,gBAAkBxB,EACxBjE,EAAMqF,kBAAmB,EAiC3B,QAAS0B,GAAW/G,GAClB,MAAOA,GAAMsE,QAA2B,IAAjBtE,EAAM3+D,QAA0C,OAA1B2+D,EAAMyF,kBAA6BzF,EAAMuE,WAAavE,EAAMmF,QAE3G,QAASkC,GAAUnJ,EAAQ8B,GACzB9B,EAAOzE,OAAO,SAAUlzD,GACtBy5D,EAAM2F,YACFp/D,GACF23D,EAAO3zD,KAAK,QAAShE;AAEvBy5D,EAAM4F,aAAc,EACpB1H,EAAO3zD,KAAK,aACZs8D,EAAY3I,EAAQ8B,KAGxB,QAASsH,GAAUpJ,EAAQ8B,GACpBA,EAAM4F,aAAgB5F,EAAMgF,cACF,kBAAlB9G,GAAOzE,QAChBuG,EAAM2F,YACN3F,EAAMgF,aAAc,EACpBrE,EAAgB0G,EAAWnJ,EAAQ8B,KAEnCA,EAAM4F,aAAc,EACpB1H,EAAO3zD,KAAK,eAKlB,QAASs8D,GAAY3I,EAAQ8B,GAC3B,GAAIuH,GAAOR,EAAW/G,EAQtB,OAPIuH,KACFD,EAAUpJ,EAAQ8B,GACM,IAApBA,EAAM2F,YACR3F,EAAMuE,UAAW,EACjBrG,EAAO3zD,KAAK,YAGTg9D,EAGT,QAASC,GAAYtJ,EAAQ8B,EAAOl6D,GAClCk6D,EAAMsE,QAAS,EACfuC,EAAY3I,EAAQ8B,GAChBl6D,IACEk6D,EAAMuE,SAAU5D,EAAgB76D,GAASo4D,EAAO5yD,KAAK,SAAUxF,IAErEk6D,EAAMpB,OAAQ,EACdV,EAAOx9D,UAAW,EAGpB,QAASkkE,GAAe6C,EAASzH,EAAOz5D,GACtC,GAAI09D,GAAQwD,EAAQxD,KAEpB,KADAwD,EAAQxD,MAAQ,KACTA,GAAO,CACZ,GAAIn+D,GAAKm+D,EAAMlgE,QACfi8D,GAAM2F,YACN7/D,EAAGS,GACH09D,EAAQA,EAAM3lD,KAEZ0hD,EAAM8F,mBACR9F,EAAM8F,mBAAmBxnD,KAAOmpD,EAEhCzH,EAAM8F,mBAAqB2B,EA7lB/B,GAAI9G,GAAkBrjE,EAAQ,IAG9BI,GAAOD,QAAUs/D,CAwBjB,IAIIC,GAJAiK,GAAc36D,EAAQgN,UAAY,QAAS,SAAS4L,QAAQ5Y,EAAQoL,QAAQnZ,MAAM,EAAG,KAAM,EAAKgjB,EAAeo/C,CAOnH5D,GAAS+H,cAAgBA,CAGzB,IAAIp4D,GAAOpP,EAAQ,IACnBoP,GAAKuQ,SAAW3f,EAAQ,IAIxB,IAAIoqE,IACFx/B,UAAW5qC,EAAQ,MAKjBs/D,EAASt/D,EAAQ,KAIjByqC,EAASzqC,EAAQ,KAAeyqC,OAChCi2B,EAAgBl/D,EAAO8vC,YAAc,aASrCkzB,EAAcxkE,EAAQ,IAE1BoP,GAAKuQ,SAAS8/C,EAAUH,GA0GxBkI,EAAc3mE,UAAUwpE,UAAY,WAGlC,IAFA,GAAIpgE,GAAU3I,KAAK6mE,gBACf3c,KACGvhD,GACLuhD,EAAI79C,KAAK1D,GACTA,EAAUA,EAAQ+W,IAEpB,OAAOwqC,IAGT,WACE,IACE5qD,OAAOqD,eAAeujE,EAAc3mE,UAAW,UAC7C6c,IAAK0sD,EAAax/B,UAAU,WAC1B,MAAOtpC,MAAK+oE,aACX,6EAAmF,aAExF,MAAOv1D,OAKX,IAAI2zD,EACkB,mBAAXhlE,SAAyBA,OAAO6mE,aAAiE,kBAA3CjqD,UAASxf,UAAU4C,OAAO6mE,cACzF7B,EAAkBpoD,SAASxf,UAAU4C,OAAO6mE,aAC5C1pE,OAAOqD,eAAew7D,EAAUh8D,OAAO6mE,aACrCpnE,MAAO,SAAU4kC,GACf,QAAI2gC,EAAgBloE,KAAKe,KAAMwmC,IAExBA,GAAUA,EAAO09B,yBAA0BgC,OAItDiB,EAAkB,SAAU3gC,GAC1B,MAAOA,aAAkBxmC,OAqC7Bm+D,EAAS5+D,UAAU++D,KAAO,WACxBt+D,KAAK2L,KAAK,QAAS,GAAI7E,OAAM,+BA8B/Bq3D,EAAS5+D,UAAU4iB,MAAQ,SAAU07C,EAAO/W,EAAU5/C,GACpD,GAAIk6D,GAAQphE,KAAKkkE,eACbh3D,GAAM,EACN26D,EAAQ1I,EAActB,KAAWuD,EAAM7B,UAoB3C,OAlBIsI,KAAU1+B,EAAO7B,SAASu2B,KAC5BA,EAAQqB,EAAoBrB,IAGN,kBAAb/W,KACT5/C,EAAK4/C,EACLA,EAAW,MAGT+gB,EAAO/gB,EAAW,SAAmBA,IAAUA,EAAWsa,EAAMX,iBAElD,kBAAPv5D,KAAmBA,EAAK++D,GAE/B7E,EAAMpB,MAAOwH,EAAcxnE,KAAMkH,IAAa2gE,GAASJ,EAAWznE,KAAMohE,EAAOvD,EAAO32D,MACxFk6D,EAAM2F,YACN75D,EAAM06D,EAAc5nE,KAAMohE,EAAOyG,EAAOhK,EAAO/W,EAAU5/C,IAGpDgG,GAGTixD,EAAS5+D,UAAU0pE,KAAO,WACxB,GAAI7H,GAAQphE,KAAKkkE,cAEjB9C,GAAMoF,UAGRrI,EAAS5+D,UAAU2pE,OAAS,WAC1B,GAAI9H,GAAQphE,KAAKkkE,cAEb9C,GAAMoF,SACRpF,EAAMoF,SAEDpF,EAAMmF,SAAYnF,EAAMoF,QAAWpF,EAAMuE,UAAavE,EAAMqF,mBAAoBrF,EAAMyF,iBAAiBuB,EAAYpoE,KAAMohE,KAIlIjD,EAAS5+D,UAAU4pE,mBAAqB,SAA4BriB,GAGlE,GADwB,gBAAbA,KAAuBA,EAAWA,EAASnnC,kBAC/C,MAAO,OAAQ,QAAS,QAAS,SAAU,SAAU,OAAQ,QAAS,UAAW,WAAY,OAAO2G,SAASwgC,EAAW,IAAInnC,gBAAiB,GAAK,KAAM,IAAIxe,WAAU,qBAAuB2lD,EAEpM,OADA9mD,MAAKkkE,eAAezD,gBAAkB3Z,EAC/B9mD,MAmMTm+D,EAAS5+D,UAAU6nE,OAAS,SAAUvJ,EAAO/W,EAAU5/C,GACrDA,EAAG,GAAIJ,OAAM,iCAGfq3D,EAAS5+D,UAAU+nE,QAAU,KAE7BnJ,EAAS5+D,UAAU6lD,IAAM,SAAUyY,EAAO/W,EAAU5/C,GAClD,GAAIk6D,GAAQphE,KAAKkkE,cAEI,mBAAVrG,IACT32D,EAAK22D,EACLA,EAAQ,KACR/W,EAAW,MACkB,kBAAbA,KAChB5/C,EAAK4/C,EACLA,EAAW,MAGC,OAAV+W,GAA4B35D,SAAV25D,GAAqB79D,KAAKmiB,MAAM07C,EAAO/W,GAGzDsa,EAAMoF,SACRpF,EAAMoF,OAAS,EACfxmE,KAAKkpE,UAIF9H,EAAMsE,QAAWtE,EAAMuE,UAAUiD,EAAY5oE,KAAMohE,EAAOl6D,IAoEjE5H,OAAOqD,eAAew7D,EAAS5+D,UAAW,aACxC6c,IAAK,WACH,MAA4BlY,UAAxBlE,KAAKkkE,gBAGFlkE,KAAKkkE,eAAe1D,WAE7Bp4D,IAAK,SAAUxG,GAGR5B,KAAKkkE,iBAMVlkE,KAAKkkE,eAAe1D,UAAY5+D,MAIpCu8D,EAAS5+D,UAAUw/D,QAAUmE,EAAYnE,QACzCZ,EAAS5+D,UAAU6jE,WAAaF,EAAYG,UAC5ClF,EAAS5+D,UAAUyhE,SAAW,SAAUr5D,EAAKT,GAC3ClH,KAAKolD,MACLl+C,EAAGS,M/Hi+kByB1I,KAAKJ,EAASH,EAAoB,GAAIA,EAAoB,IAAIikB,aAAe,WAAa,MAAO3iB,WAIzH,SAAUlB,EAAQD,IAEK,SAASqB,GAAS,YgIpmmB/C,SAASopC,GAAW1pC,EAAI0P,GAMtB,QAASuJ,KACP,IAAKvM,EAAQ,CACX,GAAI/L,EAAO,oBACT,KAAM,IAAIuG,OAAMwI,EACP/O,GAAO,oBAChBgM,QAAQC,MAAM8C,GAEd/C,QAAQgiB,KAAKjf,GAEfhD,GAAS,EAEX,MAAO1M,GAAGG,MAAMC,KAAMiE,WAhBxB,GAAI1D,EAAO,iBACT,MAAOX,EAGT,IAAI0M,IAAS,CAeb,OAAOuM,GAWT,QAAStY,GAAQ0a,GAEf,IACE,IAAK/a,EAAOg1C,aAAc,OAAO,EACjC,MAAO1hC,GACP,OAAO,EAET,GAAId,GAAMxS,EAAOg1C,aAAaj6B,EAC9B,OAAI,OAAQvI,GACyB,SAA9Bkd,OAAOld,GAAKiN,cA5DrB7gB,EAAOD,QAAUyqC,IhI4rmBarqC,KAAKJ,EAAU,WAAa,MAAOmB,WAI3D,SAAUlB,EAAQD,EAASH,GiIrsmBjC,YAcA,SAAS0qE,GAAmB5F,GAC1B,IAAKA,EAAK,MAAO,MAEjB,KADA,GAAI6F,KAEF,OAAQ7F,GACN,IAAK,OACL,IAAK,QACH,MAAO,MACT,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,SACT,KAAK,SACL,IAAK,SACH,MAAO,QACT,KAAK,SACL,IAAK,QACL,IAAK,MACH,MAAOA,EACT,SACE,GAAI6F,EAAS,MACb7F,IAAO,GAAKA,GAAK7jD,cACjB0pD,GAAU,GAOlB,QAASC,GAAkB9F,GACzB,GAAI+F,GAAOH,EAAmB5F,EAC9B,IAAoB,gBAAT+F,KAAsBpgC,EAAO6d,aAAeA,IAAeA,EAAWwc,IAAO,KAAM,IAAI18D,OAAM,qBAAuB08D,EAC/H,OAAO+F,IAAQ/F,EAOjB,QAAS3C,GAAc/Z,GACrB9mD,KAAK8mD,SAAWwiB,EAAkBxiB,EAClC,IAAI8b,EACJ,QAAQ5iE,KAAK8mD,UACX,IAAK,UACH9mD,KAAKuxC,KAAOi4B,EACZxpE,KAAKolD,IAAMqkB,EACX7G,EAAK,CACL,MACF,KAAK,OACH5iE,KAAK0pE,SAAWC,EAChB/G,EAAK,CACL,MACF,KAAK,SACH5iE,KAAKuxC,KAAOq4B,EACZ5pE,KAAKolD,IAAMykB,EACXjH,EAAK,CACL,MACF,SAGE,MAFA5iE,MAAKmiB,MAAQ2nD,OACb9pE,KAAKolD,IAAM2kB,GAGf/pE,KAAKgqE,SAAW,EAChBhqE,KAAKiqE,UAAY,EACjBjqE,KAAKkqE,SAAW/gC,EAAOsd,YAAYmc,GAoCrC,QAASuH,GAAcC,GACrB,MAAIA,IAAQ,IAAa,EAAWA,GAAQ,IAAM,EAAa,EAAWA,GAAQ,IAAM,GAAa,EAAWA,GAAQ,IAAM,GAAa,GACpI,EAMT,QAASC,GAAoBhpE,EAAM+I,EAAK/K,GACtC,GAAIgS,GAAIjH,EAAI3H,OAAS,CACrB,IAAI4O,EAAIhS,EAAG,MAAO,EAClB,IAAIujE,GAAKuH,EAAc//D,EAAIiH,GAC3B,OAAIuxD,IAAM,GACJA,EAAK,IAAGvhE,EAAK2oE,SAAWpH,EAAK,GAC1BA,KAEHvxD,EAAIhS,EAAU,GACpBujE,EAAKuH,EAAc//D,EAAIiH,IACnBuxD,GAAM,GACJA,EAAK,IAAGvhE,EAAK2oE,SAAWpH,EAAK,GAC1BA,KAEHvxD,EAAIhS,EAAU,GACpBujE,EAAKuH,EAAc//D,EAAIiH,IACnBuxD,GAAM,GACJA,EAAK,IACI,IAAPA,EAAUA,EAAK,EAAOvhE,EAAK2oE,SAAWpH,EAAK,GAE1CA,GAEF,IAWT,QAAS0H,GAAoBjpE,EAAM+I,EAAKhL,GACtC,GAAwB,OAAV,IAATgL,EAAI,IAEP,MADA/I,GAAK2oE,SAAW,EACT,IAASO,OAAOnrE,EAEzB,IAAIiC,EAAK2oE,SAAW,GAAK5/D,EAAI3H,OAAS,EAAG,CACvC,GAAwB,OAAV,IAAT2H,EAAI,IAEP,MADA/I,GAAK2oE,SAAW,EACT,IAASO,OAAOnrE,EAAI,EAE7B,IAAIiC,EAAK2oE,SAAW,GAAK5/D,EAAI3H,OAAS,GACZ,OAAV,IAAT2H,EAAI,IAEP,MADA/I,GAAK2oE,SAAW,EACT,IAASO,OAAOnrE,EAAI,IAOnC,QAASuqE,GAAav/D,GACpB,GAAIhL,GAAIY,KAAKiqE,UAAYjqE,KAAKgqE,SAC1BpzD,EAAI0zD,EAAoBtqE,KAAMoK,EAAKhL,EACvC,OAAU8E,UAAN0S,EAAwBA,EACxB5W,KAAKgqE,UAAY5/D,EAAI3H,QACvB2H,EAAIq1C,KAAKz/C,KAAKkqE,SAAU9qE,EAAG,EAAGY,KAAKgqE,UAC5BhqE,KAAKkqE,SAASz/D,SAASzK,KAAK8mD,SAAU,EAAG9mD,KAAKiqE,aAEvD7/D,EAAIq1C,KAAKz/C,KAAKkqE,SAAU9qE,EAAG,EAAGgL,EAAI3H,aAClCzC,KAAKgqE,UAAY5/D,EAAI3H,SAMvB,QAAS+nE,GAASpgE,EAAK/K,GACrB,GAAIo5B,GAAQ4xC,EAAoBrqE,KAAMoK,EAAK/K,EAC3C,KAAKW,KAAKgqE,SAAU,MAAO5/D,GAAIK,SAAS,OAAQpL,EAChDW,MAAKiqE,UAAYxxC,CACjB,IAAI2sB,GAAMh7C,EAAI3H,QAAUg2B,EAAQz4B,KAAKgqE,SAErC,OADA5/D,GAAIq1C,KAAKz/C,KAAKkqE,SAAU,EAAG9kB,GACpBh7C,EAAIK,SAAS,OAAQpL,EAAG+lD,GAKjC,QAASqlB,GAAQrgE,GACf,GAAIwM,GAAIxM,GAAOA,EAAI3H,OAASzC,KAAKmiB,MAAM/X,GAAO,EAC9C,OAAIpK,MAAKgqE,SAAiBpzD,EAAI,IAAS2zD,OAAOvqE,KAAKiqE,UAAYjqE,KAAKgqE,UAC7DpzD,EAOT,QAAS4yD,GAAUp/D,EAAK/K,GACtB,IAAK+K,EAAI3H,OAASpD,GAAK,IAAM,EAAG,CAC9B,GAAIuX,GAAIxM,EAAIK,SAAS,UAAWpL,EAChC,IAAIuX,EAAG,CACL,GAAIzX,GAAIyX,EAAE4+B,WAAW5+B,EAAEnU,OAAS,EAChC,IAAItD,GAAK,OAAUA,GAAK,MAKtB,MAJAa,MAAKgqE,SAAW,EAChBhqE,KAAKiqE,UAAY,EACjBjqE,KAAKkqE,SAAS,GAAK9/D,EAAIA,EAAI3H,OAAS,GACpCzC,KAAKkqE,SAAS,GAAK9/D,EAAIA,EAAI3H,OAAS,GAC7BmU,EAAEjX,MAAM,GAAG,GAGtB,MAAOiX,GAKT,MAHA5W,MAAKgqE,SAAW,EAChBhqE,KAAKiqE,UAAY,EACjBjqE,KAAKkqE,SAAS,GAAK9/D,EAAIA,EAAI3H,OAAS,GAC7B2H,EAAIK,SAAS,UAAWpL,EAAG+K,EAAI3H,OAAS,GAKjD,QAASgnE,GAASr/D,GAChB,GAAIwM,GAAIxM,GAAOA,EAAI3H,OAASzC,KAAKmiB,MAAM/X,GAAO,EAC9C,IAAIpK,KAAKgqE,SAAU,CACjB,GAAI5kB,GAAMplD,KAAKiqE,UAAYjqE,KAAKgqE,QAChC,OAAOpzD,GAAI5W,KAAKkqE,SAASz/D,SAAS,UAAW,EAAG26C,GAElD,MAAOxuC,GAGT,QAASgzD,GAAWx/D,EAAK/K,GACvB,GAAIoM,IAAKrB,EAAI3H,OAASpD,GAAK,CAC3B,OAAU,KAANoM,EAAgBrB,EAAIK,SAAS,SAAUpL,IAC3CW,KAAKgqE,SAAW,EAAIv+D,EACpBzL,KAAKiqE,UAAY,EACP,IAANx+D,EACFzL,KAAKkqE,SAAS,GAAK9/D,EAAIA,EAAI3H,OAAS,IAEpCzC,KAAKkqE,SAAS,GAAK9/D,EAAIA,EAAI3H,OAAS,GACpCzC,KAAKkqE,SAAS,GAAK9/D,EAAIA,EAAI3H,OAAS,IAE/B2H,EAAIK,SAAS,SAAUpL,EAAG+K,EAAI3H,OAASgJ,IAGhD,QAASo+D,GAAUz/D,GACjB,GAAIwM,GAAIxM,GAAOA,EAAI3H,OAASzC,KAAKmiB,MAAM/X,GAAO,EAC9C,OAAIpK,MAAKgqE,SAAiBpzD,EAAI5W,KAAKkqE,SAASz/D,SAAS,SAAU,EAAG,EAAIzK,KAAKgqE,UACpEpzD,EAIT,QAASkzD,GAAY1/D,GACnB,MAAOA,GAAIK,SAASzK,KAAK8mD,UAG3B,QAASijB,GAAU3/D,GACjB,MAAOA,IAAOA,EAAI3H,OAASzC,KAAKmiB,MAAM/X,GAAO,GA5Q/C,GAAI++B,GAASzqC,EAAQ,KAAeyqC,OAEhC6d,EAAa7d,EAAO6d,YAAc,SAAUF,GAE9C,OADAA,EAAW,GAAKA,EACRA,GAAYA,EAASnnC,eAC3B,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,OAAO,CACT,SACE,OAAO,GA2Cb9gB,GAAQgiE,cAAgBA,EA6BxBA,EAActhE,UAAU4iB,MAAQ,SAAU/X,GACxC,GAAmB,IAAfA,EAAI3H,OAAc,MAAO,EAC7B,IAAImU,GACAvX,CACJ,IAAIW,KAAKgqE,SAAU,CAEjB,GADApzD,EAAI5W,KAAK0pE,SAASt/D,GACRlG,SAAN0S,EAAiB,MAAO,EAC5BvX,GAAIW,KAAKgqE,SACThqE,KAAKgqE,SAAW,MAEhB3qE,GAAI,CAEN,OAAIA,GAAI+K,EAAI3H,OAAemU,EAAIA,EAAI5W,KAAKuxC,KAAKnnC,EAAK/K,GAAKW,KAAKuxC,KAAKnnC,EAAK/K,GAC/DuX,GAAK,IAGdiqD,EAActhE,UAAU6lD,IAAMqlB,EAG9B5J,EAActhE,UAAUgyC,KAAOi5B,EAG/B3J,EAActhE,UAAUmqE,SAAW,SAAUt/D,GAC3C,MAAIpK,MAAKgqE,UAAY5/D,EAAI3H,QACvB2H,EAAIq1C,KAAKz/C,KAAKkqE,SAAUlqE,KAAKiqE,UAAYjqE,KAAKgqE,SAAU,EAAGhqE,KAAKgqE,UACzDhqE,KAAKkqE,SAASz/D,SAASzK,KAAK8mD,SAAU,EAAG9mD,KAAKiqE,aAEvD7/D,EAAIq1C,KAAKz/C,KAAKkqE,SAAUlqE,KAAKiqE,UAAYjqE,KAAKgqE,SAAU,EAAG5/D,EAAI3H,aAC/DzC,KAAKgqE,UAAY5/D,EAAI3H,WjI42mBjB,SAAU3D,EAAQD,EAASH,GkI35mBjC,YAaA,SAASgsE,GAAepL,GACtBt/D,KAAK2qE,eAAiB,SAAU9+D,EAAI5E,GAClC,MAAO0jE,GAAerL,EAAQzzD,EAAI5E,IAGpCjH,KAAK4qE,eAAgB,EACrB5qE,KAAK6qE,cAAe,EACpB7qE,KAAK2mE,QAAU,KACf3mE,KAAK8qE,WAAa,KAClB9qE,KAAK+qE,cAAgB,KAGvB,QAASJ,GAAerL,EAAQzzD,EAAI5E,GAClC,GAAIyB,GAAK42D,EAAO0L,eAChBtiE,GAAGmiE,cAAe,CAElB,IAAI3jE,GAAKwB,EAAGi+D,OAEZ,KAAKz/D,EACH,MAAOo4D,GAAO3zD,KAAK,QAAS,GAAI7E,OAAM,wCAGxC4B,GAAGoiE,WAAa,KAChBpiE,EAAGi+D,QAAU,KAEA,OAAT1/D,GAA0B/C,SAAT+C,GAAoBq4D,EAAOjzD,KAAKpF,GAErDC,EAAG2E,EAEH,IAAIo/D,GAAK3L,EAAOwB,cAChBmK,GAAG/K,SAAU,GACT+K,EAAG7K,cAAgB6K,EAAGxoE,OAASwoE,EAAGvL,gBACpCJ,EAAOyB,MAAMkK,EAAGvL,eAIpB,QAASjC,GAAUz5D,GACjB,KAAMhE,eAAgBy9D,IAAY,MAAO,IAAIA,GAAUz5D,EAEvDo6D,GAAOn/D,KAAKe,KAAMgE,GAElBhE,KAAKgrE,gBAAkB,GAAIN,GAAe1qE,KAE1C,IAAIs/D,GAASt/D,IAGbA,MAAK8gE,eAAeV,cAAe,EAKnCpgE,KAAK8gE,eAAeX,MAAO,EAEvBn8D,IAC+B,kBAAtBA,GAAQ6nC,YAA0B7rC,KAAK49D,WAAa55D,EAAQ6nC,WAE1C,kBAAlB7nC,GAAQknE,QAAsBlrE,KAAK89D,OAAS95D,EAAQknE,QAIjElrE,KAAK0M,KAAK,YAAa,WACM,kBAAhB1M,MAAK89D,OAAuB99D,KAAK89D,OAAO,SAAUjyD,EAAI5E,GAC/D4K,EAAKytD,EAAQzzD,EAAI5E,KACX4K,EAAKytD,KA2DjB,QAASztD,GAAKytD,EAAQzzD,EAAI5E,GACxB,GAAI4E,EAAI,MAAOyzD,GAAO3zD,KAAK,QAASE,EAEvB,QAAT5E,GAA0B/C,SAAT+C,GAAoBq4D,EAAOjzD,KAAKpF,EAIrD,IAAIR,GAAK64D,EAAO4E,eACZx7D,EAAK42D,EAAO0L,eAEhB,IAAIvkE,EAAGhE,OAAQ,KAAM,IAAIqE,OAAM,6CAE/B,IAAI4B,EAAGmiE,aAAc,KAAM,IAAI/jE,OAAM,iDAErC,OAAOw4D,GAAOjzD,KAAK,MAnJrBvN,EAAOD,QAAU4+D,CAEjB,IAAIW,GAAS1/D,EAAQ,KAGjBoP,EAAOpP,EAAQ,IACnBoP,GAAKuQ,SAAW3f,EAAQ,KAGxBoP,EAAKuQ,SAASo/C,EAAWW,GAqEzBX,EAAUl+D,UAAU8M,KAAO,SAAUwxD,EAAO/W,GAE1C,MADA9mD,MAAKgrE,gBAAgBJ,eAAgB,EAC9BxM,EAAO7+D,UAAU8M,KAAKpN,KAAKe,KAAM69D,EAAO/W,IAajD2W,EAAUl+D,UAAUq+D,WAAa,SAAUC,EAAO/W,EAAU5/C,GAC1D,KAAM,IAAIJ,OAAM,oCAGlB22D,EAAUl+D,UAAU6nE,OAAS,SAAUvJ,EAAO/W,EAAU5/C,GACtD,GAAIwB,GAAK1I,KAAKgrE,eAId,IAHAtiE,EAAGi+D,QAAUz/D,EACbwB,EAAGoiE,WAAajN,EAChBn1D,EAAGqiE,cAAgBjkB,GACdp+C,EAAGmiE,aAAc,CACpB,GAAII,GAAKjrE,KAAK8gE,gBACVp4D,EAAGkiE,eAAiBK,EAAG7K,cAAgB6K,EAAGxoE,OAASwoE,EAAGvL,gBAAe1/D,KAAK+gE,MAAMkK,EAAGvL,iBAO3FjC,EAAUl+D,UAAUwhE,MAAQ,SAAUt1D,GACpC,GAAI/C,GAAK1I,KAAKgrE,eAEQ,QAAlBtiE,EAAGoiE,YAAuBpiE,EAAGi+D,UAAYj+D,EAAGmiE,cAC9CniE,EAAGmiE,cAAe,EAClB7qE,KAAK49D,WAAWl1D,EAAGoiE,WAAYpiE,EAAGqiE,cAAeriE,EAAGiiE,iBAIpDjiE,EAAGkiE,eAAgB,GAIvBnN,EAAUl+D,UAAUyhE,SAAW,SAAUr5D,EAAKT,GAC5C,GAAI/C,GAAQnE,IAEZo+D,GAAO7+D,UAAUyhE,SAAS/hE,KAAKe,KAAM2H,EAAK,SAAUwjE,GAClDjkE,EAAGikE,GACHhnE,EAAMwH,KAAK,alIm/mBT,SAAU7M,EAAQD,EAASH,GmI5pnBjC,YAaA,SAAS2/D,GAAYr6D,GACnB,MAAMhE,gBAAgBq+D,OAEtBZ,GAAUx+D,KAAKe,KAAMgE,GAFsB,GAAIq6D,GAAYr6D,GAZ7DlF,EAAOD,QAAUw/D,CAEjB,IAAIZ,GAAY/+D,EAAQ,KAGpBoP,EAAOpP,EAAQ,IACnBoP,GAAKuQ,SAAW3f,EAAQ,KAGxBoP,EAAKuQ,SAASggD,EAAaZ,GAQ3BY,EAAY9+D,UAAUq+D,WAAa,SAAUC,EAAO/W,EAAU5/C,GAC5DA,EAAG,KAAM22D,KnI4rnBL,SAAU/+D,EAAQD,EAASH,GAEhC,YoI3unBDI,GAAOD,QAAUH,EAAQ,MpIivnBnB,SAAUI,EAAQD,EAASH,GAEhC,YqInvnBDI,GAAOD,QAAUH,EAAQ,MrIyvnBnB,SAAUI,EAAQD,EAASH,GAEhC,YsI3vnBDI,GAAOD,QAAUH,EAAQ,KAAc++D,WtIiwnBjC,SAAU3+D,EAAQD,EAASH,GAEhC,YuInwnBDI,GAAOD,QAAUH,EAAQ,KAAc2/D,avIywnBjC,SAAUv/D,EAAQD,EAASH,GAEhC,YwI3wnBD,IAAIG,GAAUC,EAAOD,QAAU,SAAcusE,GAC3CA,EAAYA,EAAUzrD,aAEtB,IAAI0rD,GAAYxsE,EAAQusE,EACxB,KAAKC,EAAW,KAAM,IAAIvkE,OAAMskE,EAAY,8CAE5C,OAAO,IAAIC,GAGbxsE,GAAQ87D,IAAMj8D,EAAQ,KACtBG,EAAQi7D,KAAOp7D,EAAQ,KACvBG,EAAQysE,OAAS5sE,EAAQ,KACzBG,EAAQ2L,OAAS9L,EAAQ,KACzBG,EAAQ0sE,OAAS7sE,EAAQ,KACzBG,EAAQqyD,OAASxyD,EAAQ,MxIixnBnB,SAAUI,EAAQD,EAASH,GAEhC,YyI/wnBD,SAAS8sE,KACPxrE,KAAKoqB,OACLpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,GAAI,IAetB,QAAS2rE,GAAOtpB,GACd,MAAQA,IAAO,EAAMA,IAAQ,GAG/B,QAASupB,GAAQvpB,GACf,MAAQA,IAAO,GAAOA,IAAQ,EAGhC,QAASwpB,GAAIp1B,EAAG32C,EAAGX,EAAGmI,GACpB,MAAU,KAANmvC,EAAiB32C,EAAIX,GAAQW,EAAKwH,EAC5B,IAANmvC,EAAiB32C,EAAIX,EAAMW,EAAIwH,EAAMnI,EAAImI,EACtCxH,EAAIX,EAAImI,EAxCjB,GAAI+W,GAAW3f,EAAQ,KACnB87D,EAAO97D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAEhC2iC,GACF,WAAY,YAAY,YAAgB,WAGtCJ,EAAI,GAAIlmE,OAAM,GASlB6Y,GAASmtD,EAAKhR,GAEdgR,EAAIjsE,UAAU6qB,KAAO,WAOnB,MANApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,GAAK,UACVt+C,KAAKu+C,GAAK,WAEHv+C,MAiBTwrE,EAAIjsE,UAAUq7D,QAAU,SAAUmR,GAShC,IAAK,GARDL,GAAI1rE,KAAKyrE,GAET5rE,EAAc,EAAVG,KAAKs8D,GACTx8D,EAAc,EAAVE,KAAKu8D,GACTp9D,EAAc,EAAVa,KAAKw8D,GACTl1D,EAAc,EAAVtH,KAAKs+C,GACTj3C,EAAc,EAAVrH,KAAKu+C,GAEJl/C,EAAI,EAAGA,EAAI,KAAMA,EAAGqsE,EAAErsE,GAAK0sE,EAAEze,YAAgB,EAAJjuD,EAClD,MAAOA,EAAI,KAAMA,EAAGqsE,EAAErsE,GAAKqsE,EAAErsE,EAAI,GAAKqsE,EAAErsE,EAAI,GAAKqsE,EAAErsE,EAAI,IAAMqsE,EAAErsE,EAAI,GAEnE,KAAK,GAAIgS,GAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,GAAIolC,MAAOplC,EAAI,IACX6rC,EAAKyuB,EAAM9rE,GAAKgsE,EAAGp1B,EAAG32C,EAAGX,EAAGmI,GAAKD,EAAIqkE,EAAEr6D,GAAKy6D,EAAEr1B,GAAM,CAExDpvC,GAAIC,EACJA,EAAInI,EACJA,EAAIysE,EAAO9rE,GACXA,EAAID,EACJA,EAAIq9C,EAGNl9C,KAAKs8D,GAAMz8D,EAAIG,KAAKs8D,GAAM,EAC1Bt8D,KAAKu8D,GAAMz8D,EAAIE,KAAKu8D,GAAM,EAC1Bv8D,KAAKw8D,GAAMr9D,EAAIa,KAAKw8D,GAAM,EAC1Bx8D,KAAKs+C,GAAMh3C,EAAItH,KAAKs+C,GAAM,EAC1Bt+C,KAAKu+C,GAAMl3C,EAAIrH,KAAKu+C,GAAM,GAG5BitB,EAAIjsE,UAAU0xD,MAAQ,WACpB,GAAI+a,GAAI7iC,EAAOsd,YAAY,GAQ3B,OANAulB,GAAEtd,aAAuB,EAAV1uD,KAAKs8D,GAAQ,GAC5B0P,EAAEtd,aAAuB,EAAV1uD,KAAKu8D,GAAQ,GAC5ByP,EAAEtd,aAAuB,EAAV1uD,KAAKw8D,GAAQ,GAC5BwP,EAAEtd,aAAuB,EAAV1uD,KAAKs+C,GAAQ,IAC5B0tB,EAAEtd,aAAuB,EAAV1uD,KAAKu+C,GAAQ,IAErBytB,GAGTltE,EAAOD,QAAU2sE,GzIsynBX,SAAU1sE,EAAQD,EAASH,GAEhC,Y0Il4nBD,SAAS87D,GAAMgD,EAAWyO,GACxBjsE,KAAK+8D,OAAS5zB,EAAOyd,MAAM4W,GAC3Bx9D,KAAKksE,WAAaD,EAClBjsE,KAAK09D,WAAaF,EAClBx9D,KAAKuF,KAAO,EAPd,GAAI4jC,GAASzqC,EAAQ,KAAeyqC,MAUpCqxB,GAAKj7D,UAAUsJ,OAAS,SAAU5B,EAAMu8D,GAClB,gBAATv8D,KACTu8D,EAAMA,GAAO,OACbv8D,EAAOkiC,EAAOvrB,KAAK3W,EAAMu8D,GAQ3B,KAAK,GALD3P,GAAQ7zD,KAAK+8D,OACbS,EAAYx9D,KAAK09D,WACjBj7D,EAASwE,EAAKxE,OACdghC,EAAQzjC,KAAKuF,KAERm6C,EAAS,EAAGA,EAASj9C,GAAS,CAIrC,IAAK,GAHD0pE,GAAW1oC,EAAQ+5B,EACnB4O,EAAYjlE,KAAKk6B,IAAI5+B,EAASi9C,EAAQ8d,EAAY2O,GAE7C9sE,EAAI,EAAGA,EAAI+sE,EAAW/sE,IAC7Bw0D,EAAMsY,EAAW9sE,GAAK4H,EAAKy4C,EAASrgD,EAGtCokC,IAAS2oC,EACT1sB,GAAU0sB,EAEL3oC,EAAQ+5B,IAAe,GAC1Bx9D,KAAK46D,QAAQ/G,GAKjB,MADA7zD,MAAKuF,MAAQ9C,EACNzC,MAGTw6D,EAAKj7D,UAAU+K,OAAS,SAAUk5D,GAChC,GAAI6I,GAAMrsE,KAAKuF,KAAOvF,KAAK09D,UAE3B19D,MAAK+8D,OAAOsP,GAAO,IAInBrsE,KAAK+8D,OAAOlW,KAAK,EAAGwlB,EAAM,GAEtBA,GAAOrsE,KAAKksE,aACdlsE,KAAK46D,QAAQ56D,KAAK+8D,QAClB/8D,KAAK+8D,OAAOlW,KAAK,GAGnB,IAAIylB,GAAmB,EAAZtsE,KAAKuF,IAGhB,IAAI+mE,GAAQ,WACVtsE,KAAK+8D,OAAO7O,cAAcoe,EAAMtsE,KAAK09D,WAAa,OAG7C,CACL,GAAI6O,GAAiB,WAAPD,EACVE,GAAYF,EAAOC,GAAW,UAElCvsE,MAAK+8D,OAAO7O,cAAcse,EAAUxsE,KAAK09D,WAAa,GACtD19D,KAAK+8D,OAAO7O,cAAcqe,EAASvsE,KAAK09D,WAAa,GAGvD19D,KAAK46D,QAAQ56D,KAAK+8D,OAClB,IAAIxyD,GAAOvK,KAAKixD,OAEhB,OAAOuS,GAAMj5D,EAAKE,SAAS+4D,GAAOj5D,GAGpCiwD,EAAKj7D,UAAUq7D,QAAU,WACvB,KAAM,IAAI9zD,OAAM,4CAGlBhI,EAAOD,QAAU27D,G1I24nBX,SAAU17D,EAAQD,EAASH,GAEhC,Y2I18nBD,SAAS+tE,KACPzsE,KAAKoqB,OACLpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,GAAI,IAetB,QAAS0sE,GAAOrqB,GACd,MAAQA,IAAO,EAAMA,IAAQ,GAG/B,QAASspB,GAAOtpB,GACd,MAAQA,IAAO,EAAMA,IAAQ,GAG/B,QAASupB,GAAQvpB,GACf,MAAQA,IAAO,GAAOA,IAAQ,EAGhC,QAASwpB,GAAIp1B,EAAG32C,EAAGX,EAAGmI,GACpB,MAAU,KAANmvC,EAAiB32C,EAAIX,GAAQW,EAAKwH,EAC5B,IAANmvC,EAAiB32C,EAAIX,EAAMW,EAAIwH,EAAMnI,EAAImI,EACtCxH,EAAIX,EAAImI,EA5CjB,GAAI+W,GAAW3f,EAAQ,KACnB87D,EAAO97D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAEhC2iC,GACF,WAAY,YAAY,YAAgB,WAGtCJ,EAAI,GAAIlmE,OAAM,GASlB6Y,GAASouD,EAAMjS,GAEfiS,EAAKltE,UAAU6qB,KAAO,WAOpB,MANApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,GAAK,UACVt+C,KAAKu+C,GAAK,WAEHv+C,MAqBTysE,EAAKltE,UAAUq7D,QAAU,SAAUmR,GASjC,IAAK,GARDL,GAAI1rE,KAAKyrE,GAET5rE,EAAc,EAAVG,KAAKs8D,GACTx8D,EAAc,EAAVE,KAAKu8D,GACTp9D,EAAc,EAAVa,KAAKw8D,GACTl1D,EAAc,EAAVtH,KAAKs+C,GACTj3C,EAAc,EAAVrH,KAAKu+C,GAEJl/C,EAAI,EAAGA,EAAI,KAAMA,EAAGqsE,EAAErsE,GAAK0sE,EAAEze,YAAgB,EAAJjuD,EAClD,MAAOA,EAAI,KAAMA,EAAGqsE,EAAErsE,GAAKqtE,EAAMhB,EAAErsE,EAAI,GAAKqsE,EAAErsE,EAAI,GAAKqsE,EAAErsE,EAAI,IAAMqsE,EAAErsE,EAAI,IAEzE,KAAK,GAAIgS,GAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,GAAIolC,MAAOplC,EAAI,IACX6rC,EAAKyuB,EAAM9rE,GAAKgsE,EAAGp1B,EAAG32C,EAAGX,EAAGmI,GAAKD,EAAIqkE,EAAEr6D,GAAKy6D,EAAEr1B,GAAM,CAExDpvC,GAAIC,EACJA,EAAInI,EACJA,EAAIysE,EAAO9rE,GACXA,EAAID,EACJA,EAAIq9C,EAGNl9C,KAAKs8D,GAAMz8D,EAAIG,KAAKs8D,GAAM,EAC1Bt8D,KAAKu8D,GAAMz8D,EAAIE,KAAKu8D,GAAM,EAC1Bv8D,KAAKw8D,GAAMr9D,EAAIa,KAAKw8D,GAAM,EAC1Bx8D,KAAKs+C,GAAMh3C,EAAItH,KAAKs+C,GAAM,EAC1Bt+C,KAAKu+C,GAAMl3C,EAAIrH,KAAKu+C,GAAM,GAG5BkuB,EAAKltE,UAAU0xD,MAAQ,WACrB,GAAI+a,GAAI7iC,EAAOsd,YAAY,GAQ3B,OANAulB,GAAEtd,aAAuB,EAAV1uD,KAAKs8D,GAAQ,GAC5B0P,EAAEtd,aAAuB,EAAV1uD,KAAKu8D,GAAQ,GAC5ByP,EAAEtd,aAAuB,EAAV1uD,KAAKw8D,GAAQ,GAC5BwP,EAAEtd,aAAuB,EAAV1uD,KAAKs+C,GAAQ,IAC5B0tB,EAAEtd,aAAuB,EAAV1uD,KAAKu+C,GAAQ,IAErBytB,GAGTltE,EAAOD,QAAU4tE,G3Ik+nBX,SAAU3tE,EAAQD,EAASH,GAEhC,Y4IvjoBD,SAASiuE,KACP3sE,KAAKoqB,OAELpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,GAAI,IAZtB,GAAIqe,GAAW3f,EAAQ,KACnBkuE,EAASluE,EAAQ,KACjB87D,EAAO97D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAEhCuiC,EAAI,GAAIlmE,OAAM,GAUlB6Y,GAASsuD,EAAQC,GAEjBD,EAAOptE,UAAU6qB,KAAO,WAUtB,MATApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,UACVv8D,KAAKw8D,GAAK,UACVx8D,KAAKs+C,GAAK,WACVt+C,KAAKu+C,GAAK,WACVv+C,KAAK6sE,GAAK,WACV7sE,KAAK8sE,GAAK,WACV9sE,KAAK+sE,GAAK,WAEH/sE,MAGT2sE,EAAOptE,UAAU0xD,MAAQ,WACvB,GAAI+a,GAAI7iC,EAAOsd,YAAY,GAU3B,OARAulB,GAAEtd,aAAa1uD,KAAKs8D,GAAI,GACxB0P,EAAEtd,aAAa1uD,KAAKu8D,GAAI,GACxByP,EAAEtd,aAAa1uD,KAAKw8D,GAAI,GACxBwP,EAAEtd,aAAa1uD,KAAKs+C,GAAI,IACxB0tB,EAAEtd,aAAa1uD,KAAKu+C,GAAI,IACxBytB,EAAEtd,aAAa1uD,KAAK6sE,GAAI,IACxBb,EAAEtd,aAAa1uD,KAAK8sE,GAAI,IAEjBd,GAGTltE,EAAOD,QAAU8tE,G5I4koBX,SAAU7tE,EAAQD,EAASH,GAEhC,Y6IjmoBD,SAASkuE,KACP5sE,KAAKoqB,OAELpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,GAAI,IAkBtB,QAASgtE,GAAIh2D,EAAGu/B,EAAG02B,GACjB,MAAOA,GAAKj2D,GAAKu/B,EAAI02B,GAGvB,QAASC,GAAKl2D,EAAGu/B,EAAG02B,GAClB,MAAQj2D,GAAIu/B,EAAM02B,GAAKj2D,EAAIu/B,GAG7B,QAAS42B,GAAQn2D,GACf,OAAQA,IAAM,EAAIA,GAAK,KAAOA,IAAM,GAAKA,GAAK,KAAOA,IAAM,GAAKA,GAAK,IAGvE,QAASo2D,GAAQp2D,GACf,OAAQA,IAAM,EAAIA,GAAK,KAAOA,IAAM,GAAKA,GAAK,KAAOA,IAAM,GAAKA,GAAK,GAGvE,QAASq2D,GAAQr2D,GACf,OAAQA,IAAM,EAAIA,GAAK,KAAOA,IAAM,GAAKA,GAAK,IAAOA,IAAM,EAG7D,QAASs2D,GAAQt2D,GACf,OAAQA,IAAM,GAAKA,GAAK,KAAOA,IAAM,GAAKA,GAAK,IAAOA,IAAM,GArE9D,GAAIqH,GAAW3f,EAAQ,KACnB87D,EAAO97D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAEhC2iC,GACF,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,YAGlCJ,EAAI,GAAIlmE,OAAM,GAUlB6Y,GAASuuD,EAAQpS,GAEjBoS,EAAOrtE,UAAU6qB,KAAO,WAUtB,MATApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,GAAK,WACVt+C,KAAKu+C,GAAK,WACVv+C,KAAK6sE,GAAK,WACV7sE,KAAK8sE,GAAK,UACV9sE,KAAK+sE,GAAK,WAEH/sE,MA2BT4sE,EAAOrtE,UAAUq7D,QAAU,SAAUmR,GAYnC,IAAK,GAXDL,GAAI1rE,KAAKyrE,GAET5rE,EAAc,EAAVG,KAAKs8D,GACTx8D,EAAc,EAAVE,KAAKu8D,GACTp9D,EAAc,EAAVa,KAAKw8D,GACTl1D,EAAc,EAAVtH,KAAKs+C,GACTj3C,EAAc,EAAVrH,KAAKu+C,GACToZ,EAAc,EAAV33D,KAAK6sE,GACTlgE,EAAc,EAAV3M,KAAK8sE,GACTt2B,EAAc,EAAVx2C,KAAK+sE,GAEJ1tE,EAAI,EAAGA,EAAI,KAAMA,EAAGqsE,EAAErsE,GAAK0sE,EAAEze,YAAgB,EAAJjuD,EAClD,MAAOA,EAAI,KAAMA,EAAGqsE,EAAErsE,GAAMiuE,EAAO5B,EAAErsE,EAAI,IAAMqsE,EAAErsE,EAAI,GAAKguE,EAAO3B,EAAErsE,EAAI,KAAOqsE,EAAErsE,EAAI,IAAO,CAE3F,KAAK,GAAIgS,GAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,GAAIk8D,GAAM/2B,EAAI42B,EAAO/lE,GAAK2lE,EAAG3lE,EAAGswD,EAAGhrD,GAAKm/D,EAAEz6D,GAAKq6D,EAAEr6D,GAAM,EACnDm8D,EAAML,EAAOttE,GAAKqtE,EAAIrtE,EAAGC,EAAGX,GAAM,CAEtCq3C,GAAI7pC,EACJA,EAAIgrD,EACJA,EAAItwD,EACJA,EAAKC,EAAIimE,EAAM,EACfjmE,EAAInI,EACJA,EAAIW,EACJA,EAAID,EACJA,EAAK0tE,EAAKC,EAAM,EAGlBxtE,KAAKs8D,GAAMz8D,EAAIG,KAAKs8D,GAAM,EAC1Bt8D,KAAKu8D,GAAMz8D,EAAIE,KAAKu8D,GAAM,EAC1Bv8D,KAAKw8D,GAAMr9D,EAAIa,KAAKw8D,GAAM,EAC1Bx8D,KAAKs+C,GAAMh3C,EAAItH,KAAKs+C,GAAM,EAC1Bt+C,KAAKu+C,GAAMl3C,EAAIrH,KAAKu+C,GAAM,EAC1Bv+C,KAAK6sE,GAAMlV,EAAI33D,KAAK6sE,GAAM,EAC1B7sE,KAAK8sE,GAAMngE,EAAI3M,KAAK8sE,GAAM,EAC1B9sE,KAAK+sE,GAAMv2B,EAAIx2C,KAAK+sE,GAAM,GAG5BH,EAAOrtE,UAAU0xD,MAAQ,WACvB,GAAI+a,GAAI7iC,EAAOsd,YAAY,GAW3B,OATAulB,GAAEtd,aAAa1uD,KAAKs8D,GAAI,GACxB0P,EAAEtd,aAAa1uD,KAAKu8D,GAAI,GACxByP,EAAEtd,aAAa1uD,KAAKw8D,GAAI,GACxBwP,EAAEtd,aAAa1uD,KAAKs+C,GAAI,IACxB0tB,EAAEtd,aAAa1uD,KAAKu+C,GAAI,IACxBytB,EAAEtd,aAAa1uD,KAAK6sE,GAAI,IACxBb,EAAEtd,aAAa1uD,KAAK8sE,GAAI,IACxBd,EAAEtd,aAAa1uD,KAAK+sE,GAAI,IAEjBf,GAGTltE,EAAOD,QAAU+tE,G7IwnoBX,SAAU9tE,EAAQD,EAASH,GAEhC,Y8IzvoBD,SAAS+uE,KACPztE,KAAKoqB,OACLpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,IAAK,KAXvB,GAAIqe,GAAW3f,EAAQ,KACnBgvE,EAAShvE,EAAQ,KACjB87D,EAAO97D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAEhCuiC,EAAI,GAAIlmE,OAAM,IASlB6Y,GAASovD,EAAQC,GAEjBD,EAAOluE,UAAU6qB,KAAO,WAmBtB,MAlBApqB,MAAK2tE,IAAM,WACX3tE,KAAK4tE,IAAM,WACX5tE,KAAK6tE,IAAM,WACX7tE,KAAK8tE,IAAM,UACX9tE,KAAK+tE,IAAM,WACX/tE,KAAKguE,IAAM,WACXhuE,KAAKiuE,IAAM,WACXjuE,KAAKkuE,IAAM,WAEXluE,KAAKmuE,IAAM,WACXnuE,KAAKouE,IAAM,UACXpuE,KAAKquE,IAAM,UACXruE,KAAKsuE,IAAM,WACXtuE,KAAKuuE,IAAM,WACXvuE,KAAKwuE,IAAM,WACXxuE,KAAKyuE,IAAM,WACXzuE,KAAK0uE,IAAM,WAEJ1uE,MAGTytE,EAAOluE,UAAU0xD,MAAQ,WAGvB,QAAS0d,GAAcn4B,EAAGz5B,EAAG2iC,GAC3BssB,EAAEtd,aAAalY,EAAGkJ,GAClBssB,EAAEtd,aAAa3xC,EAAG2iC,EAAS,GAJ7B,GAAIssB,GAAI7iC,EAAOsd,YAAY,GAc3B,OAPAkoB,GAAa3uE,KAAK2tE,IAAK3tE,KAAKmuE,IAAK,GACjCQ,EAAa3uE,KAAK4tE,IAAK5tE,KAAKouE,IAAK,GACjCO,EAAa3uE,KAAK6tE,IAAK7tE,KAAKquE,IAAK,IACjCM,EAAa3uE,KAAK8tE,IAAK9tE,KAAKsuE,IAAK,IACjCK,EAAa3uE,KAAK+tE,IAAK/tE,KAAKuuE,IAAK,IACjCI,EAAa3uE,KAAKguE,IAAKhuE,KAAKwuE,IAAK,IAE1BxC,GAGTltE,EAAOD,QAAU4uE,G9IswoBX,SAAU3uE,EAAQD,EAASH,GAEhC,Y+I/woBD,SAASkwE,KACP5uE,KAAKoqB,OACLpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,IAAK,KA2BvB,QAAS6uE,GAAI73D,EAAGu/B,EAAG02B,GACjB,MAAOA,GAAKj2D,GAAKu/B,EAAI02B,GAGvB,QAASC,GAAKl2D,EAAGu/B,EAAG02B,GAClB,MAAQj2D,GAAIu/B,EAAM02B,GAAKj2D,EAAIu/B,GAG7B,QAAS42B,GAAQn2D,EAAG83D,GAClB,OAAQ93D,IAAM,GAAK83D,GAAM,IAAMA,IAAO,EAAI93D,GAAK,KAAO83D,IAAO,EAAI93D,GAAK,IAGxE,QAASo2D,GAAQp2D,EAAG83D,GAClB,OAAQ93D,IAAM,GAAK83D,GAAM,KAAO93D,IAAM,GAAK83D,GAAM,KAAOA,IAAO,EAAI93D,GAAK,IAG1E,QAAS+3D,GAAQ/3D,EAAG83D,GAClB,OAAQ93D,IAAM,EAAI83D,GAAM,KAAO93D,IAAM,EAAI83D,GAAM,IAAO93D,IAAM,EAG9D,QAASg4D,GAASh4D,EAAG83D,GACnB,OAAQ93D,IAAM,EAAI83D,GAAM,KAAO93D,IAAM,EAAI83D,GAAM,KAAO93D,IAAM,EAAI83D,GAAM,IAGxE,QAASG,GAAQj4D,EAAG83D,GAClB,OAAQ93D,IAAM,GAAK83D,GAAM,KAAOA,IAAO,GAAK93D,GAAK,GAAMA,IAAM,EAG/D,QAASk4D,GAASl4D,EAAG83D,GACnB,OAAQ93D,IAAM,GAAK83D,GAAM,KAAOA,IAAO,GAAK93D,GAAK,IAAMA,IAAM,EAAI83D,GAAM,IAGzE,QAASK,GAAUtvE,EAAGC,GACpB,MAAQD,KAAM,EAAMC,IAAM,EAAK,EAAI,EAjHrC,GAAIue,GAAW3f,EAAQ,KACnB87D,EAAO97D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAEhC2iC,GACF,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,YAGlCJ,EAAI,GAAIlmE,OAAM,IASlB6Y,GAASuwD,EAAQpU,GAEjBoU,EAAOrvE,UAAU6qB,KAAO,WAmBtB,MAlBApqB,MAAK2tE,IAAM,WACX3tE,KAAK4tE,IAAM,WACX5tE,KAAK6tE,IAAM,WACX7tE,KAAK8tE,IAAM,WACX9tE,KAAK+tE,IAAM,WACX/tE,KAAKguE,IAAM,WACXhuE,KAAKiuE,IAAM,UACXjuE,KAAKkuE,IAAM,WAEXluE,KAAKmuE,IAAM,WACXnuE,KAAKouE,IAAM,WACXpuE,KAAKquE,IAAM,WACXruE,KAAKsuE,IAAM,WACXtuE,KAAKuuE,IAAM,WACXvuE,KAAKwuE,IAAM,UACXxuE,KAAKyuE,IAAM,WACXzuE,KAAK0uE,IAAM,UAEJ1uE,MAuCT4uE,EAAOrvE,UAAUq7D,QAAU,SAAUmR,GAqBnC,IAAK,GApBDL,GAAI1rE,KAAKyrE,GAET2D,EAAgB,EAAXpvE,KAAK2tE,IACV0B,EAAgB,EAAXrvE,KAAK4tE,IACVZ,EAAgB,EAAXhtE,KAAK6tE,IACVyB,EAAgB,EAAXtvE,KAAK8tE,IACVyB,EAAgB,EAAXvvE,KAAK+tE,IACVyB,EAAgB,EAAXxvE,KAAKguE,IACVyB,EAAgB,EAAXzvE,KAAKiuE,IACVyB,EAAgB,EAAX1vE,KAAKkuE,IAEVlR,EAAgB,EAAXh9D,KAAKmuE,IACVlR,EAAgB,EAAXj9D,KAAKouE,IACVlR,EAAgB,EAAXl9D,KAAKquE,IACVlR,EAAgB,EAAXn9D,KAAKsuE,IACVtoB,EAAgB,EAAXhmD,KAAKuuE,IACVoB,EAAgB,EAAX3vE,KAAKwuE,IACVoB,EAAgB,EAAX5vE,KAAKyuE,IACVoB,EAAgB,EAAX7vE,KAAK0uE,IAELrvE,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BqsE,EAAErsE,GAAK0sE,EAAEze,YAAgB,EAAJjuD,GACrBqsE,EAAErsE,EAAI,GAAK0sE,EAAEze,YAAgB,EAAJjuD,EAAQ,EAEnC,MAAOA,EAAI,IAAKA,GAAK,EAAG,CACtB,GAAIywE,GAAKpE,EAAErsE,EAAI,IACXyvE,EAAKpD,EAAErsE,EAAI,GAAS,GACpBguE,EAAS0B,EAAOe,EAAIhB,GACpBiB,EAAUf,EAAQF,EAAIgB,EAE1BA,GAAKpE,EAAErsE,EAAI,GACXyvE,EAAKpD,EAAErsE,EAAI,EAAQ,EACnB,IAAIiuE,GAAS2B,EAAOa,EAAIhB,GACpBkB,EAAUd,EAAQJ,EAAIgB,GAGtBG,EAAOvE,EAAErsE,EAAI,IACb6wE,EAAOxE,EAAErsE,EAAI,GAAQ,GAErB8wE,EAAQzE,EAAErsE,EAAI,IACd+wE,EAAQ1E,EAAErsE,EAAI,GAAS,GAEvBgxE,EAAON,EAAUG,EAAQ,EACzBI,EAAOjD,EAAS4C,EAAOd,EAASkB,EAAKN,GAAY,CACrDM,GAAOA,EAAML,EAAW,EACxBM,EAAOA,EAAMhD,EAAS6B,EAASkB,EAAKL,GAAY,EAChDK,EAAOA,EAAMD,EAAS,EACtBE,EAAOA,EAAMH,EAAQhB,EAASkB,EAAKD,GAAU,EAE7C1E,EAAErsE,GAAKixE,EACP5E,EAAErsE,EAAI,GAAKgxE,EAGb,IAAK,GAAIh/D,GAAI,EAAGA,EAAI,IAAKA,GAAK,EAAG,CAC/Bi/D,EAAM5E,EAAEr6D,GACRg/D,EAAM3E,EAAEr6D,EAAI,EAEZ,IAAIk/D,GAAOrD,EAAIkC,EAAIC,EAAIrC,GACnBwD,EAAOtD,EAAIlQ,EAAIC,EAAIC,GAEnBuT,EAAUtD,EAAOiC,EAAIpS,GACrB0T,EAAUvD,EAAOnQ,EAAIoS,GACrBuB,EAAUvD,EAAOmC,EAAIvpB,GACrB4qB,EAAUxD,EAAOpnB,EAAIupB,GAGrBsB,EAAM/E,EAAEz6D,GACRy/D,EAAMhF,EAAEz6D,EAAI,GAEZ0/D,EAAMlC,EAAGU,EAAIC,EAAIC,GACjBuB,EAAMnC,EAAG7oB,EAAI2pB,EAAIC,GAEjBqB,EAAOpB,EAAKe,EAAW,EACvBM,EAAOxB,EAAKiB,EAAUxB,EAAS8B,EAAKpB,GAAO,CAC/CoB,GAAOA,EAAMD,EAAO,EACpBE,EAAOA,EAAMH,EAAM5B,EAAS8B,EAAKD,GAAQ,EACzCC,EAAOA,EAAMH,EAAO,EACpBI,EAAOA,EAAML,EAAM1B,EAAS8B,EAAKH,GAAQ,EACzCG,EAAOA,EAAMZ,EAAO,EACpBa,EAAOA,EAAMZ,EAAMnB,EAAS8B,EAAKZ,GAAQ,CAGzC,IAAIc,IAAOT,EAAUF,EAAQ,EACzBY,GAAOX,EAAUF,EAAOpB,EAASgC,GAAKT,GAAY,CAEtDhB,GAAKD,EACLI,EAAKD,EACLH,EAAKD,EACLI,EAAKD,EACLH,EAAKD,EACLI,EAAK3pB,EACLA,EAAMmX,EAAK8T,EAAO,EAClB1B,EAAMD,EAAK4B,EAAM/B,EAASnpB,EAAImX,GAAO,EACrCmS,EAAKtC,EACL7P,EAAKD,EACL8P,EAAKqC,EACLnS,EAAKD,EACLoS,EAAKD,EACLnS,EAAKD,EACLA,EAAMiU,EAAME,GAAO,EACnB/B,EAAM8B,EAAME,GAAMjC,EAASnS,EAAIiU,GAAQ,EAGzCjxE,KAAKmuE,IAAOnuE,KAAKmuE,IAAMnR,EAAM,EAC7Bh9D,KAAKouE,IAAOpuE,KAAKouE,IAAMnR,EAAM,EAC7Bj9D,KAAKquE,IAAOruE,KAAKquE,IAAMnR,EAAM,EAC7Bl9D,KAAKsuE,IAAOtuE,KAAKsuE,IAAMnR,EAAM,EAC7Bn9D,KAAKuuE,IAAOvuE,KAAKuuE,IAAMvoB,EAAM,EAC7BhmD,KAAKwuE,IAAOxuE,KAAKwuE,IAAMmB,EAAM,EAC7B3vE,KAAKyuE,IAAOzuE,KAAKyuE,IAAMmB,EAAM,EAC7B5vE,KAAK0uE,IAAO1uE,KAAK0uE,IAAMmB,EAAM,EAE7B7vE,KAAK2tE,IAAO3tE,KAAK2tE,IAAMyB,EAAKD,EAASnvE,KAAKmuE,IAAKnR,GAAO,EACtDh9D,KAAK4tE,IAAO5tE,KAAK4tE,IAAMyB,EAAKF,EAASnvE,KAAKouE,IAAKnR,GAAO,EACtDj9D,KAAK6tE,IAAO7tE,KAAK6tE,IAAMb,EAAKmC,EAASnvE,KAAKquE,IAAKnR,GAAO,EACtDl9D,KAAK8tE,IAAO9tE,KAAK8tE,IAAMwB,EAAKH,EAASnvE,KAAKsuE,IAAKnR,GAAO,EACtDn9D,KAAK+tE,IAAO/tE,KAAK+tE,IAAMwB,EAAKJ,EAASnvE,KAAKuuE,IAAKvoB,GAAO,EACtDhmD,KAAKguE,IAAOhuE,KAAKguE,IAAMwB,EAAKL,EAASnvE,KAAKwuE,IAAKmB,GAAO,EACtD3vE,KAAKiuE,IAAOjuE,KAAKiuE,IAAMwB,EAAKN,EAASnvE,KAAKyuE,IAAKmB,GAAO,EACtD5vE,KAAKkuE,IAAOluE,KAAKkuE,IAAMwB,EAAKP,EAASnvE,KAAK0uE,IAAKmB,GAAO,GAGxDjB,EAAOrvE,UAAU0xD,MAAQ,WAGvB,QAAS0d,GAAcn4B,EAAGz5B,EAAG2iC,GAC3BssB,EAAEtd,aAAalY,EAAGkJ,GAClBssB,EAAEtd,aAAa3xC,EAAG2iC,EAAS,GAJ7B,GAAIssB,GAAI7iC,EAAOsd,YAAY,GAgB3B,OATAkoB,GAAa3uE,KAAK2tE,IAAK3tE,KAAKmuE,IAAK,GACjCQ,EAAa3uE,KAAK4tE,IAAK5tE,KAAKouE,IAAK,GACjCO,EAAa3uE,KAAK6tE,IAAK7tE,KAAKquE,IAAK,IACjCM,EAAa3uE,KAAK8tE,IAAK9tE,KAAKsuE,IAAK,IACjCK,EAAa3uE,KAAK+tE,IAAK/tE,KAAKuuE,IAAK,IACjCI,EAAa3uE,KAAKguE,IAAKhuE,KAAKwuE,IAAK,IACjCG,EAAa3uE,KAAKiuE,IAAKjuE,KAAKyuE,IAAK,IACjCE,EAAa3uE,KAAKkuE,IAAKluE,KAAK0uE,IAAK,IAE1B1C,GAGTltE,EAAOD,QAAU+vE,G/I6xoBX,SAAU9vE,EAAQD,EAASH,GAEhC,YgJ7hpBD,SAAS2yE,GAAYC,GACnB7T,EAAUx+D,KAAKe,MACfA,KAAKsxE,SAA+B,gBAAbA,GACnBtxE,KAAKsxE,SACPtxE,KAAKsxE,GAAYtxE,KAAKuxE,eAEtBvxE,KAAKunE,MAAQvnE,KAAKuxE,eAEhBvxE,KAAK66D,SACP76D,KAAKwxE,QAAUxxE,KAAK66D,OACpB76D,KAAK66D,OAAS,MAEhB76D,KAAKyxE,SAAW,KAChBzxE,KAAK0xE,UAAY,KAlBnB,GAAIvoC,GAASzqC,EAAQ,KAAeyqC,OAChCs0B,EAAY/+D,EAAQ,KAAU++D,UAC9BoD,EAAgBniE,EAAQ,KAAkBmiE,cAC1CxiD,EAAW3f,EAAQ,IAiBvB2f,GAASgzD,EAAY5T,GAErB4T,EAAW9xE,UAAUsJ,OAAS,SAAU5B,EAAM0qE,EAAUC,GAClC,gBAAT3qE,KACTA,EAAOkiC,EAAOvrB,KAAK3W,EAAM0qE,GAG3B,IAAIE,GAAU7xE,KAAK46D,QAAQ3zD,EAC3B,OAAIjH,MAAKsxE,SAAiBtxE,MAEtB4xE,IACFC,EAAU7xE,KAAK8xE,UAAUD,EAASD,IAG7BC,IAGTR,EAAW9xE,UAAUwyE,eAAiB,aACtCV,EAAW9xE,UAAUyyE,WAAa,WAChC,KAAM,IAAIlrE,OAAM,gDAGlBuqE,EAAW9xE,UAAU0yE,WAAa,WAChC,KAAM,IAAInrE,OAAM,gDAGlBuqE,EAAW9xE,UAAU2yE,OAAS,WAC5B,KAAM,IAAIprE,OAAM,2CAGlBuqE,EAAW9xE,UAAUq+D,WAAa,SAAU32D,EAAMuM,EAAGkM,GACnD,GAAI/X,EACJ,KACM3H,KAAKsxE,SACPtxE,KAAK46D,QAAQ3zD,GAEbjH,KAAKqM,KAAKrM,KAAK46D,QAAQ3zD,IAEzB,MAAOI,GACPM,EAAMN,EAPR,QASEqY,EAAK/X,KAGT0pE,EAAW9xE,UAAUu+D,OAAS,SAAUjsD,GACtC,GAAIlK,EACJ,KACE3H,KAAKqM,KAAKrM,KAAKwxE,WACf,MAAOnqE,GACPM,EAAMN,EAGRwK,EAAKlK,IAEP0pE,EAAW9xE,UAAUgyE,eAAiB,SAAUK,GAC9C,GAAIC,GAAU7xE,KAAKwxE,WAAaroC,EAAOyd,MAAM,EAI7C,OAHIgrB,KACFC,EAAU7xE,KAAK8xE,UAAUD,EAASD,GAAW,IAExCC,GAGTR,EAAW9xE,UAAUuyE,UAAY,SAAUlwE,EAAO4hE,EAAK2O,GAMrD,GALKnyE,KAAKyxE,WACRzxE,KAAKyxE,SAAW,GAAI5Q,GAAc2C,GAClCxjE,KAAK0xE,UAAYlO,GAGfxjE,KAAK0xE,YAAclO,EAAK,KAAM,IAAI18D,OAAM,yBAE5C,IAAIojD,GAAMlqD,KAAKyxE,SAAStvD,MAAMvgB,EAK9B,OAJIuwE,KACFjoB,GAAOlqD,KAAKyxE,SAASrsB,OAGhB8E,GAGTprD,EAAOD,QAAUwyE,GhJwipBX,SAAUvyE,EAAQD,EAASH,GiJ1opBjC,YAYA,SAAS0zE,GAAMtX,EAAKl4D,GAClB03D,EAAKr7D,KAAKe,KAAM,UACG,gBAAR4C,KACTA,EAAMumC,EAAOvrB,KAAKhb,GAGpB,IAAIyvE,GAAqB,WAARvX,GAA4B,WAARA,EAAoB,IAAM,EAI/D,IAFA96D,KAAKsyE,KAAOxX,EACZ96D,KAAKyF,KAAO7C,EACRA,EAAIH,OAAS4vE,EAAW,CAC1B,GAAI9nE,GAAe,WAARuwD,EAAmB,GAAIJ,GAAcC,EAAIG,EACpDl4D,GAAM2H,EAAK1B,OAAOjG,GAAK0H,aACd1H,GAAIH,OAAS4vE,IACtBzvE,EAAMumC,EAAOlpC,QAAQ2C,EAAK2vE,GAAQF,GAMpC,KAAK,GAHDG,GAAOxyE,KAAKyyE,MAAQtpC,EAAOsd,YAAY4rB,GACvCK,EAAO1yE,KAAK2yE,MAAQxpC,EAAOsd,YAAY4rB,GAElChzE,EAAI,EAAGA,EAAIgzE,EAAWhzE,IAC7BmzE,EAAKnzE,GAAc,GAATuD,EAAIvD,GACdqzE,EAAKrzE,GAAc,GAATuD,EAAIvD,EAEhBW,MAAKixD,MAAgB,WAAR6J,EAAmB,GAAIJ,GAAcC,EAAIG,GACtD96D,KAAKixD,MAAMpoD,OAAO2pE,GApCpB,GAAIn0D,GAAW3f,EAAQ,KACnBk0E,EAASl0E,EAAQ,KACjB47D,EAAO57D,EAAQ,KACfyqC,EAASzqC,EAAQ,KAAeyqC,OAChCsxB,EAAM/7D,EAAQ,KACdg8D,EAAYh8D,EAAQ,KAEpBi8D,EAAMj8D,EAAQ,KAEd6zE,EAAQppC,EAAOyd,MAAM,IA8BzBvoC,GAAS+zD,EAAM9X,GAEf8X,EAAK7yE,UAAUq7D,QAAU,SAAU3zD,GACjCjH,KAAKixD,MAAMpoD,OAAO5B,IAGpBmrE,EAAK7yE,UAAUs7D,OAAS,WACtB,GAAIrkB,GAAIx2C,KAAKixD,MAAM3mD,SACfC,EAAqB,WAAdvK,KAAKsyE,KAAoB,GAAI5X,GAAcC,EAAI36D,KAAKsyE,KAC/D,OAAO/nE,GAAK1B,OAAO7I,KAAK2yE,OAAO9pE,OAAO2tC,GAAGlsC,UAG3CxL,EAAOD,QAAU,SAAqBi8D,EAAKl4D,GAEzC,MADAk4D,GAAMA,EAAIn7C,cACE,WAARm7C,GAA4B,cAARA,EACf,GAAIsX,GAAK,SAAUxvE,GAEhB,QAARk4D,EACK,GAAI8X,GAAOnY,EAAK73D,GAElB,GAAIwvE,GAAKtX,EAAKl4D,KjJkppBjB,SAAU9D,EAAQD,EAASH,GkJ9spBjC,YASA,SAAS0zE,GAAMtX,EAAKl4D,GAClB03D,EAAKr7D,KAAKe,KAAM,UACG,gBAAR4C,KACTA,EAAMumC,EAAOvrB,KAAKhb,IAGpB5C,KAAKsyE,KAAOxX,EACZ96D,KAAKyF,KAAO7C,EAERA,EAAIH,OAAS4vE,EACfzvE,EAAMk4D,EAAIl4D,GACDA,EAAIH,OAAS4vE,IACtBzvE,EAAMumC,EAAOlpC,QAAQ2C,EAAK2vE,GAAQF,GAMpC,KAAK,GAHDG,GAAOxyE,KAAKyyE,MAAQtpC,EAAOsd,YAAY4rB,GACvCK,EAAO1yE,KAAK2yE,MAAQxpC,EAAOsd,YAAY4rB,GAElChzE,EAAI,EAAGA,EAAIgzE,EAAWhzE,IAC7BmzE,EAAKnzE,GAAc,GAATuD,EAAIvD,GACdqzE,EAAKrzE,GAAc,GAATuD,EAAIvD,EAGhBW,MAAKixD,OAASuhB,GA/BhB,GAAIn0D,GAAW3f,EAAQ,KACnByqC,EAASzqC,EAAQ,KAAeyqC,OAEhCmxB,EAAO57D,EAAQ,KAEf6zE,EAAQppC,EAAOyd,MAAM,KACrByrB,EAAY,EA4BhBh0D,GAAS+zD,EAAM9X,GAEf8X,EAAK7yE,UAAUq7D,QAAU,SAAU3zD,GACjCjH,KAAKixD,MAAM5kD,KAAKpF,IAGlBmrE,EAAK7yE,UAAUs7D,OAAS,WACtB,GAAIrkB,GAAIx2C,KAAKsyE,KAAKnpC,EAAOlpC,OAAOD,KAAKixD,OACrC,OAAOjxD,MAAKsyE,KAAKnpC,EAAOlpC,QAAQD,KAAK2yE,MAAOn8B,MAE9C13C,EAAOD,QAAUuzE,GlJqtpBX,SAAUtzE,EAAQD,EAASH,GAEhC,YmJpwpBD,IAAIm0E,GAAQn0E,EAAQ,KAChBo0E,EAAW,4DAEfh0E,GAAOD,QAAUg0E,EAAMC,InJ0wpBjB,SAAUh0E,EAAQD,EAASH,GAEhC,YoJvwpBD,IAAIyqC,GAASzqC,EAAQ,KAAeyqC,MAEpCrqC,GAAOD,QAAU,SAAei0E,GAa9B,QAAS9hB,GAAQ3qC,GACf,GAAsB,IAAlBA,EAAO5jB,OAAc,MAAO,EAGhC,KAAK,GADDswE,IAAU,GACL1zE,EAAI,EAAGA,EAAIgnB,EAAO5jB,SAAUpD,EAAG,CACtC,IAAK,GAAIgS,GAAI,EAAG0sD,EAAQ13C,EAAOhnB,GAAIgS,EAAI0hE,EAAOtwE,SAAU4O,EACtD0sD,GAASgV,EAAO1hE,IAAM,EACtB0hE,EAAO1hE,GAAK0sD,EAAQiV,EACpBjV,EAASA,EAAQiV,EAAQ,CAG3B,MAAOjV,EAAQ,GACbgV,EAAO1mE,KAAK0xD,EAAQiV,GACpBjV,EAASA,EAAQiV,EAAQ,EAO7B,IAAK,GAHDx2B,GAAS,GAGJzW,EAAI,EAAiB,IAAd1f,EAAO0f,IAAYA,EAAI1f,EAAO5jB,OAAS,IAAKsjC,EAAGyW,GAAUs2B,EAAS,EAElF,KAAK,GAAIpX,GAAIqX,EAAOtwE,OAAS,EAAGi5D,GAAK,IAAKA,EAAGlf,GAAUs2B,EAASC,EAAOrX,GAEvE,OAAOlf,GAGT,QAASy2B,GAAcz2B,GACrB,GAAsB,gBAAXA,GAAqB,KAAM,IAAIr7C,WAAU,kBACpD,IAAsB,IAAlBq7C,EAAO/5C,OAAc,MAAO0mC,GAAOsd,YAAY,EAGnD,KAAK,GADDvU,IAAS,GACJ7yC,EAAI,EAAGA,EAAIm9C,EAAO/5C,OAAQpD,IAAK,CACtC,GAAIuC,GAAQsxE,EAAa12B,EAAOn9C,GAChC,IAAc6E,SAAVtC,EAAqB,MAEzB,KAAK,GAAIyP,GAAI,EAAG0sD,EAAQn8D,EAAOyP,EAAI6gC,EAAMzvC,SAAU4O,EACjD0sD,GAAS7rB,EAAM7gC,GAAK2hE,EACpB9gC,EAAM7gC,GAAa,IAAR0sD,EACXA,IAAU,CAGZ,MAAOA,EAAQ,GACb7rB,EAAM7lC,KAAa,IAAR0xD,GACXA,IAAU,EAKd,IAAK,GAAIh4B,GAAI,EAAGyW,EAAOzW,KAAOotC,GAAUptC,EAAIyW,EAAO/5C,OAAS,IAAKsjC,EAC/DmM,EAAM7lC,KAAK,EAGb,OAAO88B,GAAOvrB,KAAKs0B,EAAMkhC,WAG3B,QAAS5hC,GAAQgL,GACf,GAAInM,GAAS4iC,EAAaz2B,EAC1B,IAAInM,EAAQ,MAAOA,EAEnB,MAAM,IAAIvpC,OAAM,WAAaksE,EAAO,cAnEtC,IAAK,GALDE,MACAF,EAAOF,EAASrwE,OAChB0wE,EAASL,EAASl0D,OAAO,GAGpBquD,EAAI,EAAGA,EAAI6F,EAASrwE,OAAQwqE,IAAK,CACxC,GAAIj2D,GAAI87D,EAASl0D,OAAOquD,EAExB,IAAwB/oE,SAApBgvE,EAAal8D,GAAkB,KAAM,IAAI7V,WAAU6V,EAAI,gBAC3Dk8D,GAAal8D,GAAKi2D,EAkEpB,OACEjc,OAAQA,EACRiiB,aAAcA,EACdzhC,OAAQA,KpJwxpBN,SAAU1yC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YAoC9C,SAASvoC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GqJj4pBjF,QAASwyE,GAAQC,EAAaj3B,EAAY3lC,GAAgC,GAAvB68D,GAAuBtvE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAfuvE,GAC9D,OAAOC,GAAMH,EAAaj3B,EAAYk3B,EAAO78D,GAa1C,QAASg9D,GAAQJ,EAAaj3B,EAAYk3B,EAAO78D,EAASq6C,GAC7D,MAAO0iB,GAAMH,EAAaj3B,EAAYk3B,EAAO78D,EAASq6C,GAAUr6C,QAOpE,QAAS+8D,GAAMH,EAAaj3B,EAAYk3B,EAAO78D,EAASq6C,GAEpD,GADAuiB,EAAcK,EAAaL,IACtBA,EACD,KAAM,IAAInyE,WAAU,0BAGxB,IADAk7C,EAAau3B,EAAYv3B,IACpBA,EACD,KAAM,IAAIl7C,WAAU,yBAGxB,IADAoyE,EAAQM,EAAUN,IACbA,EACD,KAAM,IAAIpyE,WAAU,oBAExB,KAAKgoC,EAAO7B,SAAS5wB,GAAU,CAC3B,GAAuB,gBAAZA,GACP,KAAM,IAAIvV,WAAU,qCACxBuV,GAAU,GAAIyyB,GAAOzyB,EAAS,UAElC,GAAIq6C,GAAgC,gBAAbA,GACnB,KAAM,IAAI5vD,WAAU,8BAExB,IAAM2yE,GAAIR,EAAYS,kBAAkB13B,GACpC23B,EAAO,GAAAC,GAAAlzE,QAAekzE,EAAAlzE,QAAW+6C,iBAAkBm4B,EAAAlzE,QAAWg7C,cAClEi4B,GAAKnyB,YAAY0xB,GACjBS,EAAKhlC,OAAO8kC,EAAErpE,SAAS,UAAW,UAClCupE,EAAO,GAAI7qC,GAAO6qC,EAAKv0B,KAAK,EAAGu0B,EAAKt0B,QAAQE,WAAY,SACxD,IAAMs0B,GAAiBC,EAAApzE,QAAKmwD,OAAO8iB,GAa7BI,EAAKF,EAAev0E,MAAM,GAAI,IAC9BiD,EAAMsxE,EAAev0E,MAAM,EAAG,IAGhCiO,EAAQumE,EAAApzE,QAAKyJ,OAAO0pE,EACxBtmE,GAAQA,EAAMjO,MAAM,EAAG,EACvB,IAAM00E,GAAOJ,EAAAlzE,QAAWuzE,WAAW1mE,EAAMnD,SAAS,UAAWwpE,EAAAlzE,QAAW+6C,iBAAkBm4B,EAAAlzE,QAAWg7C,cAGrG,IAFAnuC,EAAQymE,EAAKrzB,aAET+P,EAAU,CACV,GAAInjD,IAAUmjD,EACV,KAAM,IAAIjqD,OAAM,cACpB4P,GAAU69D,EAAgB79D,EAAS9T,EAAKwxE,OAExC19D,GAAU89D,EAAgB99D,EAAS9T,EAAKwxE,EAE5C,QAAQb,QAAO78D,UAASq6C,SAAUnjD,GAOtC,QAAS2mE,GAAgB79D,EAAS9T,EAAKwxE,IACnC,EAAAK,EAAA1zE,SAAO2V,EAAS,uBAChBA,EAAUg+D,EAAeh+D,EACzB,IAAMi+D,GAAWC,EAAA7zE,QAAO8zE,iBAAiB,cAAejyE,EAAKwxE,EAG7D,OADA19D,GAAUyyB,EAAOlpC,QAAQ00E,EAAS9rE,OAAO6N,GAAUi+D,EAASpN,UAQhE,QAASiN,GAAgB99D,EAAS9T,EAAKwxE,IACnC,EAAAK,EAAA1zE,SAAO2V,EAAS,sBAChBA,EAAUg+D,EAAeh+D,EACzB,IAAMo+D,GAASF,EAAA7zE,QAAOg0E,eAAe,cAAenyE,EAAKwxE,EAGzD,OADA19D,GAAUyyB,EAAOlpC,QAAQ60E,EAAOjsE,OAAO6N,GAAUo+D,EAAOvN,UAM5D,QAASiM,KACL,GAA4B,OAAzBwB,EAA+B,CAC9B,GAAMl1E,GAAIm1E,EAAAl0E,QAAam0E,iBAAiB,EACxCF,GAAuBpkD,SAAS9wB,EAAE,IAAM,EAAIA,EAAE,GAAI,IAEtD,GAAIk3C,GAAOm+B,EAAKC,WAAWv/B,KAAK4E,OAC1B46B,IAAYL,EAAuB,KAKzC,OAFAh+B,GAAOA,EAAKs+B,UAAU,IAAIC,GAAGJ,EAAKC,WAAWC,IAEtCr+B,EAAKvsC,WrJwupBfnL,OAAOqD,eAAe9D,EAAS,cAC3B+C,OAAO,IAEX/C,EqJl2pBew0E,UrJm2pBfx0E,EqJr1pBe60E,SApChB,IAAA8B,GAAA92E,EAAA,KrJ63pBKu2E,EAAiBr0E,EAAuB40E,GqJ53pB7CC,EAAA/2E,EAAA,KrJg4pBKu1E,EAAerzE,EAAuB60E,GqJ/3pB3CC,EAAAh3E,EAAA,KrJm4pBKk2E,EAAkBh0E,EAAuB80E,GqJl4pB9CC,EAAAj3E,EAAA,KrJs4pBK+1E,EAAW7zE,EAAuB+0E,GqJr4pBvCC,EAAAl3E,EAAA,KrJy4pBKm3E,EAAej1E,EAAuBg1E,GqJx4pB3CE,EAAAp3E,EAAA,KrJ44pBKq3E,EAAgBn1E,EAAuBk1E,GqJ34pB5C7kB,EAAAvyD,EAAA,KrJ+4pBKy1E,EAASvzE,EAAuBqwD,GqJ74pB/BkkB,EAAOlB,EAAAlzE,QAAWo0E,KAuIpBH,EAAuB,KAGrBrB,EAAe,SAAAnzD,GAAA,MAAMA,GAAIA,EAAElZ,EAAIkZ,EAAIu1D,EAAAh1E,QAAWi1E,QAAQx1D,GAAKA,GAC3DozD,EAAc,SAAApzD,GAAA,MAAMA,GAAIA,EAAE8kC,EAAI9kC,EAAIq1D,EAAA90E,QAAU8iD,WAAWrjC,GAAKA,GAC5DqzD,EAAY,SAAArzD,GAAA,MAAMA,GAAI20D,EAAKc,OAAOz1D,GAAKA,EAAI20D,EAAKtxB,WAAWrjC,GAAKA,GAChEk0D,EAAiB,SAAAl0D,GAAA,MAAMA,GAAI2oB,EAAO7B,SAAS9mB,GAAKA,EAAI,GAAI2oB,GAAO3oB,EAAG,UAAYA,KrJs5pBtDvhB,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,GAAIw3E,GAA8BC,GAA0D,SAASzoE,EAASy7B,GAAS,csJjjqBvH,SAASitC,GAgBV,QAASC,GAAaj5D,EAAOpZ,GAG3B,GAFAA,EAAUA,IAAY4H,KAAM,SAGR,mBAAX8B,IACkB,gBAAfA,GAAQ0qD,KACf1qD,EAAQmN,UACRnN,EAAQmN,SAASmF,KAEpB,MAAOs2D,GAAWl5D,EAAOpZ,EAEzB,IAAIuyE,GAAS51E,OAAO41E,QAAU51E,OAAO61E,QACrC,KAAKD,EAAQ,KAAM,IAAIzvE,OAAM,+CAC7B,OAAO2vE,GAAcr5D,EAAOpZ,GAIhC,QAASsyE,GAAWl5D,EAAOpZ,GACzB,GAAIuyE,GAAS73E,EAAQ,KACjB0L,EAAMmsE,EAAOG,YAAYt5D,EAE7B,QAAQpZ,EAAQ4H,MACd,IAAK,QACH,SAAUjM,MAAMV,KAAKmL,EACvB,KAAK,SACH,MAAOA,EACT,KAAK,aAEH,IAAK,GADD+zC,GAAM,GAAInO,YAAW5yB,GAChB/d,EAAI,EAAGA,EAAI+d,IAAS/d,EAAK8+C,EAAI9+C,GAAK+K,EAAIwiD,UAAUvtD,EACzD,OAAO8+C,EACT,SACE,KAAM,IAAIr3C,OAAM9C,EAAQ4H,KAAO,qBAIrC,QAAS6qE,GAAcr5D,EAAOpZ,GAC5B,GAAI2yE,GAAY,GAAI3mC,YAAW5yB,GAC3Bm5D,EAAS51E,OAAO41E,QAAU51E,OAAO61E,QAGrC,QAFAD,EAAOK,gBAAgBD,GAEf3yE,EAAQ4H,MACd,IAAK,QACH,SAAUjM,MAAMV,KAAK03E,EACvB,KAAK,SACH,IAAc,GAAIxtC,GAAO,GAAK,MAAM9hC,GAAK,KAAM,IAAIP,OAAM,4FACzD,MAAO,IAAIqiC,GAAOwtC,EACpB,KAAK,aACH,MAAOA,EACT,SACE,KAAM,IAAI7vE,OAAM9C,EAAQ4H,KAAO,qBA5DnCsqE,KAAAC,EAAW,WACT,MAAOE,IADTt2E,MAAAlB,EAAAq3E,KAAAhyE,SAAAiyE,IAAAr3E,EAAAD,QAAAs3E,IAgEFE,EAAaQ,YAAc,SAASC,GAClC,MAAOT,GAAaS,GAAYlrE,KAAM,WAGxCyqE,EAAanB,iBAAmB,SAAS4B,GACvC,MAAOT,GAAaS,GAAYlrE,KAAM,gBAGxCyqE,EAAaU,aAAe,SAASD,GACnC,MAAOT,GAAaS,GAAYlrE,KAAM,aA9EvC1H,UtJyoqB6BjF,KAAKJ,EAASH,EAAoB,GAAIA,EAAoB,IAAIyqC,SAI5F,GAEM,SAAUrqC,EAAQD,EAASH,GAEhC,GAAIs4E,GAAgCd,EAA8BC,GAA0D,SAASr3E,GAAS,YAE9I,IAAIoD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,KuJ7nqBvQ,SAAUX,EAAQ+2E,GAEgCv4E,EAAA,UAC1Cw3E,GAAQx3E,EAAA,MAARs4E,EAAA,EAAAb,EAAA,kBAAAa,KAAAj3E,MAAAlB,EAAAq3E,GAAAc,IAAA9yE,SAAAiyE,IAAAr3E,EAAAD,QAAAs3E,KACuE,WAAlBj0E,EAAOpD,IAAuBA,GAAUA,EAAA,QAC7FA,EAAA,QAAqB,WACjB,GAAIq2E,EAAM,KAAMA,EAAOz2E,EAAQ,KAAW,MAAO2I,IACjD,MAAO4vE,GAAQ9B,OAGlBj1E,EAAA,QAAoBA,EAAA,aAArB,WAA8D+2E,EAAQ/2E,EAAA,eAV9EgE,OAYS,SAASixE,GAyLd,QAAS+B,GAAazgC,GAClB,GAAIp3C,GAAE,CAAG,OAAO,YACZ,MAAOA,GAAIo3C,EAAEh0C,OAASg0C,EAAEjB,WAAWn2C,KAAO,MAUlD,QAAS83E,KACL,GAAIC,MAASC,IAAS,OAAO,YACzB,MAAyB,KAArBpzE,UAAUxB,OACH40E,EAAGhuD,KAAK,IAAIiuD,EAAmBv3E,MAAM6vB,OAAQwnD,IACpDA,EAAG30E,OAASwB,UAAUxB,OAAS,OAC/B40E,EAAGhrE,KAAKirE,EAAmBv3E,MAAM6vB,OAAQwnD,IACrCA,EAAG30E,OAAS,OACpB+C,OAAMjG,UAAU8M,KAAKtM,MAAMq3E,EAAInzE,aAmjCvC,QAASszE,GAAalnC,EAAQqP,EAAQoQ,EAAMC,EAAMC,GAC9C,GAAI3oD,GAAGnI,EACH+wD,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAQ,EACR/wD,EAAIywD,EAAQE,EAAS,EAAK,EAC1B1oD,EAAIwoD,GAAO,EAAK,EAChBrZ,EAAIpG,EAAOqP,EAASrgD,EAOxB,KALAA,GAAKiI,EAELD,EAAIovC,GAAM,IAAO2Z,GAAU,EAC3B3Z,KAAQ2Z,EACRA,GAASH,EACFG,EAAQ,EAAG/oD,EAAQ,IAAJA,EAAUgpC,EAAOqP,EAASrgD,GAAIA,GAAKiI,EAAG8oD,GAAS,GAKrE,IAHAlxD,EAAImI,GAAM,IAAO+oD,GAAU,EAC3B/oD,KAAQ+oD,EACRA,GAASL,EACFK,EAAQ,EAAGlxD,EAAQ,IAAJA,EAAUmxC,EAAOqP,EAASrgD,GAAIA,GAAKiI,EAAG8oD,GAAS,GAErE,GAAU,IAAN/oD,EACAA,EAAI,EAAI8oD,MACL,IAAI9oD,IAAM6oD,EACb,MAAOhxD,GAAImxD,KAAQ5Z,GAAI,EAAK,IAAKgB,IAEjCv4C,IAAQiI,KAAK0wC,IAAI,EAAGkY,GACpB1oD,GAAQ8oD,EAEZ,OAAQ1Z,GAAI,EAAK,GAAKv3C,EAAIiI,KAAK0wC,IAAI,EAAGxwC,EAAI0oD,GAa9C,QAASynB,GAAcnnC,EAAQzuC,EAAO89C,EAAQoQ,EAAMC,EAAMC,GACtD,GAAI3oD,GAAGnI,EAAGC,EACN8wD,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBI,EAAe,KAATP,EAAc5oD,KAAK0wC,IAAI,GAAG,IAAO1wC,KAAK0wC,IAAI,GAAG,IAAO,EAC1Dx4C,EAAIywD,EAAO,EAAKE,EAAS,EACzB1oD,EAAIwoD,EAAO,GAAI,EACfrZ,EAAI70C,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,CAmC1D,KAjCAA,EAAQuF,KAAKsuC,IAAI7zC,GAEb8J,MAAM9J,IAAUA,IAAU61C,KAC1Bv4C,EAAIwM,MAAM9J,GAAS,EAAI,EACvByF,EAAI6oD,IAEJ7oD,EAAIF,KAAK2vC,MAAM3vC,KAAKN,IAAIjF,GAASuF,KAAKopD,KAClC3uD,GAASzC,EAAIgI,KAAK0wC,IAAI,GAAIxwC,IAAM,IAChCA,IACAlI,GAAK,GAGLyC,GADAyF,EAAI8oD,GAAS,EACJG,EAAKnxD,EAELmxD,EAAKnpD,KAAK0wC,IAAI,EAAG,EAAIsY,GAE9BvuD,EAAQzC,GAAK,IACbkI,IACAlI,GAAK,GAGLkI,EAAI8oD,GAASD,GACbhxD,EAAI,EACJmI,EAAI6oD,GACG7oD,EAAI8oD,GAAS,GACpBjxD,GAAK0C,EAAQzC,EAAI,GAAKgI,KAAK0wC,IAAI,EAAGkY,GAClC1oD,GAAQ8oD,IAERjxD,EAAI0C,EAAQuF,KAAK0wC,IAAI,EAAGsY,EAAQ,GAAKhpD,KAAK0wC,IAAI,EAAGkY,GACjD1oD,EAAI,IAIL0oD,GAAQ,EAAG1f,EAAOqP,EAASrgD,GAAS,IAAJH,EAAUG,GAAKiI,EAAGpI,GAAK,IAAK6wD,GAAQ,GAI3E,IAFA1oD,EAAKA,GAAK0oD,EAAQ7wD,EAClB+wD,GAAQF,EACDE,EAAO,EAAG5f,EAAOqP,EAASrgD,GAAS,IAAJgI,EAAUhI,GAAKiI,EAAGD,GAAK,IAAK4oD,GAAQ,GAE1E5f,EAAOqP,EAASrgD,EAAIiI,IAAU,IAAJmvC,EA50C9B,GAAIoF,GAAa,QAAbA,GAAsBh0B,EAAU2iC,EAAcI,GAO9C,GANwB,mBAAb/iC,KACPA,EAAWg0B,EAAWC,kBACE,mBAAjB0O,KACPA,EAAe3O,EAAW47B,gBACN,mBAAb7sB,KACPA,EAAW/O,EAAW67B,mBACrB9sB,EAAU,CAEX,GADA/iC,GAAsB,EAClBA,EAAW,EACX,KAAM7X,YAAW,mBACrBw6C,KAAiBA,EACjBI,IAAaA,EAQjB5qD,KAAKqwC,OAAsB,IAAbxoB,EAAiB8vD,EAAe,GAAItmC,aAAYxpB,GAO9D7nB,KAAK+vC,KAAoB,IAAbloB,EAAiB,KAAO,GAAImoB,YAAWhwC,KAAKqwC,QASxDrwC,KAAK0/C,OAAS,EASd1/C,KAAK43E,cAAe,EASpB53E,KAAKs5B,MAAQzR,EAOb7nB,KAAKwqD,aAAeA,EAOpBxqD,KAAK4qD,SAAWA,EASpB/O,GAAWg8B,QAAU,QAQrBh8B,EAAWE,eAAgB,EAQ3BF,EAAWi8B,YAAa,EAOxBj8B,EAAWC,iBAAmB,GAO9BD,EAAW47B,eAAiB57B,EAAWi8B,WAOvCj8B,EAAW67B,kBAAmB,EAU9B77B,EAAWs5B,KAAOA,GAAQ,IAM1B,IAAI4C,GAAsBl8B,EAAWt8C,SASrCw4E,GAAoBC,iBAEpB14E,OAAOqD,eAAeo1E,EAAqB,oBACvCn2E,OAAO,EACPC,YAAY,EACZE,cAAc,GASlB,IAAI41E,GAAe,GAAItmC,aAAY,GAO/BimC,EAAqB1nD,OAAOsgB,YAsChC2L,GAAWo8B,SAAW,WAClB,MAAOjoC,aAYX6L,EAAWq8B,SAAW,SAASrwD,EAAU2iC,EAAcI,GACnD,MAAO,IAAI/O,GAAWh0B,EAAU2iC,EAAcI,IAelD/O,EAAW57C,OAAS,SAASs6D,EAASzT,EAAU0D,EAAcI,GAClC,iBAAb9D,IAA8C,gBAAbA,KACxC8D,EAAWJ,EACXA,EAAe1D,EACfA,EAAW5iD,OAGf,KAAK,GAA2BzB,GAD5BolB,EAAW,EACNxoB,EAAE,EAAG0mC,EAAEw0B,EAAQ93D,OAAgBpD,EAAE0mC,IAAK1mC,EACtCw8C,EAAWs8B,aAAa5d,EAAQl7D,MACjCk7D,EAAQl7D,GAAKw8C,EAAW/D,KAAKyiB,EAAQl7D,GAAIynD,IAC7CrkD,EAAS83D,EAAQl7D,GAAGi6B,MAAQihC,EAAQl7D,GAAGqgD,OACnCj9C,EAAS,IAAGolB,GAAYplB,EAEhC,IAAiB,IAAbolB,EACA,MAAO,IAAIg0B,GAAW,EAAG2O,EAAcI,EAC3C,IACIwtB,GADAC,EAAK,GAAIx8B,GAAWh0B,EAAU2iC,EAAcI,EAE3C,KAALvrD,EAAE,EAAUA,EAAE0mC,GACVqyC,EAAK7d,EAAQl7D,KACboD,EAAS21E,EAAG9+C,MAAQ8+C,EAAG14B,OACnBj9C,GAAU,IACd41E,EAAGtoC,KAAK3nC,IAAIgwE,EAAGroC,KAAKoW,SAASiyB,EAAG14B,OAAQ04B,EAAG9+C,OAAQ++C,EAAG34B,QACtD24B,EAAG34B,QAAUj9C,EAIjB,OAFA41E,GAAG/+C,MAAQ++C,EAAG34B,OACd24B,EAAG34B,OAAS,EACL24B,GASXx8B,EAAWs8B,aAAe,SAASE,GAC/B,OAAQA,GAAMA,EAAA,qBAA4B,GAO9Cx8B,EAAWjwC,KAAO,WACd,MAAOylC,cAeXwK,EAAW/D,KAAO,SAASzH,EAAQyW,EAAU0D,EAAcI,GAMvD,GALwB,gBAAb9D,KACP8D,EAAWJ,EACXA,EAAe1D,EACfA,EAAW5iD,QAEO,gBAAXmsC,GAGP,OAFwB,mBAAbyW,KACPA,EAAW,QACPA,GACJ,IAAK,SACD,MAAOjL,GAAWy8B,WAAWjoC,EAAQma,EACzC,KAAK,MACD,MAAO3O,GAAW08B,QAAQloC,EAAQma,EACtC,KAAK,SACD,MAAO3O,GAAWy4B,WAAWjkC,EAAQma,EACzC,KAAK,OACD,MAAO3O,GAAW28B,SAASnoC,EAAQma,EACvC,KAAK,QACD,MAAO3O,GAAW48B,UAAUpoC,EAAQma,EACxC,SACI,KAAM1jD,OAAM,yBAAyBggD,GAGjD,GAAe,OAAXzW,GAAqC,YAAlB,mBAAOA,GAAP,YAAAnuC,EAAOmuC,IAC1B,KAAMlvC,WAAU,iBACpB,IAAIk3E,EACJ,IAAIx8B,EAAWs8B,aAAa9nC,GAGxB,MAFAgoC,GAAKN,EAAoBjlC,MAAM7zC,KAAKoxC,GACpCgoC,EAAGT,cAAe,EACXS,CAEX,IAAIhoC,YAAkBL,YAClBqoC,EAAK,GAAIx8B,GAAW,EAAG2O,EAAcI,GACjCva,EAAO5tC,OAAS,IAChB41E,EAAGhoC,OAASA,EAAOA,OACnBgoC,EAAG34B,OAASrP,EAAO8W,WACnBkxB,EAAG/+C,MAAQ+W,EAAO8W,WAAa9W,EAAOD,WACtCioC,EAAGtoC,KAAO,GAAIC,YAAWK,EAAOA,aAEjC,IAAIA,YAAkBgB,aACzBgnC,EAAK,GAAIx8B,GAAW,EAAG2O,EAAcI;AACjCva,EAAOD,WAAa,IACpBioC,EAAGhoC,OAASA,EACZgoC,EAAG34B,OAAS,EACZ24B,EAAG/+C,MAAQ+W,EAAOD,WAClBioC,EAAGtoC,KAAOM,EAAOD,WAAa,EAAI,GAAIJ,YAAWK,GAAU,UAE5D,IAA+C,mBAA3C/wC,OAAOC,UAAUkL,SAASxL,KAAKoxC,GAMtC,KAAMlvC,WAAU,iBALhBk3E,GAAK,GAAIx8B,GAAWxL,EAAO5tC,OAAQ+nD,EAAcI,GACjDytB,EAAG/+C,MAAQ+W,EAAO5tC,MAClB,KAAK,GAAIpD,GAAE,EAAGA,EAAEgxC,EAAO5tC,SAAUpD,EAC7Bg5E,EAAGtoC,KAAK1wC,GAAKgxC,EAAOhxC,GAG5B,MAAOg5E,IAUXN,EAAoBW,YAAc,SAAS92E,EAAO89C,GAChD,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAClB,KAAMhpD,YAAiB4D,QACrB,KAAMrE,WAAU,+BAClB,IAAsB,gBAAXu+C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAGlF,GAIIrK,GAJA/+B,EAAQ04C,EACR4sB,EAAO1qE,EAAMa,OACbyvC,EAASo6B,GAAQ,EACjBsM,EAAM,CAKV,KAFAl5B,GAAU1/C,KAAKqhD,cAAcirB,EAAK5sB,GAE5BxN,KACJnM,EAAsB,IAAfnkC,EAAMg3E,MACU,IAAfh3E,EAAMg3E,OAAe,GACN,IAAfh3E,EAAMg3E,OAAe,GACN,IAAfh3E,EAAMg3E,OAAe,GACN,IAAfh3E,EAAMg3E,OAAe,GACN,IAAfh3E,EAAMg3E,OAAe,GACN,IAAfh3E,EAAMg3E,OAAe,GACN,IAAfh3E,EAAMg3E,OAAe,EAC7B54E,KAAK64E,UAAU9yC,EAAE2Z,IAGnB,IAAGk5B,EAAMtM,EAAM,CACb,GAAIptE,GAAI,CACR,KADW6mC,EAAI,EACT6yC,EAAMtM,GAAMvmC,IAA2B,IAAfnkC,EAAMg3E,OAAgB15E,GACpDc,MAAK64E,UAAU9yC,EAAE2Z,KAGnB,MAAIi5B,IACF34E,KAAK0/C,OAASA,EACP1/C,MAEF0/C,EAAS14C,GASlB+wE,EAAoBe,WAAa,SAASp5B,GACxC,GAAIi5B,GAA6B,mBAAXj5B,EAClBi5B,KAAUj5B,EAAS1/C,KAAK0/C,OAE5B,IAKI3Z,GALA74B,EAAMlN,KAAKohD,aAAa1B,GACxB4sB,EAAOp/D,EAAItL,MACXswC,EAASo6B,GAAQ,EACjBsM,EAAM,EACNh3E,IAKJ,KAFA89C,GAAUxyC,EAAIzK,OAERyvC,KACJnM,EAAI/lC,KAAK+4E,SAASr5B,KAClB99C,EAAMg3E,QAAgB,EAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,EAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,EAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,EAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,GAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,GAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,GAAJ7yC,GAClBnkC,EAAMg3E,QAAgB,IAAJ7yC,EAGpB,IAAG6yC,EAAMtM,EAAM,CACb,GAAIptE,GAAI,CAER,KADA6mC,EAAI/lC,KAAK+4E,SAASr5B,KACZk5B,EAAMtM,GAAM1qE,EAAMg3E,QAAa7yC,GAAM7mC,IAAQ,GAMrD,MAHIy5E,KACF34E,KAAK0/C,OAASA,GAET99C,GASTm2E,EAAoBiB,UAAY,SAASv2E,EAAQi9C,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAASj9C,EAASzC,KAAKqwC,OAAOD,WAC5C,KAAMpgC,YAAW,wBAAwB0vC,EAAO,MAAMj9C,EAAO,QAAQzC,KAAKqwC,OAAOD,YAEzF,GAAIzwC,GAAQK,KAAKL,MAAM+/C,EAAQA,EAASj9C,EAExC,OADIk2E,KAAU34E,KAAK0/C,QAAUj9C,GACtB9C,GAcXo4E,EAAoBkB,WAAalB,EAAoB/oC,OAWrD+oC,EAAoBzpB,UAAY,SAAS1sD,EAAO89C,GAC5C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,GAAS,EACa,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAIw5B,GAAYl5E,KAAKqwC,OAAOD,UAM5B,OALIsP,GAASw5B,GACTl5E,KAAKm5E,QAAQD,GAAa,GAAKx5B,EAASw5B,EAAYx5B,GACxDA,GAAU,EACV1/C,KAAK+vC,KAAK2P,GAAU99C,EAChB+2E,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAWX+3E,EAAoBc,UAAYd,EAAoBzpB,UAQpDypB,EAAoB7qB,SAAW,SAASxN,GACpC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ5B,KAAK+vC,KAAK2P,EAGtB,OAFuB,QAAV,IAAR99C,KAAwBA,IAAU,IAAOA,EAAQ,IAClD+2E,IAAU34E,KAAK0/C,QAAU,GACtB99C,GAUXm2E,EAAoBgB,SAAWhB,EAAoB7qB,SASnD6qB,EAAoBx3B,WAAa,SAAS3+C,EAAO89C,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,KAAW,EACW,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAI05B,GAAYp5E,KAAKqwC,OAAOD,UAM5B,OALIsP,GAAS05B,GACTp5E,KAAKm5E,QAAQC,GAAa,GAAK15B,EAAS05B,EAAY15B,GACxDA,GAAU,EACV1/C,KAAK+vC,KAAK2P,GAAU99C,EAChB+2E,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAWX+3E,EAAoBjqB,WAAaiqB,EAAoBx3B,WAQrDw3B,EAAoB14B,UAAY,SAASK,GACrC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ5B,KAAK+vC,KAAK2P,EAEtB,OADIi5B,KAAU34E,KAAK0/C,QAAU,GACtB99C,GAUXm2E,EAAoBnrB,UAAYmrB,EAAoB14B,UAYpD04B,EAAoBv2B,WAAa,SAAS5/C,EAAO89C,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,GAAS,EACa,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAI25B,GAAYr5E,KAAKqwC,OAAOD,UAY5B,OAXIsP,GAAS25B,GACTr5E,KAAKm5E,QAAQE,GAAa,GAAK35B,EAAS25B,EAAY35B,GACxDA,GAAU,EACN1/C,KAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,IAAc,MAAR99C,KAAoB,EAC3C5B,KAAK+vC,KAAK2P,GAAqB,IAAR99C,IAEvB5B,KAAK+vC,KAAK2P,IAAqB,MAAR99C,KAAoB,EAC3C5B,KAAK+vC,KAAK2P,EAAO,GAAc,IAAR99C,GAEvB+2E,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAYX+3E,EAAoBuB,WAAavB,EAAoBv2B,WAUrDu2B,EAAoBx2B,UAAY,SAAS7B,GACrC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ,CAUZ,OATI5B,MAAKwqD,cACL5oD,EAAS5B,KAAK+vC,KAAK2P,GACnB99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,IAEhC99C,EAAS5B,KAAK+vC,KAAK2P,IAAa,EAChC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAEL,SAAZ,MAAR99C,KAA4BA,IAAU,MAASA,EAAQ,IACxD+2E,IAAU34E,KAAK0/C,QAAU,GACtB99C,GAYXm2E,EAAoBwB,UAAYxB,EAAoBx2B,UAUpDw2B,EAAoBh3B,YAAc,SAASn/C,EAAO89C,GAC9C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,KAAW,EACW,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAI85B,GAAYx5E,KAAKqwC,OAAOD,UAY5B,OAXIsP,GAAS85B,GACTx5E,KAAKm5E,QAAQK,GAAa,GAAK95B,EAAS85B,EAAY95B,GACxDA,GAAU,EACN1/C,KAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,IAAc,MAAR99C,KAAoB,EAC3C5B,KAAK+vC,KAAK2P,GAAqB,IAAR99C,IAEvB5B,KAAK+vC,KAAK2P,IAAqB,MAAR99C,KAAoB,EAC3C5B,KAAK+vC,KAAK2P,EAAO,GAAc,IAAR99C,GAEvB+2E,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAYX+3E,EAAoB0B,YAAc1B,EAAoBh3B,YAUtDg3B,EAAoBj3B,WAAa,SAASpB,GACtC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ,CASZ,OARI5B,MAAKwqD,cACL5oD,EAAS5B,KAAK+vC,KAAK2P,GACnB99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,IAEhC99C,EAAS5B,KAAK+vC,KAAK2P,IAAa,EAChC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAE1Bi5B,IAAU34E,KAAK0/C,QAAU,GACtB99C,GAYXm2E,EAAoB2B,WAAa3B,EAAoBj3B,WAUrDi3B,EAAoB4B,WAAa,SAAS/3E,EAAO89C,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,GAAS,EACa,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAIk6B,GAAY55E,KAAKqwC,OAAOD,UAgB5B,OAfIsP,GAASk6B,GACT55E,KAAKm5E,QAAQS,GAAa,GAAKl6B,EAASk6B,EAAYl6B,GACxDA,GAAU,EACN1/C,KAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAW,EAAK,IACvC5B,KAAK+vC,KAAK2P,GAA6B,IAAhB99C,IAEvB5B,KAAK+vC,KAAK2P,GAAa99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAW,EAAK,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAsB,IAAhB99C,GAEvB+2E,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MASX+3E,EAAoB8B,SAAW9B,EAAoB4B,WAQnD5B,EAAoBl4B,UAAY,SAASH,GACrC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ,CAcZ,OAbI5B,MAAKwqD,cACL5oD,EAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,GAChC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAO,EACjC99C,GAAS5B,KAAK+vC,KAAK2P,GACnB99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,KAAO,IAEvC99C,EAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,GAChC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAO,EACjC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,GAC1B99C,GAAS5B,KAAK+vC,KAAK2P,IAAa,KAAO,GAE3C99C,GAAS,EACL+2E,IAAU34E,KAAK0/C,QAAU,GACtB99C,GASXm2E,EAAoB+B,QAAU/B,EAAoBl4B,UAQlDk4B,EAAoBz3B,YAAc,SAAS1+C,EAAO89C,GAC9C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,KAAW,EACW,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAIq6B,GAAY/5E,KAAKqwC,OAAOD,UAgB5B,OAfIsP,GAASq6B,GACT/5E,KAAKm5E,QAAQY,GAAa,GAAKr6B,EAASq6B,EAAYr6B,GACxDA,GAAU,EACN1/C,KAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAW,EAAK,IACvC5B,KAAK+vC,KAAK2P,GAA6B,IAAhB99C,IAEvB5B,KAAK+vC,KAAK2P,GAAa99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAU,GAAM,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAM99C,IAAW,EAAK,IACvC5B,KAAK+vC,KAAK2P,EAAO,GAAsB,IAAhB99C,GAEvB+2E,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAUX+3E,EAAoBiC,YAAcjC,EAAoBz3B,YAQtDy3B,EAAoB/2B,WAAa,SAAStB,GACtC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ,CAaZ,OAZI5B,MAAKwqD,cACL5oD,EAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,GAChC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAO,EACjC99C,GAAS5B,KAAK+vC,KAAK2P,GACnB99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,KAAO,IAEvC99C,EAAS5B,KAAK+vC,KAAK2P,EAAO,IAAM,GAChC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,IAAO,EACjC99C,GAAS5B,KAAK+vC,KAAK2P,EAAO,GAC1B99C,GAAS5B,KAAK+vC,KAAK2P,IAAa,KAAO,GAEvCi5B,IAAU34E,KAAK0/C,QAAU,GACtB99C,GAUXm2E,EAAoBkC,WAAalC,EAAoB/2B,WAIjDm0B,IASA4C,EAAoB73B,WAAa,SAASt+C,EAAO89C,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,GACPA,EAAQuzE,EAAKC,WAAWxzE,OACvB,IAAqB,gBAAVA,GACZA,EAAQuzE,EAAKtxB,WAAWjiD,OACvB,MAAMA,GAASA,YAAiBuzE,IACjC,KAAMh0E,WAAU,kBAAkBS,EAAM,4BAC5C,IAAsB,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAE/D,gBAAVxuC,GACPA,EAAQuzE,EAAKC,WAAWxzE,GACF,gBAAVA,KACZA,EAAQuzE,EAAKtxB,WAAWjiD,IAC5B89C,GAAU,CACV,IAAIw6B,GAAYl6E,KAAKqwC,OAAOD,UACxBsP,GAASw6B,GACTl6E,KAAKm5E,QAAQe,GAAa,GAAKx6B,EAASw6B,EAAYx6B,GACxDA,GAAU,CACV,IAAI4L,GAAK1pD,EAAMu4E,IACX9uB,EAAKzpD,EAAMw4E,IAuBf,OAtBIp6E,MAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAQ,EAAK,IACpCtrD,KAAK+vC,KAAK2P,GAA0B,IAAb4L,EACvB5L,GAAU,EACV1/C,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAQ,EAAK,IACpCrrD,KAAK+vC,KAAK2P,GAA0B,IAAb2L,IAEvBrrD,KAAK+vC,KAAK2P,GAAa2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAQ,EAAK,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAmB,IAAb2L,EACvB3L,GAAU,EACV1/C,KAAK+vC,KAAK2P,GAAa4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAQ,EAAK,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAmB,IAAb4L,GAEvBqtB,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAUX+3E,EAAoBsC,UAAYtC,EAAoB73B,WAQpD63B,EAAoB54B,UAAY,SAASO,GACrC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIkb,GAAK,EACLD,EAAK,CACLrrD,MAAKwqD,cACLc,EAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B4L,GAAMtrD,KAAK+vC,KAAK2P,GAChB4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAM,KAAO,EACpCA,GAAU,EACV2L,EAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B2L,GAAMrrD,KAAK+vC,KAAK2P,GAChB2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAM,KAAO,IAEpC2L,EAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,GACvB2L,GAAMrrD,KAAK+vC,KAAK2P,IAAa,KAAO,EACpCA,GAAU,EACV4L,EAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,GACvB4L,GAAMtrD,KAAK+vC,KAAK2P,IAAa,KAAO,EAExC,IAAI99C,GAAQ,GAAIuzE,GAAK7pB,EAAID,GAAI,EAE7B,OADIstB,KAAU34E,KAAK0/C,QAAU,GACtB99C,GASXm2E,EAAoBuC,SAAWvC,EAAoB54B,UASnD44B,EAAoBl2B,YAAc,SAASjgD,EAAO89C,GAC9C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,GACPA,EAAQuzE,EAAKC,WAAWxzE,OACvB,IAAqB,gBAAVA,GACZA,EAAQuzE,EAAKtxB,WAAWjiD,OACvB,MAAMA,GAASA,YAAiBuzE,IACjC,KAAMh0E,WAAU,kBAAkBS,EAAM,4BAC5C,IAAsB,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAE/D,gBAAVxuC,GACPA,EAAQuzE,EAAKC,WAAWxzE,GACF,gBAAVA,KACZA,EAAQuzE,EAAKtxB,WAAWjiD,IAC5B89C,GAAU,CACV,IAAI66B,GAAYv6E,KAAKqwC,OAAOD,UACxBsP,GAAS66B,GACTv6E,KAAKm5E,QAAQoB,GAAa,GAAK76B,EAAS66B,EAAY76B,GACxDA,GAAU,CACV,IAAI4L,GAAK1pD,EAAMu4E,IACX9uB,EAAKzpD,EAAMw4E,IAuBf,OAtBIp6E,MAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAQ,EAAK,IACpCtrD,KAAK+vC,KAAK2P,GAA0B,IAAb4L,EACvB5L,GAAU,EACV1/C,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAQ,EAAK,IACpCrrD,KAAK+vC,KAAK2P,GAA0B,IAAb2L,IAEvBrrD,KAAK+vC,KAAK2P,GAAa2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAO,GAAM,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAM2L,IAAQ,EAAK,IACpCrrD,KAAK+vC,KAAK2P,EAAO,GAAmB,IAAb2L,EACvB3L,GAAU,EACV1/C,KAAK+vC,KAAK2P,GAAa4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAO,GAAM,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAM4L,IAAQ,EAAK,IACpCtrD,KAAK+vC,KAAK2P,EAAO,GAAmB,IAAb4L,GAEvBqtB,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAWX+3E,EAAoByC,YAAczC,EAAoBl2B,YAQtDk2B,EAAoBn2B,WAAa,SAASlC,GACtC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIkb,GAAK,EACLD,EAAK,CACLrrD,MAAKwqD,cACLc,EAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B4L,GAAMtrD,KAAK+vC,KAAK2P,GAChB4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAM,KAAO,EACpCA,GAAU,EACV2L,EAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B2L,GAAMrrD,KAAK+vC,KAAK2P,GAChB2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAM,KAAO,IAEpC2L,EAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B2L,GAAMrrD,KAAK+vC,KAAK2P,EAAO,GACvB2L,GAAMrrD,KAAK+vC,KAAK2P,IAAa,KAAO,EACpCA,GAAU,EACV4L,EAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAM,GAC7B4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,IAAO,EAC9B4L,GAAMtrD,KAAK+vC,KAAK2P,EAAO,GACvB4L,GAAMtrD,KAAK+vC,KAAK2P,IAAa,KAAO,EAExC,IAAI99C,GAAQ,GAAIuzE,GAAK7pB,EAAID,GAAI,EAE7B,OADIstB,KAAU34E,KAAK0/C,QAAU,GACtB99C,GAUXm2E,EAAoB0C,WAAa1C,EAAoBn2B,YAiJzDm2B,EAAoB2C,aAAe,SAAS94E,EAAO89C,GAC/C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,GACP,KAAMT,WAAU,kBAAkBS,EAAM,kBAC5C,IAAsB,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAIi7B,GAAY36E,KAAKqwC,OAAOD,UAM5B,OALIsP,GAASi7B,GACT36E,KAAKm5E,QAAQwB,GAAa,GAAKj7B,EAASi7B,EAAYj7B,GACxDA,GAAU,EACV83B,EAAcx3E,KAAK+vC,KAAMnuC,EAAO89C,EAAQ1/C,KAAKwqD,aAAc,GAAI,GAC3DmuB,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAWX+3E,EAAoBptB,WAAaotB,EAAoB2C,aAQrD3C,EAAoB6C,YAAc,SAASl7B,GACvC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ21E,EAAav3E,KAAK+vC,KAAM2P,EAAQ1/C,KAAKwqD,aAAc,GAAI,EAEnE,OADImuB,KAAU34E,KAAK0/C,QAAU,GACtB99C,GAUXm2E,EAAoB8C,UAAY9C,EAAoB6C,YAWpD7C,EAAoB+C,aAAe,SAASl5E,EAAO89C,GAC/C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,GACP,KAAMT,WAAU,kBAAkBS,EAAM,kBAC5C,IAAsB,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpFsP,GAAU,CACV,IAAIq7B,GAAY/6E,KAAKqwC,OAAOD,UAM5B,OALIsP,GAASq7B,GACT/6E,KAAKm5E,QAAQ4B,GAAa,GAAKr7B,EAASq7B,EAAYr7B,GACxDA,GAAU,EACV83B,EAAcx3E,KAAK+vC,KAAMnuC,EAAO89C,EAAQ1/C,KAAKwqD,aAAc,GAAI,GAC3DmuB,IAAU34E,KAAK0/C,QAAU,GACtB1/C,MAWX+3E,EAAoBjtB,YAAcitB,EAAoB+C,aAQtD/C,EAAoBiD,YAAc,SAASt7B,GACvC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIxuC,GAAQ21E,EAAav3E,KAAK+vC,KAAM2P,EAAQ1/C,KAAKwqD,aAAc,GAAI,EAEnE,OADImuB,KAAU34E,KAAK0/C,QAAU,GACtB99C,GAUXm2E,EAAoBkD,WAAalD,EAAoBiD,YAWrDn/B,EAAWq/B,mBAAqB,EAQhCr/B,EAAWs/B,kBAAoB,SAASv5E,GAG/B,MADLA,MAAkB,EACTA,EAAQ,IAAgB,EACxBA,EAAQ,MAAgB,EACxBA,EAAQ,GAAK,GAAW,EACxBA,EAAQ,GAAK,GAAW,EACA,GASrCi6C,EAAWu/B,eAAiB,SAAS3vE,GACjC,QAAUA,GAAK,IAAM,EAAMA,GAAK,MAAS,GAS7CowC,EAAWw/B,eAAiB,SAAS5vE,GACjC,MAASA,KAAM,IAAW,EAAJA,GAAU,GAWpCssE,EAAoB12B,cAAgB,SAASz/C,EAAO89C,GAChD,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,GAAS,EACa,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GACItwC,GADAmoB,EAAO4zB,EAAWs/B,kBAAkBv5E,EAExC89C,IAAUz3B,CACV,IAAIqzD,GAAat7E,KAAKqwC,OAAOD,UAK7B,KAJIsP,EAAS47B,GACTt7E,KAAKm5E,QAAQmC,GAAc,GAAK57B,EAAS47B,EAAa57B,GAC1DA,GAAUz3B,EACVrmB,KAAW,EACJA,GAAS,KACZ9B,EAAa,IAAR8B,EAAgB,IACrB5B,KAAK+vC,KAAK2P,KAAY5/C,EACtB8B,KAAW,CAGf,OADA5B,MAAK+vC,KAAK2P,KAAY99C,EAClB+2E,GACA34E,KAAK0/C,OAASA,EACP1/C,MAEJioB,GAWX8vD,EAAoBwD,oBAAsB,SAAS35E,EAAO89C,GACtD,MAAO1/C,MAAKqhD,cAAcxF,EAAWu/B,eAAex5E,GAAQ89C,IAahEq4B,EAAoB32B,aAAe,SAAS1B,GACxC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAEItwC,GAFAX,EAAI,EACJyC,EAAQ,CAEZ,GAAG,CACC,IAAK5B,KAAK4qD,UAAYlL,EAAS1/C,KAAKs5B,MAAO,CACvC,GAAI3xB,GAAMb,MAAM,YAEhB,MADAa,GAAA,WAAmB,EACbA,EAEV7H,EAAIE,KAAK+vC,KAAK2P,KACVvgD,EAAI,IACJyC,IAAc,IAAJ9B,IAAc,EAAEX,KAC5BA,QACkB,KAAV,IAAJW,GAEV,OADA8B,IAAS,EACL+2E,GACA34E,KAAK0/C,OAASA,EACP99C,IAGPA,MAASA,EACTa,OAAUtD,IAalB44E,EAAoByD,mBAAqB,SAAS97B,GAC9C,GAAIhtC,GAAM1S,KAAKohD,aAAa1B,EAK5B,OAJmB,YAAf,mBAAOhtC,GAAP,YAAAxQ,EAAOwQ,IACPA,EAAA,MAAempC,EAAWw/B,eAAe3oE,EAAA,OAEzCA,EAAMmpC,EAAWw/B,eAAe3oE,GAC7BA,GAKPyiE,IAQAt5B,EAAW4/B,mBAAqB,GAQhC5/B,EAAW6/B,kBAAoB,SAAS95E,GACf,gBAAVA,GACPA,EAAQuzE,EAAKC,WAAWxzE,GACF,gBAAVA,KACZA,EAAQuzE,EAAKtxB,WAAWjiD,GAE5B,IAAI+5E,GAAQ/5E,EAAMg6E,UAAY,EAC1BC,EAAQj6E,EAAMk6E,mBAAmB,IAAIF,UAAY,EACjDG,EAAQn6E,EAAMk6E,mBAAmB,IAAIF,UAAY,CACrD,OAAa,IAATG,EACa,GAATF,EACIF,EAAQ,MACDA,EAAQ,IAAS,EAAI,EAErBA,EAAQ,GAAK,GAAK,EAAI,EAE7BE,EAAQ,MACDA,EAAQ,IAAS,EAAI,EAErBA,EAAQ,GAAK,GAAK,EAAI,EAG9BE,EAAQ,IAAS,EAAI,IASpClgC,EAAWmgC,eAAiB,SAASp6E,GAOjC,MANqB,gBAAVA,GACPA,EAAQuzE,EAAKC,WAAWxzE,GAAO,GACT,gBAAVA,GACZA,EAAQuzE,EAAKtxB,WAAWjiD,GAAO,GAC1BA,EAAMkgD,YAAa,IAAOlgD,EAAQA,EAAMq6E,YAE1Cr6E,EAAM0zE,UAAU,GAAG4G,IAAIt6E,EAAMu6E,WAAW,KAAKC,cASxDvgC,EAAWwgC,eAAiB,SAASz6E,GAOjC,MANqB,gBAAVA,GACPA,EAAQuzE,EAAKC,WAAWxzE,GAAO,GACT,gBAAVA,GACZA,EAAQuzE,EAAKtxB,WAAWjiD,GAAO,GAC1BA,EAAMkgD,YAAa,IAAOlgD,EAAQA,EAAMq6E,YAE1Cr6E,EAAMk6E,mBAAmB,GAAGI,IAAIt6E,EAAM06E,IAAInH,EAAKoH,KAAKN,WAAWO,UAAUP,YAWpFlE,EAAoB0E,cAAgB,SAAS76E,EAAO89C,GAChD,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,GACPA,EAAQuzE,EAAKC,WAAWxzE,OACvB,IAAqB,gBAAVA,GACZA,EAAQuzE,EAAKtxB,WAAWjiD,OACvB,MAAMA,GAASA,YAAiBuzE,IACjC,KAAMh0E,WAAU,kBAAkBS,EAAM,4BAC5C,IAAsB,gBAAX89C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAE/D,gBAAVxuC,GACPA,EAAQuzE,EAAKC,WAAWxzE,GAAO,GACT,gBAAVA,GACZA,EAAQuzE,EAAKtxB,WAAWjiD,GAAO,GAC1BA,EAAMkgD,YAAa,IAAOlgD,EAAQA,EAAMq6E,WACjD,IAAIh0D,GAAO4zB,EAAW6/B,kBAAkB95E,GACpC+5E,EAAQ/5E,EAAMg6E,UAAY,EAC1BC,EAAQj6E,EAAMk6E,mBAAmB,IAAIF,UAAY,EACjDG,EAAQn6E,EAAMk6E,mBAAmB,IAAIF,UAAY,CACrDl8B,IAAUz3B,CACV,IAAIy0D,GAAa18E,KAAKqwC,OAAOD,UAI7B,QAHIsP,EAASg9B,GACT18E,KAAKm5E,QAAQuD,GAAc,GAAKh9B,EAASg9B,EAAah9B,GAC1DA,GAAUz3B,EACFA,GACJ,IAAK,IAAIjoB,KAAK+vC,KAAK2P,EAAO,GAAMq8B,IAAW,EAAK,CAChD,KAAK,GAAI/7E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAA8B,IAAhB8zD,EAAwC,IAAhBA,CACrE,KAAK,GAAI/7E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAAc4zD,IAAU,GAAM,IAAQA,IAAU,GAAM,GACrF,KAAK,GAAI77E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAAc4zD,IAAU,GAAM,IAAQA,IAAU,GAAM,GACrF,KAAK,GAAI77E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAAc4zD,IAAW,EAAK,IAAQA,IAAW,EAAK,GACrF,KAAK,GAAI77E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAA8B,IAAhB4zD,EAAwC,IAAhBA,CACrE,KAAK,GAAI77E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAAc0zD,IAAU,GAAM,IAAQA,IAAU,GAAM,GACrF,KAAK,GAAI37E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAAc0zD,IAAU,GAAM,IAAQA,IAAU,GAAM,GACrF,KAAK,GAAI37E,KAAK+vC,KAAK2P,EAAO,GAAc,IAATz3B,EAAc0zD,IAAW,EAAK,IAAQA,IAAW,EAAK,GACrF,KAAK,GAAI37E,KAAK+vC,KAAK2P,GAAqB,IAATz3B,EAA8B,IAAhB0zD,EAAwC,IAAhBA,EAEzE,MAAIhD,IACA34E,KAAK0/C,QAAUz3B,EACRjoB,MAEAioB,GAYf8vD,EAAoB4E,oBAAsB,SAAS/6E,EAAO89C,GACtD,MAAO1/C,MAAKy8E,cAAc5gC,EAAWmgC,eAAep6E,GAAQ89C,IAYhEq4B,EAAoB6E,aAAe,SAASl9B,GACxC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAGpF,GAAIppC,GAAQ04C,EACRi8B,EAAQ,EACRE,EAAQ,EACRE,EAAQ,EACRj8E,EAAK,CAC2C,IAApDA,EAAIE,KAAK+vC,KAAK2P,KAAWi8B,EAAc,IAAJ77E,EAA0B,IAAJA,IACzDA,EAAIE,KAAK+vC,KAAK2P,KAAWi8B,IAAc,IAAJ77E,IAAc,GAAY,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWi8B,IAAc,IAAJ77E,IAAa,IAAa,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWi8B,IAAc,IAAJ77E,IAAa,IAAa,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWm8B,EAAc,IAAJ/7E,GAA0B,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWm8B,IAAc,IAAJ/7E,IAAc,GAAY,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWm8B,IAAc,IAAJ/7E,IAAa,IAAa,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWm8B,IAAc,IAAJ/7E,IAAa,IAAa,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWq8B,EAAc,IAAJj8E,GAA0B,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,MAC/FA,EAAIE,KAAK+vC,KAAK2P,KAAWq8B,IAAc,IAAJj8E,IAAc,EAAY,IAAJA,GAAcE,KAAK4qD,UAAyB,mBAAN9qD,YAC/F,KAAMgH,OAAM,iBACZ,IAAIlF,GAAQuzE,EAAK0H,SAASlB,EAASE,GAAS,GAAMA,IAAU,EAAME,GAAU,IAAI,EAChF,OAAIpD,IACA34E,KAAK0/C,OAASA,EACP99C,IAGHA,MAASA,EACTa,OAAUi9C,EAAO14C,IAc7B+wE,EAAoB+E,mBAAqB,SAASp9B,GAC9C,GAAIhtC,GAAM1S,KAAK48E,aAAal9B,EAK5B,OAJIhtC,IAAOA,EAAA,gBAAwByiE,GAC/BziE,EAAA,MAAempC,EAAWwgC,eAAe3pE,EAAA,OAEzCA,EAAMmpC,EAAWwgC,eAAe3pE,GAC7BA,IAiBfqlE,EAAoBgF,aAAe,SAAS9/D,EAAKyiC,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAClBi5B,KAAUj5B,EAAS1/C,KAAK0/C,OAC5B,IAAIrgD,GACA0mC,EAAI9oB,EAAIxa,MACZ,KAAKzC,KAAK4qD,SAAU,CAChB,GAAmB,gBAAR3tC,GACP,KAAM9b,WAAU,4BACpB,KAAK9B,EAAE,EAAGA,EAAE0mC,IAAK1mC,EACb,GAA0B,IAAtB4d,EAAIu4B,WAAWn2C,GACf,KAAM2Q,YAAW,wCAEzB,IAAsB,gBAAX0vC,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAGpFrK,EAAIi3C,EAAKC,qBAAqB/F,EAAaj6D,IAAM,GACjDyiC,GAAU3Z,EAAE,CACZ,IAAIm3C,GAAal9E,KAAKqwC,OAAOD,UAQ7B,OAPIsP,GAASw9B,GACTl9E,KAAKm5E,QAAQ+D,GAAc,GAAKx9B,EAASw9B,EAAax9B,GAC1DA,GAAU3Z,EAAE,EACZi3C,EAAKG,kBAAkBjG,EAAaj6D,GAAM,SAASnd,GAC/CE,KAAK+vC,KAAK2P,KAAY5/C,GACxBmG,KAAKjG,OACPA,KAAK+vC,KAAK2P,KAAY,EAClBi5B,GACA34E,KAAK0/C,OAASA,EACP1/C,MAEJ+lC,GAYXgyC,EAAoBqF,YAAc,SAAS19B,GACvC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAGIitC,GAHAr2E,EAAQ04C,EAGJ5/C,GAAI,CAQZ,OAPAk9E,GAAKM,kBAAkB,WACnB,GAAU,IAANx9E,EAAS,MAAO,KACpB,IAAI4/C,GAAU1/C,KAAKs5B,MACf,KAAMtpB,YAAW,kCAAkC0vC,EAAO,MAAM1/C,KAAKs5B,MAEzE,OADAx5B,GAAIE,KAAK+vC,KAAK2P,KACD,IAAN5/C,EAAU,KAAOA,GAC1BmG,KAAKjG,MAAOq9E,EAAKlG,KAAqB,GACpCwB,GACA34E,KAAK0/C,OAASA,EACP29B,MAGH7gC,OAAU6gC,IACV56E,OAAUi9C,EAAS14C,IAgB/B+wE,EAAoBwF,aAAe,SAAStgE,EAAKyiC,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAmB,gBAAR3tC,GACP,KAAM9b,WAAU,4BACpB,IAAsB,gBAAXu+C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GACIrK,GADA/+B,EAAQ04C,CAEZ3Z,GAAIi3C,EAAKC,qBAAqB/F,EAAaj6D,GAAMjd,KAAK4qD,UAAU,GAChElL,GAAU,EAAE3Z,CACZ,IAAIy3C,GAAax9E,KAAKqwC,OAAOD,UAmB7B,IAlBIsP,EAAS89B,GACTx9E,KAAKm5E,QAAQqE,GAAc,GAAK99B,EAAS89B,EAAa99B,GAC1DA,GAAU,EAAE3Z,EACR/lC,KAAKwqD,cACLxqD,KAAK+vC,KAAK2P,EAAO,GAAM3Z,IAAM,GAAM,IACnC/lC,KAAK+vC,KAAK2P,EAAO,GAAM3Z,IAAM,GAAM,IACnC/lC,KAAK+vC,KAAK2P,EAAO,GAAM3Z,IAAO,EAAK,IACnC/lC,KAAK+vC,KAAK2P,GAAyB,IAAZ3Z,IAEvB/lC,KAAK+vC,KAAK2P,GAAa3Z,IAAM,GAAM,IACnC/lC,KAAK+vC,KAAK2P,EAAO,GAAM3Z,IAAM,GAAM,IACnC/lC,KAAK+vC,KAAK2P,EAAO,GAAM3Z,IAAO,EAAK,IACnC/lC,KAAK+vC,KAAK2P,EAAO,GAAkB,IAAZ3Z,GAE3B2Z,GAAU,EACVs9B,EAAKG,kBAAkBjG,EAAaj6D,GAAM,SAASnd,GAC/CE,KAAK+vC,KAAK2P,KAAY5/C,GACxBmG,KAAKjG,OACH0/C,IAAW14C,EAAQ,EAAI++B,EACvB,KAAM/1B,YAAW,kCAAkC0vC,EAAO,QAAQA,EAAO,EAAE3Z,GAC/E,OAAI4yC,IACA34E,KAAK0/C,OAASA,EACP1/C,MAEJ0/C,EAAS14C,GAYpB+wE,EAAoB0F,YAAc,SAAS/9B,GACvC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIppC,GAAQ04C,EACR3zC,EAAM/L,KAAKghD,WAAWtB,GACtBziC,EAAMjd,KAAK09E,eAAe3xE,EAAK8vC,EAAW8hC,cAAej+B,GAAU,EAEvE,OADAA,IAAUziC,EAAA,OACN07D,GACA34E,KAAK0/C,OAASA,EACPziC,EAAA,SAGHu/B,OAAUv/B,EAAA,OACVxa,OAAUi9C,EAAS14C,IAa/B60C,EAAW+hC,cAAgB,IAQ3B/hC,EAAW8hC,cAAgB,IAS3B5F,EAAoB8F,gBAAkB,SAAS5gE,EAAKyiC,GAChD,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIrK,GACA/+B,EAAQ04C,CACZ3Z,GAAIi3C,EAAKC,qBAAqB/F,EAAaj6D,IAAM,GACjDyiC,GAAU3Z,CACV,IAAI+3C,GAAa99E,KAAKqwC,OAAOD,UAO7B,OANIsP,GAASo+B,GACT99E,KAAKm5E,QAAQ2E,GAAc,GAAKp+B,EAASo+B,EAAap+B,GAC1DA,GAAU3Z,EACVi3C,EAAKG,kBAAkBjG,EAAaj6D,GAAM,SAASnd,GAC/CE,KAAK+vC,KAAK2P,KAAY5/C,GACxBmG,KAAKjG,OACH24E,GACA34E,KAAK0/C,OAASA,EACP1/C,MAEJ0/C,EAAS14C,GAWpB+wE,EAAoBgG,YAAchG,EAAoB8F,gBAStDhiC,EAAWmiC,mBAAqB,SAAS/gE,GACrC,MAAO+/D,GAAKC,qBAAqB/F,EAAaj6D,IAAM,IASxD4+B,EAAWoiC,mBAAqB,SAAShhE,GACrC,MAAO+/D,GAAKC,qBAAqB/F,EAAaj6D,IAAM,IAUxD4+B,EAAWqiC,gBAAkBriC,EAAWoiC,mBAaxClG,EAAoB2F,eAAiB,SAASj7E,EAAQ07E,EAASz+B,GACpC,gBAAZy+B,KACPz+B,EAASy+B,EACTA,EAAUj6E,OAEd,IAAIy0E,GAA6B,mBAAXj5B,EAGtB,IAFIi5B,IAAUj5B,EAAS1/C,KAAK0/C,QACL,mBAAZy+B,KAAyBA,EAAUtiC,EAAW+hC,gBACpD59E,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXnoD,IAAuBA,EAAS,IAAM,EAC7C,KAAMtB,WAAU,mBAAmBsB,EAAO,oBAE9C,IADAA,GAAU,EACY,gBAAXi9C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAEIitC,GAFAh+E,EAAI,EACJ2H,EAAQ04C,CAEZ,IAAIy+B,IAAYtiC,EAAW+hC,cAAe,CAOtC,GANAP,EAAKlG,IACL6F,EAAKoB,WAAW,WACZ,MAAO/+E,GAAIoD,GAAUi9C,EAAS1/C,KAAKs5B,MAAQt5B,KAAK+vC,KAAK2P,KAAY,MACnEz5C,KAAKjG,MAAO,SAASq+E,KACjBh/E,EAAG29E,EAAKsB,YAAYD,EAAIhB,KAE1Bh+E,IAAMoD,EACN,KAAMuN,YAAW,kCAAkC3Q,EAAE,OAAOoD,EAChE,OAAIk2E,IACA34E,KAAK0/C,OAASA,EACP29B,MAGH7gC,OAAU6gC,IACV56E,OAAUi9C,EAAS14C,GAGxB,GAAIm3E,IAAYtiC,EAAW8hC,cAAe,CAC7C,IAAK39E,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAASj9C,EAASzC,KAAKqwC,OAAOD,WAC5C,KAAMpgC,YAAW,wBAAwB0vC,EAAO,MAAMj9C,EAAO,QAAQzC,KAAKqwC,OAAOD,YAEzF,GAAIrK,GAAI2Z,EAASj9C,CAIjB,IAHAu6E,EAAKM,kBAAkB,WACnB,MAAO59B,GAAS3Z,EAAI/lC,KAAK+vC,KAAK2P,KAAY,MAC5Cz5C,KAAKjG,MAAOq9E,EAAKlG,IAAqBn3E,KAAK4qD,UACzClL,IAAW3Z,EACX,KAAM/1B,YAAW,kCAAkC0vC,EAAO,OAAO3Z,EACrE,OAAI4yC,IACA34E,KAAK0/C,OAASA,EACP29B,MAGH7gC,OAAU6gC,IACV56E,OAAUi9C,EAAS14C,GAI3B,KAAM7F,WAAU,wBAAwBg9E,IAehDpG,EAAoBwG,WAAaxG,EAAoB2F,eAarD3F,EAAoB71B,aAAe,SAASjlC,EAAKyiC,GAC7C,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAmB,gBAAR3tC,GACP,KAAM9b,WAAU,4BACpB,IAAsB,gBAAXu+C,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GACIrK,GAAGhpB,EADH/V,EAAQ04C,CAEZ3Z,GAAIi3C,EAAKC,qBAAqB/F,EAAaj6D,GAAMjd,KAAK4qD,UAAU,GAChE7tC,EAAI8+B,EAAWs/B,kBAAkBp1C,GACjC2Z,GAAU3iC,EAAEgpB,CACZ,IAAIy4C,GAAax+E,KAAKqwC,OAAOD,UAQ7B,IAPIsP,EAAS8+B,GACTx+E,KAAKm5E,QAAQqF,GAAc,GAAK9+B,EAAS8+B,EAAa9+B,GAC1DA,GAAU3iC,EAAEgpB,EACZ2Z,GAAU1/C,KAAKqhD,cAActb,EAAG2Z,GAChCs9B,EAAKG,kBAAkBjG,EAAaj6D,GAAM,SAASnd,GAC/CE,KAAK+vC,KAAK2P,KAAY5/C,GACxBmG,KAAKjG,OACH0/C,IAAW14C,EAAM++B,EAAEhpB,EACnB,KAAM/M,YAAW,kCAAkC0vC,EAAO,QAAQA,EAAO3Z,EAAEhpB,GAC/E,OAAI47D,IACA34E,KAAK0/C,OAASA,EACP1/C,MAEJ0/C,EAAS14C,GAYpB+wE,EAAoB91B,YAAc,SAASvC,GACvC,GAAIi5B,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAEpF,GAAIppC,GAAQ04C,EACR3zC,EAAM/L,KAAKohD,aAAa1B,GACxBziC,EAAMjd,KAAK09E,eAAe3xE,EAAA,MAAc8vC,EAAW8hC,cAAej+B,GAAU3zC,EAAA,OAEhF,OADA2zC,IAAUziC,EAAA,OACN07D,GACA34E,KAAK0/C,OAASA,EACPziC,EAAA,SAGHu/B,OAAUv/B,EAAA,OACVxa,OAAUi9C,EAAS14C,IAmB/B+wE,EAAoB/oC,OAAS,SAAS3oB,EAAQygC,EAAUpH,GAC5B,gBAAboH,IAA6C,gBAAbA,KACvCpH,EAASoH,EACTA,EAAW5iD,OAEf,IAAIy0E,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAE9E/pB,YAAkBw1B,KACpBx1B,EAASw1B,EAAW/D,KAAKzxB,EAAQygC,GACrC,IAAIrkD,GAAS4jB,EAAOiT,MAAQjT,EAAOq5B,MACnC,IAAIj9C,GAAU,EAAG,MAAOzC,KACxB0/C,IAAUj9C,CACV,IAAIg8E,GAAaz+E,KAAKqwC,OAAOD,UAO7B,OANIsP,GAAS++B,GACTz+E,KAAKm5E,QAAQsF,GAAc,GAAK/+B,EAAS++B,EAAa/+B,GAC1DA,GAAUj9C,EACVzC,KAAK+vC,KAAK3nC,IAAIie,EAAO0pB,KAAKoW,SAAS9/B,EAAOq5B,OAAQr5B,EAAOiT,OAAQomB,GACjEr5B,EAAOq5B,QAAUj9C,EACbk2E,IAAU34E,KAAK0/C,QAAUj9C,GACtBzC,MAaX+3E,EAAoB2G,SAAW,SAASn8E,EAAQm9C,GAE5C,MADAn9C,GAAOysC,OAAOhvC,KAAM0/C,GACb1/C,MAUX+3E,EAAoBlnB,OAAS,SAASA,GAElC,MADA7wD,MAAK4qD,UAAYiG,EACV7wD,MAQX+3E,EAAoBlwD,SAAW,WAC3B,MAAO7nB,MAAKqwC,OAAOD,YAQvB2nC,EAAoB19B,MAAQ,WAIxB,MAHAr6C,MAAK0/C,OAAS,EACd1/C,KAAKs5B,MAAQt5B,KAAKqwC,OAAOD,WACzBpwC,KAAK43E,cAAe,EACb53E,MAUX+3E,EAAoBjlC,MAAQ,SAAS2M,GACjC,GAAI44B,GAAK,GAAIx8B,GAAW,EAAG77C,KAAKwqD,aAAcxqD,KAAK4qD,SAWnD,OAVInL,IACA44B,EAAGhoC,OAAS,GAAIgB,aAAYrxC,KAAKqwC,OAAOD,YACxCioC,EAAGtoC,KAAO,GAAIC,YAAWqoC,EAAGhoC,UAE5BgoC,EAAGhoC,OAASrwC,KAAKqwC,OACjBgoC,EAAGtoC,KAAO/vC,KAAK+vC,MAEnBsoC,EAAG34B,OAAS1/C,KAAK0/C,OACjB24B,EAAGT,aAAe53E,KAAK43E,aACvBS,EAAG/+C,MAAQt5B,KAAKs5B,MACT++C,GAYXN,EAAoB4G,QAAU,SAASC,EAAOx5B,GAG1C,GAFqB,mBAAVw5B,KAAuBA,EAAQ5+E,KAAK0/C,QAC5B,mBAAR0F,KAAqBA,EAAMplD,KAAKs5B,QACtCt5B,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVg0B,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAEpF,GAAc,IAAVwuC,GAAex5B,IAAQplD,KAAKqwC,OAAOD,WACnC,MAAOpwC,KACX,IAAI+L,GAAMq5C,EAAMw5B,CAChB,IAAY,IAAR7yE,EAMA,MALA/L,MAAKqwC,OAASsnC,EACd33E,KAAK+vC,KAAO,KACR/vC,KAAK43E,cAAgB,IAAG53E,KAAK43E,cAAgBgH,GACjD5+E,KAAK0/C,OAAS,EACd1/C,KAAKs5B,MAAQ,EACNt5B,IAEX,IAAIqwC,GAAS,GAAIgB,aAAYtlC,GACzBgkC,EAAO,GAAIC,YAAWK,EAO1B,OANAN,GAAK3nC,IAAIpI,KAAK+vC,KAAKoW,SAASy4B,EAAOx5B,IACnCplD,KAAKqwC,OAASA,EACdrwC,KAAK+vC,KAAOA,EACR/vC,KAAK43E,cAAgB,IAAG53E,KAAK43E,cAAgBgH,GACjD5+E,KAAK0/C,OAAS,EACd1/C,KAAKs5B,MAAQvtB,EACN/L,MAWX+3E,EAAoBt4B,KAAO,SAASm/B,EAAOx5B,GAGvC,GAFqB,mBAAVw5B,KAAuBA,EAAQ5+E,KAAK0/C,QAC5B,mBAAR0F,KAAqBA,EAAMplD,KAAKs5B,QACtCt5B,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVg0B,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAEpF,GAAIwuC,IAAUx5B,EACV,MAAO,IAAIvJ,GAAW,EAAG77C,KAAKwqD,aAAcxqD,KAAK4qD,SACrD,IAAI/iC,GAAWu9B,EAAMw5B,EACjBvG,EAAK,GAAIx8B,GAAWh0B,EAAU7nB,KAAKwqD,aAAcxqD,KAAK4qD,SAK1D,OAJAytB,GAAG34B,OAAS,EACZ24B,EAAG/+C,MAAQzR,EACPwwD,EAAGT,cAAgB,IAAGS,EAAGT,cAAgBgH,GAC7C5+E,KAAK6+E,OAAOxG,EAAI,EAAGuG,EAAOx5B,GACnBizB,GAeXN,EAAoB8G,OAAS,SAASt8E,EAAQu8E,EAAcC,EAAcC,GACtE,GAAIrG,GACAsG,CACJ,KAAKj/E,KAAK4qD,WACD/O,EAAWs8B,aAAa51E,GACzB,KAAMpB,WAAU,mCAMxB,IAJA29E,GAAgBG,EAAyC,mBAAjBH,IAAgCv8E,EAAOm9C,OAAwB,EAAfo/B,EACxFC,GAAgBpG,EAAmC,mBAAjBoG,IAAgC/+E,KAAK0/C,OAAwB,EAAfq/B,EAChFC,EAAqC,mBAAhBA,GAA8Bh/E,KAAKs5B,MAAsB,EAAd0lD,EAE5DF,EAAe,GAAKA,EAAev8E,EAAO8tC,OAAOD,WACjD,KAAMpgC,YAAW,8BAA8B8uE,EAAa,OAAOv8E,EAAO8tC,OAAOD,WACrF,IAAI2uC,EAAe,GAAKC,EAAch/E,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,8BAA8B+uE,EAAa,OAAO/+E,KAAKqwC,OAAOD,WAEnF,IAAIrkC,GAAMizE,EAAcD,CACxB,OAAY,KAARhzE,EACOxJ,GAEXA,EAAO28E,eAAeJ,EAAe/yE,GAErCxJ,EAAOwtC,KAAK3nC,IAAIpI,KAAK+vC,KAAKoW,SAAS44B,EAAcC,GAAcF,GAE3DnG,IAAU34E,KAAK0/C,QAAU3zC,GACzBkzE,IAAgB18E,EAAOm9C,QAAU3zC,GAE9B/L,OAWX+3E,EAAoBmH,eAAiB,SAASr3D,GAC1C,GAAIlf,GAAU3I,KAAKqwC,OAAOD,UAC1B,OAAIznC,GAAUkf,EACH7nB,KAAKm5E,QAAQxwE,GAAW,GAAKkf,EAAWlf,EAAUkf,GACtD7nB,MAcX+3E,EAAoBlxB,KAAO,SAASjlD,EAAOg9E,EAAOx5B,GAC9C,GAAIuzB,GAA4B,mBAAViG,EAMtB,IALIjG,IAAUiG,EAAQ5+E,KAAK0/C,QACN,gBAAV99C,IAAsBA,EAAMa,OAAS,IAC5Cb,EAAQA,EAAM4zC,WAAW,IACR,mBAAVopC,KAAuBA,EAAQ5+E,KAAK0/C,QAC5B,mBAAR0F,KAAqBA,EAAMplD,KAAKs5B,QACtCt5B,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVhpD,IAAsBA,EAAQ,IAAM,EAC3C,KAAMT,WAAU,kBAAkBS,EAAM,oBAE5C,IADAA,GAAS,EACY,gBAAVg9E,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAEpF,GAAIwuC,GAASx5B,EACT,MAAOplD,KACX,MAAO4+E,EAAQx5B,GAAKplD,KAAK+vC,KAAK6uC,KAAWh9E,CAEzC,OADI+2E,KAAU34E,KAAK0/C,OAASk/B,GACrB5+E,MASX+3E,EAAoB97B,KAAO,WAGvB,MAFAj8C,MAAKs5B,MAAQt5B,KAAK0/C,OAClB1/C,KAAK0/C,OAAS,EACP1/C,MAWX+3E,EAAoBoH,KAAO,SAASz/B,GAEhC,GADAA,EAA2B,mBAAXA,GAAyB1/C,KAAK0/C,OAASA,GAClD1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAGpF,MADApwC,MAAK43E,aAAel4B,EACb1/C,MAQX+3E,EAAoBqH,MAAQ,SAAS50B,GACjC,IAAKxqD,KAAK4qD,UACsB,iBAAjBJ,GACP,KAAMrpD,WAAU,sCAGxB,OADAnB,MAAKwqD,eAAiBA,EACfxqD,MASX+3E,EAAoBsH,GAAK,SAAS70B,GAE9B,MADAxqD,MAAKwqD,aAAuC,mBAAjBA,MAAiCA,EACrDxqD,MASX+3E,EAAoBuH,GAAK,SAASC,GAE9B,MADAv/E,MAAKwqD,aAAoC,mBAAd+0B,KAA6BA,EACjDv/E,MAgBX+3E,EAAoByH,QAAU,SAASn5D,EAAQygC,EAAUpH,GAC7B,gBAAboH,IAA6C,gBAAbA,KACvCpH,EAASoH,EACTA,EAAW5iD,OAEf,IAAIy0E,GAA6B,mBAAXj5B,EAEtB,IADIi5B,IAAUj5B,EAAS1/C,KAAK0/C,SACvB1/C,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,mBAAmBu+C,EAAO,oBAE9C,IADAA,KAAY,EACRA,EAAS,GAAKA,EAAS,EAAI1/C,KAAKqwC,OAAOD,WACvC,KAAMpgC,YAAW,wBAAwB0vC,EAAO,YAAgB1/C,KAAKqwC,OAAOD,YAE9E/pB,YAAkBw1B,KACpBx1B,EAASw1B,EAAW/D,KAAKzxB,EAAQygC,GACrC,IAAI/6C,GAAMsa,EAAOiT,MAAQjT,EAAOq5B,MAChC,IAAI3zC,GAAO,EAAG,MAAO/L,KACrB,IAAIy0C,GAAO1oC,EAAM2zC,CACjB,IAAIjL,EAAO,EAAG,CACV,GAAIpE,GAAS,GAAIgB,aAAYrxC,KAAKqwC,OAAOD,WAAaqE,GAClD1E,EAAO,GAAIC,YAAWK,EAC1BN,GAAK3nC,IAAIpI,KAAK+vC,KAAKoW,SAASzG,EAAQ1/C,KAAKqwC,OAAOD,YAAarkC,GAC7D/L,KAAKqwC,OAASA,EACdrwC,KAAK+vC,KAAOA,EACZ/vC,KAAK0/C,QAAUjL,EACXz0C,KAAK43E,cAAgB,IAAG53E,KAAK43E,cAAgBnjC,GACjDz0C,KAAKs5B,OAASmb,EACdiL,GAAUjL,MAEV,CAAgB,GAAIzE,YAAWhwC,KAAKqwC,QAOxC,MALArwC,MAAK+vC,KAAK3nC,IAAIie,EAAO0pB,KAAKoW,SAAS9/B,EAAOq5B,OAAQr5B,EAAOiT,OAAQomB,EAAS3zC,GAE1Esa,EAAOq5B,OAASr5B,EAAOiT,MACnBq/C,IACA34E,KAAK0/C,QAAU3zC,GACZ/L,MAcX+3E,EAAoB0H,UAAY,SAASl9E,EAAQm9C,GAE7C,MADAn9C,GAAOi9E,QAAQx/E,KAAM0/C,GACd1/C,MAOX+3E,EAAoB2H,WAAa,SAASx1B,GACnB,kBAARA,KAAoBA,EAAM39C,QAAQ1F,IAAIZ,KAAKsG,UACtD29C,EACIlqD,KAAKyK,WAAW,0EAEhBzK,KAAK2/E,SAAsB,KAUnC5H,EAAoBnvB,UAAY,WAC5B,MAAO5oD,MAAKs5B,MAAQt5B,KAAK0/C,QAU7Bq4B,EAAoBn/B,MAAQ,WAOxB,MANI54C,MAAK43E,cAAgB,GACrB53E,KAAK0/C,OAAS1/C,KAAK43E,aACnB53E,KAAK43E,cAAe,GAEpB53E,KAAK0/C,OAAS,EAEX1/C,MAWX+3E,EAAoBoB,OAAS,SAAStxD,GAClC,IAAK7nB,KAAK4qD,SAAU,CAChB,GAAwB,gBAAb/iC,IAAyBA,EAAW,IAAM,EACjD,KAAM1mB,WAAU,qBAAqB0mB,EAAS,oBAElD,IADAA,GAAY,EACRA,EAAW,EACX,KAAM7X,YAAW,0BAA0B6X,GAEnD,GAAI7nB,KAAKqwC,OAAOD,WAAavoB,EAAU,CACnC,GAAIwoB,GAAS,GAAIgB,aAAYxpB,GACzBkoB,EAAO,GAAIC,YAAWK,EAC1BN,GAAK3nC,IAAIpI,KAAK+vC,MACd/vC,KAAKqwC,OAASA,EACdrwC,KAAK+vC,KAAOA,EAEhB,MAAO/vC,OASX+3E,EAAoB3E,QAAU,SAASwL,EAAOx5B,GAG1C,GAFqB,mBAAVw5B,KAAuBA,EAAQ5+E,KAAK0/C,QAC5B,mBAAR0F,KAAqBA,EAAMplD,KAAKs5B,QACtCt5B,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVg0B,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAEpF,MAAIwuC,KAAUx5B,EACHplD,MACXwF,MAAMjG,UAAU6zE,QAAQn0E,KAAKe,KAAK+vC,KAAKoW,SAASy4B,EAAOx5B,IAChDplD,OAQX+3E,EAAoB/3B,KAAO,SAASv9C,GAChC,IAAKzC,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXnoD,IAAuBA,EAAS,IAAM,EAC7C,KAAMtB,WAAU,mBAAmBsB,EAAO,oBAC9CA,IAAU,EAEd,GAAIi9C,GAAS1/C,KAAK0/C,OAASj9C,CAC3B,KAAKzC,KAAK4qD,WACFlL,EAAS,GAAKA,EAAS1/C,KAAKqwC,OAAOD,YACnC,KAAMpgC,YAAW,wBAAwBhQ,KAAK0/C,OAAO,MAAMj9C,EAAO,OAAOzC,KAAKqwC,OAAOD;AAG7F,MADApwC,MAAK0/C,OAASA,EACP1/C,MAUX+3E,EAAoBp4E,MAAQ,SAASi/E,EAAOx5B,GAGxC,GAFqB,mBAAVw5B,KAAuBA,EAAQ5+E,KAAK0/C,QAC5B,mBAAR0F,KAAqBA,EAAMplD,KAAKs5B,QACtCt5B,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVg0B,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAEpF,GAAIioC,GAAKr4E,KAAK8yC,OAGd,OAFAulC,GAAG34B,OAASk/B,EACZvG,EAAG/+C,MAAQ8rB,EACJizB,GAUXN,EAAoB1tE,SAAW,SAASu1E,GACpC,GAAIlgC,GAAS1/C,KAAK0/C,OACdpmB,EAAQt5B,KAAKs5B,KACjB,KAAKt5B,KAAK4qD,SAAU,CAChB,GAAsB,gBAAXlL,IAAuBA,EAAS,IAAM,EAC7C,KAAMv+C,WAAU,iCAEpB,IADAu+C,KAAY,EACS,gBAAVpmB,IAAsBA,EAAQ,IAAM,EAC3C,KAAMn4B,WAAU,gCAEpB,IADAm4B,KAAW,EACPomB,EAAS,GAAKA,EAASpmB,GAASA,EAAQt5B,KAAKqwC,OAAOD,WACpD,KAAMpgC,YAAW,uBAAuB0vC,EAAO,OAAOpmB,EAAM,OAAOt5B,KAAKqwC,OAAOD,YAIvF,IAAKwvC,GAAwB,IAAXlgC,GAAgBpmB,IAAUt5B,KAAKqwC,OAAOD,WACpD,MAAOpwC,MAAKqwC,MAChB,IAAIqP,IAAWpmB,EACX,MAAOq+C,EACX,IAAItnC,GAAS,GAAIgB,aAAY/X,EAAQomB,EAErC,OADA,IAAI1P,YAAWK,GAAQjoC,IAAI,GAAI4nC,YAAWhwC,KAAKqwC,QAAQ8V,SAASzG,EAAQpmB,GAAQ,GACzE+W,GAYX0nC,EAAoB8H,cAAgB9H,EAAoB1tE,SAaxD0tE,EAAoBttE,SAAW,SAASq8C,EAAU83B,EAAOx5B,GACrD,GAAwB,mBAAb0B,GACP,MAAO,uBAAuB9mD,KAAK0/C,OAAO,iBAAiB1/C,KAAK43E,aAAa,UAAU53E,KAAKs5B,MAAM,aAAat5B,KAAK6nB,WAAW,GAKnI,QAJwB,gBAAbi/B,KACPA,EAAW,OACX83B,EAAQ93B,EACR1B,EAAMw5B,GACF93B,GACJ,IAAK,OACD,MAAO9mD,MAAK8/E,OAAOlB,EAAOx5B,EAC9B,KAAK,SACD,MAAOplD,MAAK+/E,SAASnB,EAAOx5B,EAChC,KAAK,MACD,MAAOplD,MAAKmqD,MAAMy0B,EAAOx5B,EAC7B,KAAK,SACD,MAAOplD,MAAK4/C,SAASg/B,EAAOx5B,EAChC,KAAK,QACD,MAAOplD,MAAK2/E,SAChB,KAAK,UACD,MAAO3/E,MAAKggF,WAChB,SACI,KAAMl5E,OAAM,yBAAyBggD,IAWjD,IAAIm5B,GAAO,WA4BP,IAAK,GApBDA,MAOAC,GACA,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAC9D,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3E,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAQhEC,KACK9gF,EAAE,EAAG0mC,EAAEm6C,EAAKz9E,OAAQpD,EAAE0mC,IAAK1mC,EAChC8gF,EAAID,EAAK7gF,IAAMA,CA2EnB,OAlEA4gF,GAAKjvB,OAAS,SAASvpC,EAAKE,GAExB,IADA,GAAI7nB,GAAGo9C,EACgB,QAAfp9C,EAAI2nB,MACRE,EAAIu4D,EAAMpgF,GAAG,EAAG,KAChBo9C,GAAO,EAAFp9C,IAAQ,EACO,QAAfA,EAAI2nB,MACLy1B,GAAMp9C,GAAG,EAAG,GACZ6nB,EAAIu4D,EAAsB,IAAhBhjC,EAAIp9C,GAAG,EAAG,MACpBo9C,GAAO,GAAFp9C,IAAQ,EACO,QAAfA,EAAI2nB,MACLE,EAAIu4D,EAAsB,IAAhBhjC,EAAIp9C,GAAG,EAAG,KACpB6nB,EAAIu4D,EAAO,GAAFpgF,MAET6nB,EAAIu4D,EAAO,GAAFhjC,IACTv1B,EAAI,OAERA,EAAIu4D,EAAO,GAAFhjC,IACTv1B,EAAI,IACJA,EAAI,MAWhBs4D,EAAKzuC,OAAS,SAAS/pB,EAAKE,GAExB,QAASwN,GAAKh2B,GACV,KAAM2H,OAAM,2BAA2B3H,GAE3C,IAJA,GAAIA,GAAGihF,EAAIC,EAIY,QAAflhF,EAAIsoB,MAGR,GAFA24D,EAAKD,EAAIhhF,GACS,mBAAPihF,IAAoBjrD,EAAKh2B,GAChB,QAAfA,EAAIsoB,OACL44D,EAAKF,EAAIhhF,GACS,mBAAPkhF,IAAoBlrD,EAAKh2B,GACpCwoB,EAAKy4D,GAAI,IAAK,GAAM,GAAHC,IAAU,GACP,QAAflhF,EAAIsoB,MAAiB,CAEtB,GADA24D,EAAKD,EAAIhhF,GACS,mBAAPihF,GACP,IAAU,KAANjhF,EAAU,KAAYg2B,GAAKh2B,GAEnC,GADAwoB,GAAS,GAAH04D,IAAS,IAAK,GAAM,GAAHD,IAAU,GACb,QAAfjhF,EAAIsoB,KAAiB,CAEtB,GADA44D,EAAKF,EAAIhhF,GACS,mBAAPkhF,GACP,IAAU,KAANlhF,EAAU,KAAYg2B,GAAKh2B,GACnCwoB,GAAS,EAAHy4D,IAAS,IAAK,EAAEC,MAY1CJ,EAAKpjE,KAAO,SAASI,GACjB,MAAO,mEAAmEJ,KAAKI,IAG5EgjE,IAaXlI,GAAoBgI,SAAW,SAASnB,EAAOx5B,GAM3C,GALqB,mBAAVw5B,KACPA,EAAQ5+E,KAAK0/C,QACE,mBAAR0F,KACPA,EAAMplD,KAAKs5B,OACfslD,GAAgB,EAAGx5B,GAAY,EAC3Bw5B,EAAQ,GAAKx5B,EAAMplD,KAAK6nB,UAAY+2D,EAAQx5B,EAC5C,KAAMp1C,YAAW,aACrB,IAAIqtE,EAGJ,OAHQ4C,GAAKjvB,OAAO,WAChB,MAAO4tB,GAAQx5B,EAAMplD,KAAK+vC,KAAK6uC,KAAW,MAC5C34E,KAAKjG,MAAOq9E,EAAKlG,KACZkG,KAWXxhC,EAAWy8B,WAAa,SAASr7D,EAAKutC,GAClC,GAAmB,gBAARvtC,GACP,KAAM9b,WAAU,MACpB,IAAIk3E,GAAK,GAAIx8B,GAAW5+B,EAAIxa,OAAO,EAAE,EAAG+nD,GACpCnrD,EAAI,CAKR,OAJA4gF,GAAKzuC,OAAO0lC,EAAaj6D,GAAM,SAASnd,GACpCu4E,EAAGtoC,KAAK1wC,KAAOS,IAEnBu4E,EAAG/+C,MAAQj6B,EACJg5E,GAUXx8B,EAAWykC,KAAO,SAASrjE,GACvB,MAAO4+B,GAAWy4B,WAAWr3D,GAAK8iE,YAUtClkC,EAAW0kC,KAAO,SAAStxB,GACvB,MAAOpT,GAAWy8B,WAAWrpB,GAAKrP,YAatCm4B,EAAoBn4B,SAAW,SAASg/B,EAAOx5B,GAM3C,GALqB,mBAAVw5B,KACPA,EAAQ5+E,KAAK0/C,QACE,mBAAR0F,KACPA,EAAMplD,KAAKs5B,OACfslD,GAAS,EAAGx5B,GAAO,EACfw5B,EAAQ,GAAKx5B,EAAMplD,KAAK6nB,YAAc+2D,EAAQx5B,EAC9C,KAAMp1C,YAAW,aACrB,IAAI4uE,IAAUx5B,EACV,MAAO,EAGX,KAFA,GAAInV,MACAqC,KACGssC,EAAQx5B,GACXnV,EAAM5jC,KAAKrM,KAAK+vC,KAAK6uC,MACjB3uC,EAAMxtC,QAAU,OAChB6vC,EAAMjmC,KAAKujB,OAAOsgB,aAAanwC,MAAM6vB,OAAQqgB,IAC7CA,KAER,OAAOqC,GAAMjpB,KAAK,IAAMuG,OAAOsgB,aAAanwC,MAAM6vB,OAAQqgB,IAW9D4L,EAAWy4B,WAAa,SAASr3D,EAAKutC,GAClC,GAAmB,gBAARvtC,GACP,KAAM9b,WAAU,MAKpB,KAJA,GAEIq/E,GAFAnhF,EAAI,EACJ0mC,EAAI9oB,EAAIxa,OAER41E,EAAK,GAAIx8B,GAAW9V,EAAGykB,GACpBnrD,EAAE0mC,GAAG,CAER,GADAy6C,EAAWvjE,EAAIu4B,WAAWn2C,GACtBmhF,EAAW,IACX,KAAMxwE,YAAW,sBAAsBwwE,EAC3CnI,GAAGtoC,KAAK1wC,KAAOmhF,EAGnB,MADAnI,GAAG/+C,MAAQyM,EACJsyC,GAsBXN,EAAoB4H,QAAU,SAASc,GAOnC,IANA,GAEI3gF,GAFAT,GAAI,EACJ0mC,EAAI/lC,KAAKqwC,OAAOD,WAEhBswC,EAAM,GACNC,EAAM,GACNz2B,EAAM,GACH7qD,EAAE0mC,GAAG,CASR,GARI1mC,KAAM,IACNS,EAAIE,KAAK+vC,KAAK1wC,GACAqhF,GAAV5gF,EAAI,GAAa,IAAIA,EAAE2K,SAAS,IAAImnC,cAC5B9xC,EAAE2K,SAAS,IAAImnC,cACvB6uC,IACAE,GAAO7gF,EAAI,IAAMA,EAAI,IAAM8vB,OAAOsgB,aAAapwC,GAAK,QAE1DT,EACEohF,GACIphF,EAAI,GAAKA,EAAI,KAAO,GAAKA,IAAM0mC,EAAG,CAClC,KAAO26C,EAAIj+E,OAAS,IAAQi+E,GAAO,GACnCx2B,IAAOw2B,EAAIC,EAAI,KACfD,EAAMC,EAAM,GAIhBD,GADArhF,IAAMW,KAAK0/C,QAAUrgD,IAAMW,KAAKs5B,MACzBj6B,IAAMW,KAAK43E,aAAe,IAAM,IAClCv4E,IAAMW,KAAK0/C,OACTrgD,IAAMW,KAAK43E,aAAe,IAAM,IAClCv4E,IAAMW,KAAKs5B,MACTj6B,IAAMW,KAAK43E,aAAe,IAAM,IAEhCv4E,IAAMW,KAAK43E,aAAe,IAAO6I,GAAkB,IAANphF,GAAWA,IAAM0mC,EAAK,IAAM,GAExF,GAAI06C,GAAmB,MAARC,EAAa,CACxB,KAAOA,EAAIj+E,OAAS,IAChBi+E,GAAO,GACXx2B,IAAOw2B,EAAMC,EAAM,KAEvB,MAAOF,GAAUv2B,EAAMw2B,GAc3B7kC,EAAW48B,UAAY,SAASx7D,EAAKutC,EAAcI,GAO/C,IANA,GAEkBoiB,GAAIltE,EAFlBimC,EAAI9oB,EAAIxa,OACR41E,EAAK,GAAIx8B,IAAa9V,EAAE,GAAG,EAAG,EAAGykB,EAAcI,GAC/CvrD,EAAI,EAAGgS,EAAI,EACX45D,GAAK,EACL2V,GAAK,EAAOC,GAAK,EAAOhR,GAAK,EAC7B16C,GAAO,EACJ91B,EAAE0mC,GAAG,CACR,OAAQinC,EAAK/vD,EAAI2B,OAAOvf,MACpB,IAAK,IACD,IAAKurD,EAAU,CACX,GAAIg2B,GAAMC,GAAMhR,EAAI,CAChB16C,GAAO,CACP,OAEJyrD,EAAKC,EAAKhR,GAAK,EAEnBwI,EAAG34B,OAAS24B,EAAGT,aAAeS,EAAG/+C,MAAQjoB,EACzC45D,GAAK,CACL,MACJ,KAAK,IACD,IAAKrgB,EAAU,CACX,GAAIg2B,GAAM/Q,EAAI,CACV16C,GAAO,CACP,OAEJyrD,EAAK/Q,GAAK,EAEdwI,EAAG34B,OAAS24B,EAAG/+C,MAAQjoB,EACvB45D,GAAK,CACL,MACJ,KAAK,IACD,IAAKrgB,EAAU,CACX,GAAIg2B,GAAMC,EAAI,CACV1rD,GAAO,CACP,OAEJyrD,EAAKC,GAAK,EAEdxI,EAAG34B,OAAS24B,EAAGT,aAAevmE,EAC9B45D,GAAK,CACL,MACJ,KAAK,IACD,IAAKrgB,EAAU,CACX,GAAIg2B,EAAI,CACJzrD,GAAO,CACP,OAEJyrD,GAAK,EAETvI,EAAG34B,OAASruC,EACZ45D,GAAK,CACL,MACJ,KAAK,IACD,IAAKrgB,EAAU,CACX,GAAIilB,GAAMgR,EAAI,CACV1rD,GAAO,CACP,OAEJ06C,EAAKgR,GAAK,EAEdxI,EAAG/+C,MAAQ++C,EAAGT,aAAevmE,EAC7B45D,GAAK,CACL,MACJ,KAAK,IACD,IAAKrgB,EAAU,CACX,GAAIilB,EAAI,CACJ16C,GAAO,CACP,OAEJ06C,GAAK,EAETwI,EAAG/+C,MAAQjoB,EACX45D,GAAK,CACL,MACJ,KAAK,IACD,IAAKrgB,EAAU,CACX,GAAIi2B,EAAI,CACJ1rD,GAAO,CACP,OAEJ0rD,GAAK,EAETxI,EAAGT,aAAevmE,EAClB45D,GAAK,CACL,MACJ,KAAK,IACDA,GAAK,CACL,MACJ,SACI,IAAKrgB,GACGqgB,EAAI,CACJ91C,GAAO,CACP,OAIR,GADAr1B,EAAI8wB,SAASo8C,EAAG/vD,EAAI2B,OAAOvf,KAAM,KAC5BurD,IACGl/C,MAAM5L,IAAMA,EAAI,GAAKA,EAAI,KACzB,KAAMqB,WAAU,0CAExBk3E,GAAGtoC,KAAK1+B,KAAOvR,EACfmrE,GAAK,EAEb,GAAI91C,EACA,KAAMh0B,WAAU,kCAAkC9B,GAE1D,IAAKurD,EAAU,CACX,IAAKg2B,IAAO/Q,EACR,KAAM1uE,WAAU,uCACpB,IAAIkQ,EAAEgnE,EAAGhoC,OAAOD,WACZ,KAAMjvC,WAAU,wDAAwDkQ,EAAE,MAAM00B,GAExF,MAAOsyC,IAYXN,EAAoB5tB,MAAQ,SAASy0B,EAAOx5B,GAGxC,GAFAw5B,EAAyB,mBAAVA,GAAwB5+E,KAAK0/C,OAASk/B,EACrDx5B,EAAqB,mBAARA,GAAsBplD,KAAKs5B,MAAQ8rB,GAC3CplD,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVg0B,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAIpF,IAFA,GACItwC,GADAoqD,EAAM,GAAI1kD,OAAM4/C,EAAMw5B,GAEnBA,EAAQx5B,GACXtlD,EAAIE,KAAK+vC,KAAK6uC,KACV9+E,EAAI,GACJoqD,EAAI79C,KAAK,IAAKvM,EAAE2K,SAAS,KACxBy/C,EAAI79C,KAAKvM,EAAE2K,SAAS,IAE7B,OAAOy/C,GAAI7gC,KAAK,KAapBwyB,EAAW08B,QAAU,SAASt7D,EAAKutC,EAAcI,GAC7C,IAAKA,EAAU,CACX,GAAmB,gBAAR3tC,GACP,KAAM9b,WAAU,4BACpB,IAAI8b,EAAIxa,OAAS,IAAM,EACnB,KAAMtB,WAAU,2CAKxB,IAAK,GADDrB,GAFAimC,EAAI9oB,EAAIxa,OACR41E,EAAK,GAAIx8B,GAAY9V,EAAI,EAAK,EAAGykB,GAE5BnrD,EAAE,EAAGgS,EAAE,EAAGhS,EAAE0mC,EAAG1mC,GAAG,EAAG,CAE1B,GADAS,EAAI8wB,SAAS3T,EAAIu3C,UAAUn1D,EAAGA,EAAE,GAAI,KAC/BurD,KACI7wB,SAASj6B,IAAMA,EAAI,GAAKA,EAAI,KAC7B,KAAMqB,WAAU,2CACxBk3E,GAAGtoC,KAAK1+B,KAAOvR,EAGnB,MADAu4E,GAAG/+C,MAAQjoB,EACJgnE,EAUX,IAAI2E,GAAO,WAQP,GAAIA,KAqLJ,OA9KAA,GAAK8D,cAAgB,QAQrB9D,EAAK+D,WAAa,SAASt5D,EAAKE,GAC5B,GAAI02D,GAAK,IAIT,KAHmB,gBAAR52D,KACP42D,EAAK52D,EACLA,EAAM,WAAa,MAAO,QAChB,OAAP42D,GAAgC,QAAhBA,EAAK52D,MACpB42D,EAAK,IACL12D,EAAO,IAAH02D,GACCA,EAAK,MACV12D,EAAM02D,GAAI,EAAG,GAAM,KACnB12D,EAAQ,GAAH02D,EAAS,MACTA,EAAK,OACV12D,EAAM02D,GAAI,GAAI,GAAM,KACpB12D,EAAM02D,GAAI,EAAG,GAAM,KACnB12D,EAAQ,GAAH02D,EAAS,OAEd12D,EAAM02D,GAAI,GAAI,EAAM,KACpB12D,EAAM02D,GAAI,GAAI,GAAM,KACpB12D,EAAM02D,GAAI,EAAG,GAAM,KACnB12D,EAAQ,GAAH02D,EAAS,MAClBA,EAAK,MAabrB,EAAKoB,WAAa,SAAS32D,EAAKE,GAQ5B,IAPA,GAAI9nB,GAAGC,EAAGX,EAAGmI,EAAG6tB,EAAO,SAASr1B,GAC5BA,EAAIA,EAAEH,MAAM,EAAGG,EAAEwmB,QAAQ,MACzB,IAAI3e,GAAMb,MAAMhH,EAAE2K,WAGlB,MAFA9C,GAAIsT,KAAO,iBACXtT,EAAA,MAAe7H,EACT6H,GAEa,QAAf9H,EAAI4nB,MACR,GAAiB,KAAV,IAAF5nB,GACD8nB,EAAI9nB,OACH,IAAiB,OAAV,IAAFA,GACW,QAAfC,EAAI2nB,MAAoB0N,GAAMt1B,EAAGC,IACnC6nB,GAAQ,GAAF9nB,IAAS,EAAQ,GAAFC,OACpB,IAAiB,OAAV,IAAFD,IACS,QAAbC,EAAE2nB,MAAiC,QAAbtoB,EAAEsoB,OAAoB0N,GAAMt1B,EAAGC,EAAGX,IAC1DwoB,GAAQ,GAAF9nB,IAAS,IAAU,GAAFC,IAAS,EAAQ,GAAFX,OACrC,IAAiB,OAAV,IAAFU,GAGL,KAAMmQ,YAAW,0BAA0BnQ,IAF7B,QAAbC,EAAE2nB,MAAiC,QAAbtoB,EAAEsoB,MAAiC,QAAbngB,EAAEmgB,OAAoB0N,GAAMt1B,EAAGC,EAAGX,EAAGmI,IACnFqgB,GAAQ,EAAF9nB,IAAS,IAAU,GAAFC,IAAS,IAAU,GAAFX,IAAS,EAAQ,GAAFmI,KAYnE01E,EAAKgE,YAAc,SAASv5D,EAAKE,GAE7B,IADA,GAAIs5D,GAAIC,EAAK,OACA,CACT,GAAwC,QAAnCD,EAAY,OAAPC,EAAcA,EAAKz5D,KACzB,KACAw5D,IAAM,OAAUA,GAAM,OACD,QAAhBC,EAAKz5D,MACFy5D,GAAM,OAAUA,GAAM,OACtBv5D,EAAgB,MAAXs5D,EAAG,OAAcC,EAAG,MAAO,OAChCA,EAAK,MAIjBv5D,EAAIs5D,GAEG,OAAPC,GAAav5D,EAAIu5D,IAUzBlE,EAAKsB,YAAc,SAAS72D,EAAKE,GAC7B,GAAI02D,GAAK,IAGT,KAFmB,gBAAR52D,KACP42D,EAAK52D,EAAKA,EAAM,WAAa,MAAO,QAC1B,OAAP42D,GAAgC,QAAhBA,EAAK52D,MACpB42D,GAAM,MACN12D,EAAI02D,IAEJA,GAAM,MACN12D,GAAK02D,GAAI,IAAI,OACb12D,EAAK02D,EAAG,KAAO,QACnBA,EAAK,MAUbrB,EAAKG,kBAAoB,SAAS11D,EAAKE,GACnCq1D,EAAKgE,YAAYv5D,EAAK,SAAS42D,GAC3BrB,EAAK+D,WAAW1C,EAAI12D,MAY5Bq1D,EAAKM,kBAAoB,SAAS71D,EAAKE,GACnCq1D,EAAKoB,WAAW32D,EAAK,SAAS42D,GAC1BrB,EAAKsB,YAAYD,EAAI12D,MAS7Bq1D,EAAKmE,mBAAqB,SAAS9C,GAC/B,MAAQA,GAAK,IAAQ,EAAKA,EAAK,KAAS,EAAKA,EAAK,MAAW,EAAI,GASrErB,EAAKoE,cAAgB,SAAS35D,GAE1B,IADA,GAAI42D,GAAIthE,EAAE,EACc,QAAhBshE,EAAK52D,MACT1K,GAAMshE,EAAK,IAAQ,EAAKA,EAAK,KAAS,EAAKA,EAAK,MAAW,EAAI,CACnE,OAAOthE,IASXigE,EAAKC,qBAAuB,SAASx1D,GACjC,GAAIhc,GAAE,EAAGsR,EAAE,CAIX,OAHAigE,GAAKgE,YAAYv5D,EAAK,SAAS42D,KACzB5yE,EAAGsR,GAAMshE,EAAK,IAAQ,EAAKA,EAAK,KAAS,EAAKA,EAAK,MAAW,EAAI,KAEhE5yE,EAAEsR,IAGPigE,IA2DX,OA/CAjF,GAAoB+H,OAAS,SAASlB,EAAOx5B,GAGzC,GAFqB,mBAAVw5B,KAAuBA,EAAQ5+E,KAAK0/C,QAC5B,mBAAR0F,KAAqBA,EAAMplD,KAAKs5B,QACtCt5B,KAAK4qD,SAAU,CAChB,GAAqB,gBAAVg0B,IAAsBA,EAAQ,IAAM,EAC3C,KAAMz9E,WAAU,gCAEpB,IADAy9E,KAAW,EACQ,gBAARx5B,IAAoBA,EAAM,IAAM,EACvC,KAAMjkD,WAAU,8BAEpB,IADAikD,KAAS,EACLw5B,EAAQ,GAAKA,EAAQx5B,GAAOA,EAAMplD,KAAKqwC,OAAOD,WAC9C,KAAMpgC,YAAW,uBAAuB4uE,EAAM,OAAOx5B,EAAI,OAAOplD,KAAKqwC,OAAOD,YAEpF,GAAIitC,EAAI,KACJL,EAAKM,kBAAkB,WACnB,MAAOsB,GAAQx5B,EAAMplD,KAAK+vC,KAAK6uC,KAAW,MAC5C34E,KAAKjG,MAAOq9E,EAAKlG,KACrB,MAAO9vE,GACL,GAAIu3E,IAAUx5B,EACV,KAAMp1C,YAAW,kCAAkC4uE,EAAM,OAAOx5B,GAExE,MAAOi4B,MAaXxhC,EAAW28B,SAAW,SAASv7D,EAAKutC,EAAcI,GAC9C,IAAKA,GACkB,gBAAR3tC,GACP,KAAM9b,WAAU,4BACxB,IAAIk3E,GAAK,GAAIx8B,GAAWmhC,EAAKC,qBAAqB/F,EAAaj6D,IAAM,GAAM,GAAIutC,EAAcI,GACzFvrD,EAAI,CAKR,OAJA29E,GAAKG,kBAAkBjG,EAAaj6D,GAAM,SAASnd,GAC/Cu4E,EAAGtoC,KAAK1wC,KAAOS,IAEnBu4E,EAAG/+C,MAAQj6B,EACJg5E,GAGJx8B,MvJo4pBmB58C,KAAKJ,EAASH,EAAoB,IAAII,KAI9D,SAAUA,EAAQD,GwJxixBxBC,EAAAD,QAAA,WAA6B,SAAAiI,OAAA,oCxJ+ixBvB,SAAUhI,EAAQD,EAASH,GAEhC,GAAIs4E,GAAgCd,EAA8BC,GAA0D,SAASr3E,GAAS,YAE9I,IAAIoD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,KyJ7hxBvQ,SAAUX,EAAQ+2E,GAEgCv4E,EAAA,UAC1Cw3E,KAAAc,EAAA,EAAAb,EAAA,kBAAAa,KAAAj3E,MAAAlB,EAAAq3E,GAAAc,IAAA9yE,SAAAiyE,IAAAr3E,EAAAD,QAAAs3E,KACuE,WAAlBj0E,EAAOpD,IAAuBA,GAAUA,EAAA,QAC7FA,EAAA,QAAoBm4E,KAEnB/2E,EAAA,QAAoBA,EAAA,aAArB,KAAwD+2E,KAPhE/yE,OASS,WAaL,QAASixE,GAAKgF,EAAKC,EAAMt4B,GAMrB9hD,KAAKm6E,IAAY,EAANA,EAMXn6E,KAAKo6E,KAAc,EAAPA,EAMZp6E,KAAK8hD,WAAaA,EAwCtB,QAASm0B,GAAOp1E,GACZ,OAAQA,GAAOA,EAAA,eAAuB,EA+B1C,QAASwgF,GAAQz/E,EAAOkgD,GACpB,GAAIjhD,GAAKygF,EAAWtmD,CACpB,OAAI8mB,IACAlgD,KAAW,GACPo5B,EAAS,GAAKp5B,GAASA,EAAQ,OAC/B0/E,EAAYC,EAAW3/E,IAEZ0/E,GAEfzgF,EAAMg8E,EAASj7E,GAAgB,EAARA,GAAa,GAAI,EAAK,GAAG,GAC5Co5B,IACAumD,EAAW3/E,GAASf,GACjBA,KAEPe,GAAS,GACLo5B,GAAS,KAAQp5B,GAASA,EAAQ,OAClC0/E,EAAYE,EAAU5/E,IAEX0/E,GAEfzgF,EAAMg8E,EAASj7E,EAAOA,EAAQ,GAAI,EAAK,GAAG,GACtCo5B,IACAwmD,EAAU5/E,GAASf,GAChBA,IAmBf,QAASu0E,GAAWxzE,EAAOkgD,GACvB,GAAIp2C,MAAM9J,KAAWm4B,SAASn4B,GAC1B,MAAOkgD,GAAW2/B,EAAQC,CAC9B,IAAI5/B,EAAU,CACV,GAAIlgD,EAAQ,EACR,MAAO6/E,EACX,IAAI7/E,GAAS+/E,EACT,MAAOC,OACR,CACH,GAAIhgF,IAAUigF,EACV,MAAOC,EACX,IAAIlgF,EAAQ,GAAKigF,EACb,MAAOE,GAEf,MAAIngF,GAAQ,EACDwzE,GAAYxzE,EAAOkgD,GAAUkgC,MACjCnF,EAAUj7E,EAAQqgF,EAAkB,EAAIrgF,EAAQqgF,EAAkB,EAAGngC,GAmBhF,QAAS+6B,GAAStQ,EAASC,EAAU1qB,GACjC,MAAO,IAAIqzB,GAAK5I,EAASC,EAAU1qB,GA8BvC,QAAS+B,GAAW5mC,EAAK6kC,EAAUogC,GAC/B,GAAmB,IAAfjlE,EAAIxa,OACJ,KAAMqE,OAAM,eAChB,IAAY,QAARmW,GAAyB,aAARA,GAA8B,cAARA,GAA+B,cAARA,EAC9D,MAAOykE,EASX,IARwB,gBAAb5/B,IAEPogC,EAAQpgC,EACRA,GAAW,GAEXA,IAAcA,EAElBogC,EAAQA,GAAS,GACbA,EAAQ,GAAK,GAAKA,EAClB,KAAMlyE,YAAW,QAErB,IAAI5Q,EACJ,KAAKA,EAAI6d,EAAIqJ,QAAQ,MAAQ,EACzB,KAAMxf,OAAM,kBACX,IAAU,IAAN1H,EACL,MAAOykD,GAAW5mC,EAAIu3C,UAAU,GAAI1S,EAAUogC,GAAOF,KAQzD,KAAK,GAHDG,GAAe/M,EAAWgN,EAAQF,EAAO,IAEzCn5E,EAAS24E,EACJriF,EAAI,EAAGA,EAAI4d,EAAIxa,OAAQpD,GAAK,EAAG,CACpC,GAAI4oB,GAAO9gB,KAAKk6B,IAAI,EAAGpkB,EAAIxa,OAASpD,GAChCuC,EAAQgvB,SAAS3T,EAAIu3C,UAAUn1D,EAAGA,EAAI4oB,GAAOi6D,EACjD,IAAIj6D,EAAO,EAAG,CACV,GAAIo6D,GAAQjN,EAAWgN,EAAQF,EAAOj6D,GACtClf,GAASA,EAAO2jD,IAAI21B,GAAO5oB,IAAI2b,EAAWxzE,QAE1CmH,GAASA,EAAO2jD,IAAIy1B,GACpBp5E,EAASA,EAAO0wD,IAAI2b,EAAWxzE,IAIvC,MADAmH,GAAO+4C,SAAWA,EACX/4C,EAmBX,QAASu5E,GAAU5vE,GACf,MAAIA,aAAmCyiE,GAC5BziE,EACQ,gBAARA,GACA0iE,EAAW1iE,GACH,gBAARA,GACAmxC,EAAWnxC,GAEfmqE,EAASnqE,EAAIynE,IAAKznE,EAAI0nE,KAAM1nE,EAAIovC,UA7N3CqzB,EAAK51E,UAAUgjF,WAEfjjF,OAAOqD,eAAewyE,EAAK51E,UAAW,cAClCqC,OAAO,EACPC,YAAY,EACZE,cAAc,IAmBlBozE,EAAKc,OAASA,CAOd,IAAIuL,MAOAD,IA0CJpM,GAAKkM,QAAUA,EAkCflM,EAAKC,WAAaA,EAsBlBD,EAAK0H,SAAWA,CAShB,IAAIuF,GAAUj7E,KAAK0wC,GA4DnBs9B,GAAKtxB,WAAaA,EAyBlBsxB,EAAKmN,UAAYA,CAUjB,IAOIE,GAAiB,GAAK,GAOtBP,EAAiBQ,WAOjBd,EAAiBM,oBAOjBJ,EAAiBF,EAAiB,EAOlCe,EAAarB,EAAQmB,GAMrBd,EAAOL,EAAQ,EAMnBlM,GAAKuM,KAAOA,CAMZ,IAAID,GAAQJ,EAAQ,GAAG,EAMvBlM,GAAKsM,MAAQA,CAMb,IAAIlF,GAAM8E,EAAQ,EAMlBlM,GAAKoH,IAAMA,CAMX,IAAIoG,GAAOtB,EAAQ,GAAG,EAMtBlM,GAAKwN,KAAOA,CAMZ,IAAIC,GAAUvB,GAAQ,EAMtBlM,GAAKyN,QAAUA,CAMf,IAAIb,GAAYlF,GAAS,EAAc,YAAc,EAMrD1H,GAAK4M,UAAYA,CAMjB,IAAIH,GAAqB/E,GAAS,GAAc,GAAc,EAM9D1H,GAAKyM,mBAAqBA,CAM1B,IAAIE,GAAYjF,EAAS,GAAG,YAAc,EAM1C1H,GAAK2M,UAAYA,CAMjB,IAAIe,GAAgB1N,EAAK51E,SAsuBzB,OAhuBAsjF,GAAcjH,MAAQ,WAClB,MAAO57E,MAAK8hD,SAAW9hD,KAAKm6E,MAAQ,EAAIn6E,KAAKm6E,KAOjD0I,EAAcC,SAAW,WACrB,MAAI9iF,MAAK8hD,UACI9hD,KAAKo6E,OAAS,GAAK6H,GAAmBjiF,KAAKm6E,MAAQ,GACzDn6E,KAAKo6E,KAAO6H,GAAkBjiF,KAAKm6E,MAAQ,IAUtD0I,EAAcp4E,SAAW,SAAkBy3E,GAEvC,GADAA,EAAQA,GAAS,GACbA,EAAQ,GAAK,GAAKA,EAClB,KAAMlyE,YAAW,QACrB,IAAIhQ,KAAK+iF,SACL,MAAO,GACX,IAAI/iF,KAAKgjF,aAAc,CACnB,GAAIhjF,KAAKijF,GAAGnB,GAAY,CAGpB,GAAIoB,GAAY9N,EAAW8M,GACvB9+D,EAAMpjB,KAAKojB,IAAI8/D,GACfC,EAAO//D,EAAIspC,IAAIw2B,GAAW90B,IAAIpuD,KAClC,OAAOojB,GAAI3Y,SAASy3E,GAASiB,EAAKvH,QAAQnxE,SAASy3E,GAEnD,MAAO,IAAMliF,KAAKgiF,MAAMv3E,SAASy3E,GAQzC,IAHA,GAAIC,GAAe/M,EAAWgN,EAAQF,EAAO,GAAIliF,KAAK8hD,UAClDuqB,EAAMrsE,KACN+I,EAAS,KACA,CACT,GAAIq6E,GAAS/W,EAAIjpD,IAAI++D,GACjBkB,EAAShX,EAAIje,IAAIg1B,EAAO12B,IAAIy1B,IAAevG,UAAY,EACvD7I,EAASsQ,EAAO54E,SAASy3E,EAE7B,IADA7V,EAAM+W,EACF/W,EAAI0W,SACJ,MAAOhQ,GAAShqE,CAEhB,MAAOgqE,EAAOtwE,OAAS,GACnBswE,EAAS,IAAMA,CACnBhqE,GAAS,GAAKgqE,EAAShqE,IASnC85E,EAAcS,YAAc,WACxB,MAAOtjF,MAAKo6E,MAOhByI,EAAcU,oBAAsB,WAChC,MAAOvjF,MAAKo6E,OAAS,GAOzByI,EAAcW,WAAa,WACvB,MAAOxjF,MAAKm6E,KAOhB0I,EAAcY,mBAAqB,WAC/B,MAAOzjF,MAAKm6E,MAAQ,GAOxB0I,EAAca,cAAgB,WAC1B,GAAI1jF,KAAKgjF,aACL,MAAOhjF,MAAKijF,GAAGnB,GAAa,GAAK9hF,KAAKgiF,MAAM0B,eAEhD,KAAK,GADDhxE,GAAmB,GAAb1S,KAAKo6E,KAAYp6E,KAAKo6E,KAAOp6E,KAAKm6E,IACnCvB,EAAM,GAAIA,EAAM,GACK,IAArBlmE,EAAO,GAAKkmE,GADOA,KAG5B,MAAoB,IAAb54E,KAAKo6E,KAAYxB,EAAM,GAAKA,EAAM,GAO7CiK,EAAcE,OAAS,WACnB,MAAqB,KAAd/iF,KAAKo6E,MAA2B,IAAbp6E,KAAKm6E,KAOnC0I,EAAcG,WAAa,WACvB,OAAQhjF,KAAK8hD,UAAY9hD,KAAKo6E,KAAO,GAOzCyI,EAAcc,WAAa,WACvB,MAAO3jF,MAAK8hD,UAAY9hD,KAAKo6E,MAAQ,GAOzCyI,EAAce,MAAQ,WAClB,MAA0B,MAAP,EAAX5jF,KAAKm6E,MAOjB0I,EAAcgB,OAAS,WACnB,MAA0B,MAAP,EAAX7jF,KAAKm6E,MAQjB0I,EAAc52B,OAAS,SAAgB63B,GAGnC,MAFK7N,GAAO6N,KACRA,EAAQxB,EAAUwB,KAClB9jF,KAAK8hD,WAAagiC,EAAMhiC,UAAa9hD,KAAKo6E,OAAS,KAAQ,GAAM0J,EAAM1J,OAAS,KAAQ,KAErFp6E,KAAKo6E,OAAS0J,EAAM1J,MAAQp6E,KAAKm6E,MAAQ2J,EAAM3J,MAS1D0I,EAAcI,GAAKJ,EAAc52B,OAOjC42B,EAAckB,UAAY,SAAmBD,GACzC,OAAQ9jF,KAAKijF,GAAmBa,IASpCjB,EAAcmB,IAAMnB,EAAckB,UAOlClB,EAAcoB,SAAW,SAAkBH,GACvC,MAAO9jF,MAAKkkF,KAAqBJ,GAAS,GAS9CjB,EAAcsB,GAAKtB,EAAcoB,SAOjCpB,EAAcuB,gBAAkB,SAAyBN,GACrD,MAAO9jF,MAAKkkF,KAAqBJ,IAAU,GAS/CjB,EAAcwB,IAAMxB,EAAcuB,gBAOlCvB,EAAcyB,YAAc,SAAqBR,GAC7C,MAAO9jF,MAAKkkF,KAAqBJ,GAAS,GAS9CjB,EAAc0B,GAAK1B,EAAcyB,YAOjCzB,EAAc2B,mBAAqB,SAA4BV,GAC3D,MAAO9jF,MAAKkkF,KAAqBJ,IAAU,GAS/CjB,EAAc4B,IAAM5B,EAAc2B,mBAQlC3B,EAAcz+B,QAAU,SAAiB0/B,GAGrC,GAFK7N,EAAO6N,KACRA,EAAQxB,EAAUwB,IAClB9jF,KAAKijF,GAAGa,GACR,MAAO,EACX,IAAIY,GAAU1kF,KAAKgjF,aACf2B,EAAWb,EAAMd,YACrB,OAAI0B,KAAYC,GACL,GACND,GAAWC,EACL,EAEN3kF,KAAK8hD,SAGFgiC,EAAM1J,OAAS,EAAMp6E,KAAKo6E,OAAS,GAAO0J,EAAM1J,OAASp6E,KAAKo6E,MAAS0J,EAAM3J,MAAQ,EAAMn6E,KAAKm6E,MAAQ,GAAM,EAAK,EAFhHn6E,KAAKouD,IAAI01B,GAAOd,cAAe,EAAK,GAYnDH,EAAcqB,KAAOrB,EAAcz+B,QAMnCy+B,EAAcrG,OAAS,WACnB,OAAKx8E,KAAK8hD,UAAY9hD,KAAKijF,GAAGnB,GACnBA,EACJ9hF,KAAK4kF,MAAMnrB,IAAI8iB,IAQ1BsG,EAAcb,IAAMa,EAAcrG,OAOlCqG,EAAcppB,IAAM,SAAaorB,GACxB5O,EAAO4O,KACRA,EAASvC,EAAUuC,GAIvB,IAAIC,GAAM9kF,KAAKo6E,OAAS,GACpB2K,EAAkB,MAAZ/kF,KAAKo6E,KACX4K,EAAMhlF,KAAKm6E,MAAQ,GACnB8K,EAAiB,MAAXjlF,KAAKm6E,IAEX+K,EAAML,EAAOzK,OAAS,GACtB+K,EAAoB,MAAdN,EAAOzK,KACbgL,EAAMP,EAAO1K,MAAQ,GACrBkL,EAAmB,MAAbR,EAAO1K,IAEbmL,EAAM,EAAGC,EAAM,EAAGC,EAAM,EAAGC,EAAM,CAYrC,OAXAA,IAAOR,EAAMI,EACbG,GAAOC,IAAQ,GACfA,GAAO,MACPD,GAAOR,EAAMI,EACbG,GAAOC,IAAQ,GACfA,GAAO,MACPD,GAAOR,EAAMI,EACbG,GAAOC,IAAQ,GACfA,GAAO,MACPD,GAAOR,EAAMI,EACbI,GAAO,MACAzI,EAAU2I,GAAO,GAAMC,EAAMH,GAAO,GAAMC,EAAKvlF,KAAK8hD,WAQ/D+gC,EAAc6C,SAAW,SAAkBC,GAGvC,MAFK1P,GAAO0P,KACRA,EAAarD,EAAUqD,IACpB3lF,KAAKy5D,IAAIksB,EAAW3D,QAS/Ba,EAAcz0B,IAAMy0B,EAAc6C,SAOlC7C,EAAc+C,SAAW,SAAkBC,GACvC,GAAI7lF,KAAK+iF,SACL,MAAOrB,EAGX,IAFKzL,EAAO4P,KACRA,EAAavD,EAAUuD,IACvBA,EAAW9C,SACX,MAAOrB,EACX,IAAI1hF,KAAKijF,GAAGnB,GACR,MAAO+D,GAAWjC,QAAU9B,EAAYJ,CAC5C,IAAImE,EAAW5C,GAAGnB,GACd,MAAO9hF,MAAK4jF,QAAU9B,EAAYJ,CAEtC,IAAI1hF,KAAKgjF,aACL,MAAI6C,GAAW7C,aACJhjF,KAAKgiF,MAAMt1B,IAAIm5B,EAAW7D,OAE1BhiF,KAAKgiF,MAAMt1B,IAAIm5B,GAAY7D,KACnC,IAAI6D,EAAW7C,aAClB,MAAOhjF,MAAK0sD,IAAIm5B,EAAW7D,OAAOA,KAGtC,IAAIhiF,KAAKmkF,GAAGzB,IAAemD,EAAW1B,GAAGzB,GACrC,MAAOtN,GAAWp1E,KAAK8iF,WAAa+C,EAAW/C,WAAY9iF,KAAK8hD,SAKpE,IAAIgjC,GAAM9kF,KAAKo6E,OAAS,GACpB2K,EAAkB,MAAZ/kF,KAAKo6E,KACX4K,EAAMhlF,KAAKm6E,MAAQ,GACnB8K,EAAiB,MAAXjlF,KAAKm6E,IAEX+K,EAAMW,EAAWzL,OAAS,GAC1B+K,EAAwB,MAAlBU,EAAWzL,KACjBgL,EAAMS,EAAW1L,MAAQ,GACzBkL,EAAuB,MAAjBQ,EAAW1L,IAEjBmL,EAAM,EAAGC,EAAM,EAAGC,EAAM,EAAGC,EAAM,CAqBrC,OApBAA,IAAOR,EAAMI,EACbG,GAAOC,IAAQ,GACfA,GAAO,MACPD,GAAOR,EAAMK,EACbE,GAAOC,IAAQ,GACfA,GAAO,MACPA,GAAOP,EAAMG,EACbG,GAAOC,IAAQ,GACfA,GAAO,MACPD,GAAOR,EAAMM,EACbC,GAAOC,IAAQ,GACfA,GAAO,MACPA,GAAOP,EAAMI,EACbE,GAAOC,IAAQ,GACfA,GAAO,MACPA,GAAON,EAAME,EACbG,GAAOC,IAAQ,GACfA,GAAO,MACPD,GAAOR,EAAMO,EAAMN,EAAMK,EAAMJ,EAAMG,EAAMF,EAAMC,EACjDI,GAAO,MACAzI,EAAU2I,GAAO,GAAMC,EAAMH,GAAO,GAAMC,EAAKvlF,KAAK8hD,WAS/D+gC,EAAcn2B,IAAMm2B,EAAc+C,SAQlC/C,EAAciD,OAAS,SAAgBC,GAGnC,GAFK9P,EAAO8P,KACRA,EAAUzD,EAAUyD,IACpBA,EAAQhD,SACR,KAAMj8E,OAAM,mBAChB,IAAI9G,KAAK+iF,SACL,MAAO/iF,MAAK8hD,SAAW2/B,EAAQC,CACnC,IAAIsE,GAAQ3Z,EAAK3kE,CACjB,IAAK1H,KAAK8hD,SA6BH,CAKH,GAFKikC,EAAQjkC,WACTikC,EAAUA,EAAQ3J,cAClB2J,EAAQxB,GAAGvkF,MACX,MAAOyhF,EACX,IAAIsE,EAAQxB,GAAGvkF,KAAKimF,KAAK,IACrB,MAAOtD,EACXj7E,GAAM+5E,MAtCU,CAGhB,GAAIzhF,KAAKijF,GAAGnB,GAAY,CACpB,GAAIiE,EAAQ9C,GAAG1G,IAAQwJ,EAAQ9C,GAAGL,GAC9B,MAAOd,EACN,IAAIiE,EAAQ9C,GAAGnB,GAChB,MAAOvF,EAGP,IAAI2J,GAAWlmF,KAAKmmF,IAAI,EAExB,OADAH,GAASE,EAAS9iE,IAAI2iE,GAASK,IAAI,GAC/BJ,EAAO/C,GAAGvB,GACHqE,EAAQ/C,aAAezG,EAAMqG,GAEpCvW,EAAMrsE,KAAKouD,IAAI23B,EAAQr5B,IAAIs5B,IAC3Bt+E,EAAMs+E,EAAOvsB,IAAI4S,EAAIjpD,IAAI2iE,KAI9B,GAAIA,EAAQ9C,GAAGnB,GAClB,MAAO9hF,MAAK8hD,SAAW2/B,EAAQC,CACnC,IAAI1hF,KAAKgjF,aACL,MAAI+C,GAAQ/C,aACDhjF,KAAKgiF,MAAM5+D,IAAI2iE,EAAQ/D,OAC3BhiF,KAAKgiF,MAAM5+D,IAAI2iE,GAAS/D,KAC5B,IAAI+D,EAAQ/C,aACf,MAAOhjF,MAAKojB,IAAI2iE,EAAQ/D,OAAOA,KACnCt6E,GAAMg6E,EAmBV,IADArV,EAAMrsE,KACCqsE,EAAIoY,IAAIsB,IAAU,CAGrBC,EAAS7+E,KAAKmvB,IAAI,EAAGnvB,KAAK2vC,MAAMu1B,EAAIyW,WAAaiD,EAAQjD,YAWzD,KAPA,GAAIuD,GAAOl/E,KAAK4vC,KAAK5vC,KAAKN,IAAIm/E,GAAU7+E,KAAKopD,KACzC+1B,EAASD,GAAQ,GAAM,EAAIjE,EAAQ,EAAGiE,EAAO,IAI7CE,EAAYnR,EAAW4Q,GACvBQ,EAAYD,EAAU75B,IAAIq5B,GACvBS,EAAUxD,cAAgBwD,EAAUjC,GAAGlY,IAC1C2Z,GAAUM,EACVC,EAAYnR,EAAW4Q,EAAQhmF,KAAK8hD,UACpC0kC,EAAYD,EAAU75B,IAAIq5B,EAK1BQ,GAAUxD,WACVwD,EAAYhK,GAEhB70E,EAAMA,EAAI+xD,IAAI8sB,GACdla,EAAMA,EAAIje,IAAIo4B,GAElB,MAAO9+E,IASXm7E,EAAcz/D,IAAMy/D,EAAciD,OAOlCjD,EAAc4D,OAAS,SAAgBV,GAGnC,MAFK9P,GAAO8P,KACRA,EAAUzD,EAAUyD,IACjB/lF,KAAKouD,IAAIpuD,KAAKojB,IAAI2iE,GAASr5B,IAAIq5B,KAS1ClD,EAAc6D,IAAM7D,EAAc4D,OAMlC5D,EAAc+B,IAAM,WAChB,MAAO/H,IAAU78E,KAAKm6E,KAAMn6E,KAAKo6E,KAAMp6E,KAAK8hD,WAQhD+gC,EAAcvG,IAAM,SAAawH,GAG7B,MAFK7N,GAAO6N,KACRA,EAAQxB,EAAUwB,IACfjH,EAAS78E,KAAKm6E,IAAM2J,EAAM3J,IAAKn6E,KAAKo6E,KAAO0J,EAAM1J,KAAMp6E,KAAK8hD,WAQvE+gC,EAActN,GAAK,SAAYuO,GAG3B,MAFK7N,GAAO6N,KACRA,EAAQxB,EAAUwB,IACfjH,EAAS78E,KAAKm6E,IAAM2J,EAAM3J,IAAKn6E,KAAKo6E,KAAO0J,EAAM1J,KAAMp6E,KAAK8hD,WAQvE+gC,EAAc3G,IAAM,SAAa4H,GAG7B,MAFK7N,GAAO6N,KACRA,EAAQxB,EAAUwB,IACfjH,EAAS78E,KAAKm6E,IAAM2J,EAAM3J,IAAKn6E,KAAKo6E,KAAO0J,EAAM1J,KAAMp6E,KAAK8hD,WAQvE+gC,EAAcvN,UAAY,SAAmBqR,GAGzC,MAFI1Q,GAAO0Q,KACPA,EAAUA,EAAQ/K,SACE,KAAnB+K,GAAW,IACL3mF,KACF2mF,EAAU,GACR9J,EAAS78E,KAAKm6E,KAAOwM,EAAU3mF,KAAKo6E,MAAQuM,EAAY3mF,KAAKm6E,MAAS,GAAKwM,EAAW3mF,KAAK8hD,UAE3F+6B,EAAS,EAAG78E,KAAKm6E,KAAQwM,EAAU,GAAK3mF,KAAK8hD,WAS5D+gC,EAAcuD,IAAMvD,EAAcvN,UAOlCuN,EAAc1G,WAAa,SAAoBwK,GAG3C,MAFI1Q,GAAO0Q,KACPA,EAAUA,EAAQ/K,SACE,KAAnB+K,GAAW,IACL3mF,KACF2mF,EAAU,GACR9J,EAAU78E,KAAKm6E,MAAQwM,EAAY3mF,KAAKo6E,MAAS,GAAKuM,EAAW3mF,KAAKo6E,MAAQuM,EAAS3mF,KAAK8hD,UAE5F+6B,EAAS78E,KAAKo6E,MAASuM,EAAU,GAAK3mF,KAAKo6E,MAAQ,EAAI,GAAI,EAAIp6E,KAAK8hD,WASnF+gC,EAAcsD,IAAMtD,EAAc1G,WAOlC0G,EAAc/G,mBAAqB,SAA4B6K,GAI3D,GAHI1Q,EAAO0Q,KACPA,EAAUA,EAAQ/K,SACtB+K,GAAW,GACK,IAAZA,EACA,MAAO3mF,KAEP,IAAIo6E,GAAOp6E,KAAKo6E,IAChB,IAAIuM,EAAU,GAAI,CACd,GAAIxM,GAAMn6E,KAAKm6E,GACf,OAAO0C,GAAU1C,IAAQwM,EAAYvM,GAAS,GAAKuM,EAAWvM,IAASuM,EAAS3mF,KAAK8hD,UAClF,MAAgB,MAAZ6kC,EACA9J,EAASzC,EAAM,EAAGp6E,KAAK8hD,UAEvB+6B,EAASzC,IAAUuM,EAAU,GAAK,EAAG3mF,KAAK8hD,WAU7D+gC,EAAcoD,KAAOpD,EAAc/G,mBAMnC+G,EAAc5G,SAAW,WACrB,MAAKj8E,MAAK8hD,SAEH+6B,EAAS78E,KAAKm6E,IAAKn6E,KAAKo6E,MAAM,GAD1Bp6E,MAQf6iF,EAAczG,WAAa,WACvB,MAAIp8E,MAAK8hD,SACE9hD,KACJ68E,EAAS78E,KAAKm6E,IAAKn6E,KAAKo6E,MAAM,IAQzCyI,EAAc+D,QAAU,SAASC,GAC7B,MAAOA,GAAK7mF,KAAK8mF,YAAc9mF,KAAK+mF,aAOxClE,EAAciE,UAAY,WACtB,GAAIz7B,GAAKrrD,KAAKo6E,KACV9uB,EAAKtrD,KAAKm6E,GACd,QACkB,IAAb7uB,EACAA,IAAQ,EAAK,IACbA,IAAO,GAAM,IACbA,IAAO,GAAM,IACA,IAAbD,EACAA,IAAQ,EAAK,IACbA,IAAO,GAAM,IACbA,IAAO,GAAM,MAQtBw3B,EAAckE,UAAY,WACtB,GAAI17B,GAAKrrD,KAAKo6E,KACV9uB,EAAKtrD,KAAKm6E,GACd,QACK9uB,IAAO,GAAM,IACbA,IAAO,GAAM,IACbA,IAAQ,EAAK,IACA,IAAbA,EACAC,IAAO,GAAM,IACbA,IAAO,GAAM,IACbA,IAAQ,EAAK,IACA,IAAbA,IAIF6pB,MzJw9wBmBl2E,KAAKJ,EAASH,EAAoB,IAAII,KAI9D,SAAUA,EAAQD,EAASH,GAEhC,Y0JjpzBD,SAASsoF,KACP,MAAO1nF,QAAOid,KAAK0qE,GALrB,GAAIC,GAAUxoF,EAAQ,KAClByoF,EAAYzoF,EAAQ,KACpBuoF,EAAQvoF,EAAQ,IAMpBG,GAAQuoF,aAAevoF,EAAQwoF,OAASH,EAAQE,aAChDvoF,EAAQk2E,eAAiBl2E,EAAQyoF,SAAWJ,EAAQnS,eACpDl2E,EAAQ0oF,eAAiB1oF,EAAQ2oF,SAAWL,EAAUI,eACtD1oF,EAAQg2E,iBAAmBh2E,EAAQ4oF,WAAaN,EAAUtS,iBAC1Dh2E,EAAQ6oF,YAAc7oF,EAAQmoF,WAAaA,G1J2pzBrC,SAAUloF,EAAQD,EAASH,GAEhC,Y2JhqzBD,SAAS2oF,GAAQ7+E,EAAM5F,EAAKwxE,GAC1B3W,EAAUx+D,KAAKe,MAEfA,KAAK2nF,OAAS,GAAIC,GAClB5nF,KAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,GAC3B5C,KAAKgoF,MAAQ7+C,EAAOvrB,KAAKw2D,GACzBp0E,KAAKioF,MAAQz/E,EACbxI,KAAKkoF,cAAe,EAwCtB,QAASN,KACP5nF,KAAKg7B,MAAQmO,EAAOsd,YAAY,GA4BlC,QAASsuB,GAAgBoT,EAAOC,EAAUhU,GACxC,GAAI7zE,GAAS8nF,EAAMF,EAAMxoE,cACzB,KAAKpf,EAAQ,KAAM,IAAIY,WAAU,qBAGjC,IADwB,gBAAbinF,KAAuBA,EAAWj/C,EAAOvrB,KAAKwqE,IACrDA,EAAS3lF,SAAWlC,EAAOqC,IAAM,EAAG,KAAM,IAAIzB,WAAU,sBAAwBinF,EAAS3lF,OAG7F,IADkB,gBAAP2xE,KAAiBA,EAAKjrC,EAAOvrB,KAAKw2D,IACzB,QAAhB7zE,EAAOiI,MAAkB4rE,EAAG3xE,SAAWlC,EAAO6zE,GAAI,KAAM,IAAIjzE,WAAU,qBAAuBizE,EAAG3xE,OAEpG,OAAoB,WAAhBlC,EAAOqL,KACF,GAAI08E,GAAa/nF,EAAOzB,OAAQspF,EAAUhU,GACxB,SAAhB7zE,EAAOqL,KACT,GAAI28E,GAAWhoF,EAAOzB,OAAQspF,EAAUhU,GAG1C,GAAIiT,GAAO9mF,EAAOzB,OAAQspF,EAAUhU,GAG7C,QAASgT,GAAce,EAAOC,GAC5B,GAAI7nF,GAAS8nF,EAAMF,EAAMxoE,cACzB,KAAKpf,EAAQ,KAAM,IAAIY,WAAU,qBAEjC,IAAIob,GAAOisE,EAAKJ,GAAU,EAAO7nF,EAAOqC,IAAKrC,EAAO6zE,GACpD,OAAOW,GAAeoT,EAAO5rE,EAAK3Z,IAAK2Z,EAAK63D,IA7G9C,GAAIiU,GAAQ3pF,EAAQ,KAChB6pF,EAAa7pF,EAAQ,KACrByqC,EAASzqC,EAAQ,KAAeyqC,OAChCm/C,EAAe5pF,EAAQ,KACvB++D,EAAY/+D,EAAQ,KACpBopF,EAAMppF,EAAQ,KACd8pF,EAAO9pF,EAAQ,KACf2f,EAAW3f,EAAQ,IAYvB2f,GAASgpE,EAAQ5pB,GAEjB4pB,EAAO9nF,UAAUq7D,QAAU,SAAU3zD,GACnCjH,KAAK2nF,OAAOluB,IAAIxyD,EAKhB,KAJA,GAAI42D,GACA4qB,EACAv+B,KAEI2T,EAAQ79D,KAAK2nF,OAAOvrE,OAC1BqsE,EAAQzoF,KAAKioF,MAAM5U,QAAQrzE,KAAM69D,GACjC3T,EAAI79C,KAAKo8E,EAGX,OAAOt/C,GAAOlpC,OAAOiqD,GAGvB,IAAIw+B,GAAUv/C,EAAOyd,MAAM,GAAI,GAE/BygC,GAAO9nF,UAAUs7D,OAAS,WACxB,GAAIgD,GAAQ79D,KAAK2nF,OAAOzc,OACxB,IAAIlrE,KAAKkoF,aAGP,MAFArqB,GAAQ79D,KAAKioF,MAAM5U,QAAQrzE,KAAM69D,GACjC79D,KAAK6nF,QAAQc,QACN9qB,CAGT,KAAKA,EAAM5R,OAAOy8B,GAEhB,KADA1oF,MAAK6nF,QAAQc,QACP,GAAI7hF,OAAM,sCAIpBugF,EAAO9nF,UAAUwyE,eAAiB,SAAU6W,GAE1C,MADA5oF,MAAKkoF,eAAiBU,EACf5oF,MAOT4nF,EAASroF,UAAUk6D,IAAM,SAAUxyD,GACjCjH,KAAKg7B,MAAQmO,EAAOlpC,QAAQD,KAAKg7B,MAAO/zB,KAG1C2gF,EAASroF,UAAU6c,IAAM,WACvB,GAAIpc,KAAKg7B,MAAMv4B,OAAS,GAAI,CAC1B,GAAIynD,GAAMlqD,KAAKg7B,MAAMr7B,MAAM,EAAG,GAE9B,OADAK,MAAKg7B,MAAQh7B,KAAKg7B,MAAMr7B,MAAM,IACvBuqD,EAET,MAAO,OAGT09B,EAASroF,UAAU2rE,MAAQ,WAKzB,IAJA,GAAIn/D,GAAM,GAAK/L,KAAKg7B,MAAMv4B,OACtBomF,EAAU1/C,EAAOsd,YAAY16C,GAE7B1M,GAAI,IACCA,EAAI0M,GACX88E,EAAQ/6B,WAAW/hD,EAAK1M,EAG1B,OAAO8pC,GAAOlpC,QAAQD,KAAKg7B,MAAO6tD,KA8BpChqF,EAAQk2E,eAAiBA,EACzBl2E,EAAQuoF,aAAeA,G3J+qzBjB,SAAUtoF,EAAQD,EAASH,GAEhC,Y4JlyzBD,IAAIoqF,IACFC,IAAKrqF,EAAQ,KACbsqF,IAAKtqF,EAAQ,KACbuqF,IAAKvqF,EAAQ,KACbwqF,KAAMxqF,EAAQ,KACdyqF,KAAMzqF,EAAQ,KACd0qF,IAAK1qF,EAAQ,KACb2qF,IAAK3qF,EAAQ,KACb4qF,IAAK5qF,EAAQ,MAGXuoF,EAAQvoF,EAAQ,IAEpB,KAAK,GAAIkE,KAAOqkF,GACdA,EAAMrkF,GAAK9D,OAASgqF,EAAY7B,EAAMrkF,GAAK4F,KAG7C1J,GAAOD,QAAUooF,G5JwyzBX,SAAUnoF,EAAQD,GAEvB,Y6J3zzBDA,GAAQw0E,QAAU,SAAUhyE,EAAMwyD,GAChC,MAAOxyD,GAAKwmF,QAAQ0B,aAAa11B,IAGnCh1D,EAAQ60E,QAAU,SAAUryE,EAAMwyD,GAChC,MAAOxyD,GAAKwmF,QAAQ2B,aAAa31B,K7Jk0zB7B,SAAU/0D,EAAQD,EAASH,GAEhC,Y8Jz0zBD,IAAIw9E,GAAMx9E,EAAQ,IAElBG,GAAQw0E,QAAU,SAAUhyE,EAAMwyD,GAChC,GAAI5sD,GAAOi1E,EAAIroB,EAAOxyD,EAAK2mF,MAG3B,OADA3mF,GAAK2mF,MAAQ3mF,EAAKwmF,QAAQ0B,aAAatiF,GAChC5F,EAAK2mF,OAGdnpF,EAAQ60E,QAAU,SAAUryE,EAAMwyD,GAChC,GAAIoD,GAAM51D,EAAK2mF,KAEf3mF,GAAK2mF,MAAQn0B,CACb,IAAI3J,GAAM7oD,EAAKwmF,QAAQ2B,aAAa31B,EAEpC,OAAOqoB,GAAIhyB,EAAK+M,K9Jg1zBZ,SAAUn4D,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y+Jj2zB/CrqC,GAAOD,QAAU,SAAcgB,EAAGC,GAIhC,IAAK,GAHD2C,GAAS0E,KAAKk6B,IAAIxhC,EAAE4C,OAAQ3C,EAAE2C,QAC9B4tC,EAAS,GAAIlH,GAAO1mC,GAEfpD,EAAI,EAAGA,EAAIoD,IAAUpD,EAC5BgxC,EAAOhxC,GAAKQ,EAAER,GAAKS,EAAET,EAGvB,OAAOgxC,M/Jq2zBqBpxC,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YgKh3zBD,SAAS+qF,GAAcpoF,EAAM4F,EAAMysE,GACjC,GAAI3nE,GAAM9E,EAAKxE,OACXynD,EAAMgyB,EAAIj1E,EAAM5F,EAAKsmF,OAGzB,OAFAtmF,GAAKsmF,OAAStmF,EAAKsmF,OAAOhoF,MAAMoM,GAChC1K,EAAK2mF,MAAQ7+C,EAAOlpC,QAAQoB,EAAK2mF,MAAOtU,EAAUzsE,EAAOijD,IAClDA,EART,GAAI/gB,GAASzqC,EAAQ,KAAeyqC,OAChC+yC,EAAMx9E,EAAQ,IAUlBG,GAAQw0E,QAAU,SAAUhyE,EAAM4F,EAAMysE,GAItC,IAHA,GACI3nE,GADAm+C,EAAM/gB,EAAOsd,YAAY,GAGtBx/C,EAAKxE,QAAQ,CAMlB,GAL2B,IAAvBpB,EAAKsmF,OAAOllF,SACdpB,EAAKsmF,OAAStmF,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,OAC7C3mF,EAAK2mF,MAAQ7+C,EAAOsd,YAAY,MAG9BplD,EAAKsmF,OAAOllF,QAAUwE,EAAKxE,QAIxB,CACLynD,EAAM/gB,EAAOlpC,QAAQiqD,EAAKu/B,EAAapoF,EAAM4F,EAAMysE,IACnD,OALA3nE,EAAM1K,EAAKsmF,OAAOllF,OAClBynD,EAAM/gB,EAAOlpC,QAAQiqD,EAAKu/B,EAAapoF,EAAM4F,EAAKtH,MAAM,EAAGoM,GAAM2nE,KACjEzsE,EAAOA,EAAKtH,MAAMoM,GAOtB,MAAOm+C,KhK03zBH,SAAUprD,EAAQD,EAASH,GAEhC,YiKz5zBD,SAASgrF,GAAaroF,EAAMsoF,EAAWjW,GACrC,GAAIzc,GAAM51D,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,OACrC99B,EAAM+M,EAAI,GAAK0yB,CAOnB,OALAtoF,GAAK2mF,MAAQ7+C,EAAOlpC,QAClBoB,EAAK2mF,MAAMroF,MAAM,GACjBwpC,EAAOvrB,MAAM81D,EAAUiW,EAAYz/B,MAG9BA,EAXT,GAAI/gB,GAASzqC,EAAQ,KAAeyqC,MAcpCtqC,GAAQw0E,QAAU,SAAUhyE,EAAMw8D,EAAO6V,GAKvC,IAJA,GAAI3nE,GAAM8xD,EAAMp7D,OACZynD,EAAM/gB,EAAOsd,YAAY16C,GACzB1M,GAAI,IAECA,EAAI0M,GACXm+C,EAAI7qD,GAAKqqF,EAAYroF,EAAMw8D,EAAMx+D,GAAIq0E,EAGvC,OAAOxpB,KjK+5zBH,SAAUprD,EAAQD,EAASH,GAEhC,YkKt7zBD,SAASgrF,GAAaroF,EAAMsoF,EAAWjW,GAMrC,IALA,GAAIzc,GAIA2hB,EAAKh3E,EAHLvC,GAAI,EACJ0M,EAAM,EACNm+C,EAAM,IAED7qD,EAAI0M,GACXkrD,EAAM51D,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,OACrCpP,EAAO+Q,EAAa,GAAM,EAAItqF,EAAO,IAAO,EAC5CuC,EAAQq1D,EAAI,GAAK2hB,EACjB1uB,IAAiB,IAARtoD,IAAkBvC,EAAI,EAC/BgC,EAAK2mF,MAAQ4B,EAAQvoF,EAAK2mF,MAAOtU,EAAUkF,EAAMh3E,EAEnD,OAAOsoD,GAGT,QAAS0/B,GAASv5C,EAAQzuC,GACxB,GAAImK,GAAMskC,EAAO5tC,OACbpD,GAAI,EACJ6qD,EAAM/gB,EAAOsd,YAAYpW,EAAO5tC,OAGpC,KAFA4tC,EAASlH,EAAOlpC,QAAQowC,EAAQlH,EAAOvrB,MAAMhc,QAEpCvC,EAAI0M,GACXm+C,EAAI7qD,GAAKgxC,EAAOhxC,IAAM,EAAIgxC,EAAOhxC,EAAI,IAAO,CAG9C,OAAO6qD,GA5BT,GAAI/gB,GAASzqC,EAAQ,KAAeyqC,MA+BpCtqC,GAAQw0E,QAAU,SAAUhyE,EAAMw8D,EAAO6V,GAKvC,IAJA,GAAI3nE,GAAM8xD,EAAMp7D,OACZynD,EAAM/gB,EAAOsd,YAAY16C,GACzB1M,GAAI,IAECA,EAAI0M,GACXm+C,EAAI7qD,GAAKqqF,EAAYroF,EAAMw8D,EAAMx+D,GAAIq0E,EAGvC,OAAOxpB,KlK+7zBH,SAAUprD,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YmKv+zB/C,SAAS3/B,GAAUnI,GAEjB,MADAA,GAAK2mF,MAAQ3mF,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,OACrC3mF,EAAK2mF,MAJd,GAAI9L,GAAMx9E,EAAQ,IAOlBG,GAAQw0E,QAAU,SAAUhyE,EAAMw8D,GAChC,KAAOx8D,EAAKsmF,OAAOllF,OAASo7D,EAAMp7D,QAChCpB,EAAKsmF,OAASx+C,EAAOlpC,QAAQoB,EAAKsmF,OAAQn+E,EAASnI,IAGrD,IAAI41D,GAAM51D,EAAKsmF,OAAOhoF,MAAM,EAAGk+D,EAAMp7D,OAErC,OADApB,GAAKsmF,OAAStmF,EAAKsmF,OAAOhoF,MAAMk+D,EAAMp7D,QAC/By5E,EAAIre,EAAO5G,MnK6+zBUh4D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YoK7/zBD,SAAS8K,GAAUnI,GACjB,GAAI6oD,GAAM7oD,EAAKwmF,QAAQgC,gBAAgBxoF,EAAK2mF,MAE5C,OADA8B,GAAOzoF,EAAK2mF,OACL99B,EAPT,GAAIgyB,GAAMx9E,EAAQ,KACdyqC,EAASzqC,EAAQ,KAAeyqC,OAChC2gD,EAASprF,EAAQ,KAQjB8+D,EAAY,EAChB3+D,GAAQw0E,QAAU,SAAUhyE,EAAMw8D,GAChC,GAAIksB,GAAW5iF,KAAK4vC,KAAK8mB,EAAMp7D,OAAS+6D,GACpCx2D,EAAQ3F,EAAKsmF,OAAOllF,MACxBpB,GAAKsmF,OAASx+C,EAAOlpC,QACnBoB,EAAKsmF,OACLx+C,EAAOsd,YAAYsjC,EAAWvsB,IAEhC,KAAK,GAAIn+D,GAAI,EAAGA,EAAI0qF,EAAU1qF,IAAK,CACjC,GAAI6qD,GAAM1gD,EAASnI,GACfq+C,EAAS14C,EAAQ3H,EAAIm+D,CACzBn8D,GAAKsmF,OAAOz5B,cAAchE,EAAI,GAAIxK,EAAS,GAC3Cr+C,EAAKsmF,OAAOz5B,cAAchE,EAAI,GAAIxK,EAAS,GAC3Cr+C,EAAKsmF,OAAOz5B,cAAchE,EAAI,GAAIxK,EAAS,GAC3Cr+C,EAAKsmF,OAAOz5B,cAAchE,EAAI,GAAIxK,EAAS,IAE7C,GAAIuX,GAAM51D,EAAKsmF,OAAOhoF,MAAM,EAAGk+D,EAAMp7D,OAErC,OADApB,GAAKsmF,OAAStmF,EAAKsmF,OAAOhoF,MAAMk+D,EAAMp7D,QAC/By5E,EAAIre,EAAO5G,KpKqg0Bd,SAAUn4D,EAAQD,GAEvB,YqKni0BD,SAASirF,GAAQ1V,GAGf,IAFA,GACI9iE,GADAvF,EAAMqoE,EAAG3xE,OAENsJ,KAAO,CAEZ,GADAuF,EAAO8iE,EAAGxnB,UAAU7gD,GACP,MAATuF,EAEG,CACLA,IACA8iE,EAAGtmB,WAAWx8C,EAAMvF,EACpB,OAJAqoE,EAAGtmB,WAAW,EAAG/hD,IAQvBjN,EAAOD,QAAUirF,GrKyi0BX,SAAUhrF,EAAQD,GsKvj0BxBC,EAAAD,SAAkBmrF,eAAelV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,EAAA5rE,KAAA,MAAAoD,KAAA,SAA4Dq+E,eAAgBnV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,EAAA5rE,KAAA,MAAAoD,KAAA,SAA4Ds+E,eAAgBpV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,EAAA5rE,KAAA,MAAAoD,KAAA,SAA4Du+E,eAAgBrV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,SAA6Dw+E,eAAgBtV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,SAA6Dy+E,eAAgBvV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,SAA6D0+E,QAAWxV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,SAA6D2+E,QAAWzV,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,SAA6D4+E,QAAW1V,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,SAA6D6+E,eAAgB3V,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8D8+E,eAAgB5V,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8D++E,eAAgB7V,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8Dg/E,gBAAiB9V,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,OAAAoD,KAAA,UAA+Di/E,gBAAiB/V,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,OAAAoD,KAAA,UAA+Dk/E,gBAAiBhW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,OAAAoD,KAAA,UAA+Dm/E,gBAAiBjW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,OAAAoD,KAAA,UAA+Do/E,gBAAiBlW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,OAAAoD,KAAA,UAA+Dq/E,gBAAiBnW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,OAAAoD,KAAA,UAA+Ds/E,eAAgBpW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8Du/E,eAAgBrW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8Dw/E,eAAgBtW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8Dy/E,eAAgBvW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8D0/E,eAAgBxW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8D2/E,eAAgBzW,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UAA8D4/E,eAAgB1W,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,QAA4D6/E,eAAgB3W,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,QAA4D8/E,eAAgB5W,OAAA,MAAAlyE,IAAA,IAAAwxE,GAAA,GAAA5rE,KAAA,MAAAoD,KAAA,UtK6j0Bp/D,SAAU9M,EAAQD,EAASH,GAEhC,YuKvj0BD,SAASitF,GAAS9rF,EAAGC,GACnB,GAAIoqD,GAAM,CACNrqD,GAAE4C,SAAW3C,EAAE2C,QAAQynD,GAG3B,KAAK,GADDn+C,GAAM5E,KAAKk6B,IAAIxhC,EAAE4C,OAAQ3C,EAAE2C,QACtBpD,EAAI,EAAGA,EAAI0M,IAAO1M,EACzB6qD,GAAQrqD,EAAER,GAAKS,EAAET,EAGnB,OAAO6qD,GAGT,QAAS0hC,GAAQvqF,EAAM+yE,EAAIyX,GACzB,GAAkB,KAAdzX,EAAG3xE,OAEL,MADApB,GAAKyqF,OAAS3iD,EAAOlpC,QAAQm0E,EAAIjrC,EAAOvrB,MAAM,EAAG,EAAG,EAAG,MAChDurB,EAAOlpC,QAAQm0E,EAAIjrC,EAAOvrB,MAAM,EAAG,EAAG,EAAG,KAElD,IAAImuE,GAAQ,GAAIC,GAAMH,GAClB9/E,EAAMqoE,EAAG3xE,OACTwpF,EAAQlgF,EAAM,EAClBggF,GAAMljF,OAAOurE,GACT6X,IACFA,EAAQ,GAAKA,EACbF,EAAMljF,OAAOsgC,EAAOyd,MAAMqlC,EAAO,KAEnCF,EAAMljF,OAAOsgC,EAAOyd,MAAM,EAAG,GAC7B,IAAIslC,GAAe,EAANngF,EACT82D,EAAO15B,EAAOyd,MAAM,EACxBic,GAAKhV,YAAYq+B,EAAQ,EAAG,GAC5BH,EAAMljF,OAAOg6D,GACbxhE,EAAKyqF,OAASC,EAAM3qB,KACpB,IAAIlX,GAAM/gB,EAAOvrB,KAAKvc,EAAKyqF,OAE3B,OADAhC,GAAO5/B,GACAA,EAET,QAASo+B,GAAc9/E,EAAM5F,EAAKwxE,EAAIV,GACpCjW,EAAUx+D,KAAKe,KAEf,IAAIw2C,GAAIrN,EAAOyd,MAAM,EAAG,EAExB5mD,MAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,EAC3B,IAAIipF,GAAK7rF,KAAK6nF,QAAQ0B,aAAa/yC,EACnCx2C,MAAKmsF,OAAS,GAAIH,GAAMH,GACxBzX,EAAKwX,EAAO5rF,KAAMo0E,EAAIyX,GAEtB7rF,KAAKgoF,MAAQ7+C,EAAOvrB,KAAKw2D,GACzBp0E,KAAK2nF,OAASx+C,EAAOsd,YAAY,GACjCzmD,KAAKosF,UAAYjjD,EAAOsd,YAAY,GACpCzmD,KAAKqsF,SAAW3Y,EAChB1zE,KAAKssF,MAAQ,EACbtsF,KAAKuF,KAAO,EACZvF,KAAKioF,MAAQz/E,EAEbxI,KAAKusF,SAAW,KAChBvsF,KAAKwsF,SAAU,EA9DjB,GAAI1E,GAAMppF,EAAQ,KACdyqC,EAASzqC,EAAQ,KAAeyqC,OAChCs0B,EAAY/+D,EAAQ,KACpB2f,EAAW3f,EAAQ,KACnBstF,EAAQttF,EAAQ,KAChBw9E,EAAMx9E,EAAQ,KACdorF,EAASprF,EAAQ,IA2DrB2f,GAASiqE,EAAc7qB,GAEvB6qB,EAAa/oF,UAAUq7D,QAAU,SAAUiD,GACzC,IAAK79D,KAAKwsF,SAAWxsF,KAAKssF,MAAO,CAC/B,GAAIG,GAAO,GAAMzsF,KAAKssF,MAAQ,EAC1BG,GAAO,KACTA,EAAOtjD,EAAOyd,MAAM6lC,EAAM,GAC1BzsF,KAAKmsF,OAAOtjF,OAAO4jF,IAIvBzsF,KAAKwsF,SAAU,CACf,IAAItiC,GAAMlqD,KAAKioF,MAAM5U,QAAQrzE,KAAM69D,EAOnC,OANI79D,MAAKqsF,SACPrsF,KAAKmsF,OAAOtjF,OAAOg1D,GAEnB79D,KAAKmsF,OAAOtjF,OAAOqhD,GAErBlqD,KAAKuF,MAAQs4D,EAAMp7D,OACZynD,GAGTo+B,EAAa/oF,UAAUs7D,OAAS,WAC9B,GAAI76D,KAAKqsF,WAAarsF,KAAKusF,SAAU,KAAM,IAAIzlF,OAAM,mDAErD,IAAI6hC,GAAMuzC,EAAIl8E,KAAKmsF,OAAO5kB,MAAmB,EAAbvnE,KAAKssF,MAAuB,EAAZtsF,KAAKuF,MAAWvF,KAAK6nF,QAAQ0B,aAAavpF,KAAK8rF,QAC/F,IAAI9rF,KAAKqsF,UAAYV,EAAQhjD,EAAK3oC,KAAKusF,UAAW,KAAM,IAAIzlF,OAAM,mDAElE9G,MAAKusF,SAAW5jD,EAChB3oC,KAAK6nF,QAAQc,SAGfL,EAAa/oF,UAAUyyE,WAAa,WAClC,GAAIhyE,KAAKqsF,WAAaljD,EAAO7B,SAAStnC,KAAKusF,UAAW,KAAM,IAAIzlF,OAAM,kDAEtE,OAAO9G,MAAKusF,UAGdjE,EAAa/oF,UAAU0yE,WAAa,SAAqBtpC,GACvD,IAAK3oC,KAAKqsF,SAAU,KAAM,IAAIvlF,OAAM,kDAEpC9G,MAAKusF,SAAW5jD,GAGlB2/C,EAAa/oF,UAAU2yE,OAAS,SAAiB9nE,GAC/C,GAAIpK,KAAKwsF,QAAS,KAAM,IAAI1lF,OAAM,6CAElC9G,MAAKmsF,OAAOtjF,OAAOuB,GACnBpK,KAAKssF,OAASliF,EAAI3H,QAGpB3D,EAAOD,QAAUypF,GvKqk0BX,SAAUxpF,EAAQD,EAASH,GAEhC,YwKpr0BD,SAASguF,GAAetiF,GACjB++B,EAAO7B,SAASl9B,KAAMA,EAAM++B,EAAOvrB,KAAKxT,GAK7C,KAAK,GAHD2B,GAAO3B,EAAI3H,OAAS,EAAK,EACzBynD,EAAM,GAAI1kD,OAAMuG,GAEX1M,EAAI,EAAGA,EAAI0M,EAAK1M,IACvB6qD,EAAI7qD,GAAK+K,EAAI2iD,aAAiB,EAAJ1tD,EAG5B,OAAO6qD,GAGT,QAASyiC,GAAUj+E,GACjB,IAAK,GAAIrP,GAAI,EAAGA,EAAIqP,EAAEjM,OAAQiM,IAC5BA,EAAErP,GAAK,EAIX,QAASutF,GAAY7gB,EAAG8gB,EAAaC,EAASC,EAAMC,GAalD,IAAK,GAHDC,GAAI7M,EAAIC,EAAI6M,EATZC,EAAWL,EAAQ,GACnBM,EAAWN,EAAQ,GACnBO,EAAWP,EAAQ,GACnBQ,EAAWR,EAAQ,GAEnBS,EAAKxhB,EAAE,GAAK8gB,EAAY,GACxBW,EAAKzhB,EAAE,GAAK8gB,EAAY,GACxBY,EAAK1hB,EAAE,GAAK8gB,EAAY,GACxBa,EAAK3hB,EAAE,GAAK8gB,EAAY,GAExBc,EAAQ,EAEHh3C,EAAQ,EAAGA,EAAQq2C,EAASr2C,IACnCs2C,EAAKE,EAASI,IAAO,IAAMH,EAAUI,IAAO,GAAM,KAAQH,EAAUI,IAAO,EAAK,KAAQH,EAAc,IAALI,GAAab,EAAYc,KAC1HvN,EAAK+M,EAASK,IAAO,IAAMJ,EAAUK,IAAO,GAAM,KAAQJ,EAAUK,IAAO,EAAK,KAAQJ,EAAc,IAALC,GAAaV,EAAYc,KAC1HtN,EAAK8M,EAASM,IAAO,IAAML,EAAUM,IAAO,GAAM,KAAQL,EAAUE,IAAO,EAAK,KAAQD,EAAc,IAALE,GAAaX,EAAYc,KAC1HT,EAAKC,EAASO,IAAO,IAAMN,EAAUG,IAAO,GAAM,KAAQF,EAAUG,IAAO,EAAK,KAAQF,EAAc,IAALG,GAAaZ,EAAYc,KAC1HJ,EAAKN,EACLO,EAAKpN,EACLqN,EAAKpN,EACLqN,EAAKR,CAYP,OATAD,IAAOF,EAAKQ,IAAO,KAAO,GAAOR,EAAMS,IAAO,GAAM,MAAS,GAAOT,EAAMU,IAAO,EAAK,MAAS,EAAKV,EAAU,IAALW,IAAcb,EAAYc,KACnIvN,GAAO2M,EAAKS,IAAO,KAAO,GAAOT,EAAMU,IAAO,GAAM,MAAS,GAAOV,EAAMW,IAAO,EAAK,MAAS,EAAKX,EAAU,IAALQ,IAAcV,EAAYc,KACnItN,GAAO0M,EAAKU,IAAO,KAAO,GAAOV,EAAMW,IAAO,GAAM,MAAS,GAAOX,EAAMQ,IAAO,EAAK,MAAS,EAAKR,EAAU,IAALS,IAAcX,EAAYc,KACnIT,GAAOH,EAAKW,IAAO,KAAO,GAAOX,EAAMQ,IAAO,GAAM,MAAS,GAAOR,EAAMS,IAAO,EAAK,MAAS,EAAKT,EAAU,IAALU,IAAcZ,EAAYc,KACnIV,KAAY,EACZ7M,KAAY,EACZC,KAAY,EACZ6M,KAAY,GAEJD,EAAI7M,EAAIC,EAAI6M,GAkEtB,QAASnF,GAAKnlF,GACZ5C,KAAKyF,KAAOinF,EAAc9pF,GAC1B5C,KAAK0iB,SA1HP,GAAIymB,GAASzqC,EAAQ,KAAeyqC,OA0DhCykD,GAAQ,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IACpEC,EAAK,WAGP,IAAK,GADDvmF,GAAI,GAAI9B,OAAM,KACT6L,EAAI,EAAGA,EAAI,IAAKA,IACnBA,EAAI,IACN/J,EAAE+J,GAAKA,GAAK,EAEZ/J,EAAE+J,GAAMA,GAAK,EAAK,GAYtB,KAAK,GARD07E,MACAe,KACAhB,gBACAiB,gBAGA/2E,EAAI,EACJg3E,EAAK,EACA3uF,EAAI,EAAGA,EAAI,MAAOA,EAAG,CAE5B,GAAI4uF,GAAKD,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,CACzDC,GAAMA,IAAO,EAAW,IAALA,EAAa,GAChClB,EAAK/1E,GAAKi3E,EACVH,EAASG,GAAMj3E,CAGf,IAAIk3E,GAAK5mF,EAAE0P,GACPm3E,EAAK7mF,EAAE4mF,GACPE,EAAK9mF,EAAE6mF,GAGPjxC,EAAa,IAAR51C,EAAE2mF,GAAqB,SAALA,CAC3BnB,GAAQ,GAAG91E,GAAMkmC,GAAK,GAAOA,IAAM,EACnC4vC,EAAQ,GAAG91E,GAAMkmC,GAAK,GAAOA,IAAM,GACnC4vC,EAAQ,GAAG91E,GAAMkmC,GAAK,EAAMA,IAAM,GAClC4vC,EAAQ,GAAG91E,GAAKkmC,EAGhBA,EAAU,SAALkxC,EAAwB,MAALD,EAAsB,IAALD,EAAmB,SAAJl3E,EACxD+2E,EAAY,GAAGE,GAAO/wC,GAAK,GAAOA,IAAM,EACxC6wC,EAAY,GAAGE,GAAO/wC,GAAK,GAAOA,IAAM,GACxC6wC,EAAY,GAAGE,GAAO/wC,GAAK,EAAMA,IAAM,GACvC6wC,EAAY,GAAGE,GAAM/wC,EAEX,IAANlmC,EACFA,EAAIg3E,EAAK,GAETh3E,EAAIk3E,EAAK5mF,EAAEA,EAAEA,EAAE8mF,EAAKF,KACpBF,GAAM1mF,EAAEA,EAAE0mF,KAId,OACEjB,KAAMA,EACNe,SAAUA,EACVhB,QAASA,EACTiB,YAAaA,KASjBhG,GAAIvqB,UAAY,GAChBuqB,EAAIsG,QAAU,GACdtG,EAAIxoF,UAAUi+D,UAAYuqB,EAAIvqB,UAC9BuqB,EAAIxoF,UAAU8uF,QAAUtG,EAAIsG,QAC5BtG,EAAIxoF,UAAUmjB,OAAS,WAOrB,IAAK,GAND4rE,GAAWtuF,KAAKyF,KAChB4oF,EAAUC,EAAS7rF,OACnBuqF,EAAUqB,EAAU,EACpBE,EAAyB,GAAfvB,EAAU,GAEpBH,KACK9mD,EAAI,EAAGA,EAAIsoD,EAAStoD,IAC3B8mD,EAAY9mD,GAAKuoD,EAASvoD,EAG5B,KAAKA,EAAIsoD,EAAStoD,EAAIwoD,EAAQxoD,IAAK,CACjC,GAAImX,GAAI2vC,EAAY9mD,EAAI,EAEpBA,GAAIsoD,IAAY,GAClBnxC,EAAKA,GAAK,EAAMA,IAAM,GACtBA,EACG2wC,EAAEd,KAAK7vC,IAAM,KAAO,GACpB2wC,EAAEd,KAAM7vC,IAAM,GAAM,MAAS,GAC7B2wC,EAAEd,KAAM7vC,IAAM,EAAK,MAAS,EAC5B2wC,EAAEd,KAAS,IAAJ7vC,GAEVA,GAAK0wC,EAAM7nD,EAAIsoD,EAAW,IAAM,IACvBA,EAAU,GAAKtoD,EAAIsoD,IAAY,IACxCnxC,EACG2wC,EAAEd,KAAK7vC,IAAM,KAAO,GACpB2wC,EAAEd,KAAM7vC,IAAM,GAAM,MAAS,GAC7B2wC,EAAEd,KAAM7vC,IAAM,EAAK,MAAS,EAC5B2wC,EAAEd,KAAS,IAAJ7vC,IAGZ2vC,EAAY9mD,GAAK8mD,EAAY9mD,EAAIsoD,GAAWnxC,EAI9C,IAAK,GADDsxC,MACKC,EAAK,EAAGA,EAAKF,EAAQE,IAAM,CAClC,GAAIC,GAAMH,EAASE,EACfE,EAAK9B,EAAY6B,GAAOD,EAAK,EAAI,EAAI,GAErCA,GAAK,GAAKC,GAAO,EACnBF,EAAeC,GAAME,EAErBH,EAAeC,GACbZ,EAAEE,YAAY,GAAGF,EAAEd,KAAK4B,IAAO,KAC/Bd,EAAEE,YAAY,GAAGF,EAAEd,KAAM4B,IAAO,GAAM,MACtCd,EAAEE,YAAY,GAAGF,EAAEd,KAAM4B,IAAO,EAAK,MACrCd,EAAEE,YAAY,GAAGF,EAAEd,KAAU,IAAL4B,IAI9B3uF,KAAK4uF,SAAW5B,EAChBhtF,KAAK6uF,aAAehC,EACpB7sF,KAAK8uF,gBAAkBN,GAGzBzG,EAAIxoF,UAAUsqF,gBAAkB,SAAU9d,GAExC,MADAA,GAAI2gB,EAAc3gB,GACX6gB,EAAW7gB,EAAG/rE,KAAK6uF,aAAchB,EAAEf,QAASe,EAAEd,KAAM/sF,KAAK4uF,WAGlE7G,EAAIxoF,UAAUgqF,aAAe,SAAUxd,GACrC,GAAI7hB,GAAMlqD,KAAK6pF,gBAAgB9d,GAC3B3hE,EAAM++B,EAAOsd,YAAY,GAK7B,OAJAr8C,GAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,IACnB9/C,GAGT29E,EAAIxoF,UAAUiqF,aAAe,SAAUzd,GACrCA,EAAI2gB,EAAc3gB,EAGlB,IAAIgjB,GAAKhjB,EAAE,EACXA,GAAE,GAAKA,EAAE,GACTA,EAAE,GAAKgjB,CAEP,IAAI7kC,GAAM0iC,EAAW7gB,EAAG/rE,KAAK8uF,gBAAiBjB,EAAEE,YAAaF,EAAEC,SAAU9tF,KAAK4uF,UAC1ExkF,EAAM++B,EAAOsd,YAAY,GAK7B,OAJAr8C,GAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,IACnB9/C,GAGT29E,EAAIxoF,UAAUopF,MAAQ,WACpBgE,EAAS3sF,KAAK6uF,cACdlC,EAAS3sF,KAAK8uF,iBACdnC,EAAS3sF,KAAKyF,OAGhB3G,EAAOD,QAAQkpF,IAAMA,GxKqr0Bf,SAAUjpF,EAAQD,EAASH,GAEhC,YyKv50BD,SAASs9D,GAAS5xD,GAChB,OACEA,EAAI2iD,aAAa,GACjB3iD,EAAI2iD,aAAa,GACjB3iD,EAAI2iD,aAAa,GACjB3iD,EAAI2iD,aAAa,KAIrB,QAASiiC,GAAW9kC,GAClB,GAAI9/C,GAAM++B,EAAOsd,YAAY,GAK7B,OAJAr8C,GAAI8jD,cAAchE,EAAI,KAAO,EAAG,GAChC9/C,EAAI8jD,cAAchE,EAAI,KAAO,EAAG,GAChC9/C,EAAI8jD,cAAchE,EAAI,KAAO,EAAG,GAChC9/C,EAAI8jD,cAAchE,EAAI,KAAO,EAAG,IACzB9/C,EAGT,QAAS4hF,GAAOppF,GACd5C,KAAKw2C,EAAI5zC,EACT5C,KAAKohE,MAAQj4B,EAAOyd,MAAM,GAAI,GAC9B5mD,KAAKg7B,MAAQmO,EAAOsd,YAAY,GAxBlC,GAAItd,GAASzqC,EAAQ,KAAeyqC,OAChC8lD,EAAS9lD,EAAOyd,MAAM,GAAI,EA4B9BolC,GAAMzsF,UAAUwsF,MAAQ,SAAUl4B,GAEhC,IADA,GAAIx0D,IAAI,IACCA,EAAIw0D,EAAMpxD,QACjBzC,KAAKohE,MAAM/hE,IAAMw0D,EAAMx0D,EAEzBW,MAAKkvF,aAGPlD,EAAMzsF,UAAU2vF,UAAY,WAK1B,IAJA,GAEI79E,GAAG28E,EAAImB,EAFPC,EAAKpzB,EAAQh8D,KAAKw2C,GAClB64C,GAAM,EAAG,EAAG,EAAG,GAEfhwF,GAAI,IACCA,EAAI,KAAK,CAchB,IAbA2uF,EAAwD,KAAlDhuF,KAAKohE,SAAS/hE,EAAI,IAAO,GAAM,EAAKA,EAAI,GAC1C2uF,IAEFqB,EAAG,IAAMD,EAAG,GACZC,EAAG,IAAMD,EAAG,GACZC,EAAG,IAAMD,EAAG,GACZC,EAAG,IAAMD,EAAG,IAIdD,EAAwB,KAAP,EAARC,EAAG,IAGP/9E,EAAI,EAAGA,EAAI,EAAGA,IACjB+9E,EAAG/9E,GAAM+9E,EAAG/9E,KAAO,GAAmB,EAAZ+9E,EAAG/9E,EAAI,KAAW,EAE9C+9E,GAAG,GAAKA,EAAG,KAAO,EAGdD,IACFC,EAAG,GAAKA,EAAG,GAAM,KAAQ,IAG7BpvF,KAAKohE,MAAQ4tB,EAAUK,IAGzBrD,EAAMzsF,UAAUsJ,OAAS,SAAUuB,GACjCpK,KAAKg7B,MAAQmO,EAAOlpC,QAAQD,KAAKg7B,MAAO5wB,GAExC,KADA,GAAIyzD,GACG79D,KAAKg7B,MAAMv4B,QAAU,IAC1Bo7D,EAAQ79D,KAAKg7B,MAAMr7B,MAAM,EAAG,IAC5BK,KAAKg7B,MAAQh7B,KAAKg7B,MAAMr7B,MAAM,IAC9BK,KAAK+rF,MAAMluB,IAIfmuB,EAAMzsF,UAAUgoE,MAAQ,SAAU+nB,EAAKryB,GAMrC,MALIj9D,MAAKg7B,MAAMv4B,QACbzC,KAAK+rF,MAAM5iD,EAAOlpC,QAAQD,KAAKg7B,MAAOi0D,GAAS,KAGjDjvF,KAAK+rF,MAAMiD,GAAW,EAAGM,EAAK,EAAGryB,KAC1Bj9D,KAAKohE,OAGdtiE,EAAOD,QAAUmtF,GzK250BX,SAAUltF,EAAQD,EAASH,GAEhC,Y0Kh/0BD,SAAS4pF,GAAc9/E,EAAM5F,EAAKwxE,EAAIV,GACpCjW,EAAUx+D,KAAKe,MAEfA,KAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,GAC3B5C,KAAKgoF,MAAQ7+C,EAAOvrB,KAAKw2D,GACzBp0E,KAAK2nF,OAASx+C,EAAOsd,YAAY,GACjCzmD,KAAKosF,UAAYjjD,EAAOsd,YAAY,GACpCzmD,KAAKqsF,SAAW3Y,EAChB1zE,KAAKioF,MAAQz/E,EAbf,GAAIs/E,GAAMppF,EAAQ,KACdyqC,EAASzqC,EAAQ,KAAeyqC,OAChCs0B,EAAY/+D,EAAQ,KACpB2f,EAAW3f,EAAQ,IAavB2f,GAASiqE,EAAc7qB,GAEvB6qB,EAAa/oF,UAAUq7D,QAAU,SAAUiD,GACzC,MAAO79D,MAAKioF,MAAM5U,QAAQrzE,KAAM69D,EAAO79D,KAAKqsF,WAG9C/D,EAAa/oF,UAAUs7D,OAAS,WAC9B76D,KAAK6nF,QAAQc,SAGf7pF,EAAOD,QAAUypF,G1K2/0BX,SAAUxpF,EAAQD,EAASH,GAEhC,Y2Knh1BD,SAAS6wF,GAAgBnH,EAAUoH,EAAMC,EAASC,GAEhD,GADKvmD,EAAO7B,SAAS8gD,KAAWA,EAAWj/C,EAAOvrB,KAAKwqE,EAAU,WAC7DoH,IACGrmD,EAAO7B,SAASkoD,KAAOA,EAAOrmD,EAAOvrB,KAAK4xE,EAAM,WACjC,IAAhBA,EAAK/sF,QAAc,KAAM,IAAIuN,YAAW,2CAQ9C,KALA,GAAI2/E,GAASF,EAAU,EACnB7sF,EAAMumC,EAAOyd,MAAM+oC,GACnBvb,EAAKjrC,EAAOyd,MAAM8oC,GAAS,GAC3BxgC,EAAM/lB,EAAOyd,MAAM,GAEhB+oC,EAAS,GAAKD,EAAQ,GAAG,CAC9B,GAAInlF,GAAO,GAAIqlF,EACfrlF,GAAK1B,OAAOqmD,GACZ3kD,EAAK1B,OAAOu/E,GACRoH,GAAMjlF,EAAK1B,OAAO2mF,GACtBtgC,EAAM3kD,EAAKD,QAEX,IAAIulF,GAAO,CAEX,IAAIF,EAAS,EAAG,CACd,GAAIG,GAAWltF,EAAIH,OAASktF,CAC5BE,GAAO1oF,KAAKk6B,IAAIsuD,EAAQzgC,EAAIzsD,QAC5BysD,EAAIzP,KAAK78C,EAAKktF,EAAU,EAAGD,GAC3BF,GAAUE,EAGZ,GAAIA,EAAO3gC,EAAIzsD,QAAUitF,EAAQ,EAAG,CAClC,GAAIK,GAAU3b,EAAG3xE,OAASitF,EACtBjtF,EAAS0E,KAAKk6B,IAAIquD,EAAOxgC,EAAIzsD,OAASotF,EAC1C3gC,GAAIzP,KAAK20B,EAAI2b,EAASF,EAAMA,EAAOptF,GACnCitF,GAASjtF,GAKb,MADAysD,GAAIrI,KAAK,IACAjkD,IAAKA,EAAKwxE,GAAIA,GAzCzB,GAAIjrC,GAASzqC,EAAQ,KAAeyqC,OAChCymD,EAAMlxF,EAAQ,IA2ClBI,GAAOD,QAAU0wF,G3K6h1BX,SAAUzwF,EAAQD,EAASH,I4Kzk1BjC,SAAAyqC,GAAA,YAMA,SAASymD,KACPvzB,EAASp9D,KAAKe,KAAM,IAGpBA,KAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,GAAK,UA+GZ,QAASme,GAAMzlD,EAAGvL,GAChB,MAAQuL,IAAKvL,EAAMuL,IAAO,GAAKvL,EAGjC,QAASukF,GAAKnwF,EAAGC,EAAGX,EAAGmI,EAAGpI,EAAG6mC,EAAG0Q,GAC9B,MAAQgmB,GAAM58D,GAAMC,EAAIX,GAAQW,EAAKwH,GAAMpI,EAAI6mC,EAAK,EAAG0Q,GAAK32C,EAAK,EAGnE,QAASmwF,GAAKpwF,EAAGC,EAAGX,EAAGmI,EAAGpI,EAAG6mC,EAAG0Q,GAC9B,MAAQgmB,GAAM58D,GAAMC,EAAIwH,EAAMnI,GAAMmI,GAAOpI,EAAI6mC,EAAK,EAAG0Q,GAAK32C,EAAK,EAGnE,QAASowF,GAAKrwF,EAAGC,EAAGX,EAAGmI,EAAGpI,EAAG6mC,EAAG0Q,GAC9B,MAAQgmB,GAAM58D,GAAKC,EAAIX,EAAImI,GAAKpI,EAAI6mC,EAAK,EAAG0Q,GAAK32C,EAAK,EAGxD,QAASqwF,GAAKtwF,EAAGC,EAAGX,EAAGmI,EAAGpI,EAAG6mC,EAAG0Q,GAC9B,MAAQgmB,GAAM58D,GAAMV,GAAKW,GAAMwH,IAAQpI,EAAI6mC,EAAK,EAAG0Q,GAAK32C,EAAK,EA5I/D,GAAIue,GAAW3f,EAAQ,KACnB29D,EAAW39D,EAAQ,KAEnB0xF,EAAU,GAAI5qF,OAAM,GAYxB6Y,GAASuxE,EAAKvzB,GAEduzB,EAAIrwF,UAAUq7D,QAAU,WAEtB,IAAK,GADDmR,GAAIqkB,EACC/wF,EAAI,EAAGA,EAAI,KAAMA,EAAG0sE,EAAE1sE,GAAKW,KAAK+8D,OAAO1P,YAAgB,EAAJhuD,EAE5D,IAAIQ,GAAIG,KAAKs8D,GACTx8D,EAAIE,KAAKu8D,GACTp9D,EAAIa,KAAKw8D,GACTl1D,EAAItH,KAAKs+C,EAEbz+C,GAAImwF,EAAInwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI0oF,EAAI1oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAI6wF,EAAI7wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,UAAY,IACtCjsE,EAAIkwF,EAAIlwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAImwF,EAAInwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI0oF,EAAI1oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAI6wF,EAAI7wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,WAAY,IACtCjsE,EAAIkwF,EAAIlwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAImwF,EAAInwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI0oF,EAAI1oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAI6wF,EAAI7wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,WAAY,IACvCjsE,EAAIkwF,EAAIlwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,IAAK,WAAY,IACvClsE,EAAImwF,EAAInwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,IAAK,WAAY,GACvCzkE,EAAI0oF,EAAI1oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,IAAK,WAAY,IACvC5sE,EAAI6wF,EAAI7wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,WAAY,IACvCjsE,EAAIkwF,EAAIlwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,IAAK,WAAY,IAEvClsE,EAAIowF,EAAIpwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI2oF,EAAI3oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,GACtC5sE,EAAI8wF,EAAI9wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,UAAY,IACvCjsE,EAAImwF,EAAInwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAIowF,EAAIpwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI2oF,EAAI3oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,IAAK,SAAY,GACvC5sE,EAAI8wF,EAAI9wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,WAAY,IACvCjsE,EAAImwF,EAAInwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAIowF,EAAIpwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,UAAY,GACtCzkE,EAAI2oF,EAAI3oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,IAAK,WAAY;AACvC5sE,EAAI8wF,EAAI9wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,WAAY,IACtCjsE,EAAImwF,EAAInwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAIowF,EAAIpwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,IAAK,WAAY,GACvCzkE,EAAI2oF,EAAI3oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,GACtC5sE,EAAI8wF,EAAI9wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,WAAY,IACtCjsE,EAAImwF,EAAInwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,IAAK,WAAY,IAEvClsE,EAAIqwF,EAAIrwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI4oF,EAAI5oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAI+wF,EAAI/wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,WAAY,IACvCjsE,EAAIowF,EAAIpwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,IAAK,WAAY,IACvClsE,EAAIqwF,EAAIrwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI4oF,EAAI5oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAI+wF,EAAI/wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,WAAY,IACtCjsE,EAAIowF,EAAIpwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,IAAK,WAAY,IACvClsE,EAAIqwF,EAAIrwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,IAAK,UAAY,GACvCzkE,EAAI4oF,EAAI5oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAI+wF,EAAI/wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,WAAY,IACtCjsE,EAAIowF,EAAIpwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,SAAY,IACtClsE,EAAIqwF,EAAIrwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI4oF,EAAI5oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,IAAK,WAAY,IACvC5sE,EAAI+wF,EAAI/wF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,UAAY,IACvCjsE,EAAIowF,EAAIpwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IAEtClsE,EAAIswF,EAAItwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI6oF,EAAI7oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAIgxF,EAAIhxF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,WAAY,IACvCjsE,EAAIqwF,EAAIrwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAIswF,EAAItwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,IAAK,WAAY,GACvCzkE,EAAI6oF,EAAI7oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,GAAI,WAAY,IACtC5sE,EAAIgxF,EAAIhxF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,IAAK,WAAY,IACvCjsE,EAAIqwF,EAAIrwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IACtClsE,EAAIswF,EAAItwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI6oF,EAAI7oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,IAAK,WAAY,IACvC5sE,EAAIgxF,EAAIhxF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,WAAY,IACtCjsE,EAAIqwF,EAAIrwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,IAAK,WAAY,IACvClsE,EAAIswF,EAAItwF,EAAGC,EAAGX,EAAGmI,EAAGykE,EAAE,GAAI,WAAY,GACtCzkE,EAAI6oF,EAAI7oF,EAAGzH,EAAGC,EAAGX,EAAG4sE,EAAE,IAAK,WAAY,IACvC5sE,EAAIgxF,EAAIhxF,EAAGmI,EAAGzH,EAAGC,EAAGisE,EAAE,GAAI,UAAY,IACtCjsE,EAAIqwF,EAAIrwF,EAAGX,EAAGmI,EAAGzH,EAAGksE,EAAE,GAAI,WAAY,IAEtC/rE,KAAKs8D,GAAMt8D,KAAKs8D,GAAKz8D,EAAK,EAC1BG,KAAKu8D,GAAMv8D,KAAKu8D,GAAKz8D,EAAK,EAC1BE,KAAKw8D,GAAMx8D,KAAKw8D,GAAKr9D,EAAK,EAC1Ba,KAAKs+C,GAAMt+C,KAAKs+C,GAAKh3C,EAAK,GAG5BsoF,EAAIrwF,UAAU+9D,QAAU,WAEtBt9D,KAAK+8D,OAAO/8D,KAAKu9D,gBAAkB,IAC/Bv9D,KAAKu9D,aAAe,KACtBv9D,KAAK+8D,OAAOlW,KAAK,EAAG7mD,KAAKu9D,aAAc,IACvCv9D,KAAK46D,UACL56D,KAAKu9D,aAAe,GAGtBv9D,KAAK+8D,OAAOlW,KAAK,EAAG7mD,KAAKu9D,aAAc,IACvCv9D,KAAK+8D,OAAO9O,cAAcjuD,KAAKwU,QAAQ,GAAI,IAC3CxU,KAAK+8D,OAAO9O,cAAcjuD,KAAKwU,QAAQ,GAAI,IAC3CxU,KAAK46D,SAGL,IAAIvqB,GAAS,GAAIlH,GAAO,GAKxB,OAJAkH,GAAOoe,aAAazuD,KAAKs8D,GAAI,GAC7BjsB,EAAOoe,aAAazuD,KAAKu8D,GAAI,GAC7BlsB,EAAOoe,aAAazuD,KAAKw8D,GAAI,GAC7BnsB,EAAOoe,aAAazuD,KAAKs+C,GAAI,IACtBjO,GAuBTvxC,EAAOD,QAAU+wF,I5K6k1Ba3wF,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,G6Kju1BjC,YAKA,SAAS2xF,GAA0B39E,EAAK2K,GACtC,IAAK8rB,EAAO7B,SAAS50B,IAAuB,gBAARA,GAClC,KAAM,IAAIvR,WAAUkc,EAAS,iCAIjC,QAASg/C,GAAUmB,GACjBC,EAAUx+D,KAAKe,MAEfA,KAAK+8D,OAAS5zB,EAAOsd,YAAY+W,GACjCx9D,KAAK09D,WAAaF,EAClBx9D,KAAKu9D,aAAe,EACpBv9D,KAAKwU,SAAW,EAAG,EAAG,EAAG,GAEzBxU,KAAK29D,YAAa,EAlBpB,GAAIx0B,GAASzqC,EAAQ,KAAeyqC,OAChCs0B,EAAY/+D,EAAQ,KAAU++D,UAC9Bp/C,EAAW3f,EAAQ,IAmBvB2f,GAASg+C,EAAUoB,GAEnBpB,EAAS98D,UAAUq+D,WAAa,SAAUC,EAAO/W,EAAU3hD,GACzD,GAAI6C,GAAQ,IACZ,KACEhI,KAAK6I,OAAOg1D,EAAO/W,GACnB,MAAOn/C,GACPK,EAAQL,EAGVxC,EAAS6C,IAGXq0D,EAAS98D,UAAUu+D,OAAS,SAAU34D,GACpC,GAAI6C,GAAQ,IACZ,KACEhI,KAAKqM,KAAKrM,KAAKsK,UACf,MAAO3C,GACPK,EAAQL,EAGVxC,EAAS6C,IAGXq0D,EAAS98D,UAAUsJ,OAAS,SAAU5B,EAAM6/C,GAE1C,GADAupC,EAAyBppF,EAAM,QAC3BjH,KAAK29D,WAAY,KAAM,IAAI72D,OAAM,wBAChCqiC,GAAO7B,SAASrgC,KAAOA,EAAOkiC,EAAOvrB,KAAK3W,EAAM6/C,GAKrD,KAFA,GAAI+M,GAAQ7zD,KAAK+8D,OACbrd,EAAS,EACN1/C,KAAKu9D,aAAet2D,EAAKxE,OAASi9C,GAAU1/C,KAAK09D,YAAY,CAClE,IAAK,GAAIr+D,GAAIW,KAAKu9D,aAAcl+D,EAAIW,KAAK09D,YAAa7J,EAAMx0D,KAAO4H,EAAKy4C,IACxE1/C,MAAK46D,UACL56D,KAAKu9D,aAAe,EAEtB,KAAO7d,EAASz4C,EAAKxE,QAAQoxD,EAAM7zD,KAAKu9D,gBAAkBt2D,EAAKy4C,IAG/D,KAAK,GAAIruC,GAAI,EAAG0sD,EAAsB,EAAd92D,EAAKxE,OAAYs7D,EAAQ,IAAK1sD,EACpDrR,KAAKwU,QAAQnD,IAAM0sD,EACnBA,EAAS/9D,KAAKwU,QAAQnD,GAAK,WAAgB,EACvC0sD,EAAQ,IAAG/9D,KAAKwU,QAAQnD,IAAM,WAAe0sD,EAGnD,OAAO/9D,OAGTq8D,EAAS98D,UAAUq7D,QAAU,WAC3B,KAAM,IAAI9zD,OAAM,+BAGlBu1D,EAAS98D,UAAU+K,OAAS,SAAUw8C,GACpC,GAAI9mD,KAAK29D,WAAY,KAAM,IAAI72D,OAAM,wBACrC9G,MAAK29D,YAAa,CAElB,IAAIrzD,GAAStK,KAAKs9D,SACDp5D,UAAb4iD,IAAwBx8C,EAASA,EAAOG,SAASq8C,IAGrD9mD,KAAK+8D,OAAOlW,KAAK,GACjB7mD,KAAKu9D,aAAe,CACpB,KAAK,GAAIl+D,GAAI,EAAGA,EAAI,IAAKA,EAAGW,KAAKwU,QAAQnV,GAAK,CAE9C,OAAOiL,IAGT+xD,EAAS98D,UAAU+9D,QAAU,WAC3B,KAAM,IAAIx2D,OAAM,+BAGlBhI,EAAOD,QAAUw9D,G7Kyu1BX,SAAUv9D,EAAQD,EAASH,GAEhC,Y8Kh01BD,SAAS8oF,GAAUh/E,EAAM5F,EAAKwxE,GAC5B3W,EAAUx+D,KAAKe,MAEfA,KAAK2nF,OAAS,GAAIC,GAClB5nF,KAAKswF,MAAQ,OACbtwF,KAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,GAC3B5C,KAAKgoF,MAAQ7+C,EAAOvrB,KAAKw2D,GACzBp0E,KAAKioF,MAAQz/E,EACbxI,KAAKkoF,cAAe,EA+BtB,QAASN,KACP5nF,KAAKg7B,MAAQmO,EAAOsd,YAAY,GA8BlC,QAAS8pC,GAAOlnF,GAGd,IAFA,GAAImnF,GAASnnF,EAAK,IACdhK,GAAI,IACCA,EAAImxF,GACX,GAAInnF,EAAMhK,GAAK,GAAKmxF,MAAcA,EAChC,KAAM,IAAI1pF,OAAM,yBAGpB,IAAe,KAAX0pF,EAEJ,MAAOnnF,GAAK1J,MAAM,EAAG,GAAK6wF,GAG5B,QAAS3b,GAAkBsT,EAAOC,EAAUhU,GAC1C,GAAI7zE,GAAS8nF,EAAMF,EAAMxoE,cACzB,KAAKpf,EAAQ,KAAM,IAAIY,WAAU,qBAGjC,IADkB,gBAAPizE,KAAiBA,EAAKjrC,EAAOvrB,KAAKw2D,IACzB,QAAhB7zE,EAAOiI,MAAkB4rE,EAAG3xE,SAAWlC,EAAO6zE,GAAI,KAAM,IAAIjzE,WAAU,qBAAuBizE,EAAG3xE,OAGpG,IADwB,gBAAb2lF,KAAuBA,EAAWj/C,EAAOvrB,KAAKwqE,IACrDA,EAAS3lF,SAAWlC,EAAOqC,IAAM,EAAG,KAAM,IAAIzB,WAAU,sBAAwBinF,EAAS3lF,OAE7F,OAAoB,WAAhBlC,EAAOqL,KACF,GAAI08E,GAAa/nF,EAAOzB,OAAQspF,EAAUhU,GAAI,GAC5B,SAAhB7zE,EAAOqL,KACT,GAAI28E,GAAWhoF,EAAOzB,OAAQspF,EAAUhU,GAAI,GAG9C,GAAIoT,GAASjnF,EAAOzB,OAAQspF,EAAUhU,GAG/C,QAASmT,GAAgBY,EAAOC,GAC9B,GAAI7nF,GAAS8nF,EAAMF,EAAMxoE,cACzB,KAAKpf,EAAQ,KAAM,IAAIY,WAAU,qBAEjC,IAAIob,GAAOisE,EAAKJ,GAAU,EAAO7nF,EAAOqC,IAAKrC,EAAO6zE,GACpD,OAAOS,GAAiBsT,EAAO5rE,EAAK3Z,IAAK2Z,EAAK63D,IApHhD,GAAImU,GAAa7pF,EAAQ,KACrByqC,EAASzqC,EAAQ,KAAeyqC,OAChCk/C,EAAQ3pF,EAAQ,KAChB4pF,EAAe5pF,EAAQ,KACvB++D,EAAY/+D,EAAQ,KACpBopF,EAAMppF,EAAQ,KACd8pF,EAAO9pF,EAAQ,KACf2f,EAAW3f,EAAQ,IAavB2f,GAASmpE,EAAU/pB,GAEnB+pB,EAASjoF,UAAUq7D,QAAU,SAAU3zD,GACrCjH,KAAK2nF,OAAOluB,IAAIxyD,EAIhB,KAHA,GAAI42D,GACA4qB,EACAv+B,KACI2T,EAAQ79D,KAAK2nF,OAAOvrE,IAAIpc,KAAKkoF,eACnCO,EAAQzoF,KAAKioF,MAAMvU,QAAQ1zE,KAAM69D,GACjC3T,EAAI79C,KAAKo8E,EAEX,OAAOt/C,GAAOlpC,OAAOiqD,IAGvBs9B,EAASjoF,UAAUs7D,OAAS,WAC1B,GAAIgD,GAAQ79D,KAAK2nF,OAAOzc,OACxB,IAAIlrE,KAAKkoF,aACP,MAAOqI,GAAMvwF,KAAKioF,MAAMvU,QAAQ1zE,KAAM69D,GACjC,IAAIA,EACT,KAAM,IAAI/2D,OAAM,sCAIpB0gF,EAASjoF,UAAUwyE,eAAiB,SAAU6W,GAE5C,MADA5oF,MAAKkoF,eAAiBU,EACf5oF,MAOT4nF,EAASroF,UAAUk6D,IAAM,SAAUxyD,GACjCjH,KAAKg7B,MAAQmO,EAAOlpC,QAAQD,KAAKg7B,MAAO/zB,KAG1C2gF,EAASroF,UAAU6c,IAAM,SAAUq0E,GACjC,GAAIvmC,EACJ,IAAIumC,GACF,GAAIzwF,KAAKg7B,MAAMv4B,OAAS,GAGtB,MAFAynD,GAAMlqD,KAAKg7B,MAAMr7B,MAAM,EAAG,IAC1BK,KAAKg7B,MAAQh7B,KAAKg7B,MAAMr7B,MAAM,IACvBuqD,MAGT,IAAIlqD,KAAKg7B,MAAMv4B,QAAU,GAGvB,MAFAynD,GAAMlqD,KAAKg7B,MAAMr7B,MAAM,EAAG,IAC1BK,KAAKg7B,MAAQh7B,KAAKg7B,MAAMr7B,MAAM,IACvBuqD,CAIX,OAAO,OAGT09B,EAASroF,UAAU2rE,MAAQ,WACzB,GAAIlrE,KAAKg7B,MAAMv4B,OAAQ,MAAOzC,MAAKg7B,OA2CrCn8B,EAAQ0oF,eAAiBA,EACzB1oF,EAAQg2E,iBAAmBA,G9K+01BrB,SAAU/1E,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YAI9C,SAASnoC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,M+K381B7hBwvF,EAAahyF,EAAQ,KACrBiyF,EAASjyF,EAAQ,KACjBkyF,EAAYD,EAAOE,eAAe,YACtCH,GAAahyF,EAAQ,IACrB,IAAIoyD,GAASpyD,EAAQ,KACjB6L,EAAO7L,EAAQ,KACf6B,EAAS7B,EAAQ,IACjBmyD,EAASnyD,EAAQ,KAEjBmvF,EAAI+C,EAAU/C,EACdpiF,EAAImlF,EAAUnlF,EAEZ85C,E/K+81BW,W+K581Bb,QAAAA,GAAYD,GAAGtkD,EAAAhB,KAAAulD,GAAEvlD,KAAKslD,EAAIA,E/K6o2BzB,MAxLAjjD,GAAakjD,IACT3iD,IAAK,WACLhB,MAAO,W+Kx81B6C,GAAhD0vD,GAAgDrtD,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAnCjE,KAAKslD,EAAItlD,KAAKslD,EAAEgM,WAAa,IAC/C,OAAe,QAAXtxD,KAAKslD,EACEnc,EAAOvrB,KACV,qEACA,OAED5d,KAAKslD,EAAEwrC,WAAWx/B,M/Ky81BxB1uD,IAAK,iBACLhB,MAAO,W+Kl81BR,GAAIwI,GAAMpK,KAAKslD,EAAEwrC,YAAW,GACxBC,EAAQJ,EAAOK,MAAMC,WAAWL,EAAWxmF,EAC/C,OAAOm7C,GAAU2rC,UAAUH,M/Ky81B1BnuF,IAAK,sBACLhB,MAAO,W+Kr81BR,GAAIuvF,GAAUnxF,KAAKqK,WACf+mF,EAAU7mF,EAAK2mD,OAAOigC,EAC1B,OAAO5mF,GAAKu7C,UAAUsrC,M/Ky81BrBxuF,IAAK,WACLhB,MAAO,W+Kv81B4C,GAA/CyqC,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,iBACjC,OAAOpc,MAAKqxF,kBAAkBhlD,M/Kk91B7BzpC,IAAK,oBACLhB,MAAO,W+K581BqD,GAA/CyqC,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,iBAC1C,IAAGpc,KAAKsxF,QAAS,MAAOjlD,GAAiBrsC,KAAKsxF,OAC9C,IAAMH,GAAUnxF,KAAKqK,WACf0mD,EAAWxmD,EAAKu7C,UAAUqrC,GAC1BvrC,EAAOzc,EAAOlpC,QAAQkxF,EAASpgC,EAASpxD,MAAM,EAAG,IAEvD,OADAK,MAAKsxF,QAAUxgC,EAAOE,OAAOpL,GACtBvZ,EAAiBrsC,KAAKsxF,W/Ky91B5B1uF,IAAK,kBACLhB,MAAO,W+Kn71BmD,GAA/CyqC,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,kBACpC+0E,EAAUnxF,KAAKqK,WACf+mF,EAAU7mF,EAAK2mD,OAAOigC,GACtBvrC,EAAOr7C,EAAKu7C,UAAUsrC,GACtBrgC,EAAWxmD,EAAKu7C,UAAUF,EAE9B,OADAA,GAAOzc,EAAOlpC,QAAQ2lD,EAAMmL,EAASpxD,MAAM,EAAG,KACvC0sC,EAAiBykB,EAAOE,OAAOpL,M/Kw71BrChjD,IAAK,YACLhB,MAAO,W+Kr71BR,GAAIuvF,GAAUnxF,KAAKqK,WACf+mF,EAAU7mF,EAAKC,OAAO2mF,GACtBvrC,EAAOr7C,EAAKu7C,UAAUsrC,EAC1BxrC,GAAOzc,EAAOlpC,QAAQ,GAAIkpC,IAAQ,KAAQyc,GAE1C,IAAImL,GAAWxmD,EAAKC,OAAOo7C,EAI3B,OAHAmL,GAAWxmD,EAAKC,OAAOumD,GAEvBnL,EAAOzc,EAAOlpC,QAAQ2lD,EAAMmL,EAASpxD,MAAM,EAAG,KACvCmxD,EAAOE,OAAOpL,M/Ky71BpBhjD,IAAK,QACLhB,MAAO,S+Kv71BL89C,GAEHmR,EAAO1nB,EAAO7B,SAASoY,GAAS,2BAChCmR,EAAOM,MAAMzR,EAAOj9C,OAAQ,GAAI,iBAEhCi9C,EAASvW,EAAOlpC,QAASD,KAAKqK,WAAYq1C,IAC1CA,EAASn1C,EAAKC,OAAQk1C,EAEtB,IAAIvgD,GAAIuxF,EAAWa,WAAY7xC,EAE/B,IAAIvgD,EAAEqyF,UAAU/lF,IAAM,EAClB,KAAM,IAAI3E,OAAM,6CAGpB,IAAI2qF,GAAK5D,EAAEjI,SAASzmF,GAChBuyF,EAAS1xF,KAAKslD,EAAEmU,IAAIg4B,EAExB,IAAIb,EAAUe,WAAWD,GACrB,KAAM,IAAI5qF,OAAM,oDAEpB,OAAOy+C,GAAU2rC,UAAUQ,M/K871B1B9uF,IAAK,QACLhB,MAAO,W+Kj71BR,MAAO5B,MAAKqK,WAAWI,SAAS,Y/Kq71B/B7H,IAAK,aACLhB,MAAO,S+K1k2BMgwF,GACd,MAAOrsC,GAAUgsC,WAAW,GAAIpoD,GAAOyoD,EAAK,c/K6k2B3ChvF,IAAK,aACLhB,MAAO,S+K3k2BMyuC,GACd,MAIW,IAAIkV,GAFX,uEADAlV,EAAO5lC,SAAS,OAGK,KACJkmF,EAAOK,MAAMC,WAAWL,EAAWvgD,O/K0k2BvDztC,IAAK,YACLhB,MAAO,S+K/j2BKmvF,GACb,MAAO,IAAIxrC,GAAUwrC,M/Kkk2BpBnuF,IAAK,aACLhB,MAAO,S+K5h2BMy6C,GAA2D,GAA/ChQ,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,iBACtD,KACI,MAAOmpC,GAAUC,kBAAkBnJ,EAAYhQ,GACjD,MAAOhlC,GACL,MAAO,U/K0i2BVzE,IAAK,oBACLhB,MAAO,S+Kji2Bay6C,GAA2D,GAA/ChQ,GAA+CpoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAA9B1D,EAAO6b,IAAI,kBACzDiB,EAASg/B,EAAW18C,MAAM,EAAG0sC,EAAe5pC,OAChDouD,GAAOM,MACH9kB,EAAgBhvB,EADpB,+BAEmCgvB,EAFnC,iBAEkEhvB,GAC9Dg/B,EAAaA,EAAW18C,MAAM0sC,EAAe5pC,QAEjD45C,EAAa,GAAIlT,GAAO2nB,EAAOtf,OAAO6K,GAAa,SACnD,IAAI0U,GAAW1U,EAAW18C,OAAM,EAChC08C,GAAaA,EAAW18C,MAAM,GAAG,EACjC,IAAIyxD,GAAe7mD,EAAKu7C,UAAUzJ,EAGlC,OAFA+U,GAAeA,EAAazxD,MAAM,EAAG,GACrCkxD,EAAOQ,UAAUN,EAAUK,EAAc,0BAClC7L,EAAUgsC,WAAWl1C,M/Koi2B3Bz5C,IAAK,UACLhB,MAAO,S+K/+1BG8+E,GACX,MAAOn7B,GAAUgsC,WAAW,GAAIpoD,GAAOu3C,EAAK,W/Kk/1B3C99E,IAAK,gBACLhB,MAAO,S+K5+1BS8+E,GACjB,MAAOn7B,GAAU1B,WAAW,GAAI1a,GAAOu3C,EAAK,Y/Km/1BxCn7B,I+K5+1BZzmD,GAAOD,QAAU0mD,I/Kg/1BatmD,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YgLtq2BD,IAAIgyF,GAAahyF,EAAQ,IAGzBA,GAAQ,KAERI,EAAOD,QAAU6xF,GhL4q2BX,SAAU5xF,EAAQD,EAASH,GAEhC,YiLlr2BD,SAASgyF,GAAW7wF,EAAGC,EAAGX,GACxB,MAAMa,gBAAgB0wF,QAGb,MAAL7wF,IACE,gBAAmBA,GAAGG,KAAKo1E,WAAWv1E,EAAGC,EAAGX,GAClC,MAALW,GAAa,gBAAmBD,GAAGG,KAAK6jD,WAAWhkD,EAAG,KAC1DG,KAAK6jD,WAAWhkD,EAAGC,KALjB,GAAI4wF,GAAW7wF,EAAGC,EAAGX,GA4BhC,QAAS0yF,GAAIxyF,EAAG2X,EAAG86E,EAAGzgF,EAAGlS,EAAGsM,GAC1B,OAASA,GAAK,GAAG,CACf,GAAIiD,GAAIsI,EAAIhX,KAAKX,KAAOyyF,EAAEzgF,GAAKlS,CAC/BA,GAAIgI,KAAK2vC,MAAMpoC,EAAI,UACnBojF,EAAEzgF,KAAW,SAAJ3C,EAEX,MAAOvP,GA0DT,QAAS4yF,GAAStmF,GAChB,MAAOumF,IAAMpzE,OAAOnT,GAGtB,QAASwmF,GAAMx7C,EAAGp3C,GAChB,GAAIF,GAAI+yF,GAAMz7C,EAAEjB,WAAWn2C,GAC3B,OAAa,OAALF,GAAa,EAAKA,EAI5B,QAASgzF,GAAUv7E,GACjB,IAAK,GAAIvX,GAAIW,KAAKk9C,EAAI,EAAG79C,GAAK,IAAKA,EAAGuX,EAAEvX,GAAKW,KAAKX,EAClDuX,GAAEsmC,EAAIl9C,KAAKk9C,EACXtmC,EAAE6/B,EAAIz2C,KAAKy2C,EAIb,QAAS27C,GAAWp7E,GAClBhX,KAAKk9C,EAAI,EACTl9C,KAAKy2C,EAAKz/B,EAAI,GAAK,EAAK,EACpBA,EAAI,EAAGhX,KAAK,GAAKgX,EACZA,GAAI,EAAIhX,KAAK,GAAKgX,EAAIq7E,GAC1BryF,KAAKk9C,EAAI,EAIhB,QAASo1C,GAAIjzF,GACX,GAAIuX,GAAI,GAAI85E,EAEZ,OADA95E,GAAEyqE,QAAQhiF,GACHuX,EAIT,QAAS27E,GAAc97C,EAAG32C,GACxB,GAEIimC,GAFA1kC,EAAOrB,IAGX,IAAS,IAALF,EAASimC,EAAI,MACZ,IAAS,GAALjmC,EAAQimC,EAAI,MAChB,IAAS,KAALjmC,EAAUimC,EAAI,MAClB,IAAS,GAALjmC,EAAQimC,EAAI,MAChB,IAAS,IAALjmC,EAASimC,EAAI,MACjB,IAAS,GAALjmC,EAGP,WADAuB,GAAKmxF,UAAU/7C,EAAG32C,EAFHimC,GAAI,EAKrB1kC,EAAK67C,EAAI,EACT77C,EAAKo1C,EAAI,CAIT,KAHA,GAAIp3C,GAAIo3C,EAAEh0C,OACRgwF,GAAK,EACLC,EAAK,IACErzF,GAAK,GAAG,CACf,GAAI2X,GAAU,GAAL+uB,EAAiB,IAAP0Q,EAAEp3C,GAAY4yF,EAAMx7C,EAAGp3C,EACtC2X,GAAI,EACa,KAAfy/B,EAAE73B,OAAOvf,KAAWozF,GAAK,IAG/BA,GAAK,EACK,GAANC,EACFrxF,EAAKA,EAAK67C,KAAOlmC,EACV07E,EAAK3sD,EAAI1kC,EAAKsxF,IACrBtxF,EAAKA,EAAK67C,EAAI,KAAOlmC,GAAM,GAAM3V,EAAKsxF,GAAKD,GAAO,IAAOA,EACzDrxF,EAAKA,EAAK67C,KAAQlmC,GAAM3V,EAAKsxF,GAAKD,GAElCrxF,EAAKA,EAAK67C,EAAI,IAAMlmC,GAAK07E,EAC3BA,GAAM3sD,EACF2sD,GAAMrxF,EAAKsxF,KAAID,GAAMrxF,EAAKsxF,KAEvB,GAAL5sD,GAA2B,IAAT,IAAP0Q,EAAE,MACfp1C,EAAKo1C,GAAI,EACLi8C,EAAK,IAAGrxF,EAAKA,EAAK67C,EAAI,KAAQ,GAAM77C,EAAKsxF,GAAKD,GAAO,GAAMA,IAEjErxF,EAAKuxF,QACDH,GAAI/B,EAAWhP,KAAKmR,MAAMxxF,EAAMA,GAItC,QAASyxF,KAEP,IADA,GAAI3zF,GAAIa,KAAKy2C,EAAIz2C,KAAK+yF,GACf/yF,KAAKk9C,EAAI,GAAKl9C,KAAKA,KAAKk9C,EAAI,IAAM/9C,KAAIa,KAAKk9C,EAIpD,QAAS81C,GAAWlzF,GAClB,GAAIuB,GAAOrB,IACX,IAAIqB,EAAKo1C,EAAI,EAAG,MAAO,IAAMp1C,EAAKm7E,SAC/B/xE,SAAS3K,EACZ,IAAIimC,EACJ,IAAS,IAALjmC,EAASimC,EAAI,MACZ,IAAS,GAALjmC,EAAQimC,EAAI,MAChB,IAAS,GAALjmC,EAAQimC,EAAI,MAChB,IAAS,IAALjmC,EAASimC,EAAI,MACjB,IAAS,GAALjmC,EACJ,MAAOuB,GAAK4xF,QAAQnzF,EADRimC,GAAI,EAErB,GACEz+B,GADE4rF,GAAM,GAAKntD,GAAK,EACf7mC,GAAI,EACP0X,EAAI,GACJvX,EAAIgC,EAAK67C,EACP99C,EAAIiC,EAAKsxF,GAAMtzF,EAAIgC,EAAKsxF,GAAM5sD,CAClC,IAAI1mC,KAAM,EAKR,IAJID,EAAIiC,EAAKsxF,KAAOrrF,EAAIjG,EAAKhC,IAAMD,GAAK,IACtCF,GAAI,EACJ0X,EAAIm7E,EAASzqF,IAERjI,GAAK,GACND,EAAI2mC,GACNz+B,GAAKjG,EAAKhC,IAAO,GAAKD,GAAK,IAAQ2mC,EAAI3mC,EACvCkI,GAAKjG,IAAOhC,KAAOD,GAAKiC,EAAKsxF,GAAK5sD,KAElCz+B,EAAKjG,EAAKhC,KAAOD,GAAK2mC,GAAMmtD,EACxB9zF,GAAK,IACPA,GAAKiC,EAAKsxF,KACRtzF,IAGFiI,EAAI,IAAGpI,GAAI,GACXA,IAAG0X,GAAKm7E,EAASzqF,GAGzB,OAAOpI,GAAI0X,EAAI,IAIjB,QAASu8E,KACP,GAAIv8E,GAAI,GAAI85E,EAEZ,OADAA,GAAWhP,KAAKmR,MAAM7yF,KAAM4W,GACrBA,EAIT,QAASw8E,KACP,MAAQpzF,MAAKy2C,EAAI,EAAKz2C,KAAKw8E,SAAWx8E,KAIxC,QAASqzF,GAAYxzF,GACnB,GAAI+W,GAAI5W,KAAKy2C,EAAI52C,EAAE42C,CACnB,IAAS,GAAL7/B,EAAQ,MAAOA,EACnB,IAAIvX,GAAIW,KAAKk9C,CAEb,IADAtmC,EAAIvX,EAAIQ,EAAEq9C,EACD,GAALtmC,EAAQ,MAAQ5W,MAAKy2C,EAAI,GAAM7/B,EAAIA,CACvC,QAASvX,GAAK,GACZ,GAA4B,IAAvBuX,EAAI5W,KAAKX,GAAKQ,EAAER,IAAU,MAAOuX,EACxC,OAAO,GAIT,QAAS08E,GAAMt8E,GACb,GACEkmC,GADEtmC,EAAI,CAsBR,OApBsB,KAAjBsmC,EAAIlmC,IAAM,MACbA,EAAIkmC,EACJtmC,GAAK,IAEa,IAAfsmC,EAAIlmC,GAAK,KACZA,EAAIkmC,EACJtmC,GAAK,GAEa,IAAfsmC,EAAIlmC,GAAK,KACZA,EAAIkmC,EACJtmC,GAAK,GAEa,IAAfsmC,EAAIlmC,GAAK,KACZA,EAAIkmC,EACJtmC,GAAK,GAEa,IAAfsmC,EAAIlmC,GAAK,KACZA,EAAIkmC,EACJtmC,GAAK,GAEAA,EAIT,QAAS28E,KACP,MAAIvzF,MAAKk9C,GAAK,EAAU,EACjBl9C,KAAK2yF,IAAM3yF,KAAKk9C,EAAI,GAAKo2C,EAAMtzF,KAAKA,KAAKk9C,EAAI,GAAMl9C,KAAKy2C,EAAIz2C,KAAK+yF,IAI1E,QAASS,KACP,MAAOxzF,MAAKyzF,aAAe,EAI7B,QAASC,GAAajoF,EAAGmL,GACvB,GAAIvX,EACJ,KAAKA,EAAIW,KAAKk9C,EAAI,EAAG79C,GAAK,IAAKA,EAAGuX,EAAEvX,EAAIoM,GAAKzL,KAAKX,EAClD,KAAKA,EAAIoM,EAAI,EAAGpM,GAAK,IAAKA,EAAGuX,EAAEvX,GAAK,CACpCuX,GAAEsmC,EAAIl9C,KAAKk9C,EAAIzxC,EACfmL,EAAE6/B,EAAIz2C,KAAKy2C,EAIb,QAASk9C,GAAaloF,EAAGmL,GACvB,IAAK,GAAIvX,GAAIoM,EAAGpM,EAAIW,KAAKk9C,IAAK79C,EAAGuX,EAAEvX,EAAIoM,GAAKzL,KAAKX,EACjDuX,GAAEsmC,EAAI/1C,KAAKmvB,IAAIt2B,KAAKk9C,EAAIzxC,EAAG,GAC3BmL,EAAE6/B,EAAIz2C,KAAKy2C,EAIb,QAASm9C,GAAYnoF,EAAGmL,GACtB,GAMEvX,GANEgC,EAAOrB,KACP6zF,EAAKpoF,EAAIpK,EAAKsxF,GACdmB,EAAMzyF,EAAKsxF,GAAKkB,EAChBE,GAAM,GAAKD,GAAO,EAClBE,EAAK7sF,KAAK2vC,MAAMrrC,EAAIpK,EAAKsxF,IAC3BxzF,EAAKkC,EAAKo1C,GAAKo9C,EAAMxyF,EAAK0xF,EAE5B,KAAK1zF,EAAIgC,EAAK67C,EAAI,EAAG79C,GAAK,IAAKA,EAC7BuX,EAAEvX,EAAI20F,EAAK,GAAM3yF,EAAKhC,IAAMy0F,EAAO30F,EACnCA,GAAKkC,EAAKhC,GAAK00F,IAAOF,CAExB,KAAKx0F,EAAI20F,EAAK,EAAG30F,GAAK,IAAKA,EAAGuX,EAAEvX,GAAK,CACrCuX,GAAEo9E,GAAM70F,EACRyX,EAAEsmC,EAAI77C,EAAK67C,EAAI82C,EAAK,EACpBp9E,EAAE6/B,EAAIp1C,EAAKo1C,EACX7/B,EAAEg8E,QAIJ,QAASqB,GAAYxoF,EAAGmL,GACtB,GAAIvV,GAAOrB,IACX4W,GAAE6/B,EAAIp1C,EAAKo1C,CACX,IAAIu9C,GAAK7sF,KAAK2vC,MAAMrrC,EAAIpK,EAAKsxF,GAC7B,IAAIqB,GAAM3yF,EAAK67C,EAEb,YADAtmC,EAAEsmC,EAAI,EAGR,IAAI22C,GAAKpoF,EAAIpK,EAAKsxF,GACdmB,EAAMzyF,EAAKsxF,GAAKkB,EAChBE,GAAM,GAAKF,GAAM,CACrBj9E,GAAE,GAAKvV,EAAK2yF,IAAOH,CACnB,KAAK,GAAIx0F,GAAI20F,EAAK,EAAG30F,EAAIgC,EAAK67C,IAAK79C,EACjCuX,EAAEvX,EAAI20F,EAAK,KAAO3yF,EAAKhC,GAAK00F,IAAOD,EACnCl9E,EAAEvX,EAAI20F,GAAM3yF,EAAKhC,IAAMw0F,CAErBA,GAAK,IAAGj9E,EAAEvV,EAAK67C,EAAI82C,EAAK,KAAO3yF,EAAKo1C,EAAIs9C,IAAOD,GACnDl9E,EAAEsmC,EAAI77C,EAAK67C,EAAI82C,EACfp9E,EAAEg8E,QAIJ,QAASsB,GAASr0F,EAAG+W,GAKnB,IAJA,GAAIvV,GAAOrB,KACPX,EAAI,EACNF,EAAI,EACJD,EAAIiI,KAAKk6B,IAAIxhC,EAAEq9C,EAAG77C,EAAK67C,GAClB79C,EAAIH,GACTC,GAAKkC,EAAKhC,GAAKQ,EAAER,GACjBuX,EAAEvX,KAAOF,EAAIkC,EAAK0xF,GAClB5zF,IAAMkC,EAAKsxF,EAEb,IAAI9yF,EAAEq9C,EAAI77C,EAAK67C,EAAG,CAEhB,IADA/9C,GAAKU,EAAE42C,EACAp3C,EAAIgC,EAAK67C,GACd/9C,GAAKkC,EAAKhC,GACVuX,EAAEvX,KAAOF,EAAIkC,EAAK0xF,GAClB5zF,IAAMkC,EAAKsxF,EAEbxzF,IAAKkC,EAAKo1C,MACL,CAEL,IADAt3C,GAAKkC,EAAKo1C,EACHp3C,EAAIQ,EAAEq9C,GACX/9C,GAAKU,EAAER,GACPuX,EAAEvX,KAAOF,EAAIkC,EAAK0xF,GAClB5zF,IAAMkC,EAAKsxF,EAEbxzF,IAAKU,EAAE42C,EAET7/B,EAAE6/B,EAAKt3C,EAAI,GAAK,EAAK,EACjBA,GAAI,EAAIyX,EAAEvX,KAAOgC,EAAKgxF,GAAKlzF,EACtBA,EAAI,IAAGyX,EAAEvX,KAAOF,GACzByX,EAAEsmC,EAAI79C,EACNuX,EAAEg8E,QAKJ,QAASuB,GAAct0F,EAAG+W,GACxB,GAAII,GAAIhX,KAAKy1C,MACXc,EAAI12C,EAAE41C,MACJp2C,EAAI2X,EAAEkmC,CAEV,KADAtmC,EAAEsmC,EAAI79C,EAAIk3C,EAAE2G,IACH79C,GAAK,GAAGuX,EAAEvX,GAAK,CACxB,KAAKA,EAAI,EAAGA,EAAIk3C,EAAE2G,IAAK79C,EAAGuX,EAAEvX,EAAI2X,EAAEkmC,GAAKlmC,EAAEo9E,GAAG,EAAG79C,EAAEl3C,GAAIuX,EAAGvX,EAAG,EAAG2X,EAAEkmC,EAChEtmC,GAAE6/B,EAAI,EACN7/B,EAAEg8E,QACE5yF,KAAKy2C,GAAK52C,EAAE42C,GAAGi6C,EAAWhP,KAAKmR,MAAMj8E,EAAGA,GAI9C,QAASy9E,GAAYz9E,GAGnB,IAFA,GAAII,GAAIhX,KAAKy1C,MACTp2C,EAAIuX,EAAEsmC,EAAI,EAAIlmC,EAAEkmC,IACX79C,GAAK,GAAGuX,EAAEvX,GAAK,CACxB,KAAKA,EAAI,EAAGA,EAAI2X,EAAEkmC,EAAI,IAAK79C,EAAG,CAC5B,GAAIF,GAAI6X,EAAEo9E,GAAG/0F,EAAG2X,EAAE3X,GAAIuX,EAAG,EAAIvX,EAAG,EAAG,IAC9BuX,EAAEvX,EAAI2X,EAAEkmC,IAAMlmC,EAAEo9E,GAAG/0F,EAAI,EAAG,EAAI2X,EAAE3X,GAAIuX,EAAG,EAAIvX,EAAI,EAAGF,EAAG6X,EAAEkmC,EAAI79C,EAAI,KAAO2X,EAAEq7E,KAC3Ez7E,EAAEvX,EAAI2X,EAAEkmC,IAAMlmC,EAAEq7E,GAChBz7E,EAAEvX,EAAI2X,EAAEkmC,EAAI,GAAK,GAGjBtmC,EAAEsmC,EAAI,IAAGtmC,EAAEA,EAAEsmC,EAAI,IAAMlmC,EAAEo9E,GAAG/0F,EAAG2X,EAAE3X,GAAIuX,EAAG,EAAIvX,EAAG,EAAG,IACtDuX,EAAE6/B,EAAI,EACN7/B,EAAEg8E,QAKJ,QAAS0B,GAAYp1F,EAAGw8D,EAAG9kD,GACzB,GAAIvV,GAAOrB,KACPu0F,EAAKr1F,EAAEu2C,KACX,MAAI8+C,EAAGr3C,GAAK,GAAZ,CACA,GAAIs3C,GAAKnzF,EAAKo0C,KACd,IAAI++C,EAAGt3C,EAAIq3C,EAAGr3C,EAGZ,MAFS,OAALwe,GAAWA,EAAE2lB,QAAQ,QAChB,MAALzqE,GAAWvV,EAAKw9E,OAAOjoE,GAGpB,OAALA,IAAWA,EAAI,GAAI85E,GACvB,IAAIn6C,GAAI,GAAIm6C,GACVhoF,EAAKrH,EAAKo1C,EACVpZ,EAAKn+B,EAAEu3C,EACLg+C,EAAMpzF,EAAKsxF,GAAKW,EAAMiB,EAAGA,EAAGr3C,EAAI,GAChCu3C,GAAM,GACRF,EAAGG,SAASD,EAAKl+C,GACjBi+C,EAAGE,SAASD,EAAK79E,KAEjB29E,EAAG1V,OAAOtoC,GACVi+C,EAAG3V,OAAOjoE,GAEZ,IAAI+9E,GAAKp+C,EAAE2G,EACP03C,EAAKr+C,EAAEo+C,EAAK,EAChB,IAAU,GAANC,EAAJ,CACA,GAAIC,GAAKD,GAAM,GAAKvzF,EAAKyzF,KAAQH,EAAK,EAAKp+C,EAAEo+C,EAAK,IAAMtzF,EAAK0zF,GAAK,GAC9Dz3C,EAAKj8C,EAAK2zF,GAAKH,EACjBr3C,GAAM,GAAKn8C,EAAKyzF,IAAMD,EACtBxtF,EAAI,GAAKhG,EAAK0zF,GACZ11F,EAAIuX,EAAEsmC,EACR7rC,EAAIhS,EAAIs1F,EACRz3C,EAAU,MAALwe,EAAa,GAAIg1B,GAAeh1B,CAQvC,KAPAnlB,EAAE0+C,UAAU5jF,EAAG6rC,GACXtmC,EAAE46E,UAAUt0C,IAAM,IACpBtmC,EAAEA,EAAEsmC,KAAO,EACXtmC,EAAEi8E,MAAM31C,EAAGtmC,IAEb85E,EAAWnU,IAAI0Y,UAAUN,EAAIz3C,GAC7BA,EAAE21C,MAAMt8C,EAAGA,GACJA,EAAE2G,EAAIy3C,GAAIp+C,EAAEA,EAAE2G,KAAO,CAC5B,QAAS7rC,GAAK,GAAG,CAEf,GAAI6jF,GAAMt+E,IAAIvX,IAAMu1F,EAAMvzF,EAAK0xF,GAAK5rF,KAAK2vC,MAAMlgC,EAAEvX,GAAKi+C,GAAM1mC,EAAEvX,EAAI,GAAKgI,GAAKm2C,EAC5E,KAAK5mC,EAAEvX,IAAMk3C,EAAE69C,GAAG,EAAGc,EAAIt+E,EAAGvF,EAAG,EAAGsjF,IAAOO,EAGvC,IAFA3+C,EAAE0+C,UAAU5jF,EAAG6rC,GACftmC,EAAEi8E,MAAM31C,EAAGtmC,GACJA,EAAEvX,KAAO61F,GAAIt+E,EAAEi8E,MAAM31C,EAAGtmC,GAG1B,MAAL8kD,IACF9kD,EAAEu+E,UAAUR,EAAIj5B,GACZhzD,GAAM20B,GAAIqzD,EAAWhP,KAAKmR,MAAMn3B,EAAGA,IAEzC9kD,EAAEsmC,EAAIy3C,EACN/9E,EAAEg8E,QACE6B,EAAM,GAAG79E,EAAEw+E,SAASX,EAAK79E,GACzBlO,EAAK,GAAGgoF,EAAWhP,KAAKmR,MAAMj8E,EAAGA,KAIvC,QAASy+E,GAAMx1F,GACb,GAAI+W,GAAI,GAAI85E,EAIZ,OAHA1wF,MAAKy1C,MACF6/C,SAASz1F,EAAG,KAAM+W,GACjB5W,KAAKy2C,EAAI,GAAK7/B,EAAE46E,UAAUd,EAAWhP,MAAQ,GAAG7hF,EAAEgzF,MAAMj8E,EAAGA,GACxDA,EAIT,QAAS2+E,GAAQr2F,GACfc,KAAKd,EAAIA,EAGX,QAASs2F,GAASx+E,GAChB,MAAIA,GAAEy/B,EAAI,GAAKz/B,EAAEw6E,UAAUxxF,KAAKd,IAAM,EAAU8X,EAAE0vE,IAAI1mF,KAAKd,GAC/C8X,EAGd,QAASy+E,GAAQz+E,GACf,MAAOA,GAGT,QAAS0+E,GAAQ1+E,GACfA,EAAEs+E,SAASt1F,KAAKd,EAAG,KAAM8X,GAG3B,QAAS2+E,GAAO3+E,EAAGu/B,EAAG3/B,GACpBI,EAAE4+E,WAAWr/C,EAAG3/B,GAChB5W,KAAK2F,OAAOiR,GAGd,QAASi/E,GAAO7+E,EAAGJ,GACjBI,EAAE8+E,SAASl/E,GACX5W,KAAK2F,OAAOiR,GAmBd,QAASm/E,KACP,GAAI/1F,KAAKk9C,EAAI,EAAG,MAAO,EACvB,IAAIlmC,GAAIhX,KAAK,EACb,IAAe,IAAN,EAAJgX,GAAa,MAAO,EACzB,IAAIu/B,GAAQ,EAAJv/B,CAQR,OAPAu/B,GAAKA,GAAK,GAAS,GAAJv/B,GAAWu/B,GAAM,GAChCA,EAAKA,GAAK,GAAS,IAAJv/B,GAAYu/B,GAAM,IACjCA,EAAKA,GAAK,IAAW,MAAJv/B,GAAcu/B,EAAK,QAAY,MAGhDA,EAAKA,GAAK,EAAIv/B,EAAIu/B,EAAIv2C,KAAKqyF,IAAOryF,KAAKqyF,GAE/B97C,EAAI,EAAKv2C,KAAKqyF,GAAK97C,GAAKA,EAIlC,QAASy/C,GAAW92F,GAClBc,KAAKd,EAAIA,EACTc,KAAKi2F,GAAK/2F,EAAEg3F,WACZl2F,KAAKm2F,IAAgB,MAAVn2F,KAAKi2F,GAChBj2F,KAAKo2F,IAAMp2F,KAAKi2F,IAAM,GACtBj2F,KAAKq2F,IAAM,GAAMn3F,EAAEyzF,GAAK,IAAO,EAC/B3yF,KAAKs2F,IAAM,EAAIp3F,EAAEg+C,EAInB,QAASq5C,GAAYv/E,GACnB,GAAIJ,GAAI,GAAI85E,EAKZ,OAJA15E,GAAEy+B,MACCw/C,UAAUj1F,KAAKd,EAAEg+C,EAAGtmC,GACvBA,EAAE0+E,SAASt1F,KAAKd,EAAG,KAAM0X,GACrBI,EAAEy/B,EAAI,GAAK7/B,EAAE46E,UAAUd,EAAWhP,MAAQ,GAAG1hF,KAAKd,EAAE2zF,MAAMj8E,EAAGA,GAC1DA,EAIT,QAAS4/E,GAAWx/E,GAClB,GAAIJ,GAAI,GAAI85E,EAGZ,OAFA15E,GAAE6nE,OAAOjoE,GACT5W,KAAK2F,OAAOiR,GACLA,EAIT,QAAS6/E,GAAWz/E,GAClB,KAAOA,EAAEkmC,GAAKl9C,KAAKs2F,KACjBt/E,EAAEA,EAAEkmC,KAAO,CACb,KAAK,GAAI79C,GAAI,EAAGA,EAAIW,KAAKd,EAAEg+C,IAAK79C,EAAG,CAEjC,GAAIgS,GAAW,MAAP2F,EAAE3X,GACNq3F,EAAMrlF,EAAIrR,KAAKm2F,MAAS9kF,EAAIrR,KAAKo2F,KAAOp/E,EAAE3X,IAAM,IAAMW,KAAKm2F,IAAOn2F,KAAKq2F,KAAO,IAAOr/E,EAAE+7E,EAK3F,KAHA1hF,EAAIhS,EAAIW,KAAKd,EAAEg+C,EACflmC,EAAE3F,IAAMrR,KAAKd,EAAEk1F,GAAG,EAAGsC,EAAI1/E,EAAG3X,EAAG,EAAGW,KAAKd,EAAEg+C,GAElClmC,EAAE3F,IAAM2F,EAAEq7E,IACfr7E,EAAE3F,IAAM2F,EAAEq7E,GACVr7E,IAAI3F,KAGR2F,EAAE47E,QACF57E,EAAEm+E,UAAUn1F,KAAKd,EAAEg+C,EAAGlmC,GAClBA,EAAEw6E,UAAUxxF,KAAKd,IAAM,GAAG8X,EAAE67E,MAAM7yF,KAAKd,EAAG8X,GAIhD,QAAS2/E,GAAU3/E,EAAGJ,GACpBI,EAAE8+E,SAASl/E,GACX5W,KAAK2F,OAAOiR,GAId,QAASggF,GAAU5/E,EAAGu/B,EAAG3/B,GACvBI,EAAE4+E,WAAWr/C,EAAG3/B,GAChB5W,KAAK2F,OAAOiR,GAUd,QAASigF,KACP,MAAkD,KAAzC72F,KAAKk9C,EAAI,EAAgB,EAAVl9C,KAAK,GAAUA,KAAKy2C,GAI9C,QAASqgD,GAAOzvF,EAAG4lE,GACjB,GAAI5lE,EAAI,YAAcA,EAAI,EAAG,MAAOqpF,GAAWnU,GAC/C,IAAI3lE,GAAI,GAAI85E,GACVqG,EAAK,GAAIrG,GACT/jF,EAAIsgE,EAAE+pB,QAAQh3F,MACdX,EAAIi0F,EAAMjsF,GAAK,CAEjB,KADAsF,EAAEkyE,OAAOjoE,KACAvX,GAAK,GAEZ,GADA4tE,EAAEgqB,MAAMrgF,EAAGmgF,IACN1vF,EAAK,GAAKhI,GAAM,EAAG4tE,EAAEiqB,MAAMH,EAAIpqF,EAAGiK,OAClC,CACH,GAAIsmC,GAAItmC,CACRA,GAAImgF,EACJA,EAAK75C,EAGT,MAAO+vB,GAAEkqB,OAAOvgF,GAIlB,QAASwgF,GAAY/vF,EAAGnI,GACtB,GAAI+tE,EAGJ,OAF2BA,GAAvB5lE,EAAI,KAAOnI,EAAE2kF,SAAc,GAAI0R,GAAQr2F,GAClC,GAAI82F,GAAW92F,GACjBc,KAAKq3F,IAAIhwF,EAAG4lE,GA+BrB,QAASqqB,KACP,GAAI1gF,GAAI,GAAI85E,EAEZ,OADA1wF,MAAK6+E,OAAOjoE,GACLA,EAIT,QAAS2gF,KACP,GAAIv3F,KAAKy2C,EAAI,EAAG,CACd,GAAc,GAAVz2C,KAAKk9C,EAAQ,MAAOl9C,MAAK,GAAKA,KAAKqyF,EAClC,IAAc,GAAVryF,KAAKk9C,EAAQ,OAAO,MACxB,IAAc,GAAVl9C,KAAKk9C,EAAQ,MAAOl9C,MAAK,EAC/B,IAAc,GAAVA,KAAKk9C,EAAQ,MAAO,GAE7B,OAASl9C,KAAK,IAAO,GAAM,GAAKA,KAAK2yF,IAAO,IAAO3yF,KAAK2yF,GAAM3yF,KAAK,GAIrE,QAASw3F,KACP,MAAkB,IAAVx3F,KAAKk9C,EAAUl9C,KAAKy2C,EAAKz2C,KAAK,IAAM,IAAO,GAIrD,QAASy3F,KACP,MAAkB,IAAVz3F,KAAKk9C,EAAUl9C,KAAKy2C,EAAKz2C,KAAK,IAAM,IAAO,GAIrD,QAAS03F,GAAa9gF,GACpB,MAAOzP,MAAK2vC,MAAM3vC,KAAKopD,IAAMvwD,KAAK2yF,GAAKxrF,KAAKN,IAAI+P,IAIlD,QAAS+gF,KACP,MAAI33F,MAAKy2C,EAAI,GAAU,EACdz2C,KAAKk9C,GAAK,GAAgB,GAAVl9C,KAAKk9C,GAAUl9C,KAAK,IAAM,EAAW,EAClD,EAId,QAAS43F,GAAW93F,GAElB,GADS,MAALA,IAAWA,EAAI,IACE,GAAjBE,KAAK63F,UAAiB/3F,EAAI,GAAKA,EAAI,GAAI,MAAO,GAClD,IAAIs3E,GAAKp3E,KAAK83F,UAAUh4F,GACpBD,EAAIsH,KAAK0wC,IAAI/3C,EAAGs3E,GAChB9vE,EAAIgrF,EAAIzyF,GACV02C,EAAI,GAAIm6C,GACRzjB,EAAI,GAAIyjB,GACR95E,EAAI,EAEN,KADA5W,KAAKs1F,SAAShuF,EAAGivC,EAAG02B,GACb12B,EAAEshD,SAAW,GAClBjhF,GAAK/W,EAAIotE,EAAE8qB,YACRttF,SAAS3K,GACTwwB,OAAO,GAAK1Z,EACf2/B,EAAE++C,SAAShuF,EAAGivC,EAAG02B,EAEnB,OAAOA,GAAE8qB,WACNttF,SAAS3K,GAAK8W,EAInB,QAASohF,GAAavhD,EAAG32C,GACvB,GAAIuB,GAAOrB,IACXqB,GAAKggF,QAAQ,GACJ,MAALvhF,IAAWA,EAAI,GAMnB,KAAK,GALDs3E,GAAK/1E,EAAKy2F,UAAUh4F,GACpBwH,EAAIH,KAAK0wC,IAAI/3C,EAAGs3E,GAClBqb,GAAK,EACLphF,EAAI,EACJygF,EAAI,EACGzyF,EAAI,EAAGA,EAAIo3C,EAAEh0C,SAAUpD,EAAG,CACjC,GAAI2X,GAAIi7E,EAAMx7C,EAAGp3C,EACb2X,GAAI,EACa,KAAfy/B,EAAE73B,OAAOvf,IAA8B,GAAjBgC,EAAKw2F,WAAepF,GAAK,IAGrDX,EAAIhyF,EAAIgyF,EAAI96E,IACN3F,GAAK+lE,IACT/1E,EAAK42F,UAAU3wF,GACfjG,EAAK62F,WAAWpG,EAAG,GACnBzgF,EAAI,EACJygF,EAAI,IAGJzgF,EAAI,IACNhQ,EAAK42F,UAAU9wF,KAAK0wC,IAAI/3C,EAAGuR,IAC3BhQ,EAAK62F,WAAWpG,EAAG,IAEjBW,GAAI/B,EAAWhP,KAAKmR,MAAMxxF,EAAMA,GAItC,QAAS82F,GAAct4F,EAAGC,EAAGX,GAC3B,GAAIkC,GAAOrB,IACX,IAAI,gBAAmBF,GAErB,GAAID,EAAI,EAAGwB,EAAKggF,QAAQ,OAMtB,KAJAhgF,EAAK+zE,WAAWv1E,EAAGV,GACdkC,EAAK+2F,QAAQv4F,EAAI,IACpBwB,EAAKg3F,UAAU3H,EAAWnU,IAAIjH,UAAUz1E,EAAI,GAAIy4F,GAAOj3F,GACrDA,EAAKwiF,UAAUxiF,EAAK62F,WAAW,EAAG,IAC9B72F,EAAKk3F,gBAAgBz4F,IAC3BuB,EAAK62F,WAAW,EAAG,GACf72F,EAAKoyF,YAAc5zF,GAAGwB,EAAKwxF,MAAMnC,EAAWnU,IAAIjH,UAAUz1E,EAAI,GAAIwB,OAGrE,CAEL,GAAI2V,GAAI,GAAIxR,OACV03C,EAAQ,EAAJr9C,CACNmX,GAAEvU,QAAU5C,GAAK,GAAK,EACtBC,EAAE04F,UAAUxhF,GACRkmC,EAAI,EAAGlmC,EAAE,KAAQ,GAAKkmC,GAAK,EAC1BlmC,EAAE,GAAK,EACZ3V,EAAKwiD,WAAW7sC,EAAG,MAKvB,QAASyhF,KACP,GAAIp3F,GAAOrB,KACPX,EAAIgC,EAAK67C,EACXtmC,EAAI,GAAIpR,MACVoR,GAAE,GAAKvV,EAAKo1C,CACZ,IACEnvC,GADElI,EAAIiC,EAAKsxF,GAAMtzF,EAAIgC,EAAKsxF,GAAM,EAC7B5sD,EAAI,CACT,IAAI1mC,KAAM,EAGR,IAFID,EAAIiC,EAAKsxF,KAAOrrF,EAAIjG,EAAKhC,IAAMD,KAAOiC,EAAKo1C,EAAIp1C,EAAK0xF,KAAO3zF,IAC7DwX,EAAEmvB,KAAOz+B,EAAKjG,EAAKo1C,GAAMp1C,EAAKsxF,GAAKvzF,GAC9BC,GAAK,GACND,EAAI,GACNkI,GAAKjG,EAAKhC,IAAO,GAAKD,GAAK,IAAQ,EAAIA,EACvCkI,GAAKjG,IAAOhC,KAAOD,GAAKiC,EAAKsxF,GAAK,KAElCrrF,EAAKjG,EAAKhC,KAAOD,GAAK,GAAM,IACxBA,GAAK,IACPA,GAAKiC,EAAKsxF,KACRtzF,IAGY,IAAT,IAAJiI,KAAgBA,IAAK,KAChB,IAANy+B,IAAqB,IAAT1kC,EAAKo1C,KAAkB,IAAJnvC,MAAYy+B,GAC3CA,EAAI,GAAKz+B,GAAKjG,EAAKo1C,KAAG7/B,EAAEmvB,KAAOz+B,EAGvC,OAAOsP,GAGT,QAAS8hF,IAAS74F,GAChB,MAA6B,IAArBG,KAAKwxF,UAAU3xF,GAGzB,QAAS84F,IAAM94F,GACb,MAAQG,MAAKwxF,UAAU3xF,GAAK,EAAKG,KAAOH,EAG1C,QAAS+4F,IAAM/4F,GACb,MAAQG,MAAKwxF,UAAU3xF,GAAK,EAAKG,KAAOH,EAI1C,QAASg5F,IAAah5F,EAAGm4C,EAAIphC,GAC3B,GACIvX,GAAGs4D,EADHt2D,EAAOrB,KACDd,EAAIiI,KAAKk6B,IAAIxhC,EAAEq9C,EAAG77C,EAAK67C,EACjC,KAAK79C,EAAI,EAAGA,EAAIH,IAAKG,EAAGuX,EAAEvX,GAAK24C,EAAG32C,EAAKhC,GAAIQ,EAAER,GAC7C,IAAIQ,EAAEq9C,EAAI77C,EAAK67C,EAAG,CAEhB,IADAya,EAAI93D,EAAE42C,EAAIp1C,EAAK0xF,GACV1zF,EAAIH,EAAGG,EAAIgC,EAAK67C,IAAK79C,EAAGuX,EAAEvX,GAAK24C,EAAG32C,EAAKhC,GAAIs4D,EAChD/gD,GAAEsmC,EAAI77C,EAAK67C,MACN,CAEL,IADAya,EAAIt2D,EAAKo1C,EAAIp1C,EAAK0xF,GACb1zF,EAAIH,EAAGG,EAAIQ,EAAEq9C,IAAK79C,EAAGuX,EAAEvX,GAAK24C,EAAG2f,EAAG93D,EAAER,GACzCuX,GAAEsmC,EAAIr9C,EAAEq9C,EAEVtmC,EAAE6/B,EAAIuB,EAAG32C,EAAKo1C,EAAG52C,EAAE42C,GACnB7/B,EAAEg8E,QAIJ,QAASkG,IAAO9hF,EAAGu/B,GACjB,MAAOv/B,GAAIu/B,EAGb,QAASwiD,IAAMl5F,GACb,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKq4F,UAAUx4F,EAAGi5F,GAAQliF,GACnBA,EAIT,QAAS0hF,IAAMthF,EAAGu/B,GAChB,MAAOv/B,GAAIu/B,EAGb,QAASyiD,IAAKn5F,GACZ,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKq4F,UAAUx4F,EAAGy4F,GAAO1hF,GAClBA,EAIT,QAASqiF,IAAOjiF,EAAGu/B,GACjB,MAAOv/B,GAAIu/B,EAGb,QAAS2iD,IAAMr5F,GACb,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKq4F,UAAUx4F,EAAGo5F,GAAQriF,GACnBA,EAIT,QAASuiF,IAAUniF,EAAGu/B,GACpB,MAAOv/B,IAAKu/B,EAGd,QAAS6iD,IAASv5F,GAChB,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKq4F,UAAUx4F,EAAGs5F,GAAWviF,GACtBA,EAIT,QAASyiF,MAEP,IAAK,GADDziF,GAAI,GAAI85E,GACHrxF,EAAI,EAAGA,EAAIW,KAAKk9C,IAAK79C,EAAGuX,EAAEvX,GAAKW,KAAK+yF,IAAM/yF,KAAKX,EAGxD,OAFAuX,GAAEsmC,EAAIl9C,KAAKk9C,EACXtmC,EAAE6/B,GAAKz2C,KAAKy2C,EACL7/B,EAIT,QAAS0iF,IAAY7tF,GACnB,GAAImL,GAAI,GAAI85E,EAGZ,OAFIjlF,GAAI,EAAGzL,KAAKo1F,UAAU3pF,EAAGmL,GACxB5W,KAAK00F,SAASjpF,EAAGmL,GACfA,EAIT,QAAS2iF,IAAa9tF,GACpB,GAAImL,GAAI,GAAI85E,EAGZ,OAFIjlF,GAAI,EAAGzL,KAAK00F,UAAUjpF,EAAGmL,GACxB5W,KAAKo1F,SAAS3pF,EAAGmL,GACfA,EAIT,QAAS4iF,IAAKxiF,GACZ,GAAS,GAALA,EAAQ,OAAO,CACnB,IAAIJ,GAAI,CAkBR,OAjBoB,KAAX,MAAJI,KACHA,IAAM,GACNJ,GAAK,IAEW,IAAT,IAAJI,KACHA,IAAM,EACNJ,GAAK,GAEU,IAAR,GAAJI,KACHA,IAAM,EACNJ,GAAK,GAEQ,IAAN,EAAJI,KACHA,IAAM,EACNJ,GAAK,GAEQ,IAAN,EAAJI,MAAcJ,EACZA,EAIT,QAAS6iF,MACP,IAAK,GAAIp6F,GAAI,EAAGA,EAAIW,KAAKk9C,IAAK79C,EAC5B,GAAe,GAAXW,KAAKX,GAAS,MAAOA,GAAIW,KAAK2yF,GAAK6G,GAAKx5F,KAAKX,GACnD,OAAIW,MAAKy2C,EAAI,EAAUz2C,KAAKk9C,EAAIl9C,KAAK2yF,IAC9B,EAIT,QAAS+G,IAAK1iF,GAEZ,IADA,GAAIJ,GAAI,EACI,GAALI,GACLA,GAAKA,EAAI,IACPJ,CAEJ,OAAOA,GAIT,QAAS+iF,MAGP,IAAK,GAFD/iF,GAAI,EACNI,EAAIhX,KAAKy2C,EAAIz2C,KAAK+yF,GACX1zF,EAAI,EAAGA,EAAIW,KAAKk9C,IAAK79C,EAAGuX,GAAK8iF,GAAK15F,KAAKX,GAAK2X,EACrD,OAAOJ,GAIT,QAASgjF,IAAUnuF,GACjB,GAAI4F,GAAIlK,KAAK2vC,MAAMrrC,EAAIzL,KAAK2yF,GAC5B,OAAIthF,IAAKrR,KAAKk9C,EAAqB,GAAVl9C,KAAKy2C,EACc,IAAnCz2C,KAAKqR,GAAM,GAAM5F,EAAIzL,KAAK2yF,IAIrC,QAASkH,IAAapuF,EAAGusC,GACvB,GAAIphC,GAAI85E,EAAWnU,IAAIjH,UAAU7pE,EAEjC,OADAzL,MAAKq4F,UAAUzhF,EAAGohC,EAAIphC,GACfA,EAIT,QAASkjF,IAASruF,GAChB,MAAOzL,MAAK+5F,UAAUtuF,EAAG6sF,IAI3B,QAAS0B,IAAWvuF,GAClB,MAAOzL,MAAK+5F,UAAUtuF,EAAG0tF,IAI3B,QAASc,IAAUxuF,GACjB,MAAOzL,MAAK+5F,UAAUtuF,EAAGwtF,IAI3B,QAASiB,IAASr6F,EAAG+W,GAMnB,IALA,GAAIvV,GAAOrB,KAEPX,EAAI,EACNF,EAAI,EACJD,EAAIiI,KAAKk6B,IAAIxhC,EAAEq9C,EAAG77C,EAAK67C,GAClB79C,EAAIH,GACTC,GAAKkC,EAAKhC,GAAKQ,EAAER,GACjBuX,EAAEvX,KAAOF,EAAIkC,EAAK0xF,GAClB5zF,IAAMkC,EAAKsxF,EAEb,IAAI9yF,EAAEq9C,EAAI77C,EAAK67C,EAAG,CAEhB,IADA/9C,GAAKU,EAAE42C,EACAp3C,EAAIgC,EAAK67C,GACd/9C,GAAKkC,EAAKhC,GACVuX,EAAEvX,KAAOF,EAAIkC,EAAK0xF,GAClB5zF,IAAMkC,EAAKsxF,EAEbxzF,IAAKkC,EAAKo1C,MACL,CAEL,IADAt3C,GAAKkC,EAAKo1C,EACHp3C,EAAIQ,EAAEq9C,GACX/9C,GAAKU,EAAER,GACPuX,EAAEvX,KAAOF,EAAIkC,EAAK0xF,GAClB5zF,IAAMkC,EAAKsxF,EAEbxzF,IAAKU,EAAE42C,EAET7/B,EAAE6/B,EAAKt3C,EAAI,GAAK,EAAK,EACjBA,EAAI,EAAGyX,EAAEvX,KAAOF,EACXA,GAAI,IAAIyX,EAAEvX,KAAOgC,EAAKgxF,GAAKlzF,GACpCyX,EAAEsmC,EAAI79C,EACNuX,EAAEg8E,QAIJ,QAASuH,IAAMt6F,GACb,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKo6F,MAAMv6F,EAAG+W,GACPA,EAIT,QAASyjF,IAAWx6F,GAClB,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAK6yF,MAAMhzF,EAAG+W,GACPA,EAIT,QAAS0jF,IAAWz6F,GAClB,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAK41F,WAAW/1F,EAAG+W,GACZA,EAIT,QAAS2jF,MACP,GAAI3jF,GAAI,GAAI85E,EAEZ,OADA1wF,MAAK81F,SAASl/E,GACPA,EAIT,QAAS4jF,IAAS36F,GAChB,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKs1F,SAASz1F,EAAG+W,EAAG,MACbA,EAIT,QAAS6jF,IAAY56F,GACnB,GAAI+W,GAAI,GAAI85E,EAEZ,OADA1wF,MAAKs1F,SAASz1F,EAAG,KAAM+W,GAChBA,EAIT,QAAS8jF,IAAqB76F,GAC5B,GAAI67D,GAAI,GAAIg1B,GACV95E,EAAI,GAAI85E,EAEV,OADA1wF,MAAKs1F,SAASz1F,EAAG67D,EAAG9kD,GACb,GAAIpR,OAAMk2D,EAAG9kD,GAItB,QAAS+jF,IAAalvF,GACpBzL,KAAKA,KAAKk9C,GAAKl9C,KAAKo0F,GAAG,EAAG3oF,EAAI,EAAGzL,KAAM,EAAG,EAAGA,KAAKk9C,KAChDl9C,KAAKk9C,EACPl9C,KAAK4yF,QAIP,QAASgI,IAAcnvF,EAAGqmF,GACxB,GAAS,GAALrmF,EAAJ,CACA,KAAOzL,KAAKk9C,GAAK40C,GAAG9xF,KAAKA,KAAKk9C,KAAO,CAErC,KADAl9C,KAAK8xF,IAAMrmF,EACJzL,KAAK8xF,IAAM9xF,KAAKqyF,IACrBryF,KAAK8xF,IAAM9xF,KAAKqyF,KACVP,GAAK9xF,KAAKk9C,IAAGl9C,KAAKA,KAAKk9C,KAAO,KAClCl9C,KAAK8xF,IAKX,QAAS+I,OAET,QAASC,IAAK9jF,GACZ,MAAOA,GAGT,QAAS+jF,IAAO/jF,EAAGu/B,EAAG3/B,GACpBI,EAAE4+E,WAAWr/C,EAAG3/B,GAGlB,QAASokF,IAAOhkF,EAAGJ,GACjBI,EAAE8+E,SAASl/E,GASb,QAASqkF,IAAM5zF,GACb,MAAOrH,MAAKq3F,IAAIhwF,EAAG,GAAIwzF,KAKzB,QAASK,IAAmBr7F,EAAG4L,EAAGmL,GAChC,GAAIvX,GAAI8H,KAAKk6B,IAAIrhC,KAAKk9C,EAAIr9C,EAAEq9C,EAAGzxC,EAG/B,KAFAmL,EAAE6/B,EAAI,EACN7/B,EAAEsmC,EAAI79C,EACCA,EAAI,GAAGuX,IAAIvX,GAAK,CACvB,IAAIgS,EACJ,KAAKA,EAAIuF,EAAEsmC,EAAIl9C,KAAKk9C,EAAG79C,EAAIgS,IAAKhS,EAAGuX,EAAEvX,EAAIW,KAAKk9C,GAAKl9C,KAAKo0F,GAAG,EAAGv0F,EAAER,GAAIuX,EAAGvX,EAAG,EAAGW,KAAKk9C,EAClF,KAAK7rC,EAAIlK,KAAKk6B,IAAIxhC,EAAEq9C,EAAGzxC,GAAIpM,EAAIgS,IAAKhS,EAAGW,KAAKo0F,GAAG,EAAGv0F,EAAER,GAAIuX,EAAGvX,EAAG,EAAGoM,EAAIpM,EACrEuX,GAAEg8E,QAKJ,QAASuI,IAAmBt7F,EAAG4L,EAAGmL,KAC9BnL,CACF,IAAIpM,GAAIuX,EAAEsmC,EAAIl9C,KAAKk9C,EAAIr9C,EAAEq9C,EAAIzxC,CAE7B,KADAmL,EAAE6/B,EAAI,IACGp3C,GAAK,GAAGuX,EAAEvX,GAAK,CACxB,KAAKA,EAAI8H,KAAKmvB,IAAI7qB,EAAIzL,KAAKk9C,EAAG,GAAI79C,EAAIQ,EAAEq9C,IAAK79C,EAC3CuX,EAAE5W,KAAKk9C,EAAI79C,EAAIoM,GAAKzL,KAAKo0F,GAAG3oF,EAAIpM,EAAGQ,EAAER,GAAIuX,EAAG,EAAG,EAAG5W,KAAKk9C,EAAI79C,EAAIoM,EACjEmL,GAAEg8E,QACFh8E,EAAEu+E,UAAU,EAAGv+E,GAIjB,QAASwkF,IAAQl8F,GAEfc,KAAK+2F,GAAK,GAAIrG,GACd1wF,KAAKy9C,GAAK,GAAIizC,GACdA,EAAWnU,IAAI0Y,UAAU,EAAI/1F,EAAEg+C,EAAGl9C,KAAK+2F,IACvC/2F,KAAKq7F,GAAKr7F,KAAK+2F,GAAGjR,OAAO5mF,GACzBc,KAAKd,EAAIA,EAGX,QAASo8F,IAAetkF,GACtB,GAAIA,EAAEy/B,EAAI,GAAKz/B,EAAEkmC,EAAI,EAAIl9C,KAAKd,EAAEg+C,EAAG,MAAOlmC,GAAE0vE,IAAI1mF,KAAKd,EAChD,IAAI8X,EAAEw6E,UAAUxxF,KAAKd,GAAK,EAAG,MAAO8X,EAEvC,IAAIJ,GAAI,GAAI85E,EAGZ,OAFA15E,GAAE6nE,OAAOjoE,GACT5W,KAAK2F,OAAOiR,GACLA,EAIX,QAAS2kF,IAAcvkF,GACrB,MAAOA,GAIT,QAASwkF,IAAcxkF,GACrB,GAAI3V,GAAOrB,IAQX,KAPAgX,EAAEm+E,UAAU9zF,EAAKnC,EAAEg+C,EAAI,EAAG77C,EAAK01F,IAC3B//E,EAAEkmC,EAAI77C,EAAKnC,EAAEg+C,EAAI,IACnBlmC,EAAEkmC,EAAI77C,EAAKnC,EAAEg+C,EAAI,EACjBlmC,EAAE47E,SAEJvxF,EAAKg6F,GAAGI,gBAAgBp6F,EAAK01F,GAAI11F,EAAKnC,EAAEg+C,EAAI,EAAG77C,EAAKo8C,IACpDp8C,EAAKnC,EAAEw8F,gBAAgBr6F,EAAKo8C,GAAIp8C,EAAKnC,EAAEg+C,EAAI,EAAG77C,EAAK01F,IAC5C//E,EAAEw6E,UAAUnwF,EAAK01F,IAAM,GAAG//E,EAAEkhF,WAAW,EAAG72F,EAAKnC,EAAEg+C,EAAI,EAE5D,KADAlmC,EAAE67E,MAAMxxF,EAAK01F,GAAI//E,GACVA,EAAEw6E,UAAUnwF,EAAKnC,IAAM,GAAG8X,EAAE67E,MAAMxxF,EAAKnC,EAAG8X,GAInD,QAAS2kF,IAAa3kF,EAAGJ,GACvBI,EAAE8+E,SAASl/E,GACX5W,KAAK2F,OAAOiR,GAId,QAASglF,IAAa5kF,EAAGu/B,EAAG3/B,GAC1BI,EAAE4+E,WAAWr/C,EAAG3/B,GAChB5W,KAAK2F,OAAOiR,GAUd,QAASilF,IAASx0F,EAAGnI,GACnB,GACE6mC,GACAknC,EAFE5tE,EAAIgI,EAAEosF,YACL78E,EAAI07E,EAAI,EAEb,IAAIjzF,GAAK,EAAG,MAAOuX,EACFmvB,GAAR1mC,EAAI,GAAQ,EACZA,EAAI,GAAQ,EACZA,EAAI,IAAS,EACbA,EAAI,IAAS,EACb,EAEP4tE,EADE5tE,EAAI,EACF,GAAIk2F,GAAQr2F,GACTA,EAAE2kF,SACL,GAAIuX,IAAQl8F,GAEZ,GAAI82F,GAAW92F,EAGrB,IAAIyN,GAAI,GAAInH,OACViG,EAAI,EACJqwF,EAAK/1D,EAAI,EACTmtD,GAAM,GAAKntD,GAAK,CAElB,IADAp5B,EAAE,GAAKsgE,EAAE+pB,QAAQh3F,MACb+lC,EAAI,EAAG,CACT,GAAIg2D,GAAK,GAAIrL,EAEb,KADAzjB,EAAEgqB,MAAMtqF,EAAE,GAAIovF,GACPtwF,GAAKynF,GACVvmF,EAAElB,GAAK,GAAIilF,GACXzjB,EAAEiqB,MAAM6E,EAAIpvF,EAAElB,EAAI,GAAIkB,EAAElB,IACxBA,GAAK,EAIT,GACEqmF,GAEA50C,EAHE7rC,EAAIhK,EAAE61C,EAAI,EACT8+C,GAAM,EACTjF,EAAK,GAAIrG,EAGX,KADArxF,EAAIi0F,EAAMjsF,EAAEgK,IAAM,EACXA,GAAK,GAAG,CAQb,IAPIhS,GAAKy8F,EAAIhK,EAAKzqF,EAAEgK,IAAOhS,EAAIy8F,EAAO5I,GAEpCpB,GAAKzqF,EAAEgK,IAAO,GAAMhS,EAAI,GAAM,IAAQy8F,EAAKz8F,EACvCgS,EAAI,IAAGygF,GAAKzqF,EAAEgK,EAAI,IAAOrR,KAAK2yF,GAAKtzF,EAAIy8F,IAG7CrwF,EAAIs6B,EACc,IAAN,EAAJ+rD,IACNA,IAAM,IACJrmF,CAMJ,KAJKpM,GAAKoM,GAAK,IACbpM,GAAKW,KAAK2yF,KACRthF,GAEA2qF,EACFrvF,EAAEmlF,GAAGjT,OAAOjoE,GACZolF,GAAM,MACD,CACL,KAAOvwF,EAAI,GACTwhE,EAAEgqB,MAAMrgF,EAAGmgF,GACX9pB,EAAEgqB,MAAMF,EAAIngF,GACZnL,GAAK,CAEHA,GAAI,EAAGwhE,EAAEgqB,MAAMrgF,EAAGmgF,IAEpB75C,EAAItmC,EACJA,EAAImgF,EACJA,EAAK75C,GAEP+vB,EAAEiqB,MAAMH,EAAIpqF,EAAEmlF,GAAIl7E,GAGpB,KAAOvF,GAAK,GAA0B,IAApBhK,EAAEgK,GAAM,GAAKhS,IAC7B4tE,EAAEgqB,MAAMrgF,EAAGmgF,GACX75C,EAAItmC,EACJA,EAAImgF,EACJA,EAAK75C,IACC79C,EAAI,IACRA,EAAIW,KAAK2yF,GAAK,IACZthF,GAIR,MAAO47D,GAAEkqB,OAAOvgF,GAIlB,QAASqlF,IAAMp8F,GACb,GAAImX,GAAKhX,KAAKy2C,EAAI,EAAKz2C,KAAKw8E,SAAWx8E,KAAK8yC,QACxCyD,EAAK12C,EAAE42C,EAAI,EAAK52C,EAAE28E,SAAW38E,EAAEizC,OACnC,IAAI97B,EAAEw6E,UAAUj7C,GAAK,EAAG,CACtB,GAAI2G,GAAIlmC,CACRA,GAAIu/B,EACJA,EAAI2G,EAEN,GAAI79C,GAAI2X,EAAEklF,kBACRvvF,EAAI4pC,EAAE2lD,iBACR,IAAIvvF,EAAI,EAAG,MAAOqK,EAMlB,KALI3X,EAAIsN,IAAGA,EAAItN,GACXsN,EAAI,IACNqK,EAAEo+E,SAASzoF,EAAGqK,GACdu/B,EAAE6+C,SAASzoF,EAAG4pC,IAETv/B,EAAE6gF,SAAW,IACbx4F,EAAI2X,EAAEklF,mBAAqB,GAAGllF,EAAEo+E,SAAS/1F,EAAG2X,IAC5C3X,EAAIk3C,EAAE2lD,mBAAqB,GAAG3lD,EAAE6+C,SAAS/1F,EAAGk3C,GAC7Cv/B,EAAEw6E,UAAUj7C,IAAM,GACpBv/B,EAAE67E,MAAMt8C,EAAGv/B,GACXA,EAAEo+E,SAAS,EAAGp+E,KAEdu/B,EAAEs8C,MAAM77E,EAAGu/B,GACXA,EAAE6+C,SAAS,EAAG7+C,GAIlB,OADI5pC,GAAI,GAAG4pC,EAAEm+C,SAAS/nF,EAAG4pC,GAClBA,EAIT,QAAS4lD,IAAU1wF,GACjB,GAAIA,GAAK,EAAG,MAAO,EACnB,IAAInE,GAAItH,KAAKqyF,GAAK5mF,EAChBmL,EAAK5W,KAAKy2C,EAAI,EAAKhrC,EAAI,EAAI,CAC7B,IAAIzL,KAAKk9C,EAAI,EACX,GAAS,GAAL51C,EAAQsP,EAAI5W,KAAK,GAAKyL,MAExB,KAAK,GAAIpM,GAAIW,KAAKk9C,EAAI,EAAG79C,GAAK,IAAKA,EAAGuX,GAAKtP,EAAIsP,EAAI5W,KAAKX,IAAMoM,CAClE,OAAOmL,GAIT,QAASwlF,IAAal9F,GACpB,GAAIm9F,GAAKn9F,EAAE2kF,QACX,IAAsB,IAAlB7jF,KAAK63F,SAAgB,KAAM,IAAI/wF,OAAM,mBACzC,IAAK9G,KAAK6jF,UAAYwY,GAAqB,GAAdn9F,EAAE24F,SAAe,MAAOnH,GAAWhP,IAOhE,KANA,GAAI4a,GAAIp9F,EAAE4zC,QACRpkC,EAAI1O,KAAK8yC,QACPjzC,EAAIyyF,EAAI,GACVxyF,EAAIwyF,EAAI,GACRnzF,EAAImzF,EAAI,GACRhrF,EAAIgrF,EAAI,GACW,GAAdgK,EAAEzE,UAAe,CACtB,KAAOyE,EAAEzY,UACPyY,EAAElH,SAAS,EAAGkH,GACVD,GACGx8F,EAAEgkF,UAAa/jF,EAAE+jF,WACpBhkF,EAAEu6F,MAAMp6F,KAAMH,GACdC,EAAE+yF,MAAM3zF,EAAGY,IAEbD,EAAEu1F,SAAS,EAAGv1F,IACJC,EAAE+jF,UAAU/jF,EAAE+yF,MAAM3zF,EAAGY,GACnCA,EAAEs1F,SAAS,EAAGt1F,EAEhB,MAAO4O,EAAEm1E,UACPn1E,EAAE0mF,SAAS,EAAG1mF,GACV2tF,GACGl9F,EAAE0kF,UAAav8E,EAAEu8E,WACpB1kF,EAAEi7F,MAAMp6F,KAAMb,GACdmI,EAAEurF,MAAM3zF,EAAGoI,IAEbnI,EAAEi2F,SAAS,EAAGj2F,IACJmI,EAAEu8E,UAAUv8E,EAAEurF,MAAM3zF,EAAGoI,GACnCA,EAAE8tF,SAAS,EAAG9tF,EAEZg1F,GAAE9K,UAAU9iF,IAAM,GACpB4tF,EAAEzJ,MAAMnkF,EAAG4tF,GACPD,GAAIx8F,EAAEgzF,MAAM1zF,EAAGU,GACnBC,EAAE+yF,MAAMvrF,EAAGxH,KAEX4O,EAAEmkF,MAAMyJ,EAAG5tF,GACP2tF,GAAIl9F,EAAE0zF,MAAMhzF,EAAGV,GACnBmI,EAAEurF,MAAM/yF,EAAGwH,IAGf,GAAmC,GAA/BoH,EAAE8iF,UAAUd,EAAWnU,KAAW,MAAOmU,GAAWhP,IACxD,MAAOp6E,EAAEkqF,UAAUtyF,IAAM,GAAGoI,EAAEurF,MAAM3zF,EAAGoI,EACvC,MAAOA,EAAEuwF,SAAW,GAAGvwF,EAAE8yF,MAAMl7F,EAAGoI,EAClC,OAAOA,GAoBT,QAASi1F,IAAkBr/C,GACzB,GAAI79C,GAAG2X,EAAIhX,KAAKy1C,KAChB,IAAW,GAAPz+B,EAAEkmC,GAAUlmC,EAAE,IAAMwlF,GAAUA,GAAU/5F,OAAS,GAAI,CACvD,IAAKpD,EAAI,EAAGA,EAAIm9F,GAAU/5F,SAAUpD,EAClC,GAAI2X,EAAE,IAAMwlF,GAAUn9F,GAAI,OAAO,CACnC,QAAO,EAET,GAAI2X,EAAE6sE,SAAU,OAAO,CAEvB,KADAxkF,EAAI,EACGA,EAAIm9F,GAAU/5F,QAAQ,CAG3B,IAFA,GAAIvD,GAAIs9F,GAAUn9F,GAChBgS,EAAIhS,EAAI,EACHgS,EAAImrF,GAAU/5F,QAAUvD,EAAIu9F,IAAOv9F,GAAKs9F,GAAUnrF,IAEzD,KADAnS,EAAI8X,EAAE0lF,OAAOx9F,GACNG,EAAIgS,GAAG,GAAInS,EAAIs9F,GAAUn9F,MAAQ,EAAG,OAAO,EAEpD,MAAO2X,GAAE2lF,YAAYz/C,GAIvB,QAAS0/C,IAAe1/C,GACtB,GAAI2/C,GAAK78F,KAAK0lF,SAASgL,EAAWnU,KAC9Bx2C,EAAI82D,EAAGX,iBACX,IAAIn2D,GAAK,EAAG,OAAO,CACnB,IAAInvB,GAAIimF,EAAG1gB,WAAWp2C,EACtBmX,GAAKA,EAAI,GAAM,EACXA,EAAIs/C,GAAU/5F,SAAQy6C,EAAIs/C,GAAU/5F,OAGxC,KAAK,GADD4O,GADAxR,EAAI,GAAI6wF,GAAW,MAChBoM,KACEz9F,EAAI,EAAGA,EAAI69C,IAAK79C,EAAG,CAC1B,KACEgS,EAAImrF,GAAUr1F,KAAK2vC,MAAM3vC,KAAKC,SAAWo1F,GAAU/5F,SAC/Cq6F,EAAMx2E,QAAQjV,KAAM,IAE1ByrF,EAAMzwF,KAAKgF,GACXxR,EAAEwhF,QAAQhwE,EACV,IAAIklC,GAAI12C,EAAEk9F,OAAOnmF,EAAG5W,KACpB,IAAmC,GAA/Bu2C,EAAEi7C,UAAUd,EAAWnU,MAAgC,GAAnBhmC,EAAEi7C,UAAUqL,GAAU,CAE5D,IADA,GAAIxrF,GAAI,EACDA,IAAM00B,GAAwB,GAAnBwQ,EAAEi7C,UAAUqL,IAE5B,GADAtmD,EAAIA,EAAEymD,UAAU,EAAGh9F,MACgB,GAA/Bu2C,EAAEi7C,UAAUd,EAAWnU,KAAW,OAAO,CAE/C,IAAuB,GAAnBhmC,EAAEi7C,UAAUqL,GAAU,OAAO,GAGrC,OAAO,EA35CT,GAAIv8E,IAAQowE,EAAWnxF,SAGvB+gB,IAAM28E,OAASv+F,EAAQ,KAAmBoa,QAC1C43E,EAAWwM,aAAe,SAAUr8F,EAAKs8F,GACvC,MAAOt8F,IAAOA,EAAIo8F,UAAYE,GAAat8F,EAAIo8F,SAAW38E,GAAM28E,QAIlE,IAAIG,GAmDJ1M,GAAWnxF,UAAU60F,GAAKvC,EAC1BuL,GAAQ,GAER1M,EAAWnxF,UAAUozF,GAAKyK,GAC1B1M,EAAWnxF,UAAUwzF,IAAO,GAAKqK,IAAS,CAC1C,IAAI/K,IAAK3B,EAAWnxF,UAAU8yF,GAAM,GAAK+K,GAErCC,GAAQ,EACZ3M,GAAWnxF,UAAUy1F,GAAK7tF,KAAK0wC,IAAI,EAAGwlD,IACtC3M,EAAWnxF,UAAUu1F,GAAKuI,GAAQD,GAClC1M,EAAWnxF,UAAUw1F,GAAK,EAAIqI,GAAQC,EAGtC,IAEIC,IAAIC,GAFJvL,GAAQ,uCACRE,GAAQ,GAAI1sF,MAGhB,KADA83F,GAAK,IAAI9nD,WAAW,GACf+nD,GAAK,EAAGA,IAAM,IAAKA,GAAIrL,GAAMoL,MAAQC,EAE1C,KADAD,GAAK,IAAI9nD,WAAW,GACf+nD,GAAK,GAAIA,GAAK,KAAMA,GAAIrL,GAAMoL,MAAQC,EAE3C,KADAD,GAAK,IAAI9nD,WAAW,GACf+nD,GAAK,GAAIA,GAAK,KAAMA,GAAIrL,GAAMoL,MAAQC,EAyZ3ChI,GAAQh2F,UAAUy3F,QAAUxB,EAC5BD,EAAQh2F,UAAU43F,OAAS1B,EAC3BF,EAAQh2F,UAAUoG,OAAS+vF,EAC3BH,EAAQh2F,UAAU23F,MAAQvB,EAC1BJ,EAAQh2F,UAAU03F,MAAQpB,EAyF1BG,EAAWz2F,UAAUy3F,QAAUT,EAC/BP,EAAWz2F,UAAU43F,OAASX,EAC9BR,EAAWz2F,UAAUoG,OAAS8wF,EAC9BT,EAAWz2F,UAAU23F,MAAQN,EAC7BZ,EAAWz2F,UAAU03F,MAAQN,EAoC7Br2E,GAAMu+D,OAASsT,EACf7xE,GAAM+gE,QAAU+Q,EAChB9xE,GAAMujC,WAAa0uC,EACnBjyE,GAAMsyE,MAAQE,EACdxyE,GAAM20E,UAAYvB,EAClBpzE,GAAM60E,UAAYxB,EAClBrzE,GAAMo0E,SAAWd,EACjBtzE,GAAM80E,SAAWnB,EACjB3zE,GAAMuyE,MAAQqB,EACd5zE,GAAMs1E,WAAazB,EACnB7zE,GAAMw1E,SAAWzB,EACjB/zE,GAAMg1E,SAAWhB,EACjBh0E,GAAM41E,SAAWH,EACjBz1E,GAAMujE,OAASgT,EACfv2E,GAAM+2E,IAAMP,EAGZx2E,GAAM7V,SAAWuoF,EACjB1yE,GAAMk8D,OAAS2W,EACf7yE,GAAMm1B,IAAM29C,EACZ9yE,GAAMkxE,UAAY6B,EAClB/yE,GAAMmzE,UAAYF,EAClBjzE,GAAM8vB,WAAaojD,EACnBlzE,GAAMomE,IAAM2O,EACZ/0E,GAAM08E,UAAY5F,EAkclByD,GAAQt7F,UAAUy3F,QAAU8D,GAC5BD,GAAQt7F,UAAU43F,OAAS2D,GAC3BD,GAAQt7F,UAAU23F,MAAQ6D,GAC1BF,GAAQt7F,UAAU03F,MAAQ+D,GAqF1BI,GAAQ77F,UAAUy3F,QAAUsE,GAC5BF,GAAQ77F,UAAU43F,OAASoE,GAC3BH,GAAQ77F,UAAUoG,OAAS61F,GAC3BJ,GAAQ77F,UAAU23F,MAAQ0E,GAC1BR,GAAQ77F,UAAU03F,MAAQ0E,EAuL1B,IAAIa,KACF,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GACxE,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACtE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGrDC,IAAS,GAAK,IAAMD,GAAUA,GAAU/5F,OAAS,EAqDrD6d,IAAMw3E,UAAYJ,EAClBp3E,GAAM2yE,QAAU2E,EAChBt3E,GAAMkyE,UAAYwF,EAClB13E,GAAM80D,WAAa+iB,EACnB73E,GAAM+3E,UAAYQ,GAClBv4E,GAAMy5E,UAAYF,GAClBv5E,GAAM85E,MAAQF,GACd55E,GAAM23E,UAAY0C,GAClBr6E,GAAM43E,WAAa0C,GACnBt6E,GAAMo7E,gBAAkBR,GACxB56E,GAAMm7E,gBAAkBN,GACxB76E,GAAMo8E,OAASP,GACf77E,GAAMq8E,YAAcC,GAGpBt8E,GAAMwyB,MAAQwkD,EACdh3E,GAAMy3E,SAAWR,EACjBj3E,GAAMk9E,UAAYhG,EAClBl3E,GAAMm9E,WAAahG,EACnBn3E,GAAMu3E,OAASF,EACfr3E,GAAMirC,YAAcktC,EACpBn4E,GAAM2rC,OAASysC,GACfp4E,GAAM+gB,IAAMs3D,GACZr4E,GAAMgW,IAAMsiE,GACZt4E,GAAMg8D,IAAMyc,GACZz4E,GAAMi1D,GAAKyjB,GACX14E,GAAM47D,IAAMgd,GACZ54E,GAAMo9E,OAAStE,GACf94E,GAAMskE,IAAMyU,GACZ/4E,GAAMg1D,UAAYgkB,GAClBh5E,GAAM67D,WAAaod,GACnBj5E,GAAM47E,gBAAkBzC,GACxBn5E,GAAMq9E,SAAWhE,GACjBr5E,GAAM83E,QAAUwB,GAChBt5E,GAAMs9E,OAAS9D,GACfx5E,GAAMu9E,SAAW7D,GACjB15E,GAAMw9E,QAAU7D,GAChB35E,GAAMm5C,IAAM0gC,GACZ75E,GAAMolE,SAAW2U,GACjB/5E,GAAMslE,SAAW0U,GACjBh6E,GAAMwlE,OAAS0U,GACfl6E,GAAM8rD,UAAYquB,GAClBn6E,GAAMy9E,mBAAqBrD,GAC3Bp6E,GAAMy8E,OAASlB,GACfv7E,GAAM09E,WAAa5B,GACnB97E,GAAMu3B,IAAMojD,GACZ36E,GAAM29E,IAAMhC,GACZ37E,GAAMi4E,gBAAkBgE,GAGxBj8E,GAAM49E,OAAS3D,GAGf7J,EAAWhP,KAAO4Q,EAAI,GACtB5B,EAAWnU,IAAM+V,EAAI,GACrB5B,EAAWyN,QAAU7L,EAErBxzF,EAAOD,QAAU6xF,GjLmq2BX,SAAU5xF,EAAQD,GkLvo5BxBC,EAAAD,SAAkBoc,KAAA,OAAAnC,QAAA,QAAAslF,YAAA,gBAAAC,UAAA,yJAAAC,iBAAsPC,UAAA,UAAAC,SAAA,SAAAC,OAAA,SAAAC,MAAA,SAAAC,QAAA,UAAgGC,YAAe14F,IAAA,uCAAA0F,KAAA,OAA0DizF,KAAA,iBAAAC,SAAoCC,eAAA,2CAAAliF,KAAA,0CAAA4hF,OAAA,kEAA+KO,KAAA,4BAAAC,SAAA,6FAAAV,UAAA,sFAAmPW,gBAAkBC,UAAaC,MAAA,YAAAC,QAAA,QAAAC,UAAA,4HlL6o5Bh5B,SAAUxgG,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YmL9o5B/C,IAAI0nB,GAASnyD,EAAQ,KACjBgyF,EAAahyF,EAAQ,IAQzBgyF,GAAW6O,sBAAwB,SAASn0C,GAE1C,MACS,IAAIslC,GADM,IAAftlC,EAAU,IACW,GAAGnrD,OAAOmrD,GAGbA,IASxBslC,EAAWnxF,UAAUigG,oBAAsB,WACzC,GAAIp0C,GAAYprD,KAAKurD,aACrB,OAAwB,KAAjBH,EAAU,GAAWA,EAAUzrD,MAAM,GAAKyrD,GAGnDslC,EAAW+O,eAAiB,SAASr0C,GACnC,MAAO,IAAIslC,GAAWtlC,IA0BxBslC,EAAWnxF,UAAUmgG,aAAehP,EAAWnxF,UAAUgsD,YAEzDmlC,EAAWa,WAAa,SAASlhD,GAE/B,GAAgB,IAAZA,EAAO,GAAW,CACpB,GAAI+a,GAAY5lD,MAAMjG,UAAUI,MAAMV,KAAKoxC,EAE3C,OAAO,IAAIqgD,IAAY,GAAGzwF,OAAOmrD,IAGnC,MAAO,IAAIslC,GAAWrgD,IAGxBqgD,EAAWnY,QAAU,SAASmI,GAC5B,MAAY,KAARA,EAAmBgQ,EAAWhP,MAElC7wB,EAAOM,MAAMuvB,EAAKA,EAAIv6E,MAAM,iBAAkB,sBAC9C0qD,EAAOM,MAAMuvB,EAAIj+E,OAAS,EAAG,EAAG,kBACzB,GAAIiuF,GAAWhQ,EAAK,MAG7BgQ,EAAWnxF,UAAU8K,SAAW,SAAS4d,GAKvC,IAJA,GAAImjC,GAAYprD,KAAKw/F,sBACjBp9C,KAEAu9C,EAAU13E,EAAOmjC,EAAU3oD,OACxB2/C,EAAM3/C,OAASk9F,GAASv9C,EAAM/1C,KAAK,EAE1C,OAAO,IAAI88B,GAAOiZ,EAAMniD,OAAOmrD,KAGjCslC,EAAWnxF,UAAU4qD,MAAQ,SAASliC,GACpC,MAAOjoB,MAAKqK,SAAS4d,GAAMxd,SAAS,UnLmp5BRxL,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YoLlv5BD,IAAIsyF,GAAQtyF,EAAQ,KAChBkhG,EAAQlhG,EAAQ,KAEhBmyF,EAAiBnyF,EAAQ,IAE7BI,GAAOD,SACL+gG,MAAOA,EACP5O,MAAOA,EACPH,eAAgBA,IpLyv5BZ,SAAU/xF,EAAQD,EAASH,GAEhC,YqL7v5BD,SAASsyF,GAAO6O,EAAO7oF,EAAGu/B,EAAG02B,GAC3Bpc,EAAOgE,eAAeoY,EAAG/oE,OAAW,wBAEpClE,KAAK6/F,MAAQA,EACb7/F,KAAKgX,EAAIA,EACThX,KAAKu2C,EAAIA,EACTv2C,KAAKitE,EAAIA,EACTjtE,KAAK8/F,MAAQ,KAEb9/F,KAAKsxD,YAAa,EAfpB,GAAIT,GAASnyD,EAAQ,KACjByqC,EAASzqC,EAAQ,KAAeyqC,OAChCunD,EAAahyF,EAAQ,KAErBqhG,EAAQrP,EAAWyN,QAAQ,EAc/B7+F,QAAOqD,eAAequF,EAAMzxF,UAAW,QACrC6c,IAAK,WAKH,MAJmB,QAAfpc,KAAK8/F,QACP9/F,KAAK8/F,MAAQ9/F,KAAKitE,EAAE+wB,WAAWh+F,KAAK6/F,MAAMzgG,IAGrCY,KAAK8/F,SAIhBxgG,OAAOqD,eAAequF,EAAMzxF,UAAW,WACrC6c,IAAK,WACH,MAAOpc,MAAKgX,EAAE4uE,SAAS5lF,KAAKggG,MAAMtZ,IAAI1mF,KAAK6/F,MAAMzgG,MAIrDE,OAAOqD,eAAequF,EAAMzxF,UAAW,WACrC6c,IAAK,WACH,MAAOpc,MAAKu2C,EAAEqvC,SAAS5lF,KAAKggG,MAAMtZ,IAAI1mF,KAAK6/F,MAAMzgG,MAIrD4xF,EAAMiP,WAAa,SAAUJ,EAAO7oF,EAAGu/B,GACrC,MAAO,IAAIy6C,GAAM6O,EAAO7oF,EAAGu/B,EAAGm6C,EAAWnU,MAG3CyU,EAAMzxF,UAAU0sD,OAAS,SAAU63B,GACjC,GAAIA,IAAU9jF,KAAM,OAAO,CAC3B,IAAIA,KAAK6/F,MAAMlO,WAAW3xF,MAAO,MAAOA,MAAK6/F,MAAMlO,WAAW7N,EAC9D,IAAI9jF,KAAK6/F,MAAMlO,WAAW7N,GAAQ,MAAO9jF,MAAK6/F,MAAMlO,WAAW3xF,KAG/D,IAAIs8F,GAAIxY,EAAMvtC,EAAEqvC,SAAS5lF,KAAKitE,GAAGyY,SAAS1lF,KAAKu2C,EAAEqvC,SAAS9B,EAAM7W,IAAIyZ,IAAI1mF,KAAK6/F,MAAMzgG,EAEnF,IAAmB,IAAfk9F,EAAEzE,SAAgB,OAAO,CAG7B,IAAInpF,GAAIo1E,EAAM9sE,EAAE4uE,SAAS5lF,KAAKitE,GAAGyY,SAAS1lF,KAAKgX,EAAE4uE,SAAS9B,EAAM7W,IAAIyZ,IAAI1mF,KAAK6/F,MAAMzgG,EAEnF,OAAsB,KAAfsP,EAAEmpF,UAGX7G,EAAMzxF,UAAUi9E,OAAS,WACvB,GAAIjmC,GAAIv2C,KAAK6/F,MAAMzgG,EAAEsmF,SAAS1lF,KAAKu2C,EAEnC,OAAO,IAAIy6C,GAAMhxF,KAAK6/F,MAAO7/F,KAAKgX,EAAGu/B,EAAGv2C,KAAKitE,IAG/C+jB,EAAMzxF,UAAUk6D,IAAM,SAAU35D,GAC9B,GAAIE,KAAK6/F,MAAMlO,WAAW3xF,MAAO,MAAOF,EACxC,IAAIE,KAAK6/F,MAAMlO,WAAW7xF,GAAI,MAAOE,KAErC,IAAIkgG,GAAKlgG,KAAKgX,EACVmpF,EAAKngG,KAAKu2C,EACV23C,EAAKpuF,EAAEkX,EACPopF,EAAKtgG,EAAEy2C,EAGP+lD,EAAI8D,EAAGxa,SAAS5lF,KAAKitE,GAAGyY,SAASya,EAAGva,SAAS9lF,EAAEmtE,IAAIyZ,IAAI1mF,KAAK6/F,MAAMzgG,GAElEsP,EAAIw/E,EAAGtI,SAAS5lF,KAAKitE,GAAGyY,SAASwa,EAAGta,SAAS9lF,EAAEmtE,IAAIyZ,IAAI1mF,KAAK6/F,MAAMzgG,EAEtE,IAAmB,IAAfsP,EAAEmpF,SACJ,MAAmB,KAAfyE,EAAEzE,SACG73F,KAAKqgG,QAGPrgG,KAAK6/F,MAAMS,QAGpB,IAAIC,GAAK7xF,EAAEwvF,SACPsC,EAAKD,EAAG3a,SAASl3E,GACjB+xF,EAAOP,EAAGta,SAAS2a,GACnBG,EAAMpE,EAAE4B,SAAStY,SAAS5lF,KAAKitE,GAG/B0zB,EAAKD,EAAIhb,SAAS+a,EAAKnrB,UAAU,IAAIsQ,SAAS9lF,EAAEmtE,GAAGyY,SAAS8a,GAAI5a,SAASl3E,GAAGg4E,IAAI1mF,KAAK6/F,MAAMzgG,GAE3FwhG,EAAKH,EAAK7a,SAASma,GAAOna,SAAS0W,GAAG5W,SAASya,EAAGva,SAAS4a,IAAK9a,SAASgb,EAAI9a,SAAS0W,IAAI1W,SAAS9lF,EAAEmtE,GAAGxT,IAAI6iC,EAAE1W,SAAS4a,IAAK9Z,IAAI1mF,KAAK6/F,MAAMzgG,GAE3IyhG,EAAKL,EAAG5a,SAAS5lF,KAAKitE,GAAG2Y,SAAS9lF,EAAEmtE,GAAGyZ,IAAI1mF,KAAK6/F,MAAMzgG,EAE1D,OAAO,IAAI4xF,GAAMhxF,KAAK6/F,MAAOc,EAAIC,EAAIC,IAGvC7P,EAAMzxF,UAAU8gG,MAAQ,WACtB,GAAIrgG,KAAK6/F,MAAMlO,WAAW3xF,MAAO,MAAOA,KACxC,IAAwB,IAApBA,KAAKu2C,EAAEshD,SAAgB,MAAO73F,MAAK6/F,MAAMS,QAE7C,IAAIJ,GAAKlgG,KAAKgX,EACVmpF,EAAKngG,KAAKu2C,EAEVuqD,EAAOX,EAAGva,SAAS5lF,KAAKitE,GAAGyZ,IAAI1mF,KAAK6/F,MAAMzgG,GAC1C2hG,EAASD,EAAKlb,SAASua,GAAIzZ,IAAI1mF,KAAK6/F,MAAMzgG,GAC1CS,EAAIG,KAAK6/F,MAAMhgG,EAGfiyF,EAAIoO,EAAGhC,SAAStY,SAASma,EAEV,KAAflgG,EAAEg4F,WACJ/F,EAAIA,EAAEr4B,IAAIz5D,KAAKitE,EAAEixB,SAAStY,SAAS/lF,KAGrCiyF,EAAIA,EAAEpL,IAAI1mF,KAAK6/F,MAAMzgG,EAErB,IAAIuhG,GAAK7O,EAAEoM,SAASxY,SAASwa,EAAG5qB,UAAU,GAAGsQ,SAASmb,IAASzrB,UAAU,GAAGsQ,SAASkb,GAAMpa,IAAI1mF,KAAK6/F,MAAMzgG,GAEtGwhG,EAAK9O,EAAElM,SAASma,GAAOna,SAASsa,GAAIxa,SAASqb,EAAOzrB,UAAU,IAAIA,UAAU,GAAGsQ,SAASmb,GAAQrb,SAASoM,EAAEj6C,IAAI,IAAI6uC,IAAI1mF,KAAK6/F,MAAMzgG,GAElIyhG,EAAKC,EAAKjpD,IAAI,GAAGy9B,UAAU,GAAGoR,IAAI1mF,KAAK6/F,MAAMzgG,EAEjD,OAAO,IAAI4xF,GAAMhxF,KAAK6/F,MAAOc,EAAIC,EAAIC,IAKvC7P,EAAMzxF,UAAUqmF,SAAW,SAAU7/C,GACnC,GAAI/lC,KAAK6/F,MAAMlO,WAAW3xF,MAAO,MAAOA,KACxC,IAAmB,IAAf+lC,EAAE8xD,SAAgB,MAAO73F,MAAK6/F,MAAMS,QAQxC,KAAK,GANDj5F,GAAI0+B,EACJyQ,EAAInvC,EAAEu+E,SAASma,GAEf/d,EAAMhiF,KAAKw8E,SACXwkB,EAAIhhG,KAECX,EAAIm3C,EAAEi9C,YAAc,EAAGp0F,EAAI,IAAKA,EAAG,CAC1C,GAAI4hG,GAAOzqD,EAAE4hD,QAAQ/4F,GACjB6hG,EAAO75F,EAAE+wF,QAAQ/4F,EAErB2hG,GAAIA,EAAEX,QAEFY,IAASC,IACXF,EAAIA,EAAEvnC,IAAIwnC,EAAOjhG,KAAOgiF,IAI5B,MAAOgf,IAIThQ,EAAMzxF,UAAU4hG,YAAc,SAAU9vF,EAAG2F,EAAG+uB,GAK5C,IAJA,GAAI1mC,GAAI8H,KAAKmvB,IAAIjlB,EAAEoiF,YAAa1tD,EAAE0tD,aAAe,EAC7CuN,EAAIhhG,KAAK6/F,MAAMS,SACfc,EAAOphG,KAAKy5D,IAAIziD,GAEb3X,GAAK,GAAG,CACb,GAAIgiG,GAAOhwF,EAAE+mF,QAAQ/4F,GACjBiiG,EAAOv7D,EAAEqyD,QAAQ/4F,EAErB2hG,GAAIA,EAAEX,QAEFgB,EAEAL,EADEM,EACEN,EAAEvnC,IAAI2nC,GAENJ,EAAEvnC,IAAIz5D,MAEHshG,IACTN,EAAIA,EAAEvnC,IAAIziD,MAEV3X,EAGJ,MAAO2hG,IAGThQ,EAAMzxF,UAAUuxF,WAAa,SAAUx/B,GAErC,GADkB,MAAdA,IAAoBA,EAAatxD,KAAKsxD,YACtCtxD,KAAK6/F,MAAMlO,WAAW3xF,MAAO,MAAOmpC,GAAOyd,MAAM,EAAG,EAExD,IAGIvW,GAHAr5B,EAAIhX,KAAKuhG,QACThrD,EAAIv2C,KAAKwhG,QACTpxD,EAAapwC,KAAK6/F,MAAM4B,OAkB5B,OAdInwC,IACFjhB,EAASlH,EAAOsd,YAAY,EAAIrW,GAChCC,EAAOyd,WAAWvX,EAAEstC,SAAW,EAAO,EAAM,KAI5CxzC,EAASlH,EAAOsd,YAAY,EAAIrW,EAAaA,GAC7CC,EAAOyd,WAAW,EAAM,GAExBvX,EAAElsC,SAAS+lC,GAAYqP,KAAKpP,EAAQ,EAAID,IAG1Cp5B,EAAE3M,SAAS+lC,GAAYqP,KAAKpP,EAAQ,GAE7BA,GAGT2gD,EAAMC,WAAa,SAAU4O,EAAOxvD,GAClC,GAMIiV,GANA15C,EAAOykC,EAAOuc,UAAU,GACxB0E,EAAuB,IAAT1lD,EAEdwkC,EAAajpC,KAAK2vC,OAAO+oD,EAAMzgG,EAAEq0F,YAAc,GAAK,GACpDz8E,EAAI05E,EAAWa,WAAWlhD,EAAO1wC,MAAM,EAAG,EAAIywC,GAGlD,IAAIkhB,EAAY,CACdT,EAAOM,MAAM9gB,EAAO5tC,OAAQ2tC,EAAa,EAAG,2BAC5CygB,EAAgB,IAATjlD,GAA0B,IAATA,EAAe,uBAEvC,IAAIg4E,GAAkB,IAATh4E,CACb05C,GAAIu6C,EAAM6B,WAAW9d,EAAO5sE,OACvB,CACL65C,EAAOM,MAAM9gB,EAAO5tC,OAAQ,EAAI2tC,EAAaA,EAAY,0BAEzD,IAAImG,GAAIm6C,EAAWa,WAAWlhD,EAAO1wC,MAAM,EAAIywC,GAC/CkV,GAAI0rC,EAAMiP,WAAWJ,EAAO7oF,EAAGu/B,GAIjC,MADA+O,GAAEgM,WAAaA,EACRhM,GAGT0rC,EAAMzxF,UAAUkL,SAAW,WACzB,MAAIzK,MAAK6/F,MAAMlO,WAAW3xF,MAAc,aAEjC,IAAMA,KAAKuhG,QAAQ92F,WAAa,IAAMzK,KAAKwhG,QAAQ/2F,WAAa,KAGzE3L,EAAOD,QAAUmyF,GrLyw5BX,SAAUlyF,EAAQD,EAASH,GAEhC,YsLz/5BD,SAASkhG,GAAOxgG,EAAGS,EAAGC,EAAG6hG,EAAIC,EAAIn2F,EAAG+qC,GAClCx2C,KAAKZ,EAAIA,EACTY,KAAKH,EAAIA,EACTG,KAAKF,EAAIA,EACTE,KAAK6tF,EAAImD,EAAMiP,WAAWjgG,KAAM2hG,EAAIC,GACpC5hG,KAAKyL,EAAIA,EACTzL,KAAKw2C,EAAIA,EAETx2C,KAAKsgG,SAAW,GAAItP,GAAMhxF,KAAM,KAAM,KAAM0wF,EAAWhP,MAGvD1hF,KAAK6hG,UAAYziG,EAAEq6D,IAAIi3B,EAAWnU,KAAKJ,WAAW,GAGlDn8E,KAAKyhG,QAAUt6F,KAAK2vC,OAAO92C,KAAKZ,EAAEq0F,YAAc,GAAK,GAnBvD,GAAI5iC,GAASnyD,EAAQ,KACjBgyF,EAAahyF,EAAQ,KAErBsyF,EAAQtyF,EAAQ,IAmBpBkhG,GAAMrgG,UAAUmiG,WAAa,SAAU9d,EAAO5sE,GAC5C,GAAI8qF,GAAQ9qF,EAAE6gC,IAAI,GAAG4hB,IAAIz5D,KAAKH,EAAE+lF,SAAS5uE,IAAIyiD,IAAIz5D,KAAKF,GAAG4mF,IAAI1mF,KAAKZ,GAC9D2iG,EAAOD,EAAM/E,OAAO/8F,KAAK6hG,UAAW7hG,KAAKZ,GAEzCm3C,EAAIwrD,CAKR,OAJIA,GAAKle,UAAYD,IACnBrtC,EAAIv2C,KAAKZ,EAAEsmF,SAASnvC,IAGfy6C,EAAMiP,WAAWjgG,KAAMgX,EAAGu/B,IAGnCqpD,EAAMrgG,UAAUoyF,WAAa,SAAUrsC,GACrC,MAAIA,KAAMtlD,KAAKsgG,UAES,IAAjBh7C,EAAE2nB,EAAE4qB,UAAmC,IAAjBvyC,EAAE/O,EAAEshD;EAGnC+H,EAAMrgG,UAAUyiG,UAAY,SAAU18C,GACpC,GAAItlD,KAAK2xF,WAAWrsC,GAAI,OAAO,CAE/B,IAAItuC,GAAIsuC,EAAEi8C,QACNhrD,EAAI+O,EAAEk8C,QACN3hG,EAAIG,KAAKH,EACTC,EAAIE,KAAKF,EACTV,EAAIY,KAAKZ,CAGb,IAAI4X,EAAE6gF,SAAW,GAAK7gF,EAAEw6E,UAAUpyF,IAAM,EAAG,OAAO,CAClD,IAAIm3C,EAAEshD,SAAW,GAAKthD,EAAEi7C,UAAUpyF,IAAM,EAAG,OAAO,CAGlD,IAAI6iG,GAAM1rD,EAAE2nD,SAASxX,IAAItnF,GACrB8iG,EAAMlrF,EAAE6gC,IAAI,GAAG4hB,IAAI55D,EAAE+lF,SAAS5uE,IAAIyiD,IAAI35D,GAAG4mF,IAAItnF,EACjD,OAAO6iG,GAAIh2C,OAAOi2C,IAQpBtC,EAAMrgG,UAAUsjD,SAAW,SAAUyC,GAEnCuL,GAAQ7wD,KAAK2xF,WAAWrsC,GAAI,wBAC5BuL,EAAO7wD,KAAKgiG,UAAU18C,GAAI,4BAG1B,IAAI68C,GAAK78C,EAAEsgC,SAAS5lF,KAAKyL,EAGzB,OAFAolD,GAAO7wD,KAAK2xF,WAAWwQ,GAAK,wCAErB,GAGTrjG,EAAOD,QAAU+gG,GtLog6BX,SAAU9gG,EAAQD,EAASH,GAEhC,YuL7k6BD,SAASmyF,GAAgB51E,GACvB,GAAI4kF,GAAQuC,EAAOnnF,EACnB,KAAK4kF,EAAO,MAAO,KAEnB,IAAIzgG,GAAI,GAAIsxF,GAAWmP,EAAMzgG,EAAG,IAC5BS,EAAI,GAAI6wF,GAAWmP,EAAMhgG,EAAG,IAC5BC,EAAI,GAAI4wF,GAAWmP,EAAM//F,EAAG,IAC5B2L,EAAI,GAAIilF,GAAWmP,EAAMp0F,EAAG,IAC5B+qC,EAAI,GAAIk6C,GAAWmP,EAAMrpD,EAAG,IAC5BmrD,EAAK,GAAIjR,GAAWmP,EAAM8B,GAAI,IAC9BC,EAAK,GAAIlR,GAAWmP,EAAM+B,GAAI,GAElC,OAAO,IAAIhC,GAAMxgG,EAAGS,EAAGC,EAAG6hG,EAAIC,EAAIn2F,EAAG+qC,GAjBvC,GAAIk6C,GAAahyF,EAAQ,KAErB0jG,EAAS1jG,EAAQ,KACjBkhG,EAAQlhG,EAAQ,IAiBpBI,GAAOD,QAAUgyF,GvLwl6BX,SAAU/xF,EAAQD,GwL5m6BxBC,EAAAD,SAAkBwjG,WAAajjG,EAAA,mCAAAS,EAAA,mCAAAC,EAAA,mCAAA2L,EAAA,mCAAA+qC,EAAA,KAAAmrD,GAAA,mCAAAC,GAAA,oCAAqPU,WAAcljG,EAAA,2CAAAS,EAAA,KAAAC,EAAA,KAAA2L,EAAA,6CAAA+qC,EAAA,KAAAmrD,GAAA,2CAAAC,GAAA,4CAA2NW,WAAcnjG,EAAA,2CAAAS,EAAA,2CAAAC,EAAA,2CAAA2L,EAAA,6CAAA+qC,EAAA,KAAAmrD,GAAA,2CAAAC,GAAA,4CAAuSY,WAAcpjG,EAAA,mDAAAS,EAAA,KAAAC,EAAA,KAAA2L,EAAA,mDAAA+qC,EAAA,KAAAmrD,GAAA,mDAAAC,GAAA,oDAAyPa,WAAcrjG,EAAA,mDAAAS,EAAA,mDAAAC,EAAA,mDAAA2L,EAAA,mDAAA+qC,EAAA,KAAAmrD,GAAA,mDAAAC,GAAA,oDAAqVhR,WAAcxxF,EAAA,mEAAAS,EAAA,KAAAC,EAAA,KAAA2L,EAAA,mEAAA+qC,EAAA,KAAAmrD,GAAA,mEAAAC,GAAA,oEAAyTc,WAActjG,EAAA,mEAAAS,EAAA,mEAAAC,EAAA,mEAAA2L,EAAA,mEAAA+qC,EAAA,KAAAmrD,GAAA,mEAAAC,GAAA,sExLkn6B3uD,SAAU9iG,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YAI9C,SAASnoC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MyLtn6B7hByvF,EAASjyF,EAAQ,KACjBsyF,EAAQL,EAAOK,MACfJ,EAAYD,EAAOE,eAAe,aAClCH,EAAahyF,EAAQ,KACrBoyD,EAASpyD,EAAQ,KACjBmyD,EAASnyD,EAAQ,KACjB6L,EAAO7L,EAAQ,KACf6mD,EAAY7mD,EAAQ,KAGpB+M,GADImlF,EAAU/C,EACV+C,EAAUnlF,GAEZglD,EzL0n6BY,WyLpn6Bd,QAAAA,GAAYnpD,GAAGtG,EAAAhB,KAAAywD,GAAEzwD,KAAKsH,EAAIA,EzL8y6BzB,MA9KAjF,GAAaouD,IACT7tD,IAAK,QACLhB,MAAO,WyL5k6BR,GAAI0xE,GAActzE,KAAKqK,UAEvBipE,GAAcnqC,EAAOlpC,QAAQ,GAAIkpC,IAAQ,MAAQmqC,GACjD,IAAIviB,GAAWxmD,EAAKC,OAAO8oE,EAC3BviB,GAAWxmD,EAAKC,OAAOumD,GACvBA,EAAWA,EAASpxD,MAAM,EAAG,EAC7B,IAAIgjG,GAAcx5D,EAAOlpC,QAAQqzE,EAAaviB,GAC9C,OAAOD,GAAOE,OAAO2xC,MzLml6BpB//F,IAAK,WACLhB,MAAO,WyL/k6BR,MAAO5B,MAAK4iG,WzLwl6BXhgG,IAAK,mBACLhB,MAAO,WyLll6BR,GAAI0jD,EACJ,OAAOA,GAAIsrC,EAAU/C,EAAEjI,SAAS5lF,KAAKsH,MzLsl6BpC1E,IAAK,WACLhB,MAAO,WyLnl6BR,MAAI5B,MAAKq8C,WAAqBr8C,KAAKq8C,WAC5Br8C,KAAKq8C,WAAakJ,EAAU2rC,UAAUlxF,KAAK6iG,uBzLyl6BjDjgG,IAAK,WACLhB,MAAO,WyLtl6BR,MAAO5B,MAAKsH,EAAE+C,SAAS,OzL6l6BtBzH,IAAK,oBACLhB,MAAO,SyL1l6BMy6C,GACdA,EAAagJ,EAAShJ,EACtB,IAAIymD,GAAKzmD,EAAW0mD,iBAAiB14F,WACjC24F,EAAMhS,EAAMiP,WACZrP,EACAF,EAAWa,WAAYuR,EAAGnjG,MAAO,EAAE,KACnC+wF,EAAWa,WAAYuR,EAAGnjG,MAAO,GAAG,MAEpCiX,EAAI5W,KAAKqK,WACT44F,EAAID,EAAIpd,SAAS8K,EAAWa,WAAW36E,IACvCk9D,EAAImvB,EAAE1B,QAAQl3F,UAAU4d,KAAM,IAElC,OAAO1d,GAAK2mD,OAAO4iB,MzLum6BlBlxE,IAAK,QACLhB,MAAO,SyL3l6BL89C,GACHA,EAASvW,EAAOlpC,QAASD,KAAKkjG,cAAc74F,WAAYq1C,IACxDA,EAASn1C,EAAKC,OAAQk1C,EACtB,IAAIvgD,GAAIuxF,EAAWa,WAAW7xC,EAE9B,IAAIvgD,EAAEqyF,UAAU/lF,IAAM,EAClB,KAAM,IAAI3E,OAAM,6CAEpB,IAAIq8F,GAAUnjG,KAAKsH,EAAEmyD,IAAIt6D,EAEzB,IAAyB,IAArBgkG,EAAQtL,SACR,KAAM,IAAI/wF,OAAM,oDAEpB,OAAO,IAAI2pD,GAAY0yC,MzLmm6BtBvgG,IAAK,QACLhB,MAAO,WyLtl6BR,MAAO5B,MAAKqK,WAAWI,SAAS,UzL0l6B/B7H,IAAK,cACLhB,MAAO,WyLvl6BR,MAAO5B,MAAKqlD,gBzL8l6BXziD,IAAK,aACLhB,MAAO,SyL5u6BMwI,GACd,IAAK++B,EAAO7B,SAASl9B,GACjB,KAAM,IAAItD,OAAM,yCAKpB,IAHI,KAAOsD,EAAI3H,QACX8J,QAAQ1F,IAAR,yCAAqDuD,EAAI3H,OAAzD,kBAAiF,GAAIqE,QAAQsb,OAE9E,IAAfhY,EAAI3H,OACJ,KAAM,IAAIqE,OAAM,eAEpB,OAAO,IAAI2pD,GAAWigC,EAAWa,WAAWnnF,OzLkv6B3CxH,IAAK,WACLhB,MAAO,SyL/u6BIwhG,GACZ,GAAsB,gBAATA,GACT,KAAM,IAAIt8F,OAAM,8BAEpB,OAAO2pD,GAAW8gC,WAAWhnF,EAAKC,OAAO44F,OzLmv6BxCxgG,IAAK,QACLhB,MAAO,SyLjv6BC2vC,GACT,IAEI,MADAvxC,MAAKg2E,QAAQzkC,IACN,EACT,MAAMlqC,GACJ,OAAO,MzL2v6BVzE,IAAK,UACLhB,MAAO,SyLpv6BGyhG,GACX,GAAIV,GAAc,GAAIx5D,GAAO2nB,EAAOtf,OAAO6xD,IACvCvqF,EAAU6pF,EAAY/1C,UAAU,EACpCiE,GAAOM,MAAM,IAAMr4C,EAAnB,qCAAqEA,EAErE,IAAIw6D,GAAcqvB,EAAYhjG,MAAM,GAAG,GACnCoxD,EAAW4xC,EAAYhjG,OAAM,GAC7ByxD,EAAe7mD,EAAKC,OAAO8oE,EAG/B,IAFAliB,EAAe7mD,EAAKC,OAAO4mD,GAC3BA,EAAeA,EAAazxD,MAAM,EAAG,GACjCoxD,EAAStmD,aAAe2mD,EAAa3mD,WACrC,KAAM,IAAI3D,OAAM,wCAGpB,OADAwsE,GAAcA,EAAY3zE,MAAM,GACzB8wD,EAAW8gC,WAAWje,MzLsv6B5B1wE,IAAK,UACLhB,MAAO,SyLnq6BG8+E,GACX,MAAOjwB,GAAW8gC,WAAW,GAAIpoD,GAAOu3C,EAAK,YzLuq6BzCjwB,IyLzp6BZ3xD,GAAOD,QAAU4xD,CAEjB,IAAMpL,GAAW,SAAAp+C,GAAA,MAAgB,OAARA,EAAeA,EACpCA,EAAKq+C,EAAIr+C,EAAOs+C,EAAUC,kBAAkBv+C,MzL8p6BlBhI,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YAI9C,SAASnoC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,M0Lh16B7hBoiG,EAAQ5kG,EAAQ,KAChB6L,EAAO7L,EAAQ,KACfmhG,EAAQnhG,EAAQ,KAAUmyF,eAAe,aACzChgC,EAASnyD,EAAQ,KACjBgyF,EAAahyF,EAAQ,KACrB6mD,EAAY7mD,EAAQ,KACpB+xD,EAAa/xD,EAAQ,KAEnBgyD,E1Lo16BW,W0Ll16Bb,QAAAA,GAAY6yC,EAAI/V,EAAIgW,GAAIxiG,EAAAhB,KAAA0wD,GACpB1wD,KAAK4W,EAAI2sF,EACTvjG,KAAKy2C,EAAI+2C,EACTxtF,KAAKX,EAAImkG,EACT3yC,EAAOM,MAAgB,MAAVnxD,KAAK4W,GAAW,EAAM,qBACnCi6C,EAAOM,MAAgB,MAAVnxD,KAAKy2C,GAAW,EAAM,qBACnCoa,EAAOM,MAAgB,MAAVnxD,KAAKX,GAAW,EAAM,qB1Lk/6BtC,MA1JAgD,GAAaquD,IACT9tD,IAAK,WACLhB,MAAO,W0L506BR,GAAIwI,EAKJ,OAJAA,GAAM,GAAI++B,GAAO,IACjB/+B,EAAI0jD,WAAW9tD,KAAKX,EAAG,GACvBW,KAAK4W,EAAEvM,SAAS,IAAIo1C,KAAKr1C,EAAK,GAC9BpK,KAAKy2C,EAAEpsC,SAAS,IAAIo1C,KAAKr1C,EAAK,IACvBA,K1Lg16BNxH,IAAK,6BACLhB,MAAO,S0L906BeyuC,GACvB,MAAOrwC,MAAKyjG,iBAAiBl5F,EAAKC,OAAO6lC,O1Li16BxCztC,IAAK,mBAMLhB,MAAO,S0Lj16BK8hG,GACb,GAAIp+C,UAAGj+C,SAAGhI,QAMV,OALAgI,GAAIqpF,EAAWa,WAAWmS,GAC1BrkG,EAAIW,KAAKX,EACTA,GAAK,GACLA,GAAQ,EACRimD,EAAIg+C,EAAMK,cAAc9D,EAAOx4F,EAAGrH,KAAMX,GACjCkmD,EAAU2rC,UAAU5rC,M1Ls16B1B1iD,IAAK,eAQLhB,MAAO,S0Lry6BCwI,EAAKiyC,GACd,GAAI4U,GAAQ1mD,EAAKC,OAAOJ,EACxB,OAAOpK,MAAK4jG,WAAW3yC,EAAO5U,M1Lwy6B7Bz5C,IAAK,aACLhB,MAAO,S0Lty6BD2I,EAAM8xC,GAEb,MADAwU,GAAOM,MAAM5mD,EAAK9H,OAAQ,GAAI,kDAAoD8H,EAAK9H,QAChF6gG,EAAMO,OAAOhE,EAAOt1F,GACzBqM,EAAG5W,KAAK4W,EACR6/B,EAAGz2C,KAAKy2C,GACP4F,EAAWiJ,M1Lyy6Bb1iD,IAAK,QACLhB,MAAO,W0L1x6BR,MAAO5B,MAAKqK,WAAWI,SAAS,U1L8x6B/B7H,IAAK,YACLhB,MAAO,S0Ltx6BF8+E,EAAKrkC,GACX,GAAIjyC,EAEJ,OADAA,GAAM,GAAI++B,GAAOu3C,EAAK,OACf1gF,KAAK8jG,aAAa15F,EAAKiyC,Q1Lyx6B7Bz5C,IAAK,aACLhB,MAAO,S0L156BMwI,GACd,GAAI/K,GAAGuX,EAAG6/B,CAMV,OALAoa,GAAOM,MAAM/mD,EAAI3H,OAAQ,GAAI,4BAC7BpD,EAAI+K,EAAIwiD,UAAU,GAClBiE,EAAOM,MAAM9xD,EAAI,GAAIA,EAAI,GAAK,EAAG,+BACjCuX,EAAI85E,EAAWa,WAAWnnF,EAAIzK,MAAM,EAAG,KACvC82C,EAAIi6C,EAAWa,WAAWnnF,EAAIzK,MAAM,KAC7B,GAAI+wD,GAAU95C,EAAG6/B,EAAGp3C,M1L656B1BuD,IAAK,aAQLhB,MAAO,S0Ll46BMwI,EAAKkpE,GACnB,GAAIriB,GAAQ1mD,EAAKC,OAAOJ,EACxB,OAAOsmD,GAAUqzC,iBAAiB9yC,EAAOqiB,M1L446BxC1wE,IAAK,mBACLhB,MAAO,S0Lr46BYoiG,EAAY1wB,GAChC,GAA0B,KAAtB0wB,EAAWvhG,SAAmB0mC,EAAO7B,SAAS08D,GAC9C,KAAM,IAAIl9F,OAAM,qCACpBwsE,GAAcK,EAAaL,GAC3BziB,EAAOyiB,EAAa,uBAEpB,IAAI2wB,GAAK58F,EAAG68F,EAAa7kG,EAAG8kG,EAAMC,EAAM7wB,CAIxC,KAHAl0E,EAAI,KACJk0E,EAAQ,EACRlsE,EAAIqpF,EAAWa,WAAWyS,KACb,CAKX,GAJAE,EAAcZ,EAAMv7F,KAAK83F,EAAOmE,EAAY1wB,EAAYhsE,EAAGisE,KAC3D0wB,EAAMC,EAAYG,QAClBF,EAAOF,EAAI,GACXG,EAAOH,EAAI,EAAIE,GACF,KAATA,GAAwB,KAATC,EAAa,CAC9B/kG,EAAIikG,EAAMgB,wBAAwBzE,EAAOx4F,EAAG68F,EAAa5wB,EAAY4vB,cAAc59C,GACnFjmD,GAAK,EACLA,GAAK,EACL,OAEEk0E,EAAQ,KAAO,GACjBhnE,QAAQ1F,IAAI,SAAW0sE,EAAQ,yCAGnC,MAAO,IAAI7iB,GAAUwzC,EAAYttF,EAAGstF,EAAYztD,EAAGp3C,M1Lu46BlDuD,IAAK,OACLhB,MAAO,S0Lr46BA46C,EAAQ82B,GAChB,MAAO5iB,GAAU6zC,WAAW,GAAIp7D,GAAOqT,GAAS82B,M1Lw46B/C1wE,IAAK,UAULhB,MAAO,S0Lp36BG8+E,GACX,MAAOhwB,GAAU6gC,WAAW,GAAIpoD,GAAOu3C,EAAK,W1Lu36B3C99E,IAAK,UACLhB,MAAO,S0Lj36BG8+E,EAAKpN,GAChB,GAAIlpE,EAEJ,OADAA,GAAM,GAAI++B,GAAOu3C,EAAK,OACfhwB,EAAU6zC,WAAWn6F,EAAKkpE,O1Lq36B7B5iB,K0L326BNijB,EAAe,SAAAnzD,GAAA,MAAMA,GAAIA,EAAElZ,EAAIkZ,EAAIiwC,EAAWulB,QAAQx1D,GAAKA,EACjE1hB,GAAOD,QAAU6xD,I1Li36BazxD,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y2Lvg7B/C,SAASq7D,GAAuB3E,EAAOt1F,EAAMjD,EAAGm9F,EAAUlxB,GAExDmxB,EAAY,SAAUn6F,GACtBm6F,EAAYhU,EAAYppF,GAEpBisE,IACFhpE,EAAOgsE,EAAO/rE,OAAO2+B,EAAOlpC,QAAQsK,EAAM,GAAI4+B,GAAOoqC,OAIvD1iB,EAAOM,MAAM5mD,EAAK9H,OAAQ,GAAI,uBAE9B,IAAIuU,GAAI1P,EAAE+C,SAAS,IACf07B,EAAI,GAAIoD,GAAO,IACfz6B,EAAI,GAAIy6B,GAAO,GAGnBz6B,GAAEm4C,KAAK,GAGP9gB,EAAE8gB,KAAK,GAGP9gB,EAAIwwC,EAAOvc,WAAW7wB,EAAOlpC,QAAQyO,EAAG,GAAIy6B,IAAQ,IAAKnyB,EAAGzM,IAAQw7B,GAGpEr3B,EAAI6nE,EAAOvc,WAAWtrD,EAAGq3B,GAGzBA,EAAIwwC,EAAOvc,WAAW7wB,EAAOlpC,QAAQyO,EAAG,GAAIy6B,IAAQ,IAAKnyB,EAAGzM,IAAQw7B,GAGpEr3B,EAAI6nE,EAAOvc,WAAWtrD,EAAGq3B,GAIzBr3B,EAAI6nE,EAAOvc,WAAWtrD,EAAGq3B,EAKzB,KAHA,GAAIvnB,GAAIkyE,EAAWa,WAAW7iF,GAGtB8P,EAAEq5E,UAAY,GAAOr5E,EAAEgzE,UAAUqO,EAAMp0F,IAAM,IAAOg5F,EAASjmF,IACnEunB,EAAIwwC,EAAOvc,WAAW7wB,EAAOlpC,QAAQyO,EAAG,GAAIy6B,IAAQ,MAAOpD,GAC3Dr3B,EAAI6nE,EAAOvc,WAAWtrD,EAAGq3B,GAIzBr3B,EAAI6nE,EAAOvc,WAAWtrD,EAAGq3B,GAEzBvnB,EAAIkyE,EAAWa,WAAW7iF,EAG5B,OAAO8P,GAIT,QAASzW,GAAK83F,EAAOt1F,EAAMjD,EAAGisE,GAE5B,GAII38D,GAAG6/B,EAJHpvC,EAAIqpF,EAAWa,WAAWhnF,GAC1BkB,EAAIo0F,EAAMp0F,EACVoiF,EAAIgS,EAAMhS,EAkBV8W,GAfIH,EAAuB3E,EAAOt1F,EAAMjD,EAAG,SAAUy+B,GAEvD,GAAIuf,GAAIuoC,EAAEjI,SAAS7/C,EAEnB,QAAI85D,EAAMlO,WAAWrsC,KAErB1uC,EAAI0uC,EAAEi8C,QAAQ7a,IAAIj7E,GACC,IAAfmL,EAAEihF,WAENphD,EAAI1Q,EAAEi4D,WAAWvyF,GAAGm6E,SAASv+E,EAAEoyD,IAAInyD,EAAEs+E,SAAShvE,KAAK8vE,IAAIj7E,GACpC,IAAfgrC,EAAEohD,YAGLtkB,GAEc9nE,EAAE0wE,WAAW,GAO9B,OAJI1lC,GAAE+6C,UAAUmT,GAAc,IAC5BluD,EAAIhrC,EAAEi6E,SAASjvC,IAGV,GAAImuD,GAAYhuF,EAAG6/B,GAG5B,QAASouD,GAAUhF,EAAOx4F,EAAGy9F,EAAWx/C,GACtC,GAAI75C,GAAIo0F,EAAMp0F,EACVoiF,EAAIgS,EAAMhS,EAEVj3E,EAAIkuF,EAAUluF,EACd6/B,EAAIquD,EAAUruD,CAGlB,IAAI7/B,EAAEihF,UAAY,GAAKjhF,EAAE46E,UAAU/lF,IAAM,EAAG,OAAO,CACnD,IAAIgrC,EAAEohD,UAAY,GAAKphD,EAAE+6C,UAAU/lF,IAAM,EAAG,OAAO,CAGnD,IAAItM,GAAIs3C,EAAEunD,WAAWvyF,GAIjBs5F,EAAK19F,EAAEu+E,SAASzmF,GAAGunF,IAAIj7E,GACvBu5F,EAAKpuF,EAAEgvE,SAASzmF,GAAGunF,IAAIj7E,GAGvBu1F,EAAInT,EAAEsT,YAAY4D,EAAIz/C,EAAG0/C,EAG7B,IAAInF,EAAMlO,WAAWqP,GAAI,OAAO,CAGhC,IAAIiE,GAAKjE,EAAEO,QAGP7yF,EAAIu2F,EAAGve,IAAIj7E,EAGf,OAAOiD,GAAEu9C,OAAOr1C,GAGlB,QAASitF,GAAOhE,EAAOt1F,EAAMu6F,EAAWx/C,GAGtC,GAAIj+C,GAAIqpF,EAAWa,WAAWhnF,EAC9B,OAAOs6F,GAAUhF,EAAOx4F,EAAGy9F,EAAWx/C,GAWxC,QAASq+C,GAAc9D,EAAOx4F,EAAGy9F,EAAWzlG,GAC1CwxD,EAAO+D,YAAgB,EAAJv1D,EAAOA,EAAG,uCAE7B,IAAIoM,GAAIo0F,EAAMp0F,EACVoiF,EAAIgS,EAAMhS,EAEVj3E,EAAIkuF,EAAUluF,EACd6/B,EAAIquD,EAAUruD,CAElBoa,GAAOj6C,EAAEihF,SAAW,GAAKjhF,EAAE46E,UAAU/lF,GAAK,EAAG,mBAC7ColD,EAAOpa,EAAEohD,SAAW,GAAKphD,EAAE+6C,UAAU/lF,GAAK,EAAG,kBAG7C,IAAIy5F,GAAa,EAAJ7lG,EAIT8lG,EAAc9lG,GAAK,EAGnB2X,EAAImuF,EAAcvuF,EAAE6iD,IAAIhuD,GAAKmL,EAC7BoqF,EAAInB,EAAM6B,WAAWwD,EAAQluF,GAG7BouF,EAAKpE,EAAEpb,SAASn6E,EACpBolD,GAAOgvC,EAAMlO,WAAWyT,GAAK,gCAG7B,IAAIC,GAAOh+F,EAAEm1E,SAASkK,IAAIj7E,GAItB65F,EAAO1uF,EAAEonF,WAAWvyF,GAEpB65C,EAAI07C,EAAEG,YAAY1qD,EAAGo3C,EAAGwX,GAAMzf,SAAS0f,EAG3C,OAFAzF,GAAMh9C,SAASyC,GAERA,EAcT,QAASg/C,GAAwBzE,EAAOx4F,EAAGy9F,EAAWx/C,GACpD,IAAK,GAAIjmD,GAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,GAAIqyF,GAASiS,EAAc9D,EAAOx4F,EAAGy9F,EAAWzlG,EAGhD,IAAIqyF,EAAOzlC,OAAO3G,GAChB,MAAOjmD,GAIX,KAAM,IAAIyH,OAAM,wCA/MlB,GAAI+pD,GAASnyD,EAAQ,KACjB63E,EAAS73E,EAAQ,KACjBgmG,EAAchmG,EAAQ,KAEtBgyF,EAAahyF,EAAQ,KACrBkmG,EAAclmG,EAAQ,IA6M1BI,GAAOD,SACLylG,wBAAyBA,EACzBE,uBAAwBA,EACxBb,cAAeA,EACf57F,KAAMA,EACN87F,OAAQA,EACRgB,UAAWA,K3Lkh7BiB5lG,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y4L7s7B/C,SAAS0oB,GAAQjyD,GAEf,GAAIuG,GAAQvG,EAAG6K,WAAWtE,MAAM,mBAChC,OAAOA,GAAQA,EAAM,GAAK,KAtC5BrH,EAAOD,QAAU,SAAiB+M,EAAMhK,GACtC,OAAQgK,GACN,IAAK,QACH,GAAIpG,MAAM8Z,QAAQ1d,GAAQ,MAC1B,MAGF,KAAK,UACH,GAAqB,iBAAVA,GAAqB,MAChC,MAGF,KAAK,SACH,GAAIunC,EAAO7B,SAAS1lC,GAAQ,MAC5B,MAGF,KAAK,SACH,GAAqB,gBAAVA,GAAoB,MAC/B,MAGF,KAAK,SACH,GAAqB,gBAAVA,GAAoB,MAC/B,MAGF,SACE,GAAIiwD,EAAQjwD,EAAMD,eAAiBkwD,EAAQjmD,GAAO,OAItD,KAAM,IAAIzK,WAAU,aAAe0wD,EAAQjmD,IAASA,GAAQ,SAAWhK,M5Liw7B3C3C,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y6Lly7B/C,SAASy7D,GAAYhuF,EAAG6/B,GACtBiuD,EAAYhU,EAAY95E,GACxB8tF,EAAYhU,EAAYj6C,GAExBz2C,KAAK4W,EAAIA,EACT5W,KAAKy2C,EAAIA,EAVX,GAAIoa,GAASnyD,EAAQ,KACjBgmG,EAAchmG,EAAQ,KAEtBgyF,EAAahyF,EAAQ,IAWzBkmG,GAAYW,aAAe,SAASl1D,GAClCwgB,EAAOM,MAAM9gB,EAAO5tC,OAAQ,GAAI,2BAChC,IAAIpD,GAAIgxC,EAAOuc,UAAU,GAAK,EAG9BiE,GAAOM,MAAM9xD,EAAO,EAAJA,EAAO,8BACvB,IAAIiyD,MAAoB,EAAJjyD,EAGpBA,IAAQ,CAER,IAAIuX,GAAI85E,EAAWa,WAAWlhD,EAAO1wC,MAAM,EAAG,KAC1C82C,EAAIi6C,EAAWa,WAAWlhD,EAAO1wC,MAAM,IAE3C,QACE2xD,WAAYA,EACZjyD,EAAGA,EACHylG,UAAW,GAAIF,GAAYhuF,EAAG6/B,KAIlCmuD,EAAYY,QAAU,SAASn1D,GAC7BwgB,EAAOM,MAAM9gB,EAAOuc,UAAU,GAAI,GAAM,sBACxCiE,EAAOM,MAAM9gB,EAAOuc,UAAU,GAAIvc,EAAO5tC,OAAS,EAAG,2BACrDouD,EAAOM,MAAM9gB,EAAOuc,UAAU,GAAI,EAAM,yBAExC,IAAI64C,GAAOp1D,EAAOuc,UAAU,EAC5BiE,GAAO40C,EAAO,EAAG,mBAEjB,IAAI/lD,GAAS,EAAI+lD,CACjB50C,GAAOM,MAAM9gB,EAAOuc,UAAUlN,GAAS,EAAM,6BAE7C,IAAIgmD,GAAOr1D,EAAOuc,UAAUlN,EAAS,EACrCmR,GAAO60C,EAAO,EAAG,mBAEjB,IAAIC,GAAKt1D,EAAO1wC,MAAM,EAAG+/C,GACrBkmD,EAAKv1D,EAAO1wC,MAAM+/C,EAAS,EAC/BA,IAAU,EAAIgmD,EAEVD,EAAO,GAAyB,IAApBE,EAAG/4C,UAAU,IAC3BiE,EAAyB,IAAlB80C,EAAG/4C,UAAU,GAAW,8BAG7B84C,EAAO,GAAyB,IAApBE,EAAGh5C,UAAU,IAC3BiE,EAAyB,IAAlB+0C,EAAGh5C,UAAU,GAAW,8BAGjCiE,EAAOM,MAAMzR,EAAQrP,EAAO5tC,OAAQ,uBACpC,IAAImU,GAAI85E,EAAW+O,eAAekG,GAC9BlvD,EAAIi6C,EAAW+O,eAAemG,EAKlC,OAHA/0C,GAAOj6C,EAAEihF,UAAY,EAAG,uBACxBhnC,EAAOpa,EAAEohD,UAAY,EAAG,uBAEjB,GAAI+M,GAAYhuF,EAAG6/B,IAI5BmuD,EAAYiB,qBAAuB,SAASx1D,GAC1C,GAAIy1D,GAAWz1D,EAAOuc,UAAUvc,EAAO5tC,OAAS,GAC5CsjG,EAAcD,GAAW,GAI7B,OAFAj1C,GAAOk1C,EAAc,GAAQA,EAAc,EAAM,qBAG/CjB,UAAWF,EAAYY,QAAQn1D,EAAO1wC,MAAM,GAAG,IAC/CmmG,SAAUA,IAKdlB,EAAYrlG,UAAUymG,UAAY,SAAS3mG,EAAGiyD,GACxCA,IAAYjyD,GAAK,GACrBA,GAAK,EAEL,IAAIgxC,GAAS,GAAIlH,GAAO,GAMxB,OALAkH,GAAOyd,WAAWzuD,EAAG,GAErBW,KAAK4W,EAAEvM,SAAS,IAAIo1C,KAAKpP,EAAQ,GACjCrwC,KAAKy2C,EAAEpsC,SAAS,IAAIo1C,KAAKpP,EAAQ,IAE1BA,GAGTu0D,EAAYrlG,UAAU8kG,MAAQ,WAC5B,GAAI4B,GAAMjmG,KAAK4W,EAAE8oF,eACbwG,EAAMlmG,KAAKy2C,EAAEipD,eAEbyG,IAaJ,OAVAA,GAAS95F,KAAK,EAAM45F,EAAIxjG,QACxB0jG,EAAWA,EAASlmG,OAAOgmG,GAG3BE,EAAS95F,KAAK,EAAM65F,EAAIzjG,QACxB0jG,EAAWA,EAASlmG,OAAOimG,GAG3BC,EAASnwD,QAAQ,GAAMmwD,EAAS1jG,QAEzB,GAAI0mC,GAAOg9D,IAGpBvB,EAAYrlG,UAAU6mG,kBAAoB,SAASN,GACjD,GAAIO,GAAiB,GAAIl9D,GAAO,EAGhC,OAFAk9D,GAAev4C,WAAWg4C,EAAU,GAE7B38D,EAAOlpC,QAAQD,KAAKqkG,QAASgC,KAGtCvnG,EAAOD,QAAU+lG,I7L0y7Ba3lG,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,GAEvB,Y8L567BM,SAASynG,GAAUC,GACtB,GAAyB,gBAAdA,GACP,KAAM,IAAIz/F,OAAM,gCAGpB,OADAy/F,GAAYA,EAAUt0D,OACfs0D,EAAUtmF,MAAM,kBAAkBoJ,KAAK,K9Ly67BjD/pB,OAAOqD,eAAe9D,EAAS,cAC3B+C,OAAO,IAEX/C,E8Lj77BeynG,a9L477BV,SAAUxnG,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y+L977B/C,IAAMsnB,GAAa/xD,EAAQ,KACrB6L,EAAO7L,EAAQ,KACf23E,EAAe33E,EAAQ,KAGvB8nG,EAAmB,IAErBC,EAAa,EAAGC,EAAe,EAC7BC,EAAetwB,EAAaU,aAAa,IAE/Cj4E,GAAOD,SAEH+nG,WAFa,WAGTF,GADgB,QAAAnhG,GAAAtB,UAAAxB,OAANokG,EAAMrhG,MAAAD,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAANohG,EAAMphG,GAAAxB,UAAAwB,EAAA,IAAAi1C,IAAA,EAAAC,GAAA,EAAAC,EAAA12C,MAAA,KAEhB,OAAA22C,GAAAC,EAAe+rD,EAAf1kG,OAAAC,cAAAs4C,GAAAG,EAAAC,EAAAp7B,QAAA7N,MAAA6oC,GAAA,EAAqB,IAAXr7C,GAAWw7C,EAAAj5C,MACXkjD,EAAM2hD,IAAe,IACrBK,EAAKH,EAAa7hD,IAAQzlD,CAC7BynG,GAAK,mBACJH,EAAa7hD,GAAO,IANZ,MAAAn9C,GAAAgzC,GAAA,EAAAC,EAAAjzC,EAAA,aAAA+yC,GAAAI,EAAAC,QAAAD,EAAAC,SAAA,WAAAJ,EAAA,KAAAC,MAepBmsD,mBAjBa,WAiBuC,GAAjC1xB,GAAiCpxE,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAvBjE,KAAKgnG,gBAE9B,IAAyB,gBAAZ3xB,GACT,KAAM,IAAIvuE,OAAM,8BAGpB,IAAIuuE,EAAQ5yE,OAAS,GACjB,KAAM,IAAIqE,OAAM,yCAKpB,KAFA,GAAMmgG,GAAUpxD,KAAK4E,MAEd5E,KAAK4E,MAAQwsD,EAAUT,GAC1BnxB,EAAU9qE,EAAKC,OAAO6qE,EAE1B,IAAM6xB,KAMN,OALAA,GAAW76F,KAAKgpE,GAGhB6xB,EAAW76F,KAAKgqE,EAAaU,aAAa,KAEnCxsE,EAAKC,OAAO2+B,EAAOlpC,OAAOinG,KAGrCC,eAzCa,SAyCE9xB,GACX,MAAO5kB,GAAW8gC,WAAWvxF,KAAK+mG,mBAAmB1xB,KAYzD2xB,eAtDa,WAuDT,GAAII,GAAa5hG,MAAMmhG,GAAct9E,MACrC,KACI+9E,IAAe,GAAIvxD,OAAQprC,WAAa,IAAM9J,OAAO0mG,OAAOC,OAAS,IAAM3mG,OAAO0mG,OAAOE,MAAQ,IAC7F5mG,OAAO0mG,OAAOG,WAAa,KAAY7mG,OAAO0mG,OAAOI,YAAc,IAAM9mG,OAAO0mG,OAAOK,WAAa,IACpG/mG,OAAO0mG,OAAOM,WAAaxpF,UAAUypF,SAAW,IAAMjnG,OAAOuyC,SAAW,IAAMvyC,OAAOknG,QAAQplG,MAEjG,KAAK,GAAWqlG,GAAPzoG,EAAI,EAAaA,EAAI8e,UAAU4pF,UAAUtlG,OAAQpD,IACtDyoG,EAAW3pF,UAAU4pF,UAAU1oG,GAC/B+nG,GAAcU,EAAS1J,YAAc,IAAM0J,EAASl8F,KAAO,IAAMk8F,EAASE,SAAW,GAEzFz7F,SAAQ1F,IAAI,gCAAiC6/F,EAAc,UAC7D,MAAM1+F,GAEJo/F,GAAc78F,EAAKC,QAAQ,GAAIqrC,OAAQprC,YAG3C,GAAM3K,GAAI,GAAIqpC,GAAOi+D,EAErB,OADAA,IAActnG,EAAE2K,SAAS,UAAY,KAAO,GAAIorC,OAAQprC,e/L497BlCxL,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YAiBA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GgM7j8BjF,QAASonG,GAAiB9uC,EAAQ/Z,GAEhB,gBAAX+Z,KACN,EAAAsb,EAAA1zE,SAAOo4D,GAAU,iBAAkB,YACnCA,EAAS,GAAGA,GAERA,EAAO1uD,WACP0uD,EAASA,EAAO1uD,aAExB,EAAAgqE,EAAA1zE,SAAyB,gBAAXo4D,GAAqB,oEAA0DA,GAA1D,YAAAj3D,EAA0Di3D,KAC7FA,EAASA,EAAOlnB,QAChB,EAAAwiC,EAAA1zE,SAAO,oBAAoB8b,KAAKs8C,GAAS,0BAA4BA,EAXrB,IAAA+uC,GAad/uC,EAAOl5C,MAAM,KAbCkoF,EAAAlqD,EAAAiqD,EAAA,GAAAE,EAAAD,EAAA,GAa1CE,EAb0CnkG,SAAAkkG,EAalC,GAbkCA,EAAAE,EAAAH,EAAA,GAa9BI,EAb8BrkG,SAAAokG,EAapB,GAboBA,EAe5C3I,EAAUvgD,EAAYmpD,EAAQ9lG,QAClC,EAAAgyE,EAAA1zE,SAAO4+F,GAAW,EAAG,8BAAgCxmC,EAAS,oCAAsC/Z,EAEpG,KAAI,GAAI//C,GAAI,EAAGA,EAAIsgG,EAAStgG,IACxBkpG,GAAW,GAEf,MAA0B,MAApBF,EAAMzpF,OAAO,IACfypF,EAAQA,EAAM7zC,UAAU,EAE5B,OAAO6zC,GAAQE,EAGZ,QAAStoD,GAAmBkZ,EAAQ/Z,GAQvC,IAPqB,gBAAX+Z,KACN,EAAAsb,EAAA1zE,SAAOo4D,GAAU,iBAAkB,YACnCA,EAAS,GAAGA,GAERA,EAAO1uD,WACP0uD,EAASA,EAAO1uD,YAElB0uD,EAAO12D,OAAS28C,EAAY,GAC9B+Z,EAAS,IAAMA,CAGnB,IAAIqvC,GAAarvC,EAAO3E,UAAU2E,EAAO12D,OAAS28C,EAClD,OAAO+Z,GAAO3E,UAAU,EAAG2E,EAAO12D,OAAS28C,IACtCopD,EAAa,IAAMA,EAAa,IhMqg8BxClpG,OAAOqD,eAAe9D,EAAS,cAC3B+C,OAAO,GAGX,IAAIq8C,GAAiB,WAAc,QAASC,GAAcC,EAAK9+C,GAAK,GAAI++C,MAAeC,GAAK,EAAUC,GAAK,EAAWC,EAAKr6C,MAAW,KAAM,IAAK,GAAiCs6C,GAA7BC,EAAKN,EAAIh8C,OAAOC,cAAmBi8C,GAAMG,EAAKC,EAAG/+B,QAAQ7N,QAAoBusC,EAAK/xC,KAAKmyC,EAAG58C,QAAYvC,GAAK++C,EAAK37C,SAAWpD,GAA3Dg/C,GAAK,IAAoE,MAAO12C,GAAO22C,GAAK,EAAMC,EAAK52C,EAAO,QAAU,KAAW02C,GAAMI,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIH,EAAI,KAAMC,IAAQ,MAAOH,GAAQ,MAAO,UAAUD,EAAK9+C,GAAK,GAAImG,MAAM8Z,QAAQ6+B,GAAQ,MAAOA,EAAY,IAAIh8C,OAAOC,WAAY9C,QAAO6+C,GAAQ,MAAOD,GAAcC,EAAK9+C,EAAa,MAAM,IAAI8B,WAAU,4DAEllBe,EAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GAEtQhC,GgMtj8BeopG,mBhMuj8BfppG,EgM5h8BeohD,oBApChB,IAAA01B,GAAAj3E,EAAA,KhMok8BK+1E,EAAW7zE,EAAuB+0E,IAuDjC,SAAU72E,EAAQD,EAASH,GAEhC,YAEA,IiM/n8BG+pG,GACAC,EACAllD,EACAD,EACAolD,EACAC,EACAC,EACAvlD,EACAwlD,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EjMin8BClnG,EAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,IiMhn8BnQs0E,EAAOz2E,EAAQ,KAAcy2E,KAG7Bt2B,EAAcngD,EAAQ,KAEtB2qG,EAAe,iBACfC,GAAc,gBAOlBxqG,GAAOD,QAAU4pG,GAEbC,SAAUA,EAAS,SAAS9mG,GACxB,MAAiB,QAAVA,GAA4BsC,SAAVtC,GAG7B8/C,SANmB,SAMV9/C,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EACvB,IAAIykG,EAAS9mG,GACT,KAAM,IAAIkF,OAAJ,kBAA4ByiG,EAA5B,IAA0C3nG,EAEpD,OAAOA,IAGX4nG,aAbmB,SAaN5nG,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAC3B,KAAKkxE,EAAKc,OAAOr0E,GACb,KAAM,IAAIkF,OAAJ,uBAAiCyiG,EAAjC,IAA+C3nG,EAEzD,OAAOA,IAGX46C,OApBmB,SAoBZ56C,GACH,GAAI8mG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAqB,gBAAVA,GACP,KAAM,IAAIkF,OAAJ,oBAA8BlF,EAExC,OAAOA,IAGXu3D,OA5BmB,SA4BZv3D,GACH,GAAI8mG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAqB,gBAAVA,GACP,KAAM,IAAIkF,OAAJ,oBAA8BlF,EAExC,OAAOA,IAGX6nG,aApCmB,SAoCN7nG,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAC3B,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAI,KAAKib,KAAKjb,GACV,KAAM,IAAIkF,OAAJ,yBAAmCyiG,EAAnC,IAAiD3nG,EAE3D,OAAOA,IAGXkgD,SA5CmB,SA4CVlgD,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EACvB,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAI,IAAIib,KAAKjb,GACT,KAAM,IAAIkF,OAAJ,qBAA+ByiG,EAA/B,IAA6C3nG,EAEvD,OAAOA,IAGX4hD,UAAWA,EAAU,SAAS5hD,GAC1B,MAAqB,iBAAVA,IACJ,WAAWib,KAAKjb,IAG3B2hD,UAAWA,EAAU,SAAS3hD,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAC5C,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B6mG,GAAIiB,cAAc9nG,EAAO2nG,EACzB,IAAII,GAAa,WACb,MAAqB,gBAAV/nG,GACAA,EAEAgvB,SAAShvB,KAGxB,OAAO+nG,IAGXxpD,QAtEmB,SAsEXv+C,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EACtB,OAAIykG,GAAS9mG,GAAiBA,EAC1BuzE,EAAKc,OAAOr0E,GAAiBA,GAEjC6mG,EAAImB,cAAchoG,EAAO2nG,GACJ,gBAAV3nG,KACPA,EAAQ,GAAGA,GAERuzE,EAAKtxB,WAAWjiD,KAG3BioG,UAjFmB,SAiFTjoG,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EACxB,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAqB,gBAAVA,GAAsB,MAAOA,EACxC,IAAqB,gBAAVA,GAEP,MADA6mG,GAAIiB,cAAc9nG,EAAO2nG,GAClB,GAAG3nG,CAEd,IAAIuzE,EAAKc,OAAOr0E,GACZ,MAAOA,GAAM6I,UAEjB,0BAA0B8+F,EAA1B,0BAAiD3nG,GAAjD,YAAAM,EAAiDN,IAAjD,KAA2DA,GAG/DqiD,aA9FmB,SA8FN8N,EAAOnwD,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAClC,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B,KAAKmwD,EAAMl1C,KAAKjb,GACZ,KAAM,IAAIkF,OAAJ,aAAuBirD,EAAvB,IAAgCw3C,EAAhC,IAA8C3nG,EAExD,OAAOA,IAGX+mG,cAAeA,EAAc,SAAS52C,EAAOnwD,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAC3D,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAIuE,GAAQvE,EAAMuE,MAAM4rD,EACxB,IAAc,OAAV5rD,EACA,KAAM,IAAIW,OAAJ,aAAuBirD,EAAvB,IAAgCw3C,EAAhC,IAA8C3nG,EAExD,OAAOuE,IAYX06C,cAxHmB,SAwHLxf,EAAI/K,EAAI10B,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EACpC,IAAIykG,EAAS9mG,GAAU,MAAOA,EACjB2hD,GAAU3hD,EACvB,IAAIA,EAAQy/B,GAAOz/B,EAAQ00B,EACvB,KAAM,IAAIxvB,OAAJ,gBAA0BlF,EAA1B,IAAmC2nG,EAAnC,IAAiD3nG,EAE3D,OAAOA,IAGXinG,oBAAqBA,EAAoB,WAGxC,GAFGzlD,GAEHn/C,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAFqB,EAAG2H,EAExB3H,UAAA,GAF8BrC,EAE9BqC,UAAA,GADGslG,EACHtlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GADc,EAEX,IAAIykG,EAAS9mG,GAAU,MAAOA,EAC9B,IAAIyhD,GAAcxE,EAAYwE,YAAYz3C,EAC1C,KAAKy3C,EACD,KAAM,IAAIv8C,OAAJ,wBAAkC8E,EAAlC,KAA2C29F,EAA3C,KAA0D3nG,EAEpE,IAAIo1D,GAAK,GAAIp2B,QAAUwiB,EAAd,IAAkCC,EAAlC,WACT,KAAK2T,EAAGn6C,KAAKjb,GACT,KAAM,IAAIkF,OAAM,aAAa8E,EAAb,eAAmCw3C,EAAnC,IAAsDC,EAAtD,2BAA2FzhD,EAA3F,IAAoG2nG,EAApG,IAAkH3nG,GAEtI,OAAOA,IAGX0hD,aAAcA,EAAa,SAASwmD,EAAgBl+F,EAAMhK,EAAO2nG,GAC7D,MAAIb,GAAS9mG,GAAiBA,GAC9BinG,EAAoBiB,EAAgBl+F,EAAMhK,EAAO2nG,GAC1ChmD,EAAU3hD,EAAMqe,MAAM,KAAK,MAGtC6oF,sBAAuBA,EAAsB,SAASl9F,EAAMhK,EAAO2nG,GAE/D,MADAV,GAAoB,EAAGj9F,EAAMhK,EAAO2nG,GAC7B3nG,GAGXmnG,sBAAuBA,EAAsB,SAASn9F,EAAMhK,EAAO2nG,GAC/D,MAAIb,GAAS9mG,GAAiBA,GAC9BinG,EAAoB,EAAGj9F,EAAMhK,EAAO2nG,GAC7BhmD,EAAU3hD,EAAMqe,MAAM,KAAK,MAGtC+oF,sBAAuBA,EAAsB,SAASp9F,EAAMhK,EAAO2nG,GAE/D,MADAV,GAAoB,EAAGj9F,EAAMhK,EAAO2nG,GAC7B3nG,GAGXqnG,sBAAuBA,EAAsB,SAASr9F,EAAMhK,EAAO2nG,GAC/D,MAAIb,GAAS9mG,GAAiBA,GAC9BinG,EAAoB,EAAGj9F,EAAMhK,EAAO2nG,GAC7BhmD,EAAU3hD,EAAMqe,MAAM,KAAK,MAGtCipF,kBAAmBA,EAAkB,SAAStnG,EAAO2nG,GACjD,GAAIb,EAAS9mG,GAAU,MAAOA,EAC9BgnG,GAAkBhnG,EAAO2nG,EACzB,IAAIz/E,GAASloB,EAAMqe,MAAM,IACzB,OAAOsjC,GAAUz5B,EAAO,KAG5BigF,uBApLmB,SAoLInoG,EAAO2nG,GAC1B,GAAIb,EAAS9mG,GAAU,MAAOA,EAC9B,IAAImjD,GAAUmkD,EAAkBtnG,EAAO2nG,EACvC,OAAQjqG,QAAOid,KAAKsiC,EAAYwE,aAAc0B,IAGlDokD,4BAA6BA,EAA4B,SAASv9F,EAAMhK,EAAO2nG,GAE3E,MADAV,GAAoB,EAAGj9F,EAAMhK,EAAO2nG,GAC7B3nG,GAGXwnG,4BAA6BA,EAA4B,SAASx9F,EAAMhK,EAAO2nG,GAC3E,MAAIb,GAAS9mG,GAAiBA,GAC9BinG,EAAoB,EAAGj9F,EAAMhK,EAAO2nG,GAC7BhmD,EAAU3hD,EAAMqe,MAAM,KAAK,MAItCypF,cAtMmB,SAsML9nG,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAC5B,IAAqB,gBAAVrC,GAAX,CAMA,GAAqB,gBAAVA,GAAX,CAOA,GAAIuzE,EAAKc,OAAOr0E,GAGZ,WADA6mG,GAAIiB,cAAc9nG,EAAMg6E,QAAS2tB,EAGrC,0BAA0BA,EAA1B,0BAAiD3nG,GAAjD,YAAAM,EAAiDN,IAAjD,KAA2DA,EAX7CgvB,SAAShvB,EACnB,IAAIA,EAAQynG,GAAgBznG,EAAQ0nG,EAChC,KAAM,IAAIxiG,OAAJ,YAAsByiG,EAAtB,IAAoC3nG,OAR9C,IAAIA,EAAQynG,GAAgBznG,EAAQ0nG,EAChC,KAAM,IAAIxiG,OAAJ,YAAsByiG,EAAtB,IAAoC3nG,IAoBtDgoG,cA7NmB,SA6NLhoG,GAAqB,GAAd2nG,GAActlG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,GAAH,EAE5B,KAAIkxE,EAAKc,OAAOr0E,GAAhB,CAGA,GAAgBsC,SAAZtC,EAAMs7C,GAA+Bh5C,SAAZtC,EAAM60C,EAE/B,WADAgyD,GAAImB,cAAchoG,EAAM6I,WAAY8+F,EAIxC,IAAqB,gBAAV3nG,GAAX,CAkBA,GAAqB,gBAAVA,GAOX,yBAA0B2nG,EAA1B,0BAAiD3nG,GAAjD,YAAAM,EAAiDN,IAAjD,KAA2DA,CANvD,IAAIA,EAAQynG,GAAgBznG,EAAQ0nG,EAChC,KAAM,IAAIxiG,OAAJ,YAAsByiG,EAAtB,IAAoC3nG,OApBlD,CAII,IAFAA,EAAQA,EAAM6tB,QAAQ,MAAM,IAErB,KAAK5S,KAAKjb,IACbA,EAAQA,EAAM4yD,UAAU,EAAG5yD,EAAMa,OAAS,EAE1C,OAAMoa,KAAKjb,KAEXA,EAAQA,EAAM4yD,UAAU,EAAG5yD,EAAMa,OAAS,IAEhC,KAAVb,IAAgBA,EAAQ,IAC5B,IAAIooG,GAAc70B,EAAKtxB,WAAWjiD,GAAO6I,UACzC,IAAIu/F,IAAgBpoG,EAAMqwC,OACtB,KAAM,IAAInrC,OAAJ,YAAsByiG,EAAtB,IAAoC3nG,QjMut8BpD,SAAU9C,EAAQD,GAEvB,YkM1+8BD,IAAIorG,KAEJA,GAAW7mD,iBACT8mD,sBAAuB,EACvBvmD,aAAc,EACdwmD,mBAAoB,GAGtBF,EAAWpgG,YACPugG,KAAM,EACNC,QAAS,EACTC,SAAU,EACVC,oBAAqB,EACrBC,iBAAkB,EAClBC,mBAAoB,EACpBC,mBAAoB,EACpBC,aAAc,EACd3T,QAAS,EACT4T,eAAgB,EAChBC,eAAgB,GAChBC,eAAgB,GAChBC,qBAAsB,GACtBC,sBAAuB,GACvBnzD,IAAK,GACLozD,OAAQ,GACRC,uBAAwB,GACxBC,eAAgB,GAChBC,YAAa,GACbC,gBAAiB,GACjBC,2BAA4B,GAC5BC,oBAAqB,GACrBC,cAAe,GACfC,uBAAwB,GACxBC,yBAA0B,GAC1BC,gBAAiB,GACjBC,wBAAyB,GACzBC,gBAAiB,GACjBC,eAAgB,GAChBC,eAAgB,GAChBC,KAAM,GACNC,eAAgB,GAChBC,oBAAqB,GACrBC,sBAAuB,GACvBC,6BAA8B,GAC9BC,cAAe,GACfC,sBAAuB,GACvBC,cAAe,GACfC,kBAAmB,GACnBC,qBAAsB,GACtBC,wBAAyB,GACzBC,+BAAgC,GAChCC,uBAAwB,GACxBC,gBAAiB,GACjBC,gBAAiB,GACjBC,sBAAuB,GACvBC,gBAAiB,GACjBC,gBAAiB,GACjBC,qBAAsB,GACtBC,cAAe,GACfC,gBAAiB,GACjBC,eAAgB,GAChBC,iBAAkB,GAClBC,SAAU,GACVC,sBAAuB,GACvBC,WAAY,GACZC,iBAAkB,GAClBC,2BAA4B,GAC5BC,SAAU,GACVC,sBAAuB,GACvBC,0BAA2B,GAC3BC,0BAA2B,GAC3BC,gBAAiB,GACjBC,2BAA4B,GAC5BC,aAAc,GACdC,SAAU,GACVC,cAAe,GACfC,sBAAuB,GACvBC,eAAgB,GAChBC,6BAA8B,GAC9BC,uBAAwB,GACxBC,2BAA4B,GAC5BC,YAAa,IAIjBzE,EAAW5mD,aACTgW,KAAQ,EACRzjD,KAAM,GAGR9W,EAAOD,QAAUorG,GlMg/8BX,SAAUnrG,EAAQD,EAASH,GAEhC,YAIA,SAASsC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MmM9k9B7hBi0E,EAAQz2E,EAAQ,KAAey2E,KAE/BzmE,EAAIhQ,EAAQ,KACZiwG,EAAqBx5B,EAAKC,WAAajuE,KAAK0wC,IAAI,EAAE,IAAK,GAErD8G,EnMkl9BU,WmMhl9BZ,QAAAA,GAAYiwD,EAAMhjG,EAAK3K,GAASD,EAAAhB,KAAA2+C,GAC5B3+C,KAAK4uG,MAAQA,EACb5uG,KAAK4L,KAAOA,EACZ5L,KAAKiB,SAAWA,CAChB,IAAI4tG,GAAkB7uG,KAAKiB,SAASwJ,WAChCqkG,EAAe9uG,KAAK4uG,MAApB,IAA6B5uG,KAAK4L,KAAlC,IAA0CijG,CAC9C,KAAKngG,EAAE80C,UAAUqrD,GACb,KAAM,0BAAyBC,GnM8n9BtC,MAvCAzsG,GAAas8C,IACT/7C,IAAK,SACLhB,MAAO,WmMrj9BR,MAAOuzE,GAAKC,WAAWp1E,KAAK4uG,OAAOt5B,UAAU,IAAIC,GAC7CJ,EAAKC,WAAWp1E,KAAK4L,MAAM0pE,UAAU,IAAIC,GAAGv1E,KAAKiB,cnMwj9BpD2B,IAAK,mBACLhB,MAAO,SmMrj9BK9B,GACb,MAAOA,GAAE+hD,YAAY7hD,KAAK+uG,anMwj9BzBnsG,IAAK,WACLhB,MAAO,WmMrj9BR,MAAU5B,MAAK4uG,MAAf,IAAwB5uG,KAAK4L,KAA7B,IAAqC5L,KAAKiB,SAASwJ,gBnMyj9BlD7H,IAAK,aACLhB,MAAO,SmMpm9BMA,GACd,GACoBsC,SAAhBtC,EAAMgtG,OACS1qG,SAAftC,EAAMgK,MACa1H,SAAnBtC,EAAMX,SAEN,MAAOW,EAEX,IAAIsD,GAASwJ,EAAEi6F,cACX,iCACAj6F,EAAEgzC,SAAS9/C,EAAO,aAClB,YAEJ,OAAO,IAAI+8C,GACP/tB,SAAS1rB,EAAO,IAChB0rB,SAAS1rB,EAAO,IAChBiwE,EAAKtxB,WAAW3+C,EAAO,QnM4l9B1BtC,IAAK,WACLhB,MAAO,SmMzl9BIo1C,GACZ,GAAI43D,GAAQ53D,EAAKmlC,WAAW,IAAIP,QAC5BhwE,EAAqC,IAA9BorC,EAAKmlC,WAAW,IAAIP,QAC3B36E,EAAW+1C,EAAKslC,IAAIqyB,EACxB,OAAO,IAAIhwD,GAASiwD,EAAOhjG,EAAM3K,MnM4l9BhC2B,IAAK,iBACLhB,MAAO,SmM1l9BU9B,GAClB,MAAO6+C,GAASqwD,SAASlvG,EAAE8hD,kBnM8l9BvBjD,ImM5k9BZ7/C,GAAOD,QAAU8/C,GnMml9BX,SAAU7/C,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YAM9C,SAASnoC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAJhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MoMvp9BjiByC,EAAAjF,EAAA,KAEMuwG,EpM2p9BY,WACb,QAASA,KACLjuG,EAAgBhB,KAAMivG,GA+D1B,MA5DA5sG,GAAa4sG,EAAY,OACrBrsG,IAAK,aACLhB,MAAO,SoMhq9BM9B,EAAGiM,EAAKskC,GACtB,GAAKvwC,EAAL,CAGA,IAAIuwC,EAMG,CACH,GAAImP,GAAS1/C,EAAE2/C,KAAK3/C,EAAE4/C,OAAQ5/C,EAAE4/C,OAAS3zC,EAEzC,OADAjM,GAAEkgD,KAAKj0C,GACA,GAAIo9B,GAAOqW,EAAOI,WAAY,UARrC,GAAI34C,GAAOopC,EAAO1wC,MAAM,EAAGoM,GAAKtB,SAAS,SAEzC,KADA3K,EAAEkvC,OAAO/nC,EAAM,UACR8E,KAAQ9E,EAAKxE,QAChB3C,EAAEygD,WAAW,OpMyq9BpB39C,IAAK,aACLhB,MAAO,SoMhq9BM9B,EAAGu8C,GACjB,GAAKv8C,EAAL,CACA,GAAIu8C,EAAY,CACZ,GAAIhM,GAASgM,EAAWhyC,UAExB,YADAvK,GAAEkvC,OAAOqB,EAAO5lC,SAAS,UAAW,UAIpC,MADA4lC,GAAS4+D,EAAWC,WAAWpvG,EAAG,IAC3B6D,EAAA4hD,UAAUgsC,WAAWlhD,OpMsq9B/BztC,IAAK,YACLhB,MAAO,SoMnq9BK9B,EAAGgmD,GAChB,GAAKhmD,EACL,MAAIgmD,OACAmpD,GAAWC,WAAWpvG,EAAG,GAAIgmD,GAGtBmpD,EAAWC,WAAWpvG,EAAG,OpMyq9BnC8C,IAAK,iBACLhB,MAAO,SoMtq9BU9B,EAAGqvG,GACrB,MAAIA,IACAA,EAAQhoG,KAAK4vC,KAAKo4D,EAAQ,SAC1BrvG,GAAE65E,WAAWw1B,KAGbA,EAAQrvG,EAAE+/C,YACH,GAAIhK,MAAa,IAARs5D,QpM2q9BhBF,IoMtq9BZnwG,GAAOD,QAAUowG,IpM0q9BahwG,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASgP,EAASy7B,GAAS,YAIvD,SAASnoC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MqM1u9B7hB26C,EAAan9C,EAAQ,KACrB0wG,EAAK1wG,EAAQ,KAEXqgD,EAAWrxC,EAAQiN,IAAIqkC,yCAEvBqwD,ErM8u9BY,WqM5u9Bd,QAAAA,GAAYrqD,EAAgBsqD,GAAOtuG,EAAAhB,KAAAqvG,GAC/BrvG,KAAKglD,eAAiBA,EACtBhlD,KAAKsvG,MAAQA,EACVtvG,KAAKsvG,QACJtvG,KAAKuc,KAAOjd,OAAOid,KAAKvc,KAAKsvG,QAEjCD,EAAW3vB,YAAa,ErM069B3B,MAzLAr9E,GAAagtG,IACTzsG,IAAK,iBACLhB,MAAO,SqMhv9BG9B,GACX,GAAI0mC,MACA+oE,EAAQ,IACZ,KAEI,IAAK,GAAWA,GADZ1oE,EAAW7mC,KAAKuc,KACXld,EAAI,EAAUA,EAAIwnC,EAASpkC,OAAQpD,IAAK,CAC7CkwG,EAAQ1oE,EAASxnC,EACjB,IAAIuM,GAAO5L,KAAKsvG,MAAMC,EACtB,KACI,GAAIxwD,EACA,GAAInzC,EAAKo5C,eACLz4C,QAAQvE,MAAM4D,EAAKo5C,oBAChB,CACH,GAAIwqD,GAAK1vG,EAAE4/C,MACX9zC,GAAKqzC,eAAen/C,EACpB,IAAI6jB,GAAK7jB,EAAE4/C,MACX5/C,GAAE4/C,OAAS8vD,CAEX,IAAIjzC,GAAKz8D,EAAE2/C,KAAK+vD,EAAI7rF,EACpBpX,SAAQvE,MACDhI,KAAKglD,eADZ,IAC8BuqD,EAD9B,KAEIhzC,EAAGpS,SAIf3jB,EAAO+oE,GAAS3jG,EAAKqzC,eAAen/C,GACtC,MAAOuH,GAKL,KAJGgoG,GAAW3vB,aACVnzE,QAAQvE,MAAR,iBAA+BhI,KAAKglD,eAApC,IAAsDuqD,EAAtD,aACAzvG,EAAE4/E,cAEAr4E,IAIhB,MAAOW,GACLonG,EAAGK,MAAMzvG,KAAKglD,eAAe,IAAIuqD,EAAOvnG,GAG5C,MAAOw+B,MrM+u9BN5jC,IAAK,mBACLhB,MAAO,SqM7u9BK9B,EAAG0mC,GAChB,GAAI+oE,GAAQ,IACZ,KAEI,IAAK,GAAWA,GADZ1oE,EAAW7mC,KAAKuc,KACXld,EAAI,EAAUA,EAAIwnC,EAASpkC,OAAQpD,IAAK,CAC7CkwG,EAAQ1oE,EAASxnC,EACjB,IAAIuM,GAAO5L,KAAKsvG,MAAMC,EACtB3jG,GAAKowC,iBAAiBl8C,EAAG0mC,EAAO+oE,KAGtC,MAAOvnG,GACL,IACIonG,EAAGK,MAAMzvG,KAAKglD,eAAe,IAAIuqD,EAAM,MAAO5kG,KAAKC,UAAU47B,EAAO+oE,IAASvnG,GAC/E,MAAOX,GACL+nG,EAAGK,MAAMzvG,KAAKglD,eAAe,IAAIuqD,EAAM,MAAO/oE,EAAO+oE,GAAQvnG,QrMmv9BpEpF,IAAK,aACLhB,MAAO,SqM9u9BD8tG,GACP,GAAI3mG,MACAwmG,EAAQ,IACZ,KAEI,IAAK,GAAWA,GADZ1oE,EAAW7mC,KAAKuc,KACXld,EAAI,EAAUA,EAAIwnC,EAASpkC,OAAQpD,IAAK,CAC7CkwG,EAAQ1oE,EAASxnC,EACjB,IAAIuM,GAAO5L,KAAKsvG,MAAMC,GAClB3tG,EAAQ8tG,EAAkBH,GAG1B/oE,EAAS56B,EAAK40C,WAAW5+C,EAC7BmH,GAAOwmG,GAAS/oE,GAGtB,MAAOx+B,GACLonG,EAAGK,MAAMzvG,KAAKglD,eAAe,IAAIuqD,EAAOvnG,GAG5C,MAAOe,MrMsv9BNnG,IAAK,WACLhB,MAAO,WqMhv9BqE,GAAxE8tG,GAAwEzrG,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,MAAhD2M,EAAgD3M,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,IAAtCw8C,aAAa,EAAO8D,UAAU,GACjEx7C,KACAwmG,EAAQ,IACZ,KACI,IAAMvvG,KAAKsvG,MACP,MAAOvmG,EAGX,KAAK,GAAWwmG,GADZ1oE,EAAW7mC,KAAKuc,KACXld,EAAI,EAAUA,EAAIwnC,EAASpkC,OAAQpD,IAAK,CAC7CkwG,EAAQ1oE,EAASxnC,EACjB,IAAIuM,GAAO5L,KAAKsvG,MAAMC,GAClB/oE,EAAS56B,EAAKzB,SAAwC,mBAAtBulG,IAA2D,OAAtBA,EAA8BA,EAAkBH,GAASrrG,OAAY0M,EAE9I,IADA7H,EAAOwmG,GAAS/oE,EACbuY,EAAU,CACT,GAAIj/C,GAAI,GAAI+7C,GAAWA,EAAWC,iBAAkBD,EAAWE,eAC3D4zD,EAAyC,mBAAtBD,IAA2D,OAAtBA,CAC5D,IAAGC,EAAW,CACV,GAAI/tG,GAAQ8tG,EAAkBH,EAC3B3tG,IACCgK,EAAKowC,iBAAiBl8C,EAAG8B,GAEjC9B,EAAIA,EAAE2/C,KAAK,EAAG3/C,EAAE4/C,QAChBnzC,QAAQvE,MACJhI,KAAKglD,eAAe,IAAIuqD,EACxBzvG,EAAEqqD,WAIhB,MAAOniD,GACLonG,EAAGK,MAAMzvG,KAAKglD,eAAe,IAAIuqD,EAAOvnG,GAG5C,MAAOe,MrMov9BNnG,IAAK,UACLhB,MAAO,SqMjv9BJ/B,EAAGC,GAEP,GAAI8vG,GAAY5vG,KAAKuc,KAAK,GACtBszF,EAAa7vG,KAAKsvG,MAAMM,GAExBE,EAAOjwG,EAAE+vG,GACTG,EAAOjwG,EAAE8vG,EAEb,IAAGC,EAAWzrD,QACV,MAAOyrD,GAAWzrD,QAAQ0rD,EAAMC,EAEpC,IAAmB,gBAATD,IAAqC,gBAATC,GAClC,MAAOD,GAAOC,CAElB,IAAIjpD,SACD3d,GAAO7B,SAASwoE,IAAS3mE,EAAO7B,SAASyoE,KAExCjpD,EAAW,MAGf,IAAIkpD,GAAOF,EAAKrlG,SAASq8C,GACrBmpD,EAAOF,EAAKtlG,SAASq8C,EACzB,OAAOkpD,GAAOC,EAAO,EAAID,EAAOC,GAAO,EAAK,KrMqv9B3CrtG,IAAK,UACLhB,MAAO,SqMjv9BJ8+E,GACJ,GAAI5gF,GAAI+7C,EAAW08B,QAAQmI,EAAK7kC,EAAWE,cAC3C,OAAO/7C,MAAKi/C,eAAen/C,MrMov9B1B8C,IAAK,aACLhB,MAAO,SqMlv9BDyuC,GACP,GAAIvwC,GAAI+7C,EAAWy4B,WAAWjkC,EAAO5lC,SAAS,UAAWoxC,EAAWE,cACpE,OAAO/7C,MAAKi/C,eAAen/C,MrMqv9B1B8C,IAAK,QACLhB,MAAO,SqMnv9BN4kC,GAEF,GAAI1mC,GAAEE,KAAKkwG,aAAa1pE,EACxB,OAAO1mC,GAAEqqD,WrMsv9BRvnD,IAAK,eACLhB,MAAO,SqMpv9BC4kC,GACT,GAAI1mC,GAAI,GAAI+7C,GAAWA,EAAWC,iBAAkBD,EAAWE,cAE/D,OADA/7C,MAAKg8C,iBAAiBl8C,EAAG0mC,GAClB1mC,EAAE2/C,KAAK,EAAG3/C,EAAE4/C,WrMuv9BlB98C,IAAK,WACLhB,MAAO,SqMrv9BH4kC,GACL,MAAO,IAAI2C,GAAOnpC,KAAKkwG,aAAa1pE,GAAQoZ,WAAY,crMyv9BpDyvD,IqMrv9BZvwG,GAAOD,QAAUwwG,IrMyv9BapwG,KAAKJ,EAASH,EAAoB,GAAIA,EAAoB,IAAIyqC,SAItF,SAAUrqC,EAAQD,GAEvB,YAIA,SAASmC,GAAgBC,EAAUC,GAAe,KAAMD,YAAoBC,IAAgB,KAAM,IAAIC,WAAU,qCAFhH,GAAIkB,GAAe,WAAc,QAASC,GAAiBC,EAAQC,GAAS,IAAK,GAAInD,GAAI,EAAGA,EAAImD,EAAMC,OAAQpD,IAAK,CAAE,GAAIqD,GAAaF,EAAMnD,EAAIqD,GAAWb,WAAaa,EAAWb,aAAc,EAAOa,EAAWX,cAAe,EAAU,SAAWW,KAAYA,EAAWZ,UAAW,GAAMxC,OAAOqD,eAAeJ,EAAQG,EAAWE,IAAKF,IAAiB,MAAO,UAAUxB,EAAa2B,EAAYC,GAAiJ,MAA9HD,IAAYP,EAAiBpB,EAAY3B,UAAWsD,GAAiBC,GAAaR,EAAiBpB,EAAa4B,GAAqB5B,MsMl89B3hBivG,EtMu89BgB,WsMr89BlB,QAAAA,GAAYz5F,EAASmS,GAAM7nB,EAAAhB,KAAAmwG,GACvBnwG,KAAK0W,QAAUA,GACO,mBAAVmS,IAAmC,OAAVA,EAAkBA,EAAMnS,QAAUxS,UACnElE,KAAK0W,QAAU,UAAUmS,EAAMnS,QAAhB,KAA8B1W,KAAK0W,QAGtD,IAAI0L,GAAQ,IACU,mBAAVyG,IAAmC,OAAVA,EAAkBA,EAAMzG,MAAQle,UACjEke,EAAQ,gBAAgByG,EAAMzG,MAAtB,KAAkCA,GAG9CpiB,KAAKoiB,MAAQpiB,KAAK0W,QAAU,KAAO0L,EtMy99BtC,MAdA/f,GAAa8tG,EAAgB,OACzBvtG,IAAK,QACLhB,MAAO,SsM189BC8U,EAASmS,GAClB,GAAIvZ,GAAMoH,CAGV,OAFsB,mBAAVmS,IAAmC,OAAVA,EAAkBA,EAAMnS,QAAUxS,UAAaoL,gBAAoBuZ,EAAMnS,QAA1B,MAC9D,mBAAVmS,IAAmC,OAAVA,EAAkBA,EAAMzG,MAAQle,UAAaoL,gBAAoBuZ,EAAMzG,MAA1B,KAC5E,GAAItb,OAAMwI,OtMk99BZ6gG,IsM989BZrxG,GAAOD,QAAUsxG,GtMq99BX,SAAUrxG,EAAQD,EAASH,GAEhC,YuMh/9BDI,GAAOD,SAGHwwG,WAAY3wG,EAAQ,KAGpBkgD,GAAIlgD,EAAQ,KAGZ4wG,MAAO5wG,EAAQ,IAGfuL,IAAKvL,EAAQ,KAGb0xG,SAAU1xG,EAAQ,KAElB2xG,aAAc3xG,EAAQ,KAEtBurG,WAAYvrG,EAAS,KAErB4xG,kBAAmB5xG,EAAQ,OvMu/9BzB,SAAUI,EAAQD,EAASH,GAEhC,YAcA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GwM5/9BxF,GAAAg8C,GAAAn+C,EAAA,IxMk/9BKo+C,EAAUl8C,EAAuBi8C,GwMj/9BtCj5C,EAAAlF,EAAA,KxMq/9BKq+C,EAAen8C,EAAuBgD,GwMp/9B3CT,EAAAzE,EAAA,IAKIkiD,GxMm/9BYhgD,EAAuBuC,GAI1B25C,EAAQ/7C,QwMv/9BjB6/C,OAAOrE,ExMw/9BGO,EAAQ/7C,QwMx/9BXw7C,OAAQ+E,ExMy/9BNxE,EAAQ/7C,QwMz/9BFugD,MAAOhF,ExM0/9BZQ,EAAQ/7C,QwM1/9BIu7C,OAAQqF,ExM2/9BpB7E,EAAQ/7C,QwM3/9BY4gD,OAAQF,ExM4/9B7B3E,EAAQ/7C,QwM5/9BqB0gD,MAAOM,ExM6/9BlCjF,EAAQ/7C,QwM7/9B0BghD,QAC7CvF,ExM6/9BUM,EAAQ/7C,QwM7/9BlBy7C,OAAQ2F,ExM8/9BSrF,EAAQ/7C,QwM9/9BjBohD,cAAejQ,ExM+/9Bd4K,EAAQ/7C,QwM//9BMmxC,MAAOoQ,ExMgg+BtBxF,EAAQ/7C,QwMhg+BcuhD,KAAMhoC,ExMig+B3BwiC,EAAQ/7C,QwMjg+BmBuZ,MAEpCmqC,ExMgg+BkB3H,EAAQ/7C,QwMhg+B1B0jD,eAAgBp/C,ExMig+BTy3C,EAAQ/7C,QwMjg+BCsE,IAAK+C,ExMkg+Bd00C,EAAQ/7C,QwMlg+BMqH,IACrBi0C,ExMkg+BcS,EAAQ/7C,QwMlg+BtBs7C,WACAqG,ExMkg+BkB5F,EAAQ/7C,QwMlg+B1B2hD,eACA2B,ExMkg+BYvH,EAAQ/7C,QwMlg+BpBsjD,SACA3H,ExMkg+BSI,EAAQ/7C,QwMlg+BjB27C,MACAgE,ExMkg+BgB5D,EAAQ/7C,QwMlg+BxB2/C,aAGE6vD,EAAoBzzD,EAAA/7C,QAAMwhD,KAC1BiuD,EAAwB1zD,EAAA/7C,QAAMwhD,KAC9BzpC,EAAUgkC,EAAA/7C,QAAMwhD,KAChBkuD,EAA6B3zD,EAAA/7C,QAAMwhD,KACnCmuD,EAA6B5zD,EAAA/7C,QAAMwhD,KAKnCz4C,EAAY26C,GAClB3lD,GAAOD,QAAQiL,UAAYA,CAG3B,IAAMulG,GAAW,SAASrqD,EAAgB2rD,GACtC,GAAMl6D,GAAI,GAAAsG,GAAAh8C,QAAmBikD,EAAgB2rD,EAC7C,OAAO7xG,GAAOD,QAAQmmD,GAAkBvO,GAGtCm6D,EAAgB,GAAIvB,GAAW,iBACnCznG,QAAS40C,EACTq0D,OAAQt0D,IAGJu0D,EAA+B,GAAIzB,GAAW,GAClDuB,cAAexoG,EAAIwoG,KAGfG,EAAwB,GAAI1B,GAChC,yBACA2B,oBAAqBvvD,EACrBwvD,uBAAwB3uD,EACxBsuD,cAAeE,IAGXI,EAAsB,GAAI7B,GAAW,GACzC8B,eAAgB9rG,EAAKq7C,EAAgBqwD,KAGjCK,EAAsB,GAAI/B,GAC9B,uBACAgC,UAAWhsG,EAAKm3C,EAAUD,GAC1B+0D,WAAYjsG,EAAKm3C,EAAUD,KAGvBg1D,EAA+B,GAAIlC,GAAW,GAClDmC,gBAAiBJ,EACjBh1D,WAAYh0C,EAAImoG,KAGZkB,EAAqB,GAAIpC,GAC7B,sBACAiC,WAAYjsG,EAAKm3C,EAAUD,KAGvBm1D,EAAyB,GAAIrC,GAAW,GAC5CztG,MAAO0gD,IAGHqvD,EAAuB,GAAItC,GAAW,GAC1CuC,uBAAwBt1D,EACxBu1D,+BAAgCv1D,IAG5Bw1D,EAAgD,GAAIzC,GAAW,GACjE0C,iCAAkCz1D,EAClC01D,8BAA+B11D,IAG7B21D,EAAuB,GAAI5C,GAAW,GAC1C6C,iBAAkBnwD,EAClBowD,yBAA0B51D,EAC1B61D,oBAAqB3wD,EACrB4wD,sBAAuB5wD,IAGnB6wD,EAA4B,GAAIjD,GAAW,GAC/CztG,MAAO0gD,IAGLiwD,EAA2B,GAAIlD,GAAW,GAC1CmD,SAAU9vD,IA4BV14C,EAAqB,GAAIqlG,GACzB,sBACAoD,cAAel2D,EACfm2D,iBAAkBp2D,EAClBq2D,WAAYjwD,EACZ74C,WAAYyQ,EAAMxQ,GAClBsyC,WAAYh0C,EAAImoG,GAChBqC,WAAYt4F,EAAM43B,EAAM,OAoCxB2gE,GAhCe,GAAIxD,GACnB,gBACAyD,SAAU5gE,EAAM,IAChBglB,UAAWxU,EACXqwD,QAASv2D,EACTw2D,wBAAyB9gE,EAAM,IAC/BkK,WAAYh0C,EAAIq8C,GACZ8rD,EACAz3F,EACA03F,EACAC,EACAC,KAEJuC,kBAAmB/gE,EAAM,IACzBxoC,aAAc4Q,EAAMtQ,KAIL,GAAIqlG,GACnB,gBACAyD,SAAU5gE,EAAM,IAChBglB,UAAWxU,EACXqwD,QAASv2D,EACTw2D,wBAAyB9gE,EAAM,IAC/BkK,WAAYh0C,EAAIq8C,GACZ8rD,EACAz3F,EACA03F,OAKkB,GAAInB,GAC1B,uBACAyD,SAAU5gE,EAAM,IAChBglB,UAAWxU,EACXqwD,QAASv2D,EACTw2D,wBAAyB9gE,EAAM,IAC/BkK,WAAYh0C,EAAIq8C,GACZ8rD,EACAz3F,EACA03F,EACAC,EACAC,KAEJuC,kBAAmB/gE,EAAM,OAIzBk4D,EAAO,GAAIiF,GACX,QACA6D,MAAO12D,EACP22D,OAAQ32D,EACR42D,SAAU52D,EACVq0D,OAAQvvD,IAIR+oD,EAAU,GAAIgF,GACd,WACAgE,cAAe72D,EACf82D,gBAAiB92D,EACjB22D,OAAQ32D,EACR42D,SAAU52D,EACV/hC,MAAO+hC,EACPta,KAAMsa,EACN+2D,cAAe/2D,IAIf8tD,EAAW,GAAI+E,GACf,YACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ0C,OAAQxC,EACRr8C,KAAMm8C,IAIN+tD,GAAsB,GAAI8E,GAC1B,uBACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ0C,OAAQxC,IAIR8tD,GAAmB,GAAI6E,GACvB,oBACAznG,QAAS40C,EACTg3D,eAAgB92D,IAIhB+tD,GAAqB,GAAI4E,GACzB,sBACAlzD,MAAOK,EACPi3D,QAASn3D,EACTo3D,eAAgBh3D,EAChBi3D,eAAgBj3D,EAChBk3D,aAActxD,EACdqwD,WAAYjwD,IAIZgoD,GAAqB,GAAI2E,GACzB,sBACAlzD,MAAOK,EACPi3D,QAASn3D,IAITG,GAAQ,GAAI4yD,GACZ,SACAz5F,KAAM8mC,EACNM,MAAON,IAIPiuD,GAAe,GAAI0E,GACnB,gBACAwE,UAAWr3D,EACXs3D,cAAer3D,KAIfu6C,GAAU,GAAIqY,GACd,WACAlzD,MAAOK,EACPu3D,UAAWz3D,EACX4C,OAAQxC,IAIRs3D,GAAyB,GAAI3E,GAC7B,0BACAlzD,MAAOK,EACPu3D,UAAWz3D,EACX4C,OAAQxC,IAIRu3D,GAAY,GAAI5E,GAChB,aACA6E,iBAAkB53D,EAClB63D,cAAe9uG,EAAKm3C,EAAUD,GAC9B63D,UAAW/uG,EAAKg3C,EAAcE,KAI9BquD,GAAiB,GAAIyE,GACrB,kBACAgF,IAAK33D,EACL43D,QAAS93D,EACT+3D,iBAAkB/3D,EAClBL,MAAO83D,GACPjvF,OAAQivF;AACRO,QAASP,GACTQ,SAAUp4D,EACVk3D,cAAe/2D,IAIfquD,GAAiB,GAAIwE,GACrB,kBACAznG,QAAS40C,EACTL,MAAOkI,EAAS4vD,IAChBjvF,OAAQq/B,EAAS4vD,IACjBO,QAASnwD,EAAS4vD,IAClBQ,SAAUp4D,EACVk3D,cAAe/2D,IAIfk4D,GAAmB,GAAIrF,GACvB,oBACAsF,qBAAsBj4D,EACtBk4D,mBAAoBt4D,EACpBu4D,kBAAmBt4D,IAInBuuD,GAAiB,GAAIuE,GACrB,kBACAlzD,MAAOK,EACPt2C,IAAKs2C,EACLs4D,kBAAmBz4D,EACnB75C,MAAOkyG,GACPL,IAAK33D,IAILquD,GAAuB,GAAIsE,GAC3B,wBACAznG,QAAS40C,EACTu2D,QAASv2D,EACTu4D,QAASzyD,IAIT0oD,GAAwB,GAAIqE,GAC5B,yBACAznG,QAAS40C,EACTw4D,MAAOx4D,IAIP3E,GAAM,GAAIw3D,GACV,OACA4F,OAAQ54D,EACR3f,MAAOwV,EAAM,IACb4yD,UAAW5yD,EAAM,IACjBgjE,KAAMhjE,EAAM,MAIZ+4D,GAAS,GAAIoE,GACb,UACA8F,eAAgB/sG,EAAIo0C,GACpBz9C,GAAIw9C,EACJt1C,KAAMirC,MAINg5D,GAAyB,GAAImE,GAC7B,0BACA+F,SAAU54D,EACV64D,YAAaxC,EACbyC,aAAczC,IAId1H,GAAiB,GAAIkE,GACrB,kBACA8D,OAAQ32D,EACR42D,SAAU52D,IAIV4uD,GAAc,GAAIiE,GAClB,eACA8F,eAAgB/sG,EAAIo0C,GACpB+4D,uBAAwBntG,EAAIo0C,GAC5Bz9C,GAAIy9C,EACJlP,KAAMkP,IAIN6uD,GAAkB,GAAIgE,GACtB,mBACA8D,OAAQ32D,EACR42D,SAAU52D,EACVw0D,oBAAqBt0D,EACrB84D,YAAaj5D,EACbk5D,YAAanzD,EACb2uD,uBAAwB3uD,EACxBlG,WAAYh0C,EAAIq8C,GACZqsD,EACAI,OAKJ5F,GAA6B,GAAI+D,GACjC,8BACAqG,aAAcl5D,EACdm5D,WAAYn5D,EACZo5D,QAASr5D,EACTs5D,UAAWvzD,IAIXipD,GAAsB,GAAI8D,GAC1B,uBACAlzD,MAAOK,EACPi3D,QAASn3D,EACTo3D,eAAgBh3D,EAChBo3D,cAAer3D,GACfm3D,aAActxD,EACdqwD,WAAYjwD,IAIZ8oD,GAAgB,GAAI6D,GACpB,iBACAiF,QAAS93D,EACT63D,IAAK33D,EACLN,WAAYh0C,EAAImoG,KAIhB9E,GAAyB,GAAI4D,GAC7B,0BACAiF,QAAS93D,EACT+3D,iBAAkB/3D,EAClBL,MAAO83D,GACPjvF,OAAQivF,GACRO,QAASP,GACTQ,SAAUp4D,EACVk3D,cAAe/2D,EACfJ,WAAYh0C,EAAImoG,KAIhB7E,GAA2B,GAAI2D,GAC/B,4BACAyG,iBAAkBt5D,EAClBu5D,mBAAoBv5D,EACpBw5D,oBAAqB/B,GACrB73D,WAAYh0C,EAAImoG,KAIhB5E,GAAkB,GAAI0D,GACtB,mBACA0G,mBAAoBv5D,EACpBw5D,oBAAqB/B,GACrBgC,uBAAwBhC,GACxB73D,WAAYh0C,EAAImoG,KAIhB3E,GAA0B,GAAIyD,GAC9B,2BACA0G,mBAAoBv5D,EACpB05D,qBAAsB15D,EACtBJ,WAAYh0C,EAAImoG,KAIhB1E,GAAkB,GAAIwD,GACtB,mBACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ25D,WAAYz5D,EACZ05D,YAAa15D,EACb25D,UAAW/5D,EACXg6D,MAAO95D,EACP63D,IAAK33D,EACL65D,UAAW/5D,EACXg6D,sBAAuB9zD,EACvB+zD,kBAAmB/zD,IAInBopD,GAAiB,GAAIuD,GACrB,kBACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ85D,MAAO95D,EACPk6D,IAAKl6D,EACL65D,UAAW/5D,IAIXyvD,GAAiB,GAAIsD,GACrB,kBACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ85D,MAAO95D,EACPk6D,IAAKl6D,EACL/oC,SAAU+oC,EACV65D,UAAW/5D,EACX65D,WAAYz5D,EACZ05D,YAAa15D,IAIbi6D,GAAa,GAAItH,GACjB,cACAuH,eAAgBp6D,EAChBq6D,WAAY3kE,EAAM,IAClBqhC,MAAO5xB,IAIPqqD,GAAO,GAAIqD,GACX,QACA3yE,MAAOi6E,GACPG,YAAax6D,IAIby6D,GAAiB,GAAI1H,GACrB,kBACA5jG,EAAG6wC,EACHvW,EAAGuW,EACH8mD,KAAMlxD,EAAM,IACZ8kE,OAAQ18F,EAAMgiC,KAad2vD,IATe,GAAIoD,GACnB,gBACA3yE,MAAOi6E,GACPM,MAAOF,GACPF,WAAY3kE,EAAM,IAClB4kE,YAAax6D,IAII,GAAI+yD,GACrB,kBACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ85D,MAAO95D,EACPk6D,IAAKl6D,EACL65D,UAAW/5D,EACXy4D,QAASzyD,KAIT4pD,GAAsB,GAAImD,GAC1B,uBACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ0C,OAAQxC,EACRr8C,KAAMm8C,IAIN2vD,GAAwB,GAAIkD,GAC5B,yBACAzxF,KAAM4+B,EACN06D,WAAY56D,EACZz+B,GAAI2+B,EACJ0C,OAAQxC,EACRr8C,KAAMm8C,IAIN4vD,GAA+B,GAAIiD,GACnC,gCACAzxF,KAAM4+B,EACN06D,WAAY56D,IAIZ+vD,GAAgB,GAAIgD,GACpB,iBACA8H,qBAAsB/uG,EAAIo0C,GAC1B46D,sBAAuBhvG,EAAIo0C,GAC3B+4D,uBAAwBntG,EAAIo0C,GAC5B24D,eAAgB76F,EAAM25F,IACtBl1G,GAAIy9C,EACJv1C,KAAMirC,MAINo6D,GAAwB,GAAI+C,GAC5B,yBACAznG,QAAS40C,EACT66D,QAAS/0D,IAITiqD,GAAgB,GAAI8C,GACpB,iBACA9C,cAAe/vD,EACf86D,iBAAkB96D,EAClBw5D,oBAAqB/B,KAIrBzH,GAAoB,GAAI6C,GACxB,qBACAznG,QAAS40C,EACT+6D,sBAAuB/6D,EACvB+vD,cAAe/vD,IAIfiwD,GAAuB,GAAI4C,GAC3B,wBACAznG,QAAS40C,EACTg7D,YAAa96D,EACb+6D,WAAY/6D,EACZg7D,aAAch7D,IAIdgwD,GAA0B,GAAI2C,GAC9B,2BACAsI,UAAWn7D,EACXo7D,UAAWp7D,EACXg3D,eAAgB92D,IAIhBiwD,GAAiC,GAAI0C,GACrC,kCACAgF,IAAK33D,EACLm7D,WAAYn7D,EACZ43D,QAAS93D,EACT+3D,iBAAkB/3D,EAClBL,MAAO83D,GACPjvF,OAAQivF,GACRO,QAASP,GACTQ,SAAUp4D,EACVk3D,cAAe/2D,EACfJ,WAAYh0C,EAAImoG,KAIhB3D,GAAyB,GAAIyC,GAC7B,0BACAlzD,MAAOK,EACPh6C,MAAO6C,EAAIm3C,EAAQtK,KACnBkK,WAAYh0C,EAAImoG,KAIhB1D,GAAkB,GAAIwC,GACtB,mBACAznG,QAAS40C,EACTL,MAAOkI,EAAS4vD,IAChBjvF,OAAQq/B,EAAS4vD,IACjBO,QAASnwD,EAAS4vD,IAClBQ,SAAUpwD,EAAShI,GACnBk3D,cAAe/2D,EACfs7D,sBAAuBt7D,EACvBJ,WAAYh0C,EAAImoG,KAIhBzD,GAAkB,GAAIuC,GACxB,mBACAiF,QAAS93D,EACT/oC,SAAU+oC,EACVu7D,WAAYr1D,EACZ8vD,SAAU9vD,EACVs1D,UAAWt7D,EACXu7D,QAASz7D,EACT42D,SAAU52D,EACVJ,WAAYh0C,EAAImoG,KAIdxD,GAAwB,GAAIsC,GAC9B,yBACA6D,MAAO12D,EACP07D,aAAc59F,EAAMqnC,GACpBozD,QAASzyD,EACTlG,WAAYh0C,EAAImoG,KAIdvD,GAAkB,GAAIqC,GACxB,mBACA8I,eAAgB37D,EAChB07D,aAAc59F,EAAMqnC,GACpBvF,WAAYh0C,EAAImoG,KAIdtD,GAAkB,GAAIoC,GACxB,mBACE+I,YAAaz2D,EACb2yD,QAAS93D,EACTw7D,UAAWt7D,EACXu7D,QAASz7D,EACT42D,SAAU52D,EACVJ,WAAYh0C,EAAIq8C,GAAgB8rD,EAAmBgC,OAInD8F,GAAqB,GAAIhJ,GAC3B,sBACEzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ0C,OAAQxC,EACRr8C,KAAMm8C,EACN87D,WAAY/7D,EACZg8D,WAAYh8D,EACZH,WAAYh0C,EAAImoG,KAIhBiI,GAAwB,GAAInJ,GAC9B,yBACAznG,QAAS40C,EACTi8D,cAAen+F,EAAMoiC,GACrBN,WAAYh0C,EAAImoG,KAIdmI,GAAQ,GAAIrJ,GACd,SACA6D,MAAO12D,EACP22D,OAAQ32D,EACR42D,SAAU52D,EACVm8D,QAAStzG,EAAKq7C,EAAgBe,GAC9BrF,WAAYh0C,EAAImoG,KAIdqI,GAAa,GAAIvJ,GACnB,cACAwJ,gBAAiBr8D,EACjB+C,OAAQmB,EACRo4D,iBAAkBp8D,EAClB0C,UAAWwB,EACXxE,WAAYh0C,EAAImoG,KAIdwI,GAAY,GAAI1J,GAClB,aACAwJ,gBAAiBr8D,EACjB+C,OAAQmB,EACRs4D,WAAYv3D,EACZw3D,wBAAyBv2D,EACzBw2D,sBAAuBx2D,EACvBy2D,YAAaz2D,EACb02D,eAAgB33D,EAChB43D,eAAgB/8D,EAChBg9D,eAAgBh9D,EAChBF,WAAYh0C,EAAImoG,KAIdgJ,GAAsB,GAAIlK,GAC5B,uBACAwJ,gBAAiBr8D,EACjB+C,OAAQmB,EACR84D,cAAe92D,EACf+2D,eAAgBhI,EAChBiI,iBAAkBp9D,EAClBq9D,eAAgBr9D,EAChBs9D,SAAUl3D,EACVm3D,SAAUn3D,EACVo3D,eAAgBr4D,EAChBs4D,eAAgBt4D,EAChBu4D,yBAA0B19D,EAC1B29D,yBAA0B39D,EAC1B49D,sBAAuBt5D,EACvBu5D,OAAQ73D,EACR83D,gBAAiB93D,EACjBlG,WAAYh0C,EAAImoG,KAId8J,GAAqB,GAAIhL,GACzB,sBACAwJ,gBAAiBr8D,EACjB+C,OAAQmB,EACR45D,eAAgB74D,EAChB84D,kBAAmB91D,GACf8sD,IAEJ4I,OAAQ73D,EACRlG,WAAYh0C,EAAImoG,KAIhBiK,GAA2B,GAAInL,GACjC,4BACAwJ,gBAAiBr8D,EACjB+C,OAAQmB,EACR+5D,iBAAkBryG,EAAIq8C,GACpBitD,KAEFt1D,WAAYh0C,EAAImoG,KAIdmK,GAA6B,GAAIrL,GACnC,8BACAwJ,gBAAiBr8D,EACjB+C,OAAQmB,EACRi6D,mBAAoBvyG,EAAIq8C,GACtBktD,EACAG,EACAG,EACAK,KAEFl2D,WAAYh0C,EAAImoG,KAIdqK,GAAiB,GAAIvL,GACvB,kBACAwL,YAAar+D,EACb+C,OAAQmB,EACRo6D,gBAAiBx+D,EACjBy+D,aAAcr+D,EACdN,WAAYh0C,EAAImoG,KAIdrD,GAAuB,GAAImC,GAC3B,wBACAlzD,MAAOK,EACPu3D,UAAWz3D,EACX0+D,UAAWt+D,EACXu+D,WAAYv+D,IAIZywD,GAAgB,GAAIkC,GACpB,iBACA8D,OAAQ32D,EACR42D,SAAU52D,EACV0+D,WAAYx+D,EACZy+D,YAAaz+D,EACb0+D,eAAgB1+D,IAIhB0wD,GAAkB,GAAIiC,GACtB,mBACAgM,QAAS7+D,EACT8+D,OAAQ5+D,EACR6+D,eAAgB/+D,EAChBg/D,iBAAkBh/D,IAIlB6wD,GAAiB,GAAIgC,GACrB,kBACA8D,OAAQ32D,EACR42D,SAAU52D,EACVi/D,OAAQ/+D,IAIR4wD,GAAmB,GAAI+B,GACvB,oBACAlzD,MAAOK,EACPi/D,OAAQ/+D,IAIR6wD,GAAW,GAAI8B,GACf,YACAlzD,MAAOK,EACP+wD,SAAU7wD,IAIV8wD,GAAwB,GAAI6B,GAC5B,yBACAqG,aAAcl5D,EACdm5D,WAAYn5D,EACZk/D,UAAWh/D,EACXi/D,UAAWj/D,IAIX+wD,GAAa,GAAI4B,GACjB,cACAuM,cAAep/D,EACfq/D,gBAAiBv/D,EACjBw/D,aAAcp/D,EACdq/D,WAAYv/D,EACZw/D,aAAc1/D,EACd2/D,UAAWv/D,IAIXgxD,GAAmB,GAAI2B,GACvB,oBACClzD,MAAOK,IAGRmxD,GAA6B,GAAI0B,GACjC,8BACAzxF,KAAM4+B,EACN3+B,GAAI2+B,EACJ0C,OAAQxC,EACRw6D,WAAY56D,EACZj8C,KAAMm8C,IAINoxD,GAAW,GAAIyB,GACf,YACC6M,YAAa5/D,IAGduxD,GAAwB,GAAIwB,GAC5B,yBACA8D,OAAQ32D,EACR42D,SAAU52D,IAIVsxD,GAA4B,GAAIuB,GAChC,6BACAznG,QAAS40C,EACTg3D,eAAgB92D,IAIhBqxD,GAA4B,GAAIsB,GAChC,6BACA8M,WAAY3/D,EACZ22D,OAAQ32D,EACR42D,SAAU52D,EACV8+D,OAAQ5+D,GAIZ5yC,GAAU86C,eACNwlD,EACAC,EACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACA3T,GACA4T,GACAC,GACAC,GACAC,GACAC,GACAnzD,GACAozD,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACA+G,GACAqE,GACAG,GACAE,GACAK,GACAQ,GACAc,GACAG,GACAE,GACA9B,GACAgC,GACA1N,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAGc,IAAIsB,GAClB,eACAoD,cAAel2D,EACfm2D,iBAAkBp2D,EAClBq2D,WAAYjwD,EACZ74C,WAAYyQ,EAAMxQ,GAClBsyC,WAAYh0C,EAAImoG,KAUG,GAAIlB,GACvB,kBACCzxF,KAAMy+B,EACPx+B,GAAIw+B,EACJk3B,MAAO5xB,EACP/zC,MAAO0uC,EACP8/D,UAAWj6D,KxMox9BT,SAAUrjD,EAAQD,GAEvB,YyMl0/BDC,GAAOD,QAAU,SAAkBm5C,GAE/B,GAAIxR,GAASwR,EAAG7tC,SAAS,QAASs2C,aAAa,EAAM8D,UAAU,GAG/Dh4C,SAAQvE,MAAM2C,KAAKC,UAAU47B,EAAO,KAAK,IAIzCA,EAASwR,EAAG7tC,SAAS,QAASs2C,aAAa,EAAM8D,UAAU,IAG3Dh4C,QAAQvE,MAAM2C,KAAKC,UAAU47B,MzM00/B3B,SAAU1nC,EAAQD,EAASH,GAEhC,YAQA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GANvF,GAAIo9C,GAAiB,WAAc,QAASC,GAAcC,EAAK9+C,GAAK,GAAI++C,MAAeC,GAAK,EAAUC,GAAK,EAAWC,EAAKr6C,MAAW,KAAM,IAAK,GAAiCs6C,GAA7BC,EAAKN,EAAIh8C,OAAOC,cAAmBi8C,GAAMG,EAAKC,EAAG/+B,QAAQ7N,QAAoBusC,EAAK/xC,KAAKmyC,EAAG58C,QAAYvC,GAAK++C,EAAK37C,SAAWpD,GAA3Dg/C,GAAK,IAAoE,MAAO12C,GAAO22C,GAAK,EAAMC,EAAK52C,EAAO,QAAU,KAAW02C,GAAMI,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIH,EAAI,KAAMC,IAAQ,MAAOH,GAAQ,MAAO,UAAUD,EAAK9+C,GAAK,GAAImG,MAAM8Z,QAAQ6+B,GAAQ,MAAOA,EAAY,IAAIh8C,OAAOC,WAAY9C,QAAO6+C,GAAQ,MAAOD,GAAcC,EAAK9+C,EAAa,MAAM,IAAI8B,WAAU,4D0M51/BvlBk7G,EAAA39G,EAAA,K1Mg2/BK49G,EAAS17G,EAAuBy7G,G0M91/BjC/L,EAAoB,SAACiM,GACvB,MAAOA,GAAkB52G,OAAO,SAAA+mC,EAAc8vE,GAAd,GAAAC,GAAAx+D,EAAAvR,EAAA,GAAEytC,EAAFsiC,EAAA,GAAOriC,EAAPqiC,EAAA,SAAmCD,GAAmB,IAAMF,EAAAv7G,QAAK27G,UAAUviC,EAAKmiC,EAAAv7G,QAAK47G,UAAUL,EAAAv7G,QAAK67G,OAAO,GAAIN,EAAAv7G,QAAK67G,OAAOJ,KAAqBpiC,IACpFD,EAAKmiC,EAAAv7G,QAAK27G,UAAUtiC,EAAMkiC,EAAAv7G,QAAK47G,UAAUL,EAAAv7G,QAAK67G,OAAO,GAAIN,EAAAv7G,QAAK67G,OAAOJ,EAAiB,SACjJF,EAAAv7G,QAAK67G,OAAO,GAAIN,EAAAv7G,QAAK67G,OAAO,KAAKv3G,IAAI,SAAAzD,GAAA,MAAS06G,GAAAv7G,QAAK0zD,SAAS7yD,EAAO06G,EAAAv7G,QAAK67G,OAAO,IAAMh7G,EAAM6I,WAAa,OAG3I3L,GAAOD,QAAUyxG,G1M42/BX,SAAUxxG,EAAQD,EAASH,GAEhC,GAAIs4E,GAAgCb,EAEhCj0E,EAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,K2Mx3/BvQ,SAAUwG,EAAE61C,GAAG,UAAAh7C,EAAiBrD,IAAS,mBAAoBC,GAAOA,EAAOD,QAAQq+C,KAA0C85B,EAAA,EAAAb,EAAA,kBAAAa,KAAA/3E,KAAAJ,EAAAH,EAAAG,EAAAC,GAAAk4E,IAAA9yE,SAAAiyE,IAAAr3E,EAAAD,QAAAs3E,MAA7HjyE,OAAqK,WAAW,YAA0C,SAASmD,GAAE61C,GAAG,yBAA0B,QAAO71C,EAAE,kBAAmBlF,SAAQ,UAAAD,EAAiBC,OAAOC,UAAS,SAASiF,GAAG,yBAAcA,GAAd,YAAAnF,EAAcmF,IAAG,SAASA,GAAG,MAAOA,IAAG,kBAAmBlF,SAAQkF,EAAE1F,cAAcQ,QAAQkF,IAAIlF,OAAO5C,UAAU,SAA3E,mBAA2F8H,GAA3F,YAAAnF,EAA2FmF,KAAK61C,GAAG,QAASA,GAAE71C,EAAE61C,GAAG,KAAK71C,YAAa61C,IAAG,KAAM,IAAI/7C,WAAU,qCAAqC,QAAS9B,GAAEgI,EAAE61C,GAAG,IAAI,GAAI1pC,GAAE/H,EAAE,EAAEA,EAAEyxC,EAAEz6C,OAAOgJ,IAAI+H,EAAE0pC,EAAEzxC,GAAG+H,EAAE3R,WAAW2R,EAAE3R,aAAY,EAAG2R,EAAEzR,cAAa,EAAG,SAAUyR,KAAIA,EAAE1R,UAAS,GAAIxC,OAAOqD,eAAe0E,EAAEmM,EAAE5Q,IAAI4Q,GAAG,QAASA,GAAEnM,EAAE61C,EAAE1pC,GAAG,MAAO0pC,IAAG79C,EAAEgI,EAAE9H,UAAU29C,GAAG1pC,GAAGnU,EAAEgI,EAAEmM,GAAGnM,EAAE,QAASoE,GAAEpE,EAAE61C,GAAG,GAAG,kBAAmBA,IAAG,OAAOA,EAAE,KAAM,IAAI/7C,WAAU,qDAAsDkG,GAAE9H,UAAUD,OAAOoC,OAAOw7C,GAAGA,EAAE39C,WAAWoC,aAAaC,MAAMyF,EAAEvF,UAAS,EAAGC,cAAa,KAAMm7C,GAAGvwC,EAAEtF,EAAE61C,GAAG,QAASngC,GAAE1V,GAAG,OAAO0V,EAAEzd,OAAO0C,eAAe1C,OAAO8E,eAAe,SAASiD,GAAG,MAAOA,GAAEpF,WAAW3C,OAAO8E,eAAeiD,KAAMA,GAAG,QAASsF,GAAEtF,EAAE61C,GAAG,OAAOvwC,EAAErN,OAAO0C,gBAAgB,SAASqF,EAAE61C,GAAG,MAAO71C,GAAEpF,UAAUi7C,EAAE71C,IAAKA,EAAE61C,GAAG,QAAS18B,KAAI,GAAG,mBAAoBq8F,WAAUA,QAAQC,UAAU,OAAM,CAAG,IAAGD,QAAQC,UAAUC,KAAK,OAAM,CAAG,IAAG,kBAAmBC,OAAM,OAAM,CAAG,KAAI,MAAOnnE,MAAKt2C,UAAUkL,SAASxL,KAAK49G,QAAQC,UAAUjnE,QAAQ,gBAAe,EAAG,MAAMqH,GAAG,OAAM,GAAI,QAASr9C,KAAI,MAAOA,GAAE2gB,IAAIq8F,QAAQC,UAAU,SAASz1G,EAAE61C,EAAE79C,GAAG,GAAImU,IAAG,KAAMA,GAAEnH,KAAKtM,MAAMyT,EAAE0pC,EAAG,IAAIzxC,GAAEsT,SAAS9Y,KAAKlG,MAAMsH,EAAEmM,GAAGuJ,EAAE,GAAItR,EAAE,OAAOpM,IAAGsN,EAAEoQ,EAAE1d,EAAEE,WAAWwd,GAAGld,EAAEE,MAAM,KAAKkE,WAAW,QAASwyC,GAAEpvC,GAAG,OAAM,IAAK0X,SAAStU,SAASxL,KAAKoI,GAAGif,QAAQ,iBAAiB,QAASg2E,GAAEj1F,GAAG,GAAI61C,GAAE,kBAAmBrzB,KAAI,GAAIA,KAAI,MAAO,QAAOyyE,EAAE,SAASj1F,GAAG,QAAShI,KAAI,MAAOQ,GAAEwH,EAAEpD,UAAU8Y,EAAE/c,MAAM2B,aAAa,GAAG,OAAO0F,IAAIovC,EAAEpvC,GAAG,MAAOA,EAAE,IAAG,kBAAmBA,GAAE,KAAM,IAAIlG,WAAU,qDAAsD,IAAG,mBAAoB+7C,GAAE,CAAC,GAAGA,EAAE78B,IAAIhZ,GAAG,MAAO61C,GAAE9gC,IAAI/U,EAAG61C,GAAE90C,IAAIf,EAAEhI,GAAG,MAAOA,GAAEE,UAAUD,OAAOoC,OAAO2F,EAAE9H,WAAWoC,aAAaC,MAAMvC,EAAEwC,YAAW,EAAGC,UAAS,EAAGC,cAAa,KAAM4K,EAAEtN,EAAEgI,KAAMA,GAAG,QAASuP,GAAEvP,GAAG,GAAG,SAASA,EAAE,KAAM,IAAI/F,gBAAe,4DAA6D,OAAO+F,GAAE,QAASC,GAAED,EAAE61C,GAAG,OAAOA,GAAI,8BAAiBA,GAAjB,YAAAh7C,EAAiBg7C,KAAG,kBAAmBA,GAAKtmC,EAAEvP,GAAJ61C,EAAO,QAAS1G,GAAEnvC,GAAG,GAAI61C,GAAE18B,GAAI,OAAO,YAAW,GAAInhB,GAAEmU,EAAEuJ,EAAE1V,EAAG,IAAG61C,EAAE,CAAC,GAAIzxC,GAAEsR,EAAE/c,MAAM2B,WAAYtC,GAAEw9G,QAAQC,UAAUtpG,EAAEvP,UAAUwH,OAAQpM,GAAEmU,EAAEzT,MAAMC,KAAKiE,UAAW,OAAOqD,GAAEtH,KAAKX,IAAI,QAASS,GAAEuH,EAAE61C,GAAG,GAAG71C,EAAE,CAAC,GAAG,gBAAiBA,GAAE,MAAOnI,GAAEmI,EAAE61C,EAAG,IAAI79C,GAAEC,OAAOC,UAAUkL,SAASxL,KAAKoI,GAAG1H,MAAM,GAAE,EAAI,OAAM,WAAWN,GAAGgI,EAAE1F,cAActC,EAAEgI,EAAE1F,YAAYsZ,MAAM,QAAQ5b,GAAG,QAAQA,EAAEmG,MAAMoY,KAAKvW,GAAG,cAAchI,GAAG,2CAA2Cwd,KAAKxd,GAAGH,EAAEmI,EAAE61C,GAAG,QAAQ,QAASh+C,GAAEmI,EAAE61C,IAAI,MAAMA,GAAGA,EAAE71C,EAAE5E,UAAUy6C,EAAE71C,EAAE5E,OAAQ,KAAI,GAAI+Q,GAAE,EAAE/H,EAAEjG,MAAM03C,GAAG1pC,EAAE0pC,EAAE1pC,IAAI/H,EAAE+H,GAAGnM,EAAEmM,EAAG,OAAO/H,GAAE,QAAStM,GAAEkI,EAAE61C,GAAG,GAAI1pC,EAAE,IAAG,mBAAoBrR,SAAQ,MAAMkF,EAAElF,OAAOC,UAAU,CAAC,GAAGoD,MAAM8Z,QAAQjY,KAAKmM,EAAE1T,EAAEuH,KAAK61C,GAAG71C,GAAG,gBAAiBA,GAAE5E,OAAO,CAAC+Q,IAAInM,EAAEmM,EAAG,IAAI/H,GAAE,EAAEsR,EAAE,YAAa,QAAO05B,EAAE15B,EAAEtR,EAAE,WAAW,MAAOA,IAAGpE,EAAE5E,QAAQoP,MAAK,IAAKA,MAAK,EAAGjQ,MAAMyF,EAAEoE,OAAOpE,EAAE,SAAS61C,GAAG,KAAMA,IAAGya,EAAE56C,GAAG,KAAM,IAAI5b,WAAU,yIAAyI,GAAIwL,GAAE9M,GAAE,EAAG42C,GAAE,CAAG,QAAOA,EAAE,WAAWjjC,EAAEnM,EAAElF,OAAOC,aAAaqJ,EAAE,WAAW,GAAIpE,GAAEmM,EAAEkM,MAAO,OAAO7f,GAAEwH,EAAEwK,KAAKxK,GAAGA,EAAE,SAAS61C,GAAGzG,GAAE,EAAG9pC,EAAEuwC,GAAGya,EAAE,WAAW,IAAI93D,GAAG,MAAM2T,EAAEunC,QAAQvnC,EAAEunC,SAAzB,QAA0C,GAAGtE,EAAE,KAAM9pC,MAAv0G,GAAI+B,GAAEvH,KAAK81G,KAAKtlD,EAAExwD,KAAK+1G,MAAyzG3mE,EAAE,SAASl3C,GAA6B,QAAS0d,GAAE1V,EAAEhI,GAAG,GAAImU,EAAE,IAAG0pC,EAAEl9C,KAAK+c,GAAG1V,EAAE0V,EAAEogG,aAAa,KAAM,IAAIntG,YAAW,+BAAgC,OAAOwD,GAAE3T,EAAEZ,KAAKe,KAAKqH,GAAGmM,EAAEzL,KAAK1I,EAAEmU,EAApK,GAAI7G,GAAExF,KAAKsuC,IAAIj1B,EAAErZ,KAAKmvB,GAAgJ7qB,GAAEsR,EAAE1d,EAAG,IAAIQ,GAAE22C,EAAEz5B,EAAG,OAAOvJ,GAAEuJ,IAAIna,IAAI,gBAAgBhB,MAAM,WAAW,GAAIyF,GAAE61C,GAAG,WAAW79C,EAAEF,EAAEa,KAAM,KAAI,IAAIX,EAAEo3C,MAAMpvC,EAAEhI,EAAEoM,KAAKoG,MAAM,CAAC,GAAI2B,GAAEnM,EAAEzF,KAAMs7C,GAAE7wC,MAAMmH,GAAGA,IAAI,GAAG/I,SAAS,IAAI+I,GAAG,OAAO,MAAMnM,GAAGhI,EAAEgI,EAAEA,GAApG,QAA+GhI,EAAEs4D,IAAI,MAAOza,GAAE7wC,KAAK,KAAK6wC,EAAE7zB,KAAK,OAAOzmB,IAAI,WAAWhB,MAAM,WAAW,GAAIyF,GAAE,EAAEpD,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,EAAG,IAAG,EAAEoD,GAAG,GAAGA,EAAE,KAAM,IAAI2I,YAAW,qDAAsD,OAAO,KAAIhQ,KAAKyC,OAAO,IAAI,IAAI4E,EAAEA,EAAE,GAAG0V,EAAEqgG,yBAAyBp9G,KAAKqH,GAAG0V,EAAEsgG,kBAAkBr9G,KAAKqH,GAAE,MAAOzE,IAAI,SAAShB,MAAM,WAAW,IAAI,GAAIyF,GAAE,GAAI0V,GAAE/c,KAAKyC,OAAOzC,KAAK+H,MAAMm1C,EAAE,EAAEA,EAAEl9C,KAAKyC,OAAOy6C,IAAI71C,EAAE61C,GAAGl9C,KAAKk9C,EAAG,OAAO71C,MAAKzE,IAAI,SAAShB,MAAM,WAAW,IAAI,GAAIyF,GAAErH,KAAKyC,OAAOy6C,EAAEl9C,KAAKqH,EAAE,GAAG,IAAI61C,GAAG71C,IAAI61C,EAAEl9C,KAAKqH,EAAE,GAAGrH,KAAK0F,KAAM,OAAO,KAAI2B,IAAIrH,KAAK+H,MAAK,GAAI/H,QAAQ4C,IAAI,qBAAqBhB,MAAM,WAAW,IAAI,GAAIyF,GAAE,EAAEA,EAAErH,KAAKyC,OAAO4E,IAAIrH,KAAKqH,GAAG,KAAKzE,IAAI,WAAWhB,MAAM,WAAW,MAAOmb,GAAEugG,QAAQt9G,KAAKA,KAAKyC,OAAO,OAAOG,IAAI,uBAAuBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAGA,EAAExT,KAAKyC,SAAS+Q,EAAExT,KAAKyC,OAAQ,KAAI,GAAIgJ,GAAE,MAAMpE,EAAEsF,EAAEtF,IAAI,GAAGmZ,EAAE,EAAE3gB,EAAE,MAAMq9C,EAAEzG,EAAEyG,IAAI,GAAGo/C,EAAE,EAAEA,EAAE9oF,EAAE8oF,IAAI,CAAC,GAAI1lF,GAAE5W,KAAKu9G,QAAQjhB,GAAGh1F,EAAE,MAAMsP,EAAE4/B,EAAE5/B,IAAI,GAAG9W,EAAEid,EAAEygG,OAAOl2G,EAAEmE,GAAGvM,EAAE6d,EAAEygG,OAAOl2G,EAAEqF,GAAGxN,EAAE4d,EAAEygG,OAAOhnE,EAAE/qC,GAAGiD,EAAEqO,EAAEygG,OAAOhnE,EAAE7pC,GAAGgrD,EAAE93D,GAAG,MAAMC,GAAGy2C,EAAEE,EAAEj2B,GAAGm3C,IAAI,KAAK73D,IAAI,KAAK,MAAMZ,IAAI,MAAMC,EAAGU,IAAGX,IAAI,KAAKC,IAAI,KAAK,MAAMuP,IAAI6nC,IAAI,IAAI/1B,EAAE3gB,IAAI,GAAGA,GAAG,MAAM42C,EAAE/nC,IAAI,GAAG1O,KAAKy9G,WAAWnhB,EAAE,MAAM3kC,EAAEphB,GAAG,IAAI,GAAG,IAAI/1B,GAAG,IAAI3gB,GAAG,IAAI42C,EAAE,KAAM,IAAI3vC,OAAM,yBAAyBlE,IAAI,eAAehB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,IAAI,GAAI/H,GAAEsR,EAAE,EAAEpQ,EAAE,EAAEA,EAAE6G,EAAE7G,IAAIlB,EAAEzL,KAAK09G,YAAYxgE,EAAEvwC,GAAGtF,EAAEq2G,YAAY/wG,GAAGoQ,EAAEA,EAAEtR,IAAI,GAAGzL,KAAK29G,eAAezgE,EAAEvwC,EAAElB,EAAG,OAAOsR,MAAKna,IAAI,eAAehB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,GAAI/H,GAAE,CAAE,IAAG,EAAEyxC,EAAE,CAACA,IAAI,CAAE,KAAI,GAAIngC,GAAE/c,KAAKu9G,QAAQrgE,GAAGvwC,EAAE,MAAMoQ,EAAEyD,EAAE,EAAEA,EAAEhN,EAAE,IAAI,EAAEgN,IAAI,CAAC,GAAI3gB,GAAEwH,EAAEk2G,QAAQ/8F,GAAGi2B,GAAG15B,IAAI,KAAK,MAAMld,GAAG4L,CAAEA,GAAE,EAAEgrC,IAAI,GAAGz2C,KAAKy9G,WAAWvgE,EAAE18B,EAAEi2B,GAAG,GAAG,MAAM9pC,GAAGoQ,EAAE/c,KAAKu9G,QAAQrgE,EAAE18B,EAAE,GAAG7T,GAAG,MAAMoQ,IAAIld,IAAI,IAAI4L,EAAEA,EAAE,EAAEkB,IAAI,GAAG,GAAI2vF,GAAEj1F,EAAEk2G,QAAQ/8F,GAAG5J,GAAGmG,IAAI,KAAK,MAAMu/E,GAAG7wF,CAAgD,IAA9CA,EAAE,EAAEmL,IAAI,GAAG5W,KAAKy9G,WAAWvgE,EAAE18B,EAAE5J,GAAG,GAAG,MAAMjK,GAAMuwC,EAAE18B,EAAE,GAAGxgB,KAAKyC,OAAO,KAAM,IAAIuN,YAAW,gBAAiB,KAAI,EAAEwD,KAAKuJ,EAAE/c,KAAKu9G,QAAQrgE,EAAE18B,EAAE,GAAG7T,GAAG,MAAMoQ,IAAIu/E,IAAI,IAAI7wF,EAAEA,EAAE,EAAEkB,IAAI,GAAG3M,KAAKy9G,WAAWvgE,EAAE71C,EAAE5E,OAAO,WAAWsa,EAAE,MAAMpQ,QAAQ,CAACuwC,IAAI,CAAE,KAAI,GAAI51C,GAAE,EAAEA,EAAED,EAAE5E,OAAO,EAAE6E,IAAI,CAAC,GAAIkvC,GAAEx2C,KAAKu9G,QAAQrgE,EAAE51C,GAAGxH,EAAEuH,EAAEk2G,QAAQj2G,GAAGpI,GAAG,MAAMs3C,IAAI,MAAM12C,GAAG2L,CAAEA,GAAE,EAAEvM,IAAI,EAAG,IAAIC,IAAGq3C,IAAI,KAAK12C,IAAI,IAAI2L,CAAEA,GAAE,EAAEtM,IAAI,GAAGa,KAAKy9G,WAAWvgE,EAAE51C,EAAEnI,GAAG,GAAG,MAAMD,GAAG,GAAIwP,GAAE1O,KAAKu9G,QAAQrgE,EAAE51C,GAAGqwD,EAAEtwD,EAAEk2G,QAAQj2G,GAAGivC,GAAG,MAAM7nC,IAAI,MAAMipD,GAAGlsD,CAAEA,GAAE,EAAE8qC,IAAI,EAAG,IAAIxQ,GAAE,CAAE,KAAI,EAAEvyB,KAAKuyB,GAAGr3B,IAAI,KAAKipD,IAAI,IAAIlsD,EAAEA,EAAE,EAAEs6B,IAAI,IAAI/lC,KAAKy9G,WAAWvgE,EAAE51C,EAAEy+B,GAAG,GAAG,MAAMwQ,GAAG,MAAO9qC,MAAK7I,IAAI,sBAAsBhB,MAAM,SAASyF,GAAG,GAAG,IAAIA,EAAE,CAAC,IAAI,GAAI61C,GAAE1pC,EAAExT,KAAKu9G,QAAQ,KAAKl2G,EAAEoE,EAAEzL,KAAKyC,OAAO,EAAEsa,EAAE,EAAEA,EAAEtR,EAAEsR,IAAImgC,EAAEl9C,KAAKu9G,QAAQxgG,EAAE,GAAG/c,KAAKy9G,WAAW1gG,EAAEmgC,GAAG,GAAG71C,EAAEmM,GAAGA,EAAE0pC,IAAI71C,CAAErH,MAAKy9G,WAAWhyG,EAAE+H,OAAO5Q,IAAI,UAAUhB,MAAM,SAASyF,GAAG,MAAOrH,MAAKqH,MAAMzE,IAAI,kBAAkBhB,MAAM,SAASyF,GAAG,MAAOrH,MAAKqH,KAAK,KAAKzE,IAAI,aAAahB,MAAM,SAASyF,EAAE61C,GAAGl9C,KAAKqH,GAAG,EAAE61C,KAAKt6C,IAAI,iBAAiBhB,MAAM,SAASyF,EAAE61C,GAAGl9C,KAAKqH,GAAG,EAAE61C,KAAKt6C,IAAI,oBAAoBhB,MAAM,WAAW,GAAIyF,GAAErH,KAAKyC,MAAO,OAAO,QAAOzC,KAAK49G,gBAAgBv2G,EAAE,GAAG,EAAEA,EAAE,EAAE,EAAEA,KAAKzE,IAAI,cAAchB,MAAM,SAASyF,GAAG,MAAO,OAAMrH,KAAKqH,IAAI,OAAO,EAAEA,IAAI,MAAMzE,IAAI,iBAAiBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI79C,GAAEgI,IAAI,EAAEmM,EAAExT,KAAKu9G,QAAQl+G,GAAGoM,EAAE,EAAEpE,EAAE,MAAMmM,EAAE0pC,GAAG,GAAG,WAAW1pC,EAAE,MAAM0pC,CAAEl9C,MAAKy9G,WAAWp+G,EAAEoM,QAAQ7I,IAAI,SAAShB,MAAM,SAASs7C,GAAG,GAAI79C,GAAE8H,KAAK2vC,MAAMtjC,EAAE0M,OAAO6Z,QAAS,IAAG,gBAAiBmjB,GAAE,CAAC,GAAG,IAAIA,EAAE,MAAOngC,GAAE8gG,QAAS,KAAI,EAAE3gE,KAAKA,EAAE,MAAO,GAAEA,EAAEngC,EAAE+gG,YAAY5gE,GAAE,GAAIngC,EAAE+gG,WAAW5gE,GAAE,EAAI,KAAI1pC,EAAE0pC,IAAI79C,EAAE69C,KAAKA,EAAE,KAAM,IAAIltC,YAAW,cAAcktC,EAAE,8DAA+D,OAAOngC,GAAEghG,aAAa7gE,GAAG,GAAG,gBAAiBA,GAAE,CAAC,GAAIzxC,GAAEsR,EAAEihG,aAAa9gE,EAAG,IAAG,OAAOzxC,EAAE,KAAM,IAAIwyG,aAAY,kBAAkB/gE,EAAE,eAAgB,OAAOzxC,GAAE,GAAG,iBAAkByxC,GAAE,OAAM,IAAKA,EAAEngC,EAAE+gG,WAAW,GAAE,GAAI/gG,EAAE8gG,QAAS,IAAG,WAAWx2G,EAAE61C,GAAG,CAAC,GAAGA,EAAEv7C,cAAcob,EAAE,MAAOmgC,EAAE,IAAIvwC,GAAEoQ,EAAEmhG,cAAchhE,EAAG,OAAOngC,GAAE6/F,OAAOjwG,GAAG,KAAM,IAAIxL,WAAU,kBAAkB+7C,EAAE,mBAAmBt6C,IAAI,WAAWhB,MAAM,SAASyF,GAAG,GAAI61C,GAAE71C,EAAE5E,MAAO,IAAG,IAAIy6C,EAAE,MAAO,EAAE,IAAG,IAAIA,EAAE,CAAC,GAAI79C,GAAEgI,EAAEu2G,gBAAgB,EAAG,OAAOv2G,GAAEU,MAAM1I,EAAEA,EAAE,GAAImU,GAAEnM,EAAEk2G,QAAQrgE,EAAE,GAAGzxC,EAAEsR,EAAEugG,QAAQ9pG,GAAG7G,EAAE,GAAGuwC,EAAEzxC,CAAE,IAAG,KAAKkB,EAAE,MAAOtF,GAAEU,OAAM0vC,KAAS,EAAE,CAAE,IAAIj3B,GAAE7T,EAAE,EAAE9M,EAAE2T,EAAEijC,EAAEyG,EAAE,EAAEo/C,EAAE7wF,EAAE,EAAEmL,EAAE,KAAK0lF,EAAE,EAAEz8F,GAAGy8F,CAAE1lF,MAAK,EAAG,IAAItP,GAAEg1F,EAAE,GAAG9lD,EAAE,IAAI8lD,EAAE,EAAEz8F,GAAG,GAAGy8F,EAAEx8F,EAAE,GAAGw8F,CAAE,GAAEh1F,GAAG,EAAEmvC,IAAIA,IAAI52C,EAAEwH,EAAEk2G,QAAQ9mE,GAAG7/B,GAAG/W,IAAI,GAAGyH,EAAEkvC,EAAE32C,GAAGyH,EAAExH,EAAEwH,GAAG,EAAExH,GAAG,EAAE22C,IAAIA,IAAI52C,EAAEwH,EAAEk2G,QAAQ9mE,GAAGD,GAAG32C,IAAI,GAAGC,EAAEA,GAAG,GAAI,IAAIZ,GAAE6d,EAAEohG,iBAAiB92G,EAAEvH,EAAE22C,EAAE52C,EAAG,KAAI,IAAIX,GAAG,IAAIA,GAAG,IAAI,EAAEs3C,MAAMA,EAAEA,EAAE,IAAI,EAAE,IAAIA,IAAI5/B,IAAI,GAAGA,IAAI,KAAKA,EAAE,EAAE4J,IAAI,KAAKA,KAAK,MAAOnZ,GAAEU,OAAM0vC,KAAS,EAAE,CAAE,IAAIt4C,GAAEkI,EAAEU,MAAK,WAAY,CAAE,OAAOyY,GAAEA,EAAE,MAAM,GAAGzD,EAAEqhG,qBAAqB,GAAGj/G,EAAEqhB,EAAE5J,EAAEmG,EAAEqhG,qBAAqB,GAAG5nE,EAAEz5B,EAAEshG,uBAAuB,MAAMz7G,IAAI,aAAahB,MAAM,SAASyF,GAAG,GAAG,IAAIA,EAAE5E,OAAO,MAAO4E,EAAE,IAAI61C,GAAE71C,EAAEi3G,QAAS,OAAOphE,GAAEn1C,MAAMV,EAAEU,KAAKm1C,KAAKt6C,IAAI,aAAahB,MAAM,SAASyF,GAAG,MAAOA,GAAEU,KAAKgV,EAAEwhG,iBAAiBl3G,GAAGm3G,SAASzhG,EAAE0hG,iBAAiBp3G,GAAE,MAAOzE,IAAI,eAAehB,MAAM,SAASyF,EAAE61C,GAAG,GAAGA,EAAEn1C,KAAK,KAAM,IAAIiI,YAAW,4BAA6B,IAAG,IAAIktC,EAAEz6C,OAAO,MAAOsa,GAAE+gG,WAAW,GAAE,EAAI,IAAG,IAAIz2G,EAAE5E,OAAO,MAAO4E,EAAE,IAAG,IAAIA,EAAE5E,QAAQ,IAAI4E,EAAEk2G,QAAQ,GAAG,MAAOl2G,GAAEU,MAAM,IAAI,EAAEm1C,EAAEqgE,QAAQ,IAAIxgG,EAAE2hG,WAAWr3G,GAAGA,CAAE,IAAG,EAAE61C,EAAEz6C,OAAO,KAAM,IAAIuN,YAAW,iBAAkB,IAAI3Q,GAAE69C,EAAE0gE,gBAAgB,EAAG,IAAG,IAAIv+G,EAAE,MAAOgI,EAAE,IAAGhI,GAAG0d,EAAE4hG,iBAAiB,KAAM,IAAI3uG,YAAW,iBAAkB,IAAG,IAAI3I,EAAE5E,QAAQ,IAAI4E,EAAEk2G,QAAQ,GAAG,CAAC,GAAI/pG,GAAE,GAAGnU,IAAI,GAAGoM,EAAEpE,EAAEU,MAAM,IAAI,EAAE1I,GAAGsN,EAAE,GAAIoQ,GAAEvJ,EAAE/H,EAAGkB,GAAEiyG,oBAAqB,IAAIp+F,GAAE,IAAI,GAAGnhB,EAAG,OAAOsN,GAAE8wG,WAAWjqG,EAAE,EAAEgN,GAAG7T,EAAE,GAAI9M,GAAE,KAAK42C,EAAEpvC,CAAE,KAAI,IAAI,EAAEhI,KAAKQ,EAAEwH,GAAGhI,IAAI,EAAE,IAAIA,EAAEA,IAAI,EAAEo3C,EAAE15B,EAAE6oE,SAASnvC,EAAEA,GAAG,IAAI,EAAEp3C,KAAcQ,EAAT,OAAOA,EAAI42C,EAAI15B,EAAE6oE,SAAS/lF,EAAE42C,GAAI,OAAO52C,MAAK+C,IAAI,WAAWhB,MAAM,SAASyF,EAAE61C,GAAG,GAAG,IAAI71C,EAAE5E,OAAO,MAAO4E,EAAE,IAAG,IAAI61C,EAAEz6C,OAAO,MAAOy6C,EAAE,IAAI1pC,GAAEnM,EAAE5E,OAAOy6C,EAAEz6C,MAAO,KAAI4E,EAAEw3G,WAAW3hE,EAAE2hE,YAAYrrG,GAAI,IAAI/H,GAAE,GAAIsR,GAAEvJ,EAAEnM,EAAEU,OAAOm1C,EAAEn1C,KAAM0D,GAAEmzG,oBAAqB,KAAI,GAAIjyG,GAAE,EAAEA,EAAEtF,EAAE5E,OAAOkK,IAAIoQ,EAAE+hG,qBAAqB5hE,EAAE71C,EAAEk2G,QAAQ5wG,GAAGlB,EAAEkB,EAAG,OAAOlB,GAAE+yG,YAAY57G,IAAI,SAAShB,MAAM,SAASyF,EAAE61C,GAAG,GAAG,IAAIA,EAAEz6C,OAAO,KAAM,IAAIuN,YAAW,mBAAoB,IAAG,EAAE+M,EAAEgiG,kBAAkB13G,EAAE61C,GAAG,MAAOngC,GAAE8gG,QAAS,IAAIx+G,GAAEmU,EAAEnM,EAAEU,OAAOm1C,EAAEn1C,KAAK0D,EAAEyxC,EAAE0gE,gBAAgB,EAAG,IAAG,IAAI1gE,EAAEz6C,QAAQ,OAAOgJ,EAAE,CAAC,GAAG,IAAIA,EAAE,MAAO+H,KAAInM,EAAEU,KAAKV,EAAE0V,EAAE2hG,WAAWr3G,EAAGhI,GAAE0d,EAAEiiG,mBAAmB33G,EAAEoE,EAAE,UAAWpM,GAAE0d,EAAEkiG,mBAAmB53G,EAAE61C,GAAE,GAAG,EAAI,OAAO79C,GAAE0I,KAAKyL,EAAEnU,EAAEm/G,YAAY57G,IAAI,YAAYhB,MAAM,QAASyF,GAAE61C,EAAE79C,GAAG,GAAG,IAAIA,EAAEoD,OAAO,KAAM,IAAIuN,YAAW,mBAAoB,IAAG,EAAE+M,EAAEgiG,kBAAkB7hE,EAAE79C,GAAG,MAAO69C,EAAE,IAAI1pC,GAAEnU,EAAEu+G,gBAAgB,EAAG,IAAG,IAAIv+G,EAAEoD,QAAQ,OAAO+Q,EAAE,CAAC,GAAG,IAAIA,EAAE,MAAOuJ,GAAE8gG,QAAS,IAAIpyG,GAAEsR,EAAEmiG,mBAAmBhiE,EAAE1pC,EAAG,OAAO,KAAI/H,EAAEsR,EAAE8gG,SAAS9gG,EAAE+gG,WAAWryG,EAAEyxC,EAAEn1C,MAAM,GAAIV,GAAE0V,EAAEkiG,mBAAmB/hE,EAAE79C,GAAE,GAAG,EAAI,OAAOgI,GAAEU,KAAKm1C,EAAEn1C,KAAKV,EAAEm3G,YAAY57G,IAAI,MAAMhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI79C,GAAEgI,EAAEU,IAAK,OAAO1I,KAAI69C,EAAEn1C,KAAKgV,EAAEoiG,cAAc93G,EAAE61C,EAAE79C,GAAG,GAAG0d,EAAEgiG,kBAAkB13G,EAAE61C,GAAGngC,EAAEqiG,cAAc/3G,EAAE61C,EAAE79C,GAAG0d,EAAEqiG,cAAcliE,EAAE71C,GAAGhI,MAAMuD,IAAI,WAAWhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI79C,GAAEgI,EAAEU,IAAK,OAAO1I,KAAI69C,EAAEn1C,KAAK,GAAGgV,EAAEgiG,kBAAkB13G,EAAE61C,GAAGngC,EAAEqiG,cAAc/3G,EAAE61C,EAAE79C,GAAG0d,EAAEqiG,cAAcliE,EAAE71C,GAAGhI,GAAG0d,EAAEoiG,cAAc93G,EAAE61C,EAAE79C,MAAMuD,IAAI,YAAYhB,MAAM,SAASyF,EAAE61C,GAAG,MAAO,KAAIA,EAAEz6C,QAAQ,IAAI4E,EAAE5E,OAAO4E,EAAE61C,EAAEn1C,KAAKgV,EAAEsiG,uBAAuBh4G,EAAE61C,GAAGngC,EAAEuiG,sBAAsBj4G,EAAE61C,MAAMt6C,IAAI,mBAAmBhB,MAAM,SAASyF,EAAE61C,GAAG,MAAO,KAAIA,EAAEz6C,QAAQ,IAAI4E,EAAE5E,OAAO4E,EAAE61C,EAAEn1C,KAAKgV,EAAEuiG,sBAAsBj4G,EAAE61C,GAAGngC,EAAEsiG,uBAAuBh4G,EAAE61C,MAAMt6C,IAAI,qBAAqBhB,MAAM,WAAW,KAAM,IAAIT,WAAU,2DAA2DyB,IAAI,WAAWhB,MAAM,SAASyF,EAAE61C,GAAG,MAAO,GAAEngC,EAAEwiG,kBAAkBl4G,EAAE61C,MAAMt6C,IAAI,kBAAkBhB,MAAM,SAASyF,EAAE61C,GAAG,MAAO,IAAGngC,EAAEwiG,kBAAkBl4G,EAAE61C,MAAMt6C,IAAI,cAAchB,MAAM,SAASyF,EAAE61C,GAAG,MAAO,GAAEngC,EAAEwiG,kBAAkBl4G,EAAE61C,MAAMt6C,IAAI,qBAAqBhB,MAAM,SAASyF,EAAE61C,GAAG,MAAO,IAAGngC,EAAEwiG,kBAAkBl4G,EAAE61C,MAAMt6C,IAAI,QAAQhB,MAAM,SAASyF,EAAE61C,GAAG,GAAG71C,EAAEU,OAAOm1C,EAAEn1C,KAAK,OAAM,CAAG,IAAGV,EAAE5E,SAASy6C,EAAEz6C,OAAO,OAAM,CAAG,KAAI,GAAI+Q,GAAE,EAAEA,EAAEnM,EAAE5E,OAAO+Q,IAAI,GAAGnM,EAAEk2G,QAAQ/pG,KAAK0pC,EAAEqgE,QAAQ/pG,GAAG,OAAM,CAAG,QAAM,KAAM5Q,IAAI,WAAWhB,MAAM,SAASyF,EAAE61C,GAAG,OAAOngC,EAAEo0C,MAAM9pD,EAAE61C,MAAMt6C,IAAI,aAAahB,MAAM,SAASyF,EAAE61C,GAAG,IAAI71C,EAAEU,OAAOm1C,EAAEn1C,KAAK,MAAOgV,GAAEyiG,cAAcn4G,EAAE61C,GAAGshE,QAAS,IAAGn3G,EAAEU,MAAMm1C,EAAEn1C,KAAK,CAAC,GAAI1I,GAAEmhB,EAAEnZ,EAAE5E,OAAOy6C,EAAEz6C,QAAQ,EAAE+Q,EAAEuJ,EAAEwhG,iBAAiBl3G,EAAEhI,GAAGoM,EAAEsR,EAAEwhG,iBAAiBrhE,EAAG,OAAO1pC,GAAEuJ,EAAE0iG,aAAajsG,EAAE/H,EAAE+H,GAAGuJ,EAAE0hG,iBAAiBjrG,GAAE,EAAGA,GAAGgrG,SAAS,GAAGn3G,EAAEU,KAAK,CAAC,GAAI4E,IAAGuwC,EAAE71C,EAAGA,GAAEsF,EAAE,GAAGuwC,EAAEvwC,EAAE,GAAG,MAAOoQ,GAAE2iG,iBAAiBr4G,EAAE0V,EAAEwhG,iBAAiBrhE,IAAIshE,YAAY57G,IAAI,aAAahB,MAAM,SAASyF,EAAE61C,GAAG,IAAI71C,EAAEU,OAAOm1C,EAAEn1C,KAAK,MAAOgV,GAAE4iG,cAAct4G,EAAE61C,GAAGshE,QAAS,IAAGn3G,EAAEU,MAAMm1C,EAAEn1C,KAAK,CAAC,GAAI1I,GAAEmhB,EAAEnZ,EAAE5E,OAAOy6C,EAAEz6C,QAAQ+Q,EAAEuJ,EAAEwhG,iBAAiBl3G,EAAEhI,GAAGoM,EAAEsR,EAAEwhG,iBAAiBrhE,EAAG,OAAOngC,GAAE4iG,cAAcnsG,EAAE/H,EAAE+H,GAAGgrG,SAAS,GAAI7xG,GAAE6T,EAAEnZ,EAAE5E,OAAOy6C,EAAEz6C,QAAQ,CAAE,IAAG4E,EAAEU,KAAK,CAAC,GAAIlI,IAAGq9C,EAAE71C,EAAGA,GAAExH,EAAE,GAAGq9C,EAAEr9C,EAAE,GAAG,GAAI42C,GAAE15B,EAAEwhG,iBAAiBrhE,EAAEvwC,EAAG,OAAO8pC,GAAE15B,EAAE4iG,cAAclpE,EAAEpvC,EAAEovC,GAAG15B,EAAE0hG,iBAAiBhoE,GAAE,EAAGA,GAAG+nE,YAAY57G,IAAI,YAAYhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI79C,GAAEmhB,EAAEnZ,EAAE5E,OAAOy6C,EAAEz6C,OAAQ,KAAI4E,EAAEU,OAAOm1C,EAAEn1C,KAAK,MAAOgV,GAAE0iG,aAAap4G,EAAE61C,GAAGshE,QAAS,IAAGn3G,EAAEU,MAAMm1C,EAAEn1C,KAAK,CAAC,GAAIyL,GAAEuJ,EAAEwhG,iBAAiBl3G,EAAEhI,GAAGoM,EAAEsR,EAAEwhG,iBAAiBrhE,EAAG,OAAO1pC,GAAEuJ,EAAEyiG,cAAchsG,EAAE/H,EAAE+H,GAAGuJ,EAAE0hG,iBAAiBjrG,GAAE,EAAGA,GAAGgrG,SAAS,GAAGn3G,EAAEU,KAAK,CAAC,GAAI4E,IAAGuwC,EAAE71C,EAAGA,GAAEsF,EAAE,GAAGuwC,EAAEvwC,EAAE,GAAG,GAAI9M,GAAEkd,EAAEwhG,iBAAiBrhE,EAAE79C,EAAG,OAAOQ,GAAEkd,EAAE2iG,iBAAiB7/G,EAAEwH,EAAExH,GAAGkd,EAAE0hG,iBAAiB5+G,GAAE,EAAGA,GAAG2+G,YAAY57G,IAAI,SAAShB,MAAM,SAASyF,EAAE61C,GAAG,GAAG,IAAIA,EAAEz6C,OAAO,MAAOy6C,EAAE,IAAG,IAAI71C,EAAE,MAAO0V,GAAE8gG,QAAS,IAAGx2G,GAAG0V,EAAE4hG,iBAAiB,MAAOzhE,EAAE,IAAI1pC,GAAEnM,EAAE,KAAK,CAAE,IAAG61C,EAAEz6C,OAAO+Q,EAAE,MAAO0pC,EAAE,IAAIzxC,GAAEyxC,EAAE0gE,gBAAgBpqG,EAAE,GAAG7G,EAAE,IAAI,GAAGtF,EAAE,EAAG,IAAG61C,EAAEz6C,SAAS+Q,GAAG/H,EAAEkB,EAAE,MAAOuwC,EAAE,KAAMzxC,EAAEkB,KAAKA,EAAG,MAAOoQ,GAAE6iG,kBAAkBv4G,EAAE61C,EAAG,KAAIA,EAAEn1C,KAAK,MAAOgV,GAAE8iG,+BAA+Bx4G,EAAE61C,GAAE,EAAI,IAAG,IAAIzxC,EAAEkB,EAAE,GAAG,CAAC,IAAI,GAAI6T,GAAEhN,EAAE,EAAE,GAAGgN,EAAEA,IAAI,GAAG,IAAI08B,EAAEqgE,QAAQ/8F,GAAG,MAAOzD,GAAE8iG,+BAA+Bx4G,EAAE61C,GAAE,EAAI,OAAOA,GAAEz6C,SAAS+Q,GAAG/H,IAAIkB,EAAEuwC,EAAEngC,EAAE6iG,kBAAkBv4G,EAAE61C,GAAG,MAAOngC,GAAE8iG,+BAA+Bx4G,EAAE61C,GAAE,MAAOt6C,IAAI,UAAUhB,MAAM,SAASyF,EAAE61C,GAAG,GAAG,IAAIA,EAAEz6C,OAAO,MAAOy6C,EAAE,IAAG,IAAI71C,EAAE,MAAO0V,GAAE8gG,QAAS,IAAG3gE,EAAEn1C,KAAK,CAAC,GAAGV,EAAE0V,EAAE4hG,iBAAiB,KAAM,IAAI3uG,YAAW,iBAAkB,OAAO+M,GAAE8iG,+BAA+Bx4G,EAAE61C,GAAE,GAAI,GAAG71C,GAAG0V,EAAE4hG,iBAAiB,MAAOzhE,EAAE,IAAI79C,GAAEgI,EAAE,KAAK,CAAE,IAAG61C,EAAEz6C,OAAOpD,EAAE,MAAO69C,EAAE,IAAI1pC,GAAE,GAAGnM,CAAE,IAAG61C,EAAEz6C,QAAQpD,EAAE,CAAC,GAAG,IAAImU,EAAE,MAAO0pC,EAAE,IAAIzxC,GAAEyxC,EAAEqgE,QAAQl+G,EAAE,EAAG,IAAG,GAAGoM,IAAI+H,EAAE,MAAO0pC,GAAE,MAAOngC,GAAE6iG,kBAAkBv4G,EAAE61C,MAAMt6C,IAAI,MAAMhB,MAAM,SAASyF,EAAE61C,GAAG,GAAG71C,EAAE0V,EAAEmhG,cAAc72G,GAAG61C,EAAEngC,EAAEmhG,cAAchhE,GAAG,gBAAiB71C,GAAE,MAAM,gBAAiB61C,KAAIA,EAAEA,EAAEzyC,YAAYpD,EAAE61C,CAAE,IAAG,gBAAiBA,GAAE,MAAO71C,GAAEoD,WAAWyyC,CAAE,IAAG71C,EAAE0V,EAAE+iG,YAAYz4G,GAAG61C,EAAEngC,EAAE+iG,YAAY5iE,GAAGngC,EAAEgjG,WAAW14G,IAAI0V,EAAEgjG,WAAW7iE,GAAG,MAAOngC,GAAE08C,IAAIpyD,EAAE61C,EAAG,IAAG,gBAAiB71C,IAAG,gBAAiB61C,GAAE,MAAO71C,GAAE61C,CAAE,MAAM,IAAI/7C,WAAU,kEAAkEyB,IAAI,KAAKhB,MAAM,SAASyF,EAAE61C,GAAG,MAAOngC,GAAEijG,UAAU34G,EAAE61C,EAAE,MAAMt6C,IAAI,KAAKhB,MAAM,SAASyF,EAAE61C,GAAG,MAAOngC,GAAEijG,UAAU34G,EAAE61C,EAAE,MAAMt6C,IAAI,KAAKhB,MAAM,SAASyF,EAAE61C,GAAG,MAAOngC,GAAEijG,UAAU34G,EAAE61C,EAAE,MAAMt6C,IAAI,KAAKhB,MAAM,SAASyF,EAAE61C,GAAG,MAAOngC,GAAEijG,UAAU34G,EAAE61C,EAAE,MAAMt6C,IAAI,KAAKhB,MAAM,SAASs7C,EAAE79C,GAAG,OAAO,CAAC,GAAG0d,EAAEgjG,WAAW7iE,GAAG,MAAOngC,GAAEgjG,WAAW1gH,GAAG0d,EAAEo0C,MAAMjU,EAAE79C,GAAG0d,EAAEkjG,GAAG5gH,EAAE69C,EAAG,IAAG,gBAAiBA,GAAE,CAAC,GAAGngC,EAAEgjG,WAAW1gH,GAAG,MAAO0d,GAAEmjG,gBAAgB7gH,EAAE69C,EAAG,IAAG,WAAW71C,EAAEhI,GAAG,MAAO69C,IAAG79C,CAAEA,GAAE0d,EAAEmhG,cAAc7+G,OAAQ,IAAG,gBAAiB69C,GAAE,CAAC,GAAGngC,EAAEgjG,WAAW1gH,GAAG,MAAO69C,GAAEngC,EAAEihG,aAAa9gE,GAAG,OAAOA,GAAGngC,EAAEo0C,MAAMjU,EAAE79C,EAAG,IAAG,WAAWgI,EAAEhI,GAAG,MAAO69C,IAAG79C,CAAEA,GAAE0d,EAAEmhG,cAAc7+G,OAAQ,IAAG,iBAAkB69C,GAAE,CAAC,GAAGngC,EAAEgjG,WAAW1gH,GAAG,MAAO0d,GAAEmjG,gBAAgB7gH,GAAG69C,EAAG,IAAG,WAAW71C,EAAEhI,GAAG,MAAO69C,IAAG79C,CAAEA,GAAE0d,EAAEmhG,cAAc7+G,OAAQ,IAAG,WAAWgI,EAAE61C,GAAG,CAAC,GAAGngC,EAAEgjG,WAAW1gH,GAAG,OAAM,CAAG,IAAG,WAAWgI,EAAEhI,GAAG,MAAO69C,IAAG79C,CAAEA,GAAE0d,EAAEmhG,cAAc7+G,OAAQ,IAAG,WAAWgI,EAAE61C,GAAgF,MAAOA,IAAG79C,CAAtF,IAAG,WAAWgI,EAAEhI,IAAIA,EAAEsC,cAAcob,EAAE,MAAOmgC,IAAG79C,CAAE69C,GAAEngC,EAAEmhG,cAAchhE,QAAwBt6C,IAAI,KAAKhB,MAAM,SAASyF,EAAE61C,GAAG,OAAOngC,EAAEkjG,GAAG54G,EAAE61C,MAAMt6C,IAAI,SAAShB,MAAM,WAAW,MAAO,IAAImb,GAAE,GAAE,MAAOna,IAAI,aAAahB,MAAM,SAASyF,EAAE61C,GAAG,GAAI79C,GAAE,GAAI0d,GAAE,EAAEmgC,EAAG,OAAO79C,GAAEo+G,WAAW,EAAEp2G,GAAGhI,KAAKuD,IAAI,mBAAmBhB,MAAM,SAASyF,EAAE61C,EAAE79C,EAAEmU,GAAG,GAAG,EAAE0pC,EAAE,OAAM,CAAG,IAAIzxC,EAAE,IAAG,EAAEyxC,EAAEzxC,GAAGyxC,EAAE,MAAM,CAAC,GAAG,IAAI79C,EAAE,OAAM,CAAGA,KAAImU,EAAEnM,EAAEk2G,QAAQl+G,GAAGoM,EAAE,GAAG,GAAIsR,GAAE,GAAGtR,CAAE,IAAG,IAAI+H,EAAEuJ,GAAG,OAAM,CAAG,IAAGA,GAAG,EAAE,IAAIvJ,EAAEuJ,GAAG,MAAO,EAAE,MAAK,EAAE1d,GAAG,GAAGA,IAAI,IAAIgI,EAAEk2G,QAAQl+G,GAAG,MAAO,EAAE,OAAO,MAAKuD,IAAI,eAAehB,MAAM,SAASyF,GAAG0V,EAAEshG,uBAAuB,GAAGh3G,CAAE,IAAI61C,GAAE79C,EAAE,KAAK0d,EAAEqhG,qBAAqB,KAAK,GAAG5qG,EAAEnU,EAAE,KAAKoM,GAAG+H,IAAI,GAAG,EAAE7G,EAAE,GAAIoQ,GAAEtR,EAAE,EAAEpE,GAAGmZ,EAAE,QAAQzD,EAAEqhG,qBAAqB,GAAG,QAAQv+G,EAAEkd,EAAEqhG,qBAAqB,GAAG3nE,EAAE,GAAG6lD,EAAE,GAAG9oF,EAAEoD,EAAE,CAAE,IAAG0lF,EAAE7lD,EAAE,CAAC,GAAInvC,GAAEmvC,EAAE6lD,CAAE1lF,GAAEtP,EAAE,GAAG41C,EAAE18B,IAAIlZ,EAAEkZ,EAAEA,GAAG,GAAGlZ,EAAEzH,IAAIyH,EAAEzH,IAAI,GAAGyH,MAAO,IAAGg1F,IAAI7lD,EAAE7/B,EAAE,GAAGsmC,EAAE18B,EAAEA,EAAE3gB,MAAM,CAAC,GAAI22C,GAAE8lD,EAAE7lD,CAAE7/B,GAAE,GAAG4/B,EAAE0G,EAAE18B,GAAGg2B,EAAE32C,IAAI,GAAG22C,EAAEh2B,EAAE3gB,GAAG22C,EAAE7pC,EAAE8wG,WAAWhyG,EAAE,EAAEyxC,EAAG,KAAI,GAAIp9C,GAAE2L,EAAE,EAAE,GAAG3L,EAAEA,IAAI,EAAE8W,GAAGA,GAAG,GAAGsmC,EAAE18B,EAAEA,EAAE3gB,GAAGq9C,EAAE,EAAEvwC,EAAE8wG,WAAW39G,EAAEo9C,EAAG,OAAOvwC,GAAE6xG,YAAY57G,IAAI,iBAAiBhB,MAAM,SAASyF,GAAG,SAAS,IAAIA,GAAG,GAAGA,KAAK,KAAKA,EAAE,IAAIA,EAAE,QAAQA,EAAE,KAAKA,GAAG,MAAMA,EAAE,QAAQA,GAAGA,GAAG,OAAO,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,MAAMA,GAAG,OAAOA,MAAMzE,IAAI,eAAehB,MAAM,SAASyF,GAAG,GAAI61C,GAAE,EAAEj5C,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,EAAE5E,EAAE,EAAEmU,EAAEnM,EAAE5E,OAAOgJ,EAAE,CAAE,IAAGA,IAAI+H,EAAE,MAAOuJ,GAAE8gG,QAAS,KAAI,GAAIlxG,GAAEtF,EAAEmuC,WAAW/pC,GAAGsR,EAAEojG,eAAexzG,IAAI,CAAC,KAAKlB,IAAI+H,EAAE,MAAOuJ,GAAE8gG,QAASlxG,GAAEtF,EAAEmuC,WAAW/pC,GAAG,GAAG,KAAKkB,EAAE,CAAC,KAAKlB,IAAI+H,EAAE,MAAO,KAAK7G,GAAEtF,EAAEmuC,WAAW/pC,GAAGpM,EAAE,MAAO,IAAG,KAAKsN,EAAE,CAAC,KAAKlB,IAAI+H,EAAE,MAAO,KAAK7G,GAAEtF,EAAEmuC,WAAW/pC,GAAGpM,GAAE,EAAG,GAAG,IAAI69C,GAAG,GAAGA,EAAE,GAAG,KAAKvwC,EAAE,CAAC,KAAKlB,IAAI+H,EAAE,MAAOuJ,GAAE8gG,QAAS,IAAGlxG,EAAEtF,EAAEmuC,WAAW/pC,GAAG,KAAKkB,GAAG,MAAMA,EAAE,CAAC,GAAGuwC,EAAE,KAAKzxC,IAAI+H,EAAE,MAAO,KAAK7G,GAAEtF,EAAEmuC,WAAW/pC,OAAQ,IAAG,KAAKkB,GAAG,MAAMA,EAAE,CAAC,GAAGuwC,EAAE,IAAIzxC,IAAI+H,EAAE,MAAO,KAAK7G,GAAEtF,EAAEmuC,WAAW/pC,OAAQ,IAAG,KAAKkB,GAAG,KAAKA,EAAE,CAAC,GAAGuwC,EAAE,IAAIzxC,IAAI+H,EAAE,MAAO,KAAK7G,GAAEtF,EAAEmuC,WAAW/pC,SAAU,IAAG,KAAKyxC,GAAG,KAAKvwC,EAAE,CAAC,KAAKlB,IAAI+H,EAAE,MAAOuJ,GAAE8gG,QAAS,IAAGlxG,EAAEtF,EAAEmuC,WAAW/pC,GAAG,KAAKkB,GAAG,MAAMA,EAAE,CAAC,KAAKlB,IAAI+H,EAAE,MAAO,KAAK7G,GAAEtF,EAAEmuC,WAAW/pC,IAAI,KAAK,KAAKkB,GAAG,CAAC,KAAKlB,IAAI+H,EAAE,MAAOuJ,GAAE8gG,QAASlxG,GAAEtF,EAAEmuC,WAAW/pC,GAAG,GAAI+U,GAAEhN,EAAE/H,EAAE5L,EAAEkd,EAAEqjG,kBAAkBljE,GAAGzG,EAAE15B,EAAEsjG,8BAA8B,CAAE,IAAG7/F,EAAE,WAAW3gB,EAAE,MAAO,KAAK,IAAIy8F,GAAEz8F,EAAE2gB,EAAEi2B,IAAI15B,EAAEujG,yBAAyB1pG,EAAE,GAAImG,GAAEu/E,EAAE,KAAK,GAAE,GAAI9lD,EAAE,GAAG0G,EAAEA,EAAE,GAAGp9C,EAAE,GAAGo9C,EAAEA,EAAE,GAAG,CAAE,IAAG,IAAIA,EAAEA,EAAE,GAAG,CAACr9C,IAAIkd,EAAEujG,wBAAyB,IAAInhH,MAAKuP,KAAKipD,GAAE,CAAG,GAAE,CAAC,IAAI,GAAIphB,GAAExQ,EAAE,EAAEw6E,EAAE,IAAI,CAAC,GAAGhqE,EAAE,OAAO5pC,EAAE,KAAK,EAAE6pC,EAAED,EAAE5pC,EAAE,OAAQ,OAAI,GAAGA,GAAG,KAAK,EAAE7M,GAAkB,CAAC63D,GAAE,CAAG,OAAtBphB,GAAG,GAAG5pC,GAAG,GAAmB,GAAG4zG,GAAG1gH,EAAEkmC,EAAEA,GAAGlmC,EAAE02C,IAAI9qC,IAAI+H,EAAE,CAACmkD,GAAE,CAAG,OAAM,GAAGhrD,EAAEtF,EAAEmuC,WAAW/pC,GAAG,GAAG80G,EAAE1gH,EAAE,MAAMV,EAAEkN,KAAK05B,GAAGr3B,EAAErC,KAAKk0G,UAAU5oD,EAAG56C,GAAEyjG,gBAAgB5pG,EAAEzX,EAAEuP,OAAO,CAACkI,EAAEgoG,oBAAqB,IAAIx/G,IAAE,EAAGqhH,EAAE,CAAE,GAAE,CAAC,IAAI,GAAI3sC,GAAE4sC,EAAE,EAAEC,EAAE,IAAI,CAAC,GAAG7sC,EAAE,OAAOnnE,EAAE,KAAK,EAAE6pC,EAAEs9B,EAAEnnE,EAAE,OAAQ,OAAI,GAAGA,GAAG,KAAK,EAAE7M,GAAkB,CAACV,GAAE,CAAG,OAAtB00E,GAAG,GAAGnnE,GAAG,GAAmB,GAAI6R,GAAEmiG,EAAEzjE,CAAE,IAAG,WAAW1+B,EAAE,KAAM,IAAGmiG,EAAEniG,EAAEkiG,EAAEA,EAAExjE,EAAE42B,EAAE2sC,MAAMh1G,IAAI+H,EAAE,CAACpU,GAAE,CAAG,OAAMuN,EAAEtF,EAAEmuC,WAAW/pC,GAAGgrC,EAAE,GAAG15B,EAAEsjG,8BAA8B,CAAE,IAAInhH,GAAEW,EAAE4gH,EAAEhqE,IAAI15B,EAAEujG,yBAAyB,CAAE1pG,GAAEgqG,qBAAqBD,EAAED,EAAExhH,UAAUE,GAAG,GAAGqM,IAAI+H,EAAE,CAAC,IAAIuJ,EAAEojG,eAAexzG,GAAG,MAAO,KAAK,KAAIlB,IAAIA,EAAE+H,EAAE/H,IAAI,GAAGkB,EAAEtF,EAAEmuC,WAAW/pC,IAAIsR,EAAEojG,eAAexzG,GAAG,MAAO,MAAK,MAAO,KAAItN,GAAG,KAAK69C,EAAE,MAAMtmC,EAAE7O,MAAK,IAAK1I,EAAEuX,EAAE4nG,aAAa57G,IAAI,kBAAkBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,IAAI,GAAI/H,GAAE,EAAEsR,EAAE,EAAEpQ,EAAE,EAAE6T,EAAE08B,EAAEz6C,OAAO,EAAE,GAAG+d,EAAEA,IAAI,CAAC,GAAI3gB,GAAEq9C,EAAE18B,GAAGi2B,EAAEjjC,EAAEgN,EAAGzD,IAAGld,GAAG8M,EAAEA,GAAG8pC,EAAE,KAAK9pC,GAAGtF,EAAEo2G,WAAWhyG,IAAIsR,GAAGpQ,EAAE,EAAEoQ,EAAE,GAAG,GAAGpQ,IAAItF,EAAEo2G,WAAWhyG,IAAIsR,GAAGpQ,GAAG,GAAGoQ,EAAEld,IAAI42C,EAAE9pC,GAAG,GAAG,IAAIoQ,EAAE,CAAC,GAAGtR,GAAGpE,EAAE5E,OAAO,KAAM,IAAIqE,OAAM,qBAAsBO,GAAEo2G,WAAWhyG,IAAIsR,GAAG,KAAKtR,EAAEpE,EAAE5E,OAAOgJ,IAAIpE,EAAEo2G,WAAWhyG,EAAE,MAAM7I,IAAI,2BAA2BhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAEnM,EAAE5E,OAAOgJ,EAAEyxC,EAAE,CAAEzxC,IAAG,GAAGA,IAAI,IAAI,GAAGA,GAAGA,GAAG,GAAGA,IAAI,IAAI,GAAGA,GAAGA,GAAG,GAAGA,IAAI,IAAI,GAAGA,EAAG,IAAIkB,GAAElB,EAAE+U,EAAE08B,EAAE,EAAEr9C,EAAEwH,EAAEk2G,QAAQ/pG,EAAE,GAAGijC,EAAE15B,EAAEugG,QAAQz9G,GAAGy8F,EAAE,GAAG,GAAG9oF,EAAEijC,EAAE9pC,EAAE,GAAGA,CAAE,IAAGtF,EAAEU,MAAMu0F,IAAI,UAAUA,EAAE,KAAM,IAAIx1F,OAAM,kBAAmB,KAAI,GAAI8P,GAAEpR,MAAM82F,GAAGh1F,EAAEg1F,EAAE,EAAE9lD,EAAE,EAAE12C,EAAE,EAAEZ,EAAE,EAAEA,EAAEsU,EAAE,EAAEtU,IAAI,CAAC,GAAIC,GAAEkI,EAAEk2G,QAAQr+G,GAAGwP,GAAG8nC,EAAEr3C,GAAGW,GAAG0gB,CAAE5J,GAAEtP,KAAKyV,EAAE8jG,mBAAmBnyG,EAAG,IAAIipD,GAAEhrD,EAAE7M,CAAE,KAAI02C,EAAEr3C,IAAIw4D,EAAE73D,EAAE,GAAG63D,EAAE73D,GAAG6M,GAAGiK,EAAEtP,KAAKyV,EAAE8jG,mBAAmBrqE,EAAEh2B,GAAGg2B,KAAK7pC,EAAE7M,GAAG6M,EAAE,GAAI4pC,IAAGC,EAAE32C,GAAGC,GAAG0gB,CAAE,KAAI5J,EAAEtP,KAAKyV,EAAE8jG,mBAAmBtqE,GAAGC,EAAE32C,IAAI8M,EAAE7M,EAAE,IAAI02C,GAAG5/B,EAAEtP,KAAKyV,EAAE8jG,mBAAmBrqE,EAAEh2B,GAAGg2B,KAAK7pC,CAAE,IAAGtF,EAAEU,OAAO6O,EAAEtP,KAAK,MAAK,IAAKA,EAAE,KAAM,IAAIR,OAAM,qBAAsB,OAAO8P,GAAEyS,KAAK,OAAOzmB,IAAI,oBAAoBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,GAAI/H,GAAEpE,EAAE5E,MAAO,IAAG,IAAIgJ,EAAE,MAAM,EAAG,IAAG,IAAIA,EAAE,CAAC,GAAIkB,GAAEtF,EAAEu2G,gBAAgB,GAAGnzG,SAASyyC,EAAG,QAAM,IAAK1pC,GAAGnM,EAAEU,OAAO4E,EAAE,IAAIA,GAAGA,EAAE,GAAI6T,GAAE,GAAG/U,EAAEsR,EAAEugG,QAAQj2G,EAAEk2G,QAAQ9xG,EAAE,IAAI5L,EAAEkd,EAAEqjG,kBAAkBljE,GAAGzG,EAAE52C,EAAE,EAAEy8F,EAAE97E,EAAEzD,EAAEsjG,6BAA8B/jB,IAAG7lD,EAAE,EAAE6lD,EAAE,EAAEA,EAAE7lD,CAAE,IAAI7/B,GAAEtP,EAAEkvC,EAAE8lD,EAAE,GAAG,EAAEx8F,EAAEid,EAAE+jG,aAAa/jG,EAAE+gG,WAAW5gE,GAAE,GAAIngC,EAAE+gG,WAAWtnE,GAAE,IAAKt3C,EAAEY,EAAE89G,gBAAgB,EAAG,IAAG,IAAI99G,EAAE2C,QAAQ,OAAOvD,EAAE,CAAC0X,EAAE,GAAImG,GAAE1V,EAAE5E,QAAO,GAAImU,EAAEgoG,oBAAqB,KAAI,GAAIz/G,GAAEuP,EAAE,EAAEipD,EAAE,EAAEtwD,EAAE5E,OAAO,EAAE,GAAGk1D,EAAEA,IAAIx4D,EAAEuP,GAAG,GAAGrH,EAAEq2G,YAAY/lD,GAAG/gD,EAAE+mG,eAAehmD,EAAE,EAAEx4D,EAAED,GAAGwP,EAAE,EAAEvP,EAAED,CAAEoI,GAAEoH,EAAEjE,SAASyyC,OAAO,CAAC,GAAI3G,GAAEx5B,EAAEkiG,mBAAmB53G,EAAEvH,GAAE,GAAG,EAAI8W,GAAE2/B,EAAEwqE,QAAS,IAAIh7E,GAAEwQ,EAAE61B,UAAUoyC,QAASl3G,GAAEyV,EAAEsgG,kBAAkBt3E,EAAEmX,GAAE,GAAItmC,EAAE4nG,QAAS,KAAI,GAAI+B,GAAExjG,EAAEsgG,kBAAkBzmG,EAAEsmC,GAAE,GAAI51C,EAAE7E,OAAO+zC,GAAGlvC,EAAE,IAAIA,CAAE,QAAM,IAAKkM,GAAGnM,EAAEU,OAAOw4G,EAAE,IAAIA,GAAGA,EAAEj5G,KAAK1E,IAAI,gBAAgBhB,MAAM,SAASyF,GAAG,MAAOA,IAAE,EAAG,KAAKzE,IAAI,oBAAoBhB,MAAM,SAASyF,GAAG,MAAOA,IAAE,EAAG,KAAKzE,IAAI,iBAAiBhB,MAAM,SAASyF,GAAG,MAAOA,GAAE,GAAE,KAAMzE,IAAI,oBAAoBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI79C,GAAEgI,EAAEU,IAAK,IAAG1I,IAAI69C,EAAEn1C,KAAK,MAAOgV,GAAEikG,cAAc3hH,EAAG,IAAImU,GAAEuJ,EAAEgiG,kBAAkB13G,EAAE61C,EAAG,OAAO,GAAE1pC,EAAEuJ,EAAEkkG,kBAAkB5hH,GAAG,EAAEmU,EAAEuJ,EAAEmkG,eAAe7hH,GAAG,KAAKuD,IAAI,oBAAoBhB,MAAM,SAASyF,EAAE61C,GAAG,IAAG,EAAGA,EAAE,CAAC,GAAI79C,GAAEgI,EAAEU,KAAKyL,EAAE,EAAE0pC,CAAE,IAAG79C,IAAImU,EAAE,MAAOuJ,GAAEikG,cAAc3hH,EAAG,IAAG,IAAIgI,EAAE5E,OAAO,CAAC,GAAG+Q,EAAE,KAAM,IAAI1M,OAAM,qBAAsB,OAAO,KAAIo2C,EAAE,GAAE,EAAG,GAAG,EAAE71C,EAAE5E,OAAO,MAAOsa,GAAEkkG,kBAAkB5hH,EAAG,IAAIoM,GAAEkB,EAAEuwC,GAAG18B,EAAEnZ,EAAEu2G,gBAAgB,EAAG,OAAOp9F,GAAE/U,EAAEsR,EAAEkkG,kBAAkB5hH,GAAGmhB,EAAE/U,EAAEsR,EAAEmkG,eAAe7hH,GAAG,EAAE,MAAO0d,GAAEokG,kBAAkB95G,EAAE61C,MAAMt6C,IAAI,oBAAoBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAGA,IAAIA,EAAE,MAAOA,EAAE,IAAGA,IAAI,EAAE,EAAE,OAAM,CAAG,IAAGA,MAAKzF,KAAS,MAAO,EAAE,IAAIp4C,GAAEgI,EAAEU,IAAK,IAAG1I,IAAI,EAAE69C,EAAE,MAAOngC,GAAEikG,cAAc3hH,EAAG,IAAG,IAAI69C,EAAE,KAAM,IAAIp2C,OAAM,kDAAmD,IAAG,IAAIO,EAAE5E,OAAO,OAAM,CAAGsa,GAAEshG,uBAAuB,GAAGnhE,CAAE,IAAI1pC,GAAE,KAAKuJ,EAAEqhG,qBAAqB,KAAK,EAAG,IAAG,MAAM5qG,EAAE,KAAM,IAAI1M,OAAM,wCAAyC,IAAI2E,GAAE+H,EAAE,IAAK,IAAG,EAAE/H,EAAE,MAAOsR,GAAEkkG,kBAAkB5hH,EAAG,IAAIsN,GAAEtF,EAAE5E,OAAO+d,EAAEnZ,EAAEk2G,QAAQ5wG,EAAE,GAAG9M,EAAEkd,EAAEugG,QAAQ98F,GAAGi2B,EAAE,GAAG9pC,EAAE9M,EAAEy8F,EAAE7wF,EAAE,CAAE,IAAGgrC,EAAE6lD,EAAE,MAAOv/E,GAAEmkG,eAAe7hH,EAAG,IAAGo3C,EAAE6lD,EAAE,MAAOv/E,GAAEkkG,kBAAkB5hH,EAAG,IAAIuX,GAAE,QAAQ,QAAQmG,EAAEqhG,qBAAqB,GAAG92G,EAAEyV,EAAEqhG,qBAAqB,GAAG5nE,EAAE,GAAG12C,EAAE,GAAGD,CAAE,IAAGC,KAAK22C,EAAE,GAAG,GAAG,KAAM,IAAI3vC,OAAM,qBAAsB,IAAI5H,GAAEC,EAAE,CAAE,IAAGW,EAAE02C,EAAE,CAAC,GAAI9nC,GAAE8nC,EAAE12C,CAAEX,GAAEuP,EAAE,GAAGxP,EAAE0X,IAAIlI,EAAEkI,EAAEA,GAAG,GAAGlI,EAAEpH,IAAIoH,EAAEpH,IAAI,GAAGoH,MAAO,IAAG5O,IAAI02C,EAAEr3C,EAAE,GAAGD,EAAE0X,EAAEA,EAAEtP,MAAM,CAAC,GAAIqwD,GAAE73D,EAAE02C,CAAEr3C,GAAE,GAAGw4D,EAAEz4D,EAAE0X,GAAG+gD,EAAErwD,IAAI,GAAGqwD,EAAE/gD,EAAEtP,GAAGqwD,EAAE,GAAGn3C,KAAK,EAAEthB,KAAK,EAAEshB,EAAEthB,EAAE,MAAO6d,GAAEkkG,kBAAkB5hH,EAAG,IAAGmhB,EAAEthB,EAAE,MAAO6d,GAAEmkG,eAAe7hH,EAAG,KAAI,GAAIk3C,GAAE5pC,EAAE,EAAE,GAAG4pC,EAAEA,IAAI,CAAC,EAAEp3C,GAAGA,GAAG,GAAGD,EAAE0X,IAAI,EAAEA,EAAEtP,EAAEA,EAAE,GAAGpI,EAAE,CAAE,IAAI6mC,GAAE1+B,EAAEu2G,gBAAgBrnE,EAAG,IAAGxQ,EAAE7mC,EAAE,MAAO6d,GAAEkkG,kBAAkB5hH,EAAG,IAAG0mC,EAAE7mC,EAAE,MAAO6d,GAAEmkG,eAAe7hH,GAAG,GAAG,IAAIuX,GAAG,IAAItP,EAAE,CAAC,GAAG,IAAInI,EAAE,KAAM,IAAI2H,OAAM,qBAAsB,OAAOiW,GAAEmkG,eAAe7hH,GAAG,MAAO,MAAKuD,IAAI,kBAAkBhB,MAAM,SAASyF,EAAE61C,GAAG,MAAOA,GAAE,IAAIA,EAAE,IAAIA,EAAE,IAAI71C,EAAE5E,OAAO,IAAI4E,EAAE5E,QAAQ4E,EAAEU,OAAO,EAAEm1C,GAAG71C,EAAEu2G,gBAAgB,KAAKjxG,EAAEuwC,GAAG,IAAIngC,EAAEokG,kBAAkB95G,EAAE61C,MAAMt6C,IAAI,2BAA2BhB,MAAM,SAASyF,EAAE61C,GAAG,OAAOA,GAAG,IAAK,GAAE,MAAO,GAAE71C,CAAE,KAAK,GAAE,MAAO,IAAGA,CAAE,KAAK,GAAE,MAAO,GAAEA,CAAE,KAAK,GAAE,MAAO,IAAGA,EAAG,KAAM,IAAIP,OAAM,kBAAkBlE,IAAI,YAAYhB,MAAM,SAASyF,EAAE61C,EAAE79C,GAAG,GAAGgI,EAAE0V,EAAEmhG,cAAc72G,GAAG61C,EAAEngC,EAAEmhG,cAAchhE,GAAG,gBAAiB71C,IAAG,gBAAiB61C,GAAE,OAAO79C,GAAG,IAAK,GAAE,MAAOgI,GAAE61C,CAAE,KAAK,GAAE,MAAO71C,IAAG61C,CAAE,KAAK,GAAE,MAAO71C,GAAE61C,CAAE,KAAK,GAAE,MAAO71C,IAAG61C,EAAG,GAAGngC,EAAEgjG,WAAW14G,IAAI,gBAAiB61C,GAAE,MAAOA,GAAEngC,EAAEihG,aAAa9gE,GAAG,OAAOA,GAAGngC,EAAEqkG,yBAAyBrkG,EAAEwiG,kBAAkBl4G,EAAE61C,GAAG79C,EAAG,IAAG,gBAAiBgI,IAAG0V,EAAEgjG,WAAW7iE,GAAG,MAAO71C,GAAE0V,EAAEihG,aAAa32G,GAAG,OAAOA,GAAG0V,EAAEqkG,yBAAyBrkG,EAAEwiG,kBAAkBl4G,EAAE61C,GAAG79C,EAAG,IAAGgI,EAAE0V,EAAE+iG,YAAYz4G,GAAG61C,EAAEngC,EAAE+iG,YAAY5iE,GAAGngC,EAAEgjG,WAAW14G,GAAG,CAAC,GAAG0V,EAAEgjG,WAAW7iE,GAAG,MAAOngC,GAAEqkG,yBAAyBrkG,EAAEwiG,kBAAkBl4G,EAAE61C,GAAG79C,EAAG,IAAG,gBAAiB69C,GAAE,KAAM,IAAIp2C,OAAM,qBAAsB,OAAOiW,GAAEqkG,yBAAyBrkG,EAAEskG,kBAAkBh6G,EAAE61C,GAAG79C,GAAG,GAAG,gBAAiBgI,GAAE,KAAM,IAAIP,OAAM,qBAAsB,IAAGiW,EAAEgjG,WAAW7iE,GAAG,MAAOngC,GAAEqkG,yBAAyBrkG,EAAEskG,kBAAkBnkE,EAAE71C,GAAG,EAAEhI,EAAG,IAAG,gBAAiB69C,GAAE,KAAM,IAAIp2C,OAAM,qBAAsB,OAAO,KAAIzH,EAAEgI,EAAE61C,EAAE,IAAI79C,EAAEgI,GAAG61C,EAAE,IAAI79C,EAAEgI,EAAE61C,EAAE,IAAI79C,EAAEgI,GAAG61C,EAAE,UAAUt6C,IAAI,gBAAgBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,GAAGnM,EAAE5E,OAAOy6C,EAAEz6C,OAAO,MAAOsa,GAAEoiG,cAAcjiE,EAAE71C,EAAEmM,EAAG,IAAG,IAAInM,EAAE5E,OAAO,MAAO4E,EAAE,IAAG,IAAI61C,EAAEz6C,OAAO,MAAO4E,GAAEU,OAAOyL,EAAEnM,EAAE0V,EAAE2hG,WAAWr3G,EAAG,IAAIoE,GAAEpE,EAAE5E,QAAQ,IAAI4E,EAAEw3G,YAAY3hE,EAAEz6C,SAAS4E,EAAE5E,QAAQ,IAAIy6C,EAAE2hE,aAAapzG,GAAI,KAAI,GAAIkB,GAAE,GAAIoQ,GAAEtR,EAAE+H,GAAGgN,EAAE,EAAE3gB,EAAE,EAAEA,EAAEq9C,EAAEz6C,OAAO5C,IAAI,CAAC,GAAI42C,GAAEyG,EAAEqgE,QAAQ19G,GAAGy8F,EAAEj1F,EAAEk2G,QAAQ19G,GAAG+W,GAAG,MAAM0lF,IAAI,MAAM7lD,GAAGj2B,EAAElZ,GAAGg1F,IAAI,KAAK7lD,IAAI,KAAK7/B,IAAI,GAAI4J,GAAElZ,IAAI,GAAGqF,EAAE8wG,WAAW59G,EAAE,MAAM+W,EAAEtP,GAAG,IAAI,KAAKzH,EAAEwH,EAAE5E,OAAO5C,IAAI,CAAC,GAAI22C,GAAEnvC,EAAEk2G,QAAQ19G,GAAGC,GAAG,MAAM02C,GAAGh2B,EAAEthB,GAAGs3C,IAAI,KAAK12C,IAAI,GAAI0gB,GAAEthB,IAAI,GAAGyN,EAAE8wG,WAAW59G,EAAE,MAAMC,EAAEZ,GAAG,IAAI,MAAOW,GAAE8M,EAAElK,QAAQkK,EAAE8wG,WAAW59G,EAAE2gB,GAAG7T,EAAE6xG,YAAY57G,IAAI,gBAAgBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,GAAG,IAAInM,EAAE5E,OAAO,MAAO4E,EAAE,IAAG,IAAI61C,EAAEz6C,OAAO,MAAO4E,GAAEU,OAAOyL,EAAEnM,EAAE0V,EAAE2hG,WAAWr3G,EAAG,KAAI,GAAIoE,GAAE,GAAIsR,GAAE1V,EAAE5E,OAAO+Q,GAAG7G,EAAE,EAAE6T,EAAE,EAAEA,EAAE08B,EAAEz6C,OAAO+d,IAAI,CAAC,GAAI3gB,GAAEwH,EAAEk2G,QAAQ/8F,GAAGi2B,EAAEyG,EAAEqgE,QAAQ/8F,GAAG87E,GAAG,MAAMz8F,IAAI,MAAM42C,GAAG9pC,CAAEA,GAAE,EAAE2vF,IAAI,EAAG,IAAI1lF,IAAG/W,IAAI,KAAK42C,IAAI,IAAI9pC,CAAEA,GAAE,EAAEiK,IAAI,GAAGnL,EAAEgyG,WAAWj9F,EAAE,MAAM87E,EAAE1lF,GAAG,IAAI,KAAK4J,EAAEnZ,EAAE5E,OAAO+d,IAAI,CAAC,GAAIlZ,GAAED,EAAEk2G,QAAQ/8F,GAAGg2B,GAAG,MAAMlvC,GAAGqF,CAAEA,GAAE,EAAE6pC,IAAI,EAAG,IAAI12C,IAAGwH,IAAI,IAAIqF,CAAEA,GAAE,EAAE7M,IAAI,GAAG2L,EAAEgyG,WAAWj9F,EAAE,MAAMg2B,EAAE12C,GAAG,IAAI,MAAO2L,GAAE+yG,YAAY57G,IAAI,mBAAmBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAE,EAAEvP,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,KAAKwH,EAAEpE,EAAE5E;AAAO,OAAO+Q,EAAEA,EAAE,GAAIuJ,GAAEtR,EAAEyxC,GAAG1pC,EAAEzL,KAAKm1C,CAAE,KAAI,GAAIvwC,GAAE6T,GAAE,EAAG3gB,EAAE,EAAEA,EAAE4L,EAAE5L,IAAI,CAAC,GAAG8M,EAAEtF,EAAEk2G,QAAQ19G,GAAG2gB,EAAE,CAAC,GAAIi2B,IAAE,IAAK9pC,CAAEA,GAAE,EAAEA,EAAE,EAAE6T,EAAEi2B,EAAEjjC,EAAEiqG,WAAW59G,EAAE8M,GAAG,MAAO6T,IAAGhN,EAAE8tG,eAAe71G,EAAE,GAAG+H,KAAK5Q,IAAI,mBAAmBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAEnM,EAAE5E,MAAOy6C,GAAEA,GAAG1pC,CAAE,KAAI,GAAI/H,GAAEkB,EAAE,GAAIoQ,GAAEmgC,GAAE,GAAI18B,GAAE,EAAG3gB,EAAE,EAAEA,EAAE2T,EAAE3T,IAAI,CAAC,GAAG4L,EAAEpE,EAAEk2G,QAAQ19G,GAAG2gB,EAAE,CAAC,GAAIi2B,GAAE,IAAIhrC,CAAEA,GAAE,EAAEA,EAAE,EAAE+U,EAAEi2B,EAAE9pC,EAAE8wG,WAAW59G,EAAE4L,GAAG,GAAG+U,EAAE,KAAM,IAAI1Z,OAAM,qBAAsB,KAAI,GAAIw1F,GAAE9oF,EAAE8oF,EAAEp/C,EAAEo/C,IAAI3vF,EAAE8wG,WAAWnhB,EAAE,EAAG,OAAO3vF,MAAK/J,IAAI,gBAAgBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAE,EAAEvP,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,KAAKwH,EAAEpE,EAAE5E,OAAOkK,EAAEuwC,EAAEz6C,OAAO+d,EAAE7T,CAAE,IAAGlB,EAAEkB,EAAE,CAAC6T,EAAE/U,CAAE,IAAI5L,GAAEwH,EAAEovC,EAAEhrC,CAAEpE,GAAE61C,EAAEzxC,EAAEkB,EAAEuwC,EAAEr9C,EAAE8M,EAAE8pC,EAAE,GAAI6lD,GAAE97E,CAAE,QAAOhN,EAAEA,EAAE,GAAIuJ,GAAEu/E,GAAE,GAAIA,EAAE9oF,EAAE/Q,MAAO,KAAI,GAAImU,GAAE,EAAEA,EAAE4J,EAAE5J,IAAIpD,EAAEiqG,WAAW7mG,EAAEvP,EAAEk2G,QAAQ3mG,GAAGsmC,EAAEqgE,QAAQ3mG,GAAI,MAAKA,EAAE0lF,EAAE1lF,IAAIpD,EAAEiqG,WAAW7mG,EAAE,EAAG,OAAOpD,MAAK5Q,IAAI,mBAAmBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAE,EAAEvP,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,KAAKwH,EAAEpE,EAAE5E,OAAOkK,EAAEuwC,EAAEz6C,OAAO+d,EAAE7T,CAAElB,GAAEkB,IAAI6T,EAAE/U,EAAG,IAAI5L,GAAE4L,CAAE,QAAO+H,EAAEA,EAAE,GAAIuJ,GAAEld,GAAE,GAAIA,EAAE2T,EAAE/Q,MAAO,KAAI,GAAIg0C,GAAE,EAAEA,EAAEj2B,EAAEi2B,IAAIjjC,EAAEiqG,WAAWhnE,EAAEpvC,EAAEk2G,QAAQ9mE,IAAIyG,EAAEqgE,QAAQ9mE,GAAI,MAAKA,EAAEhrC,EAAEgrC,IAAIjjC,EAAEiqG,WAAWhnE,EAAEpvC,EAAEk2G,QAAQ9mE,GAAI,MAAKA,EAAE52C,EAAE42C,IAAIjjC,EAAEiqG,WAAWhnE,EAAE,EAAG,OAAOjjC,MAAK5Q,IAAI,eAAehB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAE,EAAEvP,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,KAAKwH,EAAEpE,EAAE5E,OAAOkK,EAAEuwC,EAAEz6C,OAAO+d,EAAE7T,CAAE,IAAGlB,EAAEkB,EAAE,CAAC6T,EAAE/U,CAAE,IAAI5L,GAAEwH,EAAEovC,EAAEhrC,CAAEpE,GAAE61C,EAAEzxC,EAAEkB,EAAEuwC,EAAEr9C,EAAE8M,EAAE8pC,EAAE,GAAI6lD,GAAE7wF,CAAE,QAAO+H,EAAEA,EAAE,GAAIuJ,GAAEu/E,GAAE,GAAIA,EAAE9oF,EAAE/Q,MAAO,KAAI,GAAImU,GAAE,EAAEA,EAAE4J,EAAE5J,IAAIpD,EAAEiqG,WAAW7mG,EAAEvP,EAAEk2G,QAAQ3mG,GAAGsmC,EAAEqgE,QAAQ3mG,GAAI,MAAKA,EAAEnL,EAAEmL,IAAIpD,EAAEiqG,WAAW7mG,EAAEvP,EAAEk2G,QAAQ3mG,GAAI,MAAKA,EAAE0lF,EAAE1lF,IAAIpD,EAAEiqG,WAAW7mG,EAAE,EAAG,OAAOpD,MAAK5Q,IAAI,gBAAgBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAE,EAAEvP,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,KAAKwH,EAAEpE,EAAE5E,OAAOkK,EAAEuwC,EAAEz6C,OAAO+d,EAAE7T,CAAE,IAAGlB,EAAEkB,EAAE,CAAC6T,EAAE/U,CAAE,IAAI5L,GAAEwH,EAAEovC,EAAEhrC,CAAEpE,GAAE61C,EAAEzxC,EAAEkB,EAAEuwC,EAAEr9C,EAAE8M,EAAE8pC,EAAE,GAAI6lD,GAAE7wF,CAAE,QAAO+H,EAAEA,EAAE,GAAIuJ,GAAEu/E,GAAE,GAAIA,EAAE9oF,EAAE/Q,MAAO,KAAI,GAAImU,GAAE,EAAEA,EAAE4J,EAAE5J,IAAIpD,EAAEiqG,WAAW7mG,EAAEvP,EAAEk2G,QAAQ3mG,GAAGsmC,EAAEqgE,QAAQ3mG,GAAI,MAAKA,EAAEnL,EAAEmL,IAAIpD,EAAEiqG,WAAW7mG,EAAEvP,EAAEk2G,QAAQ3mG,GAAI,MAAKA,EAAE0lF,EAAE1lF,IAAIpD,EAAEiqG,WAAW7mG,EAAE,EAAG,OAAOpD,MAAK5Q,IAAI,oBAAoBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAEnM,EAAE5E,OAAOy6C,EAAEz6C,MAAO,IAAG,GAAG+Q,EAAE,MAAOA,EAAE,KAAI,GAAI/H,GAAEpE,EAAE5E,OAAO,EAAE,GAAGgJ,GAAGpE,EAAEk2G,QAAQ9xG,KAAKyxC,EAAEqgE,QAAQ9xG,IAAIA,GAAI,OAAO,GAAEA,EAAE,EAAEpE,EAAEu2G,gBAAgBnyG,GAAGyxC,EAAE0gE,gBAAgBnyG,GAAG,GAAE,KAAM7I,IAAI,uBAAuBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,EAAE/H,GAAG,GAAG,IAAIyxC,EAAE,CAAC,IAAI,GAAIvwC,GAAE,MAAMuwC,EAAE18B,EAAE08B,IAAI,GAAGr9C,EAAE,EAAE42C,EAAE,EAAE6lD,EAAE,EAAE1lF,EAAE,EAAEA,EAAEvP,EAAE5E,OAAOmU,IAAInL,IAAI,CAAC,GAAInE,GAAEkM,EAAE+pG,QAAQ9xG,GAAG+qC,EAAE,MAAMlvC,EAAExH,EAAEwH,IAAI,GAAGpI,EAAEmI,EAAEk2G,QAAQ3mG,GAAGzX,EAAE,MAAMD,EAAEwP,EAAExP,IAAI,GAAGy4D,EAAE56C,EAAEygG,OAAOr+G,EAAEwN,GAAG4pC,EAAEx5B,EAAEygG,OAAOr+G,EAAEqhB,GAAGulB,EAAEhpB,EAAEygG,OAAO9uG,EAAE/B,GAAG4zG,EAAExjG,EAAEygG,OAAO9uG,EAAE8R,EAAGg2B,IAAGC,GAAG,MAAMkhB,GAAG73D,GAAGw8F,EAAEz8F,GAAG22C,IAAI,KAAKmhB,IAAI,KAAK,MAAMphB,IAAI,MAAMxQ,GAAGlmC,EAAEC,IAAI,GAAG22C,GAAGF,IAAI,KAAKxQ,IAAI,KAAK,MAAMw6E,GAAG1gH,EAAEA,EAAE42C,IAAI,GAAGA,GAAG,MAAM6lD,EAAEikB,IAAI,GAAGj5G,EAAE,MAAMkvC,EAAE12C,GAAG,GAAG0T,EAAEiqG,WAAWhyG,EAAEnE,GAAG,KAAK,IAAIzH,GAAG,IAAI42C,GAAG,IAAI6lD,EAAE7wF,IAAI,CAAC,GAAIrM,GAAEoU,EAAE+pG,QAAQ9xG,GAAGg1G,GAAG,MAAMrhH,GAAGq3C,EAAEq9B,GAAG10E,IAAI,KAAKqhH,IAAI,IAAInkB,EAAEz8F,CAAE42C,GAAE,EAAE6lD,EAAE,EAAEz8F,EAAEi0E,IAAI,GAAG10E,EAAE,MAAMqhH,EAAE3sC,GAAG,GAAGtgE,EAAEiqG,WAAWhyG,EAAErM,QAAQwD,IAAI,wBAAwBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,EAAE7G,EAAE6T,GAAG,IAAI,GAAI3gB,GAAE2T,EAAEijC,EAAE,EAAE6lD,EAAE,EAAEA,EAAE3vF,EAAE2vF,IAAI,CAAC,GAAI1lF,GAAEvP,EAAEk2G,QAAQjhB,GAAGh1F,EAAEyV,EAAEygG,OAAO,MAAM5mG,EAAEsmC,GAAG1G,GAAG,MAAMlvC,GAAGmvC,EAAE52C,CAAEA,GAAE22C,IAAI,EAAG,IAAI12C,GAAEid,EAAEygG,OAAO5mG,IAAI,GAAGsmC,GAAGh+C,GAAG,MAAMY,IAAIwH,IAAI,IAAIzH,CAAEA,GAAEX,IAAI,GAAGu3C,EAAE32C,IAAI,GAAG0gB,EAAEi9F,WAAWnhB,EAAEp9F,GAAG,GAAG,MAAMs3C,GAAG,GAAGh2B,EAAE/d,OAAOkK,EAAE,IAAI6T,EAAEi9F,WAAW9wG,IAAI9M,EAAE42C,GAAG9pC,EAAE6T,EAAE/d,QAAQ+d,EAAEi9F,WAAW9wG,IAAI,OAAQ,IAAG,IAAI9M,EAAE42C,EAAE,KAAM,IAAI3vC,OAAM,yBAAyBlE,IAAI,qBAAqBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,OAAOA,IAAIA,EAAE,GAAIuJ,GAAE1V,EAAE5E,QAAO,GAAK,KAAI,GAAIgJ,GAAE,EAAEkB,EAAE,EAAEtF,EAAE5E,OAAO,EAAE,GAAGkK,EAAEA,GAAG,EAAE,CAAC,GAAI6T,IAAG/U,GAAG,GAAGpE,EAAEq2G,YAAY/wG,MAAM,EAAE9M,EAAE,EAAE2gB,EAAE08B,CAAEzxC,GAAE,EAAE+U,EAAE08B,EAAE18B,GAAG/U,GAAG,GAAGpE,EAAEq2G,YAAY/wG,EAAE,MAAM,CAAE,IAAI8pC,GAAE,EAAEj2B,EAAE08B,CAAEzxC,GAAE,EAAE+U,EAAE08B,EAAE1pC,EAAEiqG,WAAW9wG,IAAI,EAAE9M,GAAG,GAAG42C,GAAG,MAAOjjC,MAAK5Q,IAAI,qBAAqBhB,MAAM,SAASyF,EAAE61C,GAAG,IAAI,GAAI1pC,GAAE/H,EAAE,EAAEsR,EAAE,EAAE1V,EAAE5E,OAAO,EAAE,GAAGsa,EAAEA,IAAIvJ,GAAG/H,GAAG,GAAGpE,EAAEq2G,YAAY3gG,MAAM,EAAEtR,EAAE,EAAE+H,EAAE0pC,CAAE,OAAOzxC,MAAK7I,IAAI,qBAAqBhB,MAAM,SAASyF,EAAE61C,EAAE79C,EAAEmU,GAAG,GAAI7G,GAAEuwC,EAAEqkE,oBAAoB91G,EAAEyxC,EAAEz6C,OAAO+d,EAAEnZ,EAAEk6G,oBAAoB50G,EAAE9M,EAAE,IAAKR,KAAIQ,EAAE,GAAIkd,GAAEyD,EAAE,IAAI,GAAE,GAAI3gB,EAAE++G,qBAAsB,IAAInoE,GAAE,GAAI15B,GAAEpQ,EAAE,IAAI,GAAE,EAAI8pC,GAAEmoE,oBAAqB,IAAIhoG,GAAEmG,EAAEykG,QAAQtkE,EAAEwgE,YAAY/wG,EAAE,GAAI,GAAEiK,IAAIsmC,EAAEngC,EAAE0kG,mBAAmBvkE,EAAEtmC,EAAE,GAAI,KAAI,GAAItP,GAAEyV,EAAE0kG,mBAAmBp6G,EAAEuP,EAAE,GAAG0lF,EAAEp/C,EAAEwgE,YAAY/wG,EAAE,GAAG6pC,EAAE,EAAE12C,EAAE0gB,EAAE,GAAG1gB,EAAEA,IAAI,CAAC,GAAIZ,GAAE,MAAMwP,EAAEpH,EAAEo2G,YAAY59G,EAAE6M,EAAG,IAAG+B,IAAI4tF,EAAE,CAAC,GAAI3kC,IAAGjpD,GAAG,GAAGpH,EAAEo2G,YAAY59G,EAAE6M,EAAE,MAAM,CAAEzN,GAAE,EAAEy4D,EAAE2kC,CAAE,KAAI,GAAI/lD,GAAE,EAAEohB,EAAE2kC,EAAEv2D,EAAEmX,EAAEwgE,YAAY/wG,EAAE,GAAG4zG,EAAEj5G,EAAEo2G,YAAY59G,EAAE6M,EAAE,GAAGoQ,EAAEygG,OAAOt+G,EAAE6mC,KAAK,GAAGwQ,GAAG,GAAGgqE,KAAK,IAAIrhH,IAAIq3C,GAAG+lD,IAAI,MAAM/lD,OAAOx5B,EAAE2kG,sBAAsBxkE,EAAEh+C,EAAE,EAAEuM,EAAEgrC,EAAG,IAAIr3C,GAAEkI,EAAEq6G,aAAalrE,EAAE32C,EAAE6M,EAAE,EAAG,KAAIvN,IAAIA,EAAEkI,EAAEs6G,aAAa1kE,EAAEp9C,EAAE6M,GAAGrF,EAAEq2G,eAAe79G,EAAE6M,EAAErF,EAAEo2G,YAAY59G,EAAE6M,GAAGvN,GAAGF,KAAKG,IAAI,EAAES,EAAE02C,EAAEt3C,GAAG,GAAGW,EAAE49G,WAAW39G,IAAI,EAAE02C,EAAEt3C,IAAI,MAAOsU,IAAGlM,EAAEu6G,oBAAoBjrG,GAAGvX,GAAG0hH,SAASlhH,EAAEusE,UAAU9kE,GAAGA,GAAGjI,EAAEQ,EAAE,UAAU+C,IAAI,UAAUhB,MAAM,SAASyF,GAAG,MAAO0V,GAAEugG,QAAQj2G,GAAG,MAAMzE,IAAI,qBAAqBhB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,GAAI7G,GAAEtF,EAAE5E,OAAOgJ,EAAE,GAAIsR,GAAEpQ,EAAE6G,GAAE,EAAI,IAAG,IAAI0pC,EAAE,CAAC,IAAI,GAAI18B,GAAE,EAAEA,EAAE7T,EAAE6T,IAAI/U,EAAEgyG,WAAWj9F,EAAEnZ,EAAEk2G,QAAQ/8F,GAAI,OAAO,GAAEhN,GAAG/H,EAAEgyG,WAAW9wG,EAAE,GAAGlB,EAAE,IAAI,GAAI5L,GAAE42C,EAAE,EAAE6lD,EAAE,EAAEA,EAAE3vF,EAAE2vF,IAAIz8F,EAAEwH,EAAEk2G,QAAQjhB,GAAG7wF,EAAEgyG,WAAWnhB,EAAEz8F,GAAGq9C,EAAEzG,GAAGA,EAAE52C,IAAI,GAAGq9C,CAAE,OAAO,GAAE1pC,GAAG/H,EAAEgyG,WAAW9wG,EAAE8pC,GAAGhrC,KAAK7I,IAAI,wBAAwBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAEuJ,EAAE+kG,gBAAgB5kE,EAAG,IAAG,EAAE1pC,EAAE,KAAM,IAAIxD,YAAW,iBAAkB,IAAIvE,GAAE+H,IAAI,EAAE7G,EAAE,GAAG6G,EAAEgN,EAAEnZ,EAAE5E,OAAO5C,EAAE,IAAI8M,GAAG,GAAGtF,EAAEk2G,QAAQ/8F,EAAE,KAAK,GAAG7T,EAAE8pC,EAAEj2B,EAAE/U,GAAG5L,EAAE,EAAE,GAAGy8F,EAAE,GAAIv/E,GAAE05B,EAAEpvC,EAAEU,KAAM,IAAG,IAAI4E,EAAE,CAAC,IAAI,GAAIiK,GAAE,EAAEA,EAAEnL,EAAEmL,IAAI0lF,EAAEmhB,WAAW7mG,EAAE,EAAG,MAAKA,EAAE6/B,EAAE7/B,IAAI0lF,EAAEmhB,WAAW7mG,EAAEvP,EAAEk2G,QAAQ3mG,EAAEnL,QAAQ,CAAC,IAAI,GAAI+qC,GAAE,EAAE12C,EAAE,EAAEA,EAAE2L,EAAE3L,IAAIw8F,EAAEmhB,WAAW39G,EAAE,EAAG,KAAI,GAAIZ,GAAEC,EAAE,EAAEA,EAAEqhB,EAAErhB,IAAID,EAAEmI,EAAEk2G,QAAQp+G,GAAGm9F,EAAEmhB,WAAWt+G,EAAEsM,EAAEvM,GAAGyN,EAAE6pC,GAAGA,EAAEt3C,IAAI,GAAGyN,CAAE,IAAG9M,EAAEy8F,EAAEmhB,WAAWj9F,EAAE/U,EAAE+qC,OAAQ,IAAG,IAAIA,EAAE,KAAM,IAAI1vC,OAAM,sBAAsB,MAAOw1F,GAAEkiB,YAAY57G,IAAI,yBAAyBhB,MAAM,SAASyF,EAAE61C,GAAG,GAAI1pC,GAAEnM,EAAE5E,OAAOgJ,EAAEpE,EAAEU,KAAK4E,EAAEoQ,EAAE+kG,gBAAgB5kE,EAAG,IAAG,EAAEvwC,EAAE,MAAOoQ,GAAEglG,sBAAsBt2G,EAAG,IAAI+U,GAAE7T,IAAI,EAAE9M,EAAE,GAAG8M,EAAE8pC,EAAEjjC,EAAEgN,CAAE,IAAG,GAAGi2B,EAAE,MAAO15B,GAAEglG,sBAAsBt2G,EAAG,IAAI6wF,IAAE,CAAG,IAAG7wF,EAAG,GAAG,IAAIpE,EAAEk2G,QAAQ/8F,IAAI,GAAG3gB,GAAG,GAAGy8F,GAAE,MAAQ,KAAI,GAAI1lF,GAAE,EAAEA,EAAE4J,EAAE5J,IAAI,GAAG,IAAIvP,EAAEk2G,QAAQ3mG,GAAG,CAAC0lF,GAAE,CAAG,OAAO,GAAGA,GAAG,IAAIz8F,EAAE,CAAC,GAAI22C,GAAEnvC,EAAEk2G,QAAQ/pG,EAAE,EAAG,KAAIgjC,GAAGC,IAAI,GAAI32C,GAAE,GAAIid,GAAE05B,EAAEhrC,EAAG,IAAG,IAAI5L,EAAE,IAAI,GAAIX,GAAEshB,EAAEthB,EAAEsU,EAAEtU,IAAIY,EAAE29G,WAAWv+G,EAAEshB,EAAEnZ,EAAEk2G,QAAQr+G,QAAQ,CAAC,IAAI,GAAIC,GAAEuP,EAAErH,EAAEk2G,QAAQ/8F,KAAK3gB,EAAE83D,EAAEnkD,EAAEgN,EAAE,EAAE+1B,EAAE,EAAEA,EAAEohB,EAAEphB,IAAIp3C,EAAEkI,EAAEk2G,QAAQhnE,EAAE/1B,EAAE,GAAG1gB,EAAE29G,WAAWlnE,EAAEp3C,GAAG,GAAGU,EAAE6O,GAAGA,EAAEvP,IAAIU,CAAEC,GAAE29G,WAAW9lD,EAAEjpD,GAAG,MAAO4tF,KAAIx8F,EAAEid,EAAE0hG,iBAAiB3+G,GAAE,EAAGA,IAAIA,EAAE0+G,YAAY57G,IAAI,wBAAwBhB,MAAM,SAASyF,GAAG,MAAOA,GAAE0V,EAAE+gG,WAAW,GAAE,GAAI/gG,EAAE8gG,YAAYj7G,IAAI,kBAAkBhB,MAAM,SAASyF,GAAG,GAAG,EAAEA,EAAE5E,OAAO,OAAM,CAAG,IAAIy6C,GAAE71C,EAAEu2G,gBAAgB,EAAG,OAAO1gE,GAAEngC,EAAE4hG,kBAAiB,EAAGzhE,KAAKt6C,IAAI,gBAAgBhB,MAAM,SAASs7C,GAAG,GAAI79C,GAAE,EAAE4E,UAAUxB,QAAQ,SAASwB,UAAU,GAAGA,UAAU,GAAG,SAAU,IAAG,WAAWoD,EAAE61C,GAAG,MAAOA,EAAE,IAAGA,EAAEv7C,cAAcob,EAAE,MAAOmgC,EAAE,IAAI1pC,GAAE0pC,EAAE/6C,OAAO6/G,YAAa,IAAGxuG,EAAE,CAAC,GAAI/H,GAAE+H,EAAEnU,EAAG,IAAG,WAAWgI,EAAEoE,GAAG,MAAOA,EAAE,MAAM,IAAItK,WAAU,4CAA4C,GAAIwL,GAAEuwC,EAAEihD,OAAQ,IAAGxxF,EAAE,CAAC,GAAI6T,GAAE7T,EAAE1N,KAAKi+C,EAAG,IAAG,WAAW71C,EAAEmZ,GAAG,MAAOA,GAAE,GAAI3gB,GAAEq9C,EAAEzyC,QAAS,IAAG5K,EAAE,CAAC,GAAI42C,GAAE52C,EAAEZ,KAAKi+C,EAAG,IAAG,WAAW71C,EAAEovC,GAAG,MAAOA,GAAE,KAAM,IAAIt1C,WAAU,+CAA+CyB,IAAI,cAAchB,MAAM,SAASyF,GAAG,MAAO0V,GAAEgjG,WAAW14G,GAAGA,GAAGA,KAAKzE,IAAI,aAAahB,MAAM,SAASs7C,GAAG,MAAM,WAAW71C,EAAE61C,IAAIA,EAAEv7C,cAAcob,KAAKna,IAAI,oBAAoBhB,MAAM,SAASyF,EAAE61C,GAAG,IAAI,GAAI1pC,GAAEnM,EAAE,KAAK,EAAEoE,EAAE,GAAIsR,GAAEvJ,EAAE0pC,EAAEn1C,MAAM4E,EAAE6G,EAAE,EAAEgN,EAAE,EAAEA,EAAE7T,EAAE6T,IAAI/U,EAAEgyG,WAAWj9F,EAAE08B,EAAEqgE,QAAQ/8F,GAAI,IAAI3gB,GAAEq9C,EAAEqgE,QAAQ5wG,EAAG,IAAG,IAAI,GAAGtF,GAAG,CAAC,GAAIovC,GAAE,IAAI,GAAGpvC,EAAGxH,GAAEA,GAAG42C,IAAIA,EAAE,MAAOhrC,GAAEgyG,WAAW9wG,EAAE9M,GAAG4L,EAAE+yG,YAAY57G,IAAI,iCAAiChB,MAAM,SAASyF,EAAE61C,EAAE1pC,GAAG,IAAI,GAAI/H,GAAEtE,KAAKk6B,IAAI10B,EAAEtF,EAAE,KAAK,EAAEmZ,EAAE,GAAIzD,GAAEpQ,EAAE6G,GAAG3T,EAAE,EAAE42C,EAAE9pC,EAAE,EAAE2vF,EAAE,EAAE1lF,EAAEnL,EAAEgrC,EAAEyG,EAAEz6C,QAAQ5C,EAAE+W,EAAE/W,IAAI,CAAC,GAAIyH,GAAE41C,EAAEqgE,QAAQ19G,GAAG22C,EAAE,GAAG,MAAMlvC,GAAGg1F,CAAEA,GAAE,EAAE9lD,IAAI,EAAG,IAAI12C,GAAE,GAAGwH,IAAI,IAAIg1F,CAAEA,GAAE,EAAEx8F,IAAI,GAAG0gB,EAAEi9F,WAAW59G,EAAE,MAAM22C,EAAE12C,GAAG,IAAI,KAAKD,EAAE42C,EAAE52C,IAAI2gB,EAAEi9F,WAAW59G,EAAE,GAAGy8F,EAAG,IAAIp9F,GAAEC,EAAEs3C,EAAEyG,EAAEz6C,OAAOy6C,EAAEqgE,QAAQ9mE,GAAG,EAAE/nC,EAAE,GAAGrH,CAAE,IAAG,IAAIqH,EAAE,CAAC,GAAIipD,GAAE,GAAG,MAAMx4D,GAAGm9F,CAAEA,GAAE,EAAE3kC,IAAI,EAAG,IAAIphB,GAAE,GAAGp3C,IAAI,IAAIm9F,CAAEp9F,GAAE,MAAMy4D,EAAEphB,GAAG,OAAO,CAAC,GAAIxQ,GAAE,GAAGr3B,CAAEvP,GAAEA,GAAG4mC,IAAIA,CAAE,IAAIw6E,GAAE,GAAG,GAAGx6E,EAAE3mC,GAAG,MAAMmhH,IAAI,MAAMphH,GAAGm9F,CAAEA,GAAE,EAAEl9F,IAAI,EAAG,IAAIqhH,IAAGF,IAAI,KAAKphH,IAAI,IAAIm9F,CAAEp9F,GAAE,MAAME,EAAEqhH,GAAG,GAAGvhH,GAAGqhH,EAAE,EAAE,MAAO//F,GAAEi9F,WAAWhnE,EAAEv3C,GAAGshB,EAAEg+F,YAAY57G,IAAI,aAAahB,MAAM,SAASyF,EAAE61C,GAAG,IAAI,GAAI79C,GAAE,EAAE,EAAE69C,GAAG,EAAEA,IAAI79C,GAAGgI,GAAG61C,KAAK,EAAE71C,GAAGA,CAAE,OAAOhI,OAAM0d,GAAGu/E,EAAE92F,OAAQ,OAAO+wC,GAAE4mE,aAAa,SAAS5mE,EAAEooE,iBAAiBpoE,EAAE4mE,cAAc,EAAE5mE,EAAE6pE,mBAAmB,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK7pE,EAAE+pE,yBAAyB,EAAE/pE,EAAE8pE,8BAA8B,GAAG9pE,EAAE+pE,yBAAyB/pE,EAAEsqE,oBAAoB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAKtqE,EAAE0rE,uBAAuB,GAAI5wE,aAAY,GAAGkF,EAAE8nE,uBAAuB,GAAIrrD,cAAazc,EAAE0rE,wBAAwB1rE,EAAE6nE,qBAAqB,GAAI8D,YAAW3rE,EAAE0rE,wBAAwB1rE,EAAE+mE,QAAQ3lD,GAAG,SAAStwD,GAAG,GAAI61C,GAAE/1C,KAAKopD,IAAIlxD,EAAE8H,KAAKN,GAAI,OAAO,KAAIQ,EAAE,GAAG,EAAE,IAAI,EAAEhI,EAAEgI,IAAI,GAAG61C,IAAI3G,EAAEinE,OAAO9uG,GAAG,SAASrH,EAAE61C,GAAG,MAAO,GAAE71C,EAAE61C,GAAG3G,K3MulhCpi/B,SAAUz3C,EAAQD,EAASH,I4MvlhCjC,SAAAyqC,GAAA,YAqFA,SAASg5E,GAAYjrD,EAAWtvD,EAAS/C,EAAQK,EAAQquE,GACrD,GAAI6uC,GAAQC,EAASC,WAAW,SAChCF,GAAMv5G,OAAOquD,GACbkrD,EAAMv5G,OAAOjB,GACbw6G,EAAMv5G,OAAOhE,GACbu9G,EAAMv5G,OAAO3D,EACb,IAAIq9G,GAASF,EAASC,WAAW,SAIjC,OAHAC,GAAO15G,OAAOhK,EAAQitE,GACtBy2C,EAAO15G,OAAOu5G,EAAM93G,UACpBi4G,EAAO15G,OAAO0qE,GACPgvC,EAAOj4G,SAKlB,QAASvC,GAAKD,EAASF,EAAS2U,GAC5B,IAAKzU,EAAQ5C,OACT,KAAM,IAAI4B,OAAM,0CAQpB,KAAK,GAND5B,GAASikC,EAAOvrB,KAAKjT,KAAKC,UAAU9C,EAAQ5C,QAAS,QAAQuF,SAAS,UACtE+3G,EAAaH,EAAS3rC,YAAY,GAClCnD,EAAQivC,EAAW/3G,SAAS,OAC5BysD,GAAY,GAAIrhB,OAAO8M,cACvBjsC,EAAUyrG,EAAYjrD,EAAWtvD,EAASE,EAAQjD,OAAQK,EAAQs9G,GAClE5P,KACKn0D,EAAK,EAAGgkE,EAASlmG,EAAMkiC,EAAKgkE,EAAOhgH,OAAQg8C,IAAM,CACtD,GAAI77C,GAAM6/G,EAAOhkE,EACE,iBAAR77C,KACPA,EAAM8/G,EAAYjyD,WAAW7yC,KAAKhb,GAEtC,IAAIkiG,GAAY4d,EAAYC,OAAO//G,EAAImF,KAAK2O,EAAQ25B,QACpDuiE,GAAWvmG,KAAKy4F,GAEpB,OACI/3D,QAAS,MACTloC,OAAQiD,EAAQjD,OAChB9F,GAAI+I,EAAQ/I,GACZmG,QACI09G,UACIh7G,QAASA,EACT2rE,MAAOA,EACPruE,OAAQA,EACR0tG,WAAYA,EACZ17C,UAAWA,KAY3B,QAASrU,GAAS/6C,EAAS+7F,GACvB,MAAOgf,GAAU7iH,KAAM,OAAQ,OAAQ,WACnC,GAAI8iH,GAAQ59G,EAAQ69G,EAAYxvC,EAAOrc,EAAWxgD,EAASssG,CAC3D,OAAOC,GAAYjjH,KAAM,SAAUs8D,GAC/B,OAAQA,EAAG5gB,OACP,IAAK,GACD,GAAwB,QAApB5zC,EAAQilC,SAA+C,gBAAnBjlC,GAAQjD,OAC5C,KAAM,IAAIq+G,GAAgB,2BAE9B,IAAsBh/G,QAAlB4D,EAAQ5C,QAAkDhB,QAA3B4D,EAAQ5C,OAAO09G,SAC9C,KAAM,IAAIM,GAAgB,yBAE9B,IAA2C,IAAvC5jH,OAAOid,KAAKzU,EAAQ5C,QAAQzC,OAC5B,KAAM,IAAIygH,GAAgB,yBAG9B,IADAJ,EAASh7G,EAAQ5C,OAAO09G,SACF1+G,QAAlB4+G,EAAOl7G,QACP,KAAM,IAAIs7G,GAAgB,kBAE9B,KACIH,EAAa55E,EAAOvrB,KAAKklG,EAAO59G,OAAQ,UAAUuF,SAAS,QAC3DvF,EAASyF,KAAK8mC,MAAMsxE,GAExB,MAAOl6F,GACH,KAAM,IAAIq6F,GAAgB,yBAA0Br6F,GAExD,GAAoB3kB,QAAhB4+G,EAAOvvC,OAA8C,gBAAjBuvC,GAAOvvC,MAC3C,KAAM,IAAI2vC,GAAgB,gBAG9B,IADA3vC,EAAQpqC,EAAOvrB,KAAKklG,EAAOvvC,MAAO,OACb,IAAjBA,EAAM9wE,OACN,KAAM,IAAIygH,GAAgB,gBAG9B,IADAhsD,EAAYrhB,KAAKpE,MAAMqxE,EAAO5rD,WAC1Bh3C,OAAOxU,MAAMwrD,GACb,KAAM,IAAIgsD,GAAgB,oBAE9B,IAAIrtE,KAAK4E,MAAQyc,EAAY,IACzB,KAAM,IAAIgsD,GAAgB,oBAE9BxsG,GAAUyrG,EAAYW,EAAO5rD,UAAW4rD,EAAOl7G,QAASE,EAAQjD,OAAQi+G,EAAO59G,OAAQquE,GACvFjX,EAAG5gB,MAAQ,CACf,KAAK,GAED,MADA4gB,GAAG6mD,KAAK92G,MAAM,EAAG,EAAJ,CAAS,KACd,EAAaw3F,EAAOntF,EAASosG,EAAOlQ,WAAYkQ,EAAOl7G,SACnE,KAAK,GAED,MADA00D,GAAG8mD,QACK,EAAa,EACzB,KAAK,GAED,KADAJ,GAAU1mD,EAAG8mD,OACP,GAAIF,GAAgB,sBAAuBF,EACrD,KAAK,GAAG,OAAQ,EAAc99G,QA1L9C,GAAIm+G,GAAyC,WACzC,GAAIC,GAAgBhkH,OAAO0C,iBACpBC,uBAA2BuD,QAAS,SAAU8B,EAAGxH,GAAKwH,EAAErF,UAAYnC,IACvE,SAAUwH,EAAGxH,GAAK,IAAK,GAAIV,KAAKU,GAAOA,EAAEN,eAAeJ,KAAIkI,EAAElI,GAAKU,EAAEV,IACzE,OAAO,UAAUkI,EAAGxH,GAEhB,QAASwgC,KAAOtgC,KAAK2B,YAAc2F,EADnCg8G,EAAch8G,EAAGxH,GAEjBwH,EAAE/H,UAAkB,OAANO,EAAaR,OAAOoC,OAAO5B,IAAMwgC,EAAG/gC,UAAYO,EAAEP,UAAW,GAAI+gC,QAGnFuiF,EAAwC,SAAU7rF,EAASusF,EAAYtgB,EAAGnkE,GAC1E,MAAO,KAAKmkE,IAAMA,EAAI11F,UAAU,SAAU6F,EAAS7D,GAC/C,QAAS8D,GAAUzR,GAAS,IAAM4hH,EAAK1kF,EAAUpf,KAAK9d,IAAW,MAAOyF,GAAKkI,EAAOlI,IACpF,QAASiM,GAAS1R,GAAS,IAAM4hH,EAAK1kF,EAAA,MAAmBl9B,IAAW,MAAOyF,GAAKkI,EAAOlI,IACvF,QAASm8G,GAAKz6G,GAAUA,EAAO8I,KAAOuB,EAAQrK,EAAOnH,OAAS,GAAIqhG,GAAE,SAAU7vF,GAAWA,EAAQrK,EAAOnH,SAAW6F,KAAK4L,EAAWC,GACnIkwG,GAAM1kF,EAAYA,EAAU/+B,MAAMi3B,EAASusF,QAAmB7jG,WAGlEujG,EAA4C,SAAUjsF,EAASkL,GAG/D,QAASuhF,GAAKh4G,GAAK,MAAO,UAAUiD,GAAK,MAAO80G,IAAM/3G,EAAGiD,KACzD,QAAS80G,GAAKxrE,GACV,GAAI2f,EAAG,KAAM,IAAIx2D,WAAU,kCAC3B,MAAOqS,GAAG,IACN,GAAImkD,EAAI,EAAGphB,IAAM2G,EAAI3G,EAAU,EAARyB,EAAG,GAAS,SAAWA,EAAG,GAAK,QAAU,YAAckF,EAAIA,EAAEj+C,KAAKs3C,EAAGyB,EAAG,KAAKnmC,KAAM,MAAOqrC,EAEjH,QADI3G,EAAI,EAAG2G,IAAGlF,GAAM,EAAGkF,EAAEt7C,QACjBo2C,EAAG,IACP,IAAK,GAAG,IAAK,GAAGkF,EAAIlF,CAAI,MACxB,KAAK,GAAc,MAAXxkC,GAAEkoC,SAAkB95C,MAAOo2C,EAAG,GAAInmC,MAAM,EAChD,KAAK,GAAG2B,EAAEkoC,QAASnF,EAAIyB,EAAG,GAAIA,GAAM,EAAI,SACxC,KAAK,GAAGA,EAAKxkC,EAAEvJ,IAAIvE,MAAO8N,EAAE2vG,KAAKz9G,KAAO,SACxC,SACI,GAAMw3C,EAAI1pC,EAAE2vG,OAAMjmE,EAAIA,EAAEz6C,OAAS,GAAKy6C,EAAEA,EAAEz6C,OAAS,MAAkB,IAAVu1C,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAExkC,EAAI,CAAG,UACjG,GAAc,IAAVwkC,EAAG,MAAckF,GAAMlF,EAAG,GAAKkF,EAAE,IAAMlF,EAAG,GAAKkF,EAAE,IAAM,CAAE1pC,EAAEkoC,MAAQ1D,EAAG,EAAI,OAC9E,GAAc,IAAVA,EAAG,IAAYxkC,EAAEkoC,MAAQwB,EAAE,GAAI,CAAE1pC,EAAEkoC,MAAQwB,EAAE,GAAIA,EAAIlF,CAAI,OAC7D,GAAIkF,GAAK1pC,EAAEkoC,MAAQwB,EAAE,GAAI,CAAE1pC,EAAEkoC,MAAQwB,EAAE,GAAI1pC,EAAEvJ,IAAIoC,KAAK2rC,EAAK,OACvDkF,EAAE,IAAI1pC,EAAEvJ,IAAIvE,MAChB8N,EAAE2vG,KAAKz9G,KAAO,UAEtBsyC,EAAK9V,EAAKjjC,KAAK+3B,EAASxjB,GAC1B,MAAOnM,GAAK2wC,GAAM,EAAG3wC,GAAIkvC,EAAI,EAjBrB,QAiBoCohB,EAAIza,EAAI,EACtD,GAAY,EAARlF,EAAG,GAAQ,KAAMA,GAAG,EAAI,QAASp2C,MAAOo2C,EAAG,GAAKA,EAAG,GAAK,OAAQnmC,MAAM,GAvB9E,GAAsG8lD,GAAGphB,EAAG2G,EAAGvwC,EAA3G6G,GAAMkoC,MAAO,EAAG0nE,KAAM,WAAa,GAAW,EAAPlmE,EAAE,GAAQ,KAAMA,GAAE,EAAI,OAAOA,GAAE,IAAOimE,QAAUl5G,OAC3F,OAAO0C,IAAM+S,KAAM+jG,EAAK,GAAIhU,MAASgU,EAAK,GAAI1oE,OAAU0oE,EAAK,IAAwB,kBAAXthH,UAA0BwK,EAAExK,OAAOC,UAAY,WAAa,MAAOpC,QAAU2M,EAyB3JrN,QAAOqD,eAAe9D,EAAS,cAAgB+C,OAAO,GACtD,IAAI8gH,GAAchkH,EAAQ,KACtB2jH,EAAW3jH,EAAQ,IAKvBG,GAAQitE,EAAI3iC,EAAOvrB,KAAK,mEAAoE,MAI5F,IAAIslG,GAAiC,SAAUQ,GAE3C,QAASR,GAAgBxsG,EAASmS,GAC9B,GAAI1kB,GAAQu/G,EAAOzkH,KAAKe,KAAM0W,IAAY1W,IAM1C,OALAmE,GAAM8W,KAAO,kBACT4N,IACA1kB,EAAM0kB,MAAQA,EACd1kB,EAAMuS,SAAW,KAAOmS,EAAMnS,QAAU,KAErCvS,EAEX,MAVAk/G,GAAUH,EAAiBQ,GAUpBR,GACTp8G,MA4DFjI,GAAQkJ,KAAOA,EA+DflJ,EAAQgkD,SAAWA,I5M8ohCW5jD,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YAEA,IAAIwD,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,K6Mz1hCvQ,SAAU0nC,EAAM0uC,GACS,WAAnB/0E,EAAOrD,IAAoD,gBAArBA,GAAQ8kH,SAEhD1sC,EAAQp4E,IAGR0pC,EAAKq7E,QAAUr7E,EAAKq7E,YACpB3sC,EAAS1uC,EAAKq7E,QAAQrtC,aAEP,mBAATl1E,MAAuBA,KAA9B6C,OAA2C,SAASrF,GAs2GrD,QAAS4xD,GAAWozD,EAAMC,GAIxB9jH,KAAK+jH,aAAe,WAQlB,MAPKD,KACHA,EAAME,EAAKC,IAAI3gB,MAAM4gB,aACnBF,EAAKC,IAAI7hB,OAAO+hB,KAChBjgH,OACA8/G,EAAKI,GAAGvnC,SAASgnC,EAAKznG,QACtB0nG,KAEG,GAAIv+D,GAAUu+D,IAGvB9jH,KAAK+H,KAAO,SAASwC,GACnB,MAAOsyE,GAASmnC,EAAKK,MAAMT,QAAQU,gBAAgBT,EAAMU,EAAOh6G,MAUpE,QAASg7C,GAAUu+D,GACjB9jH,KAAKwkH,GAAKV,EA4BZ,QAASI,KACP,GAAIn+E,GAAIi+E,EAAKC,IAAI3gB,MAAM4gB,aAAaF,EAAKC,IAAI7hB,OAAO+hB,KACpD,OAAOM,GAAc1+E,GAGvB,QAAS2+E,GAAiBC,EAAaC,GACrC,GAAIroG,GAAOynG,EAAKK,MAAMT,QAAQc,iBAC5BC,EACAC,EAEF,QACEzoE,MAAOsoE,EAAcloG,EAAK4/B,OAC1B97C,KAAMokH,EAAcloG,EAAKlc,MACzBm0G,QAASiQ,EAAcloG,EAAKi4F,SAC5BxvF,OAAQy/F,EAAcloG,EAAKyI,SAI/B,QAASxa,GAAOvD,GACd,MAAO41E,GAASmnC,EAAKz5G,KAAKC,OAAOD,KAAKg6G,EAAOt9G,KAG/C,QAAS6+C,GAAU7+C,GACjB,MAAO41E,GAASmnC,EAAKz5G,KAAKu7C,UAAUv7C,KAAKg6G,EAAOt9G,KAGlD,QAAS07G,GAAO17G,GAGd,IAAK,GAFD8B,GAAS,GACTgnC,EAAO,GAAIC,YAAW/oC,GACjB5H,EAAI,EAAGA,EAAI0wC,EAAKK,WAAY/wC,IAC/B0wC,EAAK1wC,GAAK,KACZ0J,GAAU,KAEZA,GAAUgnC,EAAK1wC,GAAGoL,SAAS,GAE7B,OAAO1B,GAGT,QAAS07G,GAAc1+E,GACrB,OACE8+E,QAASb,EAAKK,MAAMT,QAAQkB,oBAAoB/+E,EAAEg/E,KAClDC,OAAQhB,EAAKK,MAAMT,QAAQqB,mBAAmBl/E,EAAE+9E,MAIpD,QAASS,GAAO1kH,GACd,GAAIA,YAAawxC,aACf,MAAO2yE,GAAKK,MAAMnzE,YAAYqzE,OAAO1kH,EAErC,MAAM,IAAIiH,OAAM,kCAIpB,QAAS+1E,GAASh9E,GAChB,MAAOmkH,GAAKK,MAAMnzE,YAAY2rC,SAASh9E,EAAG,EAAG,GAl9G/ChB,EAAQ4xD,WAAaA,EACrB5xD,EAAQ0mD,UAAYA,EACpB1mD,EAAQqlH,aAAeA,EACvBrlH,EAAQ6lH,iBAAmBA,EAC3B7lH,EAAQ2L,OAASA,EACjB3L,EAAQinD,UAAYA,EACpBjnD,EAAQ8jH,OAASA,CAEjB,IAAIqB,GAAQ,WAoBd,GAAIA,IAKFlvC,UAMAvqE,QAMA26G,eAMA18G,QAMA28G,QAYAd,SAMAnwE,WAKEkxE,QAAS,SAAS1uG,GAChB1W,KAAKyK,SAAW,WAAa,MAAO,YAAYzK,KAAK0W,SACrD1W,KAAK0W,QAAUA,GAOjB2uG,QAAS,SAAS3uG,GAChB1W,KAAKyK,SAAW,WAAa,MAAO,YAAYzK,KAAK0W,SACrD1W,KAAK0W,QAAUA,GAOjB4uG,IAAK,SAAS5uG,GACZ1W,KAAKyK,SAAW,WAAa,MAAO,QAAQzK,KAAK0W,SACjD1W,KAAK0W,QAAUA,GAOjB6uG,SAAU,SAAS7uG,GACjB1W,KAAKyK,SAAW,WAAa,MAAO,cAAczK,KAAK0W,SACvD1W,KAAK0W,QAAUA,IAmCrBstG,GAAKwB,UASHC,SAAU,SAAU5lH,EAAG6lH,EAAQC,GAE7B,MADA9lH,GAAImkH,EAAKwB,SAASI,YAAY/lH,EAAEF,MAAM+lH,EAAO,IAAK,IAAe,GAATA,IAAc/lH,MAAM,GAC3DuE,SAATyhH,EAAsB9lH,EAAImkH,EAAKwB,SAAS5yB,MAAM/yF,EAAG8lH,EAAKD,IAUhEG,QAAS,SAAShmH,EAAG6lH,EAAQI,GAG3B,GAAI9uG,GAAG07E,EAAKvrF,KAAK2vC,OAAQ4uE,EAAOI,EAAW,GAQ3C,OALE9uG,IAFG0uG,EAASI,EAAU,EAAIJ,IAAU,GAE/B7lH,EAAE6lH,EAAO,GAAG,IAAO,GAAKhzB,EAAQ7yF,EAAE6lH,EAAO,GAAG,EAAE,KAAOhzB,EAGtD7yF,EAAE6lH,EAAO,GAAG,KAAOhzB,EAElB17E,GAAM,GAAG8uG,GAAW,GAS7B7lH,OAAQ,SAAU8lH,EAAIC,GACpB,GAAkB,IAAdD,EAAGtjH,QAA8B,IAAdujH,EAAGvjH,OACxB,MAAOsjH,GAAG9lH,OAAO+lH,EAGnB,IAAI38G,GAAO08G,EAAGA,EAAGtjH,OAAO,GAAIggB,EAAQuhG,EAAKwB,SAASS,WAAW58G,EAC7D,OAAc,MAAVoZ,EACKsjG,EAAG9lH,OAAO+lH,GAEVhC,EAAKwB,SAASI,YAAYI,EAAIvjG,EAAY,EAALpZ,EAAQ08G,EAAGpmH,MAAM,EAAEomH,EAAGtjH,OAAO,KAS7EgxF,UAAW,SAAU5zF,GACnB,GAAkBmX,GAAd+F,EAAIld,EAAE4C,MACV,OAAU,KAANsa,EAAkB,GACtB/F,EAAInX,EAAEkd,EAAI,GACK,IAAPA,EAAE,GAAUinG,EAAKwB,SAASS,WAAWjvG,KAS/C47E,MAAO,SAAU/yF,EAAGkM,GAClB,GAAe,GAAXlM,EAAE4C,OAAcsJ,EAAO,MAAOlM,EAClCA,GAAIA,EAAEF,MAAM,EAAGwH,KAAK4vC,KAAKhrC,EAAM,IAC/B,IAAIgR,GAAIld,EAAE4C,MAKV,OAJAsJ,IAAY,GACRgR,EAAI,GAAKhR,IACXlM,EAAEkd,EAAE,GAAKinG,EAAKwB,SAASU,QAAQn6G,EAAKlM,EAAEkd,EAAE,GAAK,YAAehR,EAAI,EAAI,IAE/DlM,GAUTqmH,QAAS,SAAUn6G,EAAKiL,EAAGmvG,GACzB,MAAY,MAARp6G,EAAqBiL,GACjBmvG,EAAS,EAAFnvG,EAAMA,GAAM,GAAGjL,GAAc,cAANA,GAQxCk6G,WAAY,SAAUjvG,GACpB,MAAO7P,MAAKwvC,MAAM3/B,EAAE,gBAAkB,IASxCm6C,MAAO,SAAUtxD,EAAGC,GAClB,GAAIkkH,EAAKwB,SAAS/xB,UAAU5zF,KAAOmkH,EAAKwB,SAAS/xB,UAAU3zF,GACzD,OAAO,CAET,IAAWT,GAAP2X,EAAI,CACR,KAAK3X,EAAE,EAAGA,EAAEQ,EAAE4C,OAAQpD,IACpB2X,GAAKnX,EAAER,GAAGS,EAAET,EAEd,OAAc,KAAN2X,GAUV4uG,YAAa,SAAU/lH,EAAG4iB,EAAOs7C,EAAO7T,GACtC,GAAI7qD,GAAY+mH,EAATC,EAAM,CAGb,KAFYniH,SAARgmD,IAAqBA,MAElBznC,GAAS,GAAIA,GAAS,GAC3BynC,EAAI79C,KAAK0xD,GACTA,EAAQ,CAEV,IAAc,IAAVt7C,EACF,MAAOynC,GAAIjqD,OAAOJ,EAGpB,KAAKR,EAAE,EAAGA,EAAEQ,EAAE4C,OAAQpD,IACpB6qD,EAAI79C,KAAK0xD,EAAQl+D,EAAER,KAAKojB,GACxBs7C,EAAQl+D,EAAER,IAAO,GAAGojB,CAKtB,OAHA4jG,GAAQxmH,EAAE4C,OAAS5C,EAAEA,EAAE4C,OAAO,GAAK,EACnC2jH,EAASpC,EAAKwB,SAASS,WAAWI,GAClCn8D,EAAI79C,KAAK23G,EAAKwB,SAASU,QAAQzjG,EAAM2jG,EAAS,GAAK3jG,EAAQ2jG,EAAS,GAAMroD,EAAQ7T,EAAIxkD,MAAM,IACrFwkD,GAMTo8D,MAAO,SAAStvG,EAAEu/B,GAChB,OAAQv/B,EAAE,GAAGu/B,EAAE,GAAGv/B,EAAE,GAAGu/B,EAAE,GAAGv/B,EAAE,GAAGu/B,EAAE,GAAGv/B,EAAE,GAAGu/B,EAAE,KAQ/CgwE,UAAW,SAAS1mH,GAClB,GAAIR,GAAGqP,EAAGxP,EAAI,KACd,KAAKG,EAAI,EAAGA,EAAIQ,EAAE4C,SAAUpD,EAC1BqP,EAAI7O,EAAER,GACNQ,EAAER,GAAMqP,IAAM,GAAQA,IAAM,EAAKxP,GAAOwP,EAAIxP,IAAM,EAAMwP,GAAK,EAE/D,OAAO7O,KA2BXmkH,EAAKlvC,OAAOgT,IAAM,SAAUllF,GACrB5C,KAAKwmH,QAAQ,GAAG,GAAG,IACtBxmH,KAAKymH,aAGP,IAAIpnH,GAAGgS,EAAG69C,EACRw3D,EAAQC,EACRC,EAAO5mH,KAAKwmH,QAAQ,GAAG,GAAIK,EAAW7mH,KAAKwmH,QAAQ,GACnD72B,EAAS/sF,EAAIH,OAAQqkH,EAAO,CAE9B,IAAe,IAAXn3B,GAA2B,IAAXA,GAA2B,IAAXA,EAClC,KAAM,IAAIq0B,GAAK9vE,UAAUmxE,QAAQ,uBAMnC,KAHArlH,KAAKyF,MAAQihH,EAAS9jH,EAAIjD,MAAM,GAAIgnH,MAG/BtnH,EAAIswF,EAAQtwF,EAAI,EAAIswF,EAAS,GAAItwF,IACpC6vD,EAAMw3D,EAAOrnH,EAAE,IAGXA,EAAEswF,IAAW,GAAiB,IAAXA,GAAgBtwF,EAAEswF,IAAW,KAClDzgC,EAAM03D,EAAK13D,IAAM,KAAK,GAAK03D,EAAK13D,GAAK,GAAG,MAAM,GAAK03D,EAAK13D,GAAK,EAAE,MAAM,EAAI03D,EAAS,IAAJ13D,GAG1E7vD,EAAEswF,IAAW,IACfzgC,EAAMA,GAAK,EAAIA,IAAM,GAAK43D,GAAM,GAChCA,EAAOA,GAAM,EAAc,KAATA,GAAM,KAI5BJ,EAAOrnH,GAAKqnH,EAAOrnH,EAAEswF,GAAUzgC,CAIjC,KAAK79C,EAAI,EAAGhS,EAAGgS,IAAKhS,IAClB6vD,EAAMw3D,EAAS,EAAFr1G,EAAMhS,EAAIA,EAAI,GACvBA,GAAG,GAAKgS,EAAE,EACZs1G,EAAOt1G,GAAK69C,EAEZy3D,EAAOt1G,GAAKw1G,EAAS,GAAGD,EAAK13D,IAAM,KACvB23D,EAAS,GAAGD,EAAK13D,GAAK,GAAM,MAC5B23D,EAAS,GAAGD,EAAK13D,GAAK,EAAM,MAC5B23D,EAAS,GAAGD,EAAgB,IAAX13D,KAKnC80D,EAAKlvC,OAAOgT,IAAIvoF,WAad8zE,QAAQ,SAAUpsE,GAAQ,MAAOjH,MAAK+mH,OAAO9/G,EAAK,IAOlDysE,QAAQ,SAAUzsE,GAAQ,MAAOjH,MAAK+mH,OAAO9/G,EAAK,IAclDu/G,4CAOAC,YAAa,WACZ,GAEIpnH,GAAG2X,EAAGgwG,EAAmB94B,EAAIC,EAAIC,EAAI33C,EAAGwwE,EAAMC,EAF9CC,EAAWnnH,KAAKwmH,QAAQ,GAAIK,EAAW7mH,KAAKwmH,QAAQ,GACpDI,EAAOO,EAAS,GAAIC,EAAUP,EAAS,GAC3Bv/G,KAAM+/G,IAGtB,KAAKhoH,EAAI,EAAGA,EAAI,IAAKA,IACnBgoH,GAAK//G,EAAEjI,GAAKA,GAAG,EAAW,KAANA,GAAG,IAASA,GAAGA,CAGrC,KAAK2X,EAAIgwG,EAAO,GAAIJ,EAAK5vG,GAAIA,GAAKk3E,GAAM,EAAG84B,EAAOK,EAAGL,IAAS,EAY5D,IAVAvwE,EAAIuwE,EAAOA,GAAM,EAAIA,GAAM,EAAIA,GAAM,EAAIA,GAAM,EAC/CvwE,EAAIA,GAAG,EAAM,IAAFA,EAAQ,GACnBmwE,EAAK5vG,GAAKy/B,EACV2wE,EAAQ3wE,GAAKz/B,EAGbo3E,EAAK9mF,EAAE6mF,EAAK7mF,EAAE4mF,EAAK5mF,EAAE0P,KACrBkwG,EAAU,SAAH94B,EAAkB,MAAHD,EAAgB,IAAHD,EAAa,SAAFl3E,EAC9CiwG,EAAY,IAAL3/G,EAAEmvC,GAAa,SAAFA,EAEfp3C,EAAI,EAAGA,EAAI,EAAGA,IACjB8nH,EAAS9nH,GAAG2X,GAAKiwG,EAAOA,GAAM,GAAKA,IAAO,EAC1CJ,EAASxnH,GAAGo3C,GAAKywE,EAAOA,GAAM,GAAKA,IAAO,CAK9C,KAAK7nH,EAAI,EAAGA,EAAI,EAAGA,IACjB8nH,EAAS9nH,GAAK8nH,EAAS9nH,GAAGM,MAAM,GAChCknH,EAASxnH,GAAKwnH,EAASxnH,GAAGM,MAAM,IAWnConH,OAAO,SAAUrqF,EAAOrhB,GACtB,GAAqB,IAAjBqhB,EAAMj6B,OACR,KAAM,IAAIuhH,GAAK9vE,UAAUmxE,QAAQ,yBAGnC,IAMIW,GAAIsB,EAAIpmC,EAGR7hF,EATAuD,EAAM5C,KAAKyF,KAAK4V,GAEhBxb,EAAI68B,EAAM,GAAe95B,EAAI,GAC7B9C,EAAI48B,EAAMrhB,EAAM,EAAI,GAAKzY,EAAI,GAC7BzD,EAAIu9B,EAAM,GAAe95B,EAAI,GAC7B0E,EAAIo1B,EAAMrhB,EAAM,EAAI,GAAKzY,EAAI,GAG7B2kH,EAAe3kH,EAAIH,OAAO,EAAI,EAE9B+kH,EAAS,EACTt9D,GAAO,EAAE,EAAE,EAAE,GACb/V,EAAQn0C,KAAKwmH,QAAQnrG,GAGrB4xE,EAAQ94C,EAAM,GACdisC,EAAQjsC,EAAM,GACdksC,EAAQlsC,EAAM,GACd+4C,EAAQ/4C,EAAM,GACdyyE,EAAQzyE,EAAM,EAGlB,KAAK90C,EAAI,EAAGA,EAAIkoH,EAAcloH,IAC5B2mH,EAAK/4B,EAAGptF,IAAI,IAAMugF,EAAGtgF,GAAG,GAAK,KAAOugF,EAAGlhF,GAAG,EAAI,KAAO+tF,EAAO,IAAJ5lF,GAAW1E,EAAI4kH,GACvEF,EAAKr6B,EAAGntF,IAAI,IAAMsgF,EAAGjhF,GAAG,GAAK,KAAOkhF,EAAG/4E,GAAG,EAAI,KAAO4lF,EAAO,IAAJrtF,GAAW+C,EAAI4kH,EAAS,GAChFtmC,EAAK+L,EAAG9tF,IAAI,IAAMihF,EAAG94E,GAAG,GAAK,KAAO+4E,EAAGxgF,GAAG,EAAI,KAAOqtF,EAAO,IAAJptF,GAAW8C,EAAI4kH,EAAS,GAChFlgH,EAAK2lF,EAAG3lF,IAAI,IAAM84E,EAAGvgF,GAAG,GAAK,KAAOwgF,EAAGvgF,GAAG,EAAI,KAAOotF,EAAO,IAAJ/tF,GAAWyD,EAAI4kH,EAAS,GAChFA,GAAU,EACV3nH,EAAEmmH,EAAIlmH,EAAEwnH,EAAInoH,EAAE+hF,CAIhB,KAAK7hF,EAAI,EAAGA,EAAI,EAAGA,IACjB6qD,EAAI7uC,EAAM,GAAGhc,EAAIA,GACfunH,EAAK/mH,IAAI,KAAW,GACpB+mH,EAAK9mH,GAAG,GAAM,MAAM,GACpB8mH,EAAKznH,GAAG,EAAM,MAAM,EACpBynH,EAAc,IAATt/G,GACL1E,EAAI4kH,KACNxB,EAAGnmH,EAAGA,EAAEC,EAAGA,EAAEX,EAAGA,EAAEmI,EAAGA,EAAE0+G,CAGzB,OAAO97D,KAQX85D,EAAKI,GAAK,SAAS3kG,GACjBzf,KAAKynH,SAAShoG,IAGhBukG,EAAKI,GAAG7kH,WACN2iF,MAAO,GACPwlC,OAAQ,EACRC,OAAQ3D,EAAKI,GAEb3kE,KAAM,WACJ,MAAO,IAAIz/C,MAAK2nH,OAAO3nH,OAMzBynH,SAAU,SAAShoG,GACjB,GAASsmB,GAAL1mC,EAAE,CACN,2BAAcogB,GAAd,YAAAvd,EAAcud,IACd,IAAK,SACHzf,KAAK4nH,MAAQnoG,EAAGmoG,MAAMjoH,MAAM,EAC5B,MAEF,KAAK,SACHK,KAAK4nH,OAASnoG,GACdzf,KAAKsmG,WACL,MAEF,KAAK,SAKH,IAJA7mF,EAAKA,EAAGgQ,QAAQ,MAAO,IACvBzvB,KAAK4nH,SAEL7hF,EAAI/lC,KAAKkiF,MAAQ,EACZ7iF,EAAE,EAAGA,EAAIogB,EAAGhd,OAAQpD,GAAG0mC,EAC1B/lC,KAAK4nH,MAAMv7G,KAAKukB,SAASnR,EAAG+0C,UAAUrtD,KAAKmvB,IAAI7W,EAAGhd,OAASpD,EAAI0mC,EAAG,GAAItmB,EAAGhd,OAASpD,GAAG,IAEvF,MAEF,SACEW,KAAK4nH,OAAS,GAEhB,MAAO5nH,OAOTisD,OAAQ,SAAS1F,GACK,gBAATA,KAAqBA,EAAO,GAAIvmD,MAAK2nH,OAAOphE,GACvD,IAAoBlnD,GAAhBwoH,EAAa,CAGjB,KAFA7nH,KAAK8nH,aACLvhE,EAAKuhE,aACAzoH,EAAI,EAAGA,EAAIW,KAAK4nH,MAAMnlH,QAAUpD,EAAIknD,EAAKqhE,MAAMnlH,OAAQpD,IAC1DwoH,GAAc7nH,KAAK+nH,QAAQ1oH,GAAKknD,EAAKwhE,QAAQ1oH,EAE/C,OAAuB,KAAfwoH,GAMVE,QAAS,SAAS1oH,GAChB,MAAQA,IAAKW,KAAK4nH,MAAMnlH,OAAU,EAAIzC,KAAK4nH,MAAMvoH,IAOnD2oH,cAAe,SAASzhE,GACF,gBAATA,KAAqBA,EAAO,GAAIvmD,MAAK2nH,OAAOphE,GACvD,IAA2BlnD,GAAGQ,EAAGC,EAA7BmoH,EAAO,EAAGC,EAAU,CAExB,KADA7oH,EAAI8H,KAAKmvB,IAAIt2B,KAAK4nH,MAAMnlH,OAAQ8jD,EAAKqhE,MAAMnlH,QAAU,EAC9CpD,GAAI,EAAGA,IACZQ,EAAIG,KAAK+nH,QAAQ1oH,GACjBS,EAAIymD,EAAKwhE,QAAQ1oH,GACjB6oH,GAAYpoH,EAAID,GAAMooH,EACtBA,GAASpoH,EAAIC,GAAMooH,CAErB,QAAQA,GAAWD,KAAU,IAM/Bx9G,SAAU,WACRzK,KAAK8nH,YACL,IAAYzoH,GAAGo3C,EAAXyT,EAAI,GAAUntC,EAAI/c,KAAK4nH,KAC3B,KAAKvoH,EAAE,EAAGA,EAAIW,KAAK4nH,MAAMnlH,OAAQpD,IAAK,CAEpC,IADAo3C,EAAI15B,EAAE1d,GAAGoL,SAAS,IACXpL,EAAIW,KAAK4nH,MAAMnlH,OAAS,GAAKg0C,EAAEh0C,OAAS,GAC7Cg0C,EAAI,IAAMA,CAEZyT,GAAMzT,EAAIyT,EAEZ,MAAO,KAAKA,GAIdi+D,KAAM,SAAS5hE,GACQ,YAAjB,mBAAOA,GAAP,YAAArkD,EAAOqkD,MAAsBA,EAAO,GAAIvmD,MAAK2nH,OAAOphE,GACxD,IAAIlnD,GAAG0d,EAAE/c,KAAK4nH,MAAOQ,EAAG7hE,EAAKqhE,KAC7B,KAAKvoH,EAAE0d,EAAEta,OAAQpD,EAAE+oH,EAAG3lH,OAAQpD,IAC5B0d,EAAE1d,GAAK,CAET,KAAKA,EAAE,EAAGA,EAAE+oH,EAAG3lH,OAAQpD,IACrB0d,EAAE1d,IAAM+oH,EAAG/oH,EAEb,OAAOW,OAITqoH,QAAS,WACP,GAAIhpH,GAAY6vD,EAAT6O,EAAM,EAAQnnD,EAAE5W,KAAKkiF,MAAOhjF,EAAEc,KAAKsoH,UAAWvrG,EAAE/c,KAAK4nH,KAC5D,KAAKvoH,EAAE,EAAGA,EAAE0d,EAAEta,OAAQpD,IACpB6vD,EAAMnyC,EAAE1d,GACR6vD,EAAMA,EAAIA,EAAI6O,EACdhhD,EAAE1d,GAAK6vD,EAAMhwD,EACb6+D,EAAQ7O,GAAOt4C,CAKjB,OAHImnD,IACFhhD,EAAE1Q,KAAK0xD,GAEF/9D,MAITuoH,OAAQ,WACN,GAAIlpH,GAAY6vD,EAAT6O,EAAM,EAAQnnD,EAAE5W,KAAKkiF,MAAOnlE,EAAE/c,KAAK4nH,KAC1C,KAAKvoH,EAAE0d,EAAEta,OAAO,EAAGpD,GAAG,EAAGA,IACvB6vD,EAAMnyC,EAAE1d,GACR0d,EAAE1d,GAAM6vD,EAAI6O,GAAQ,EACpBA,GAAa,EAAJ7O,IAAUt4C,CAKrB,OAHKmG,GAAEA,EAAEta,OAAO,IACdsa,EAAErX,MAEG1F,MAITwoH,KAAM,SAASjiE,GACQ,YAAjB,mBAAOA,GAAP,YAAArkD,EAAOqkD,MAAsBA,EAAO,GAAIvmD,MAAK2nH,OAAOphE,GACxD,IAAIlnD,GAAG0d,EAAE/c,KAAK4nH,MAAOQ,EAAG7hE,EAAKqhE,KAC7B,KAAKvoH,EAAE0d,EAAEta,OAAQpD,EAAE+oH,EAAG3lH,OAAQpD,IAC5B0d,EAAE1d,GAAK,CAET,KAAKA,EAAE,EAAGA,EAAE+oH,EAAG3lH,OAAQpD,IACrB0d,EAAE1d,IAAM+oH,EAAG/oH,EAEb,OAAOW,OAGT0mF,IAAK,SAASngC,GACZ,GAAIy7B,IAAOhiF,KAAKgoH,cAAc,GAAIhE,GAAKI,GAAG,GAE1C79D,GAAO,GAAIy9D,GAAKI,GAAG79D,GAAM+/C,WACzB,IAAIp8C,GAAM,GAAI85D,GAAKI,GAAGpkH,MAAMsmG,YAAamiB,EAAG,CAI5C,KAFIzmC,IAAK93B,EAAO,GAAI85D,GAAKI,GAAG,GAAIoE,KAAKt+D,GAAKo8C,aAEnCp8C,EAAI89D,cAAczhE,GAAOkiE,IAC9BliE,EAAK8hE,SAKP,KAFIrmC,IAAK93B,EAAM3D,EAAK6H,IAAIlE,GAAKo8C,aAEtBmiB,EAAK,EAAGA,IACbliE,EAAKgiE,SACDr+D,EAAI89D,cAAczhE,IACpB2D,EAAIs+D,KAAKjiE,GAAM+/C,WAGnB,OAAOp8C,GAAIjY,QAIby2E,WAAY,SAAStpH,GACnB,GAAuF8vD,GAAK7vD,EAAxFQ,EAAI,GAAImkH,GAAKI,GAAG,GAAItkH,EAAI,GAAIkkH,GAAKI,GAAG,GAAIptG,EAAI,GAAIgtG,GAAKI,GAAGpkH,MAAOu2C,EAAI,GAAIytE,GAAKI,GAAGhlH,GAAYupH,EAAG,CAElG,MAAmB,EAAbvpH,EAAEwoH,MAAM,IACZ,KAAO,IAAI5D,GAAK9vE,UAAUmxE,QAAQ,4BAIpC,GAyBE,KAxBiB,EAAbruG,EAAE4wG,MAAM,KACL5wG,EAAEgxG,cAAczxE,KAEnB2Y,EAAMl4C,EAAGA,EAAIu/B,EAAGA,EAAI2Y,EACpBA,EAAMrvD,EAAGA,EAAIC,EAAGA,EAAIovD,GAEtBl4C,EAAEwxG,KAAKjyE,GACPv/B,EAAEsvF,YAEGzmG,EAAEmoH,cAAcloH,IACnBD,EAAEsoH,KAAK/oH,GAETS,EAAE2oH,KAAK1oH,IAITkX,EAAEuxG,SACe,EAAb1oH,EAAE+nH,MAAM,IACV/nH,EAAEsoH,KAAK/oH,GAETS,EAAEymG,YACFzmG,EAAE0oH,SAGGlpH,EAAEspH,EAAG,EAAGtpH,EAAE2X,EAAE4wG,MAAMnlH,OAAQpD,IAC7BspH,GAAM3xG,EAAE4wG,MAAMvoH,SAEVspH,EAER,KAAKpyE,EAAE0V,OAAO,GACZ,KAAO,IAAI+3D,GAAK9vE,UAAUmxE,QAAQ,+CAGpC,OAAOvlH,IAIT25D,IAAK,SAASlT,GACZ,MAAOvmD,MAAKy/C,OAAO0oE,KAAK5hE,IAI1B6H,IAAK,SAAS7H,GACZ,MAAOvmD,MAAKy/C,OAAO+oE,KAAKjiE,IAI1BmG,IAAK,SAASnG,GACS,gBAAVA,KAAsBA,EAAO,GAAIvmD,MAAK2nH,OAAOphE,GACxD,IAAIlnD,GAAGgS,EAAyGu3G,EAAtG/oH,EAAIG,KAAK4nH,MAAO9nH,EAAIymD,EAAKqhE,MAAO5qD,EAAKn9D,EAAE4C,OAAQw6D,EAAKn9D,EAAE2C,OAAQynD,EAAM,GAAIlqD,MAAK2nH,OAAUxoH,EAAI+qD,EAAI09D,MAAWiB,EAAG7oH,KAAK0nH,MAE5H,KAAKroH,EAAE,EAAGA,EAAIW,KAAK4nH,MAAMnlH,OAAS8jD,EAAKqhE,MAAMnlH,OAAS,EAAGpD,IACvDF,EAAEE,GAAK,CAET,KAAKA,EAAE,EAAGA,EAAE29D,EAAI39D,IAAK,CAEnB,IADAupH,EAAK/oH,EAAER,GACFgS,EAAE,EAAGA,EAAE4rD,EAAI5rD,IACdlS,EAAEE,EAAEgS,IAAMu3G,EAAK9oH,EAAEuR,KAGZw3G,IACLA,EAAK7oH,KAAK0nH,OACVx9D,EAAI4+D,cAGR,MAAO5+D,GAAI4+D,aAAanjH,UAI1Bu4F,OAAQ,WACN,MAAOl+F,MAAK0sD,IAAI1sD,OAIlBqiF,MAAO,SAAStlE,GACdA,EAAI,GAAIinG,GAAKI,GAAGrnG,GAAGupF,YAAYr0D,OAAO21E,KACtC,IAAIvoH,GAAGgS,EAAG64C,EAAM,GAAIlqD,MAAK2nH,OAAO,GAAI9vE,EAAM73C,IAE1C,KAAKX,EAAE,EAAGA,EAAE0d,EAAEta,OAAQpD,IACpB,IAAKgS,EAAE,EAAGA,EAAErR,KAAKkiF,QACXnlE,EAAE1d,GAAM,GAAGgS,IAAM64C,EAAMA,EAAIwC,IAAI7U,IAC/Bx4C,GAAM0d,EAAEta,OAAS,GAAMsa,EAAE1d,IAAKgS,EAAI,GAAM,GAFtBA,IAItBwmC,EAAMA,EAAIqmD,QAId,OAAOh0C,IAIT6+D,OAAQ,SAASxiE,EAAMyiE,GACrB,MAAOhpH,MAAK0mF,IAAIsiC,GAAGt8D,IAAInG,EAAKmgC,IAAIsiC,IAAItiC,IAAIsiC,IAI1CC,SAAU,SAASjyG,EAAGgyG,GAKpB,GAJAhyG,EAAI,GAAIgtG,GAAKI,GAAGptG,GAChBgyG,EAAI,GAAIhF,GAAKI,GAAG4E,GAGQ,IAAN,EAAbA,EAAEpB,MAAM,IAAc,CACzB,GAAIsB,GAAUlpH,KAAKmpH,aAAanyG,EAAGgyG,EAEnC,IAAe,GAAXE,EAAoB,MAAOA,GAGjC,GAAI7pH,GAAGgS,EAAG0L,EAAI/F,EAAEsvF,YAAYr0D,OAAO21E,MAAO19D,EAAM,GAAIlqD,MAAK2nH,OAAO,GAAI9vE,EAAM73C,IAE1E,KAAKX,EAAE,EAAGA,EAAE0d,EAAEta,OAAQpD,IACpB,IAAKgS,EAAE,EAAGA,EAAErR,KAAKkiF,QACXnlE,EAAE1d,GAAM,GAAGgS,IAAM64C,EAAMA,EAAI6+D,OAAOlxE,EAAKmxE,IACvC3pH,GAAM0d,EAAEta,OAAS,GAAMsa,EAAE1d,IAAKgS,EAAI,GAAM,GAFtBA,IAItBwmC,EAAMA,EAAIkxE,OAAOlxE,EAAKmxE,EAI1B,OAAO9+D,IAITi/D,aAAc,SAASnyG,EAAGgyG,GACxBhyG,EAAI,GAAIgtG,GAAKI,GAAGptG,GAAGsvF,YAAYr0D,OAC/B+2E,EAAI,GAAIhF,GAAKI,GAAG4E,EAEhB,IAAI3pH,GAAGgS,EAMH2vF,EAAGvqD,EAAG2yE,EALRlnC,EAAQliF,KAAKkiF,MACbh4B,EAAM,GAAIlqD,MAAK2nH,OAAO,GACtB9vE,EAAM73C,KAAKy/C,OAGG4pE,EAAUryG,EAAEy8E,WAM5B,KAJAuN,EAAI,GAAIgjB,GAAKI,IACXwD,MAAOoB,EAAEvpE,OAAO6mD,YAAYr0D,OAAO21E,MAAMviH,IAAI,WAAa,MAAO,OAG9DoxC,EAAIz2C,KAAKkiF,MAAOzrC,EAAI,EAAGA,IAC1B,GAAgD,IAA1CuyE,EAAEpB,MAAMoB,EAAEpB,MAAMnlH,OAAS,IAAMg0C,EAAK,GAAS,CACjDuqD,EAAE4mB,MAAM5mB,EAAE4mB,MAAMnlH,OAAS,GAAK,GAAKg0C,CACnC,OAKJ,GAAe,GAAX4yE,EACF,MAAOrpH,KAEPopH,GADSC,EAAU,GACZ,EACEA,EAAU,GACZ,EACEA,EAAU,IACZ,EACEA,EAAU,IACZ,EAEA,CAMT,KAFA,GAAIC,GAAKtoB,EAAEvhD,OAAQ8pE,EAAKP,EAAEvpE,OAAQ+pE,EAAK,GAAIxF,GAAKI,GAAG,GAAIqF,EAAK,GAAIzF,GAAKI,GAAG,GAAIsF,EAAK1oB,EAAEvhD,OAE5EiqE,EAAG1B,cAAc,IACtB0B,EAAGnB,SAEsB,IAAN,EAAdiB,EAAG5B,MAAM,KACZ4B,EAAGjB,SACHkB,EAAGlB,WAEHiB,EAAGrB,KAAKoB,GACRC,EAAGjB,SAEHkB,EAAGlB,SACHkB,EAAGtB,KAAKmB,GAIZE,GAAKA,EAAGljB,YACRmjB,EAAKA,EAAGnjB,YAERgjB,EAAGjB,SACH,IAAIsB,GAAKL,EAAGP,OAAOO,EAAIN,EAIvB,KAAKM,EAAG58D,IAAI88D,GAAIp7D,IAAI46D,EAAEt8D,IAAI+8D,IAAKx9D,OAAO,GACpC,OAAO,CAGT,IAAI29D,GAAS,SAASzqH,GAAK,MAAO0qH,GAAQ1qH,EAAGwqH,IAC7CE,EAAU,SAAShqH,EAAGC,GAEpB,GAAIimC,GAAU+jF,EAAIC,EAAOC,EAAOC,GAAQ,GAAMxzE,EAAI,GAAM,CAiBxD,KAfAqzE,EAAKjqH,EAAE6sD,IAAI5sD,GAEXiqH,EAAQD,EAAGp9D,IAAI+8D,GACfM,EAAMnC,MAAQmC,EAAMnC,MAAMjoH,MAAM,EAAGqhG,EAAE4mB,MAAMnlH,QAEvCsnH,EAAMnC,MAAMnlH,QAAUu+F,EAAE4mB,MAAMnlH,SAChCsnH,EAAMnC,MAAM5mB,EAAE4mB,MAAMnlH,OAAS,IAAMwnH,GAGrCF,EAAQA,EAAMr9D,IAAIs8D,GAElBgB,EAAQF,EAAGrwD,IAAIswD,GAAOzjB,YAAYr0D,OAClC+3E,EAAMpC,MAAQoC,EAAMpC,MAAMjoH,MAAMqhG,EAAE4mB,MAAMnlH,OAAS,GAG5CsjC,EAAE,EAAGA,EAAIikF,EAAMpC,MAAMnlH,OAAQsjC,IAC5BA,EAAI,IACNikF,EAAMpC,MAAM7hF,EAAI,KAAOikF,EAAMpC,MAAM7hF,GAAKkkF,IAAU/nC,EAAQzrC,EAAI,GAGhEuzE,EAAMpC,MAAM7hF,GAAKikF,EAAMpC,MAAM7hF,IAAO0Q,EAAI,CAO1C,OAJIuzE,GAAMhC,cAAcgB,IACtBgB,EAAMxB,KAAKQ,GAGNgB,GAETd,EAAU,SAAS/pH,GAAK,MAAO0qH,GAAQ1qH,EAAG,GAE1C04C,GAAM+xE,EAAO/xE,GACbqS,EAAM0/D,EAAO1/D,EAGb,IAAI1T,GAAG0zE,KAAcC,GAAO,GAAMf,EAAO,GAAM,CAK/C,KAHAc,EAAQ,GAAKryE,EAAI4H,OACjByqE,EAAQ,GAAKL,EAAQhyE,EAAKA,GAErBrB,EAAE,EAAGA,GAAG2zE,EAAK3zE,IAChB0zE,EAAS,EAAI1zE,EAAK,GAAKqzE,EAAQK,EAAS,EAAI1zE,EAAK,GAAI0zE,EAAQ,GAG/D,IAAIE,GAAS,SAAS/yB,EAAKh4F,GACzB,GAAIyb,GAAMzb,EAAIg4F,EAAInV,KAElB,QAAQmV,EAAIuwB,MAAMzgH,KAAK2vC,MAAMz3C,EAAIg4F,EAAInV,QAAW,GAAKpnE,IAASA,EAGhE,KAAKzb,EAAI2X,EAAEy8E,YAAc,EAAGp0F,GAAK,GAC/B,GAAoB,GAAhB+qH,EAAOpzG,EAAG3X,GAGZ6qD,EAAM2/D,EAAQ3/D,EAAKA,GACnB7qD,GAAQ,MACH,CAOL,IAFA,GAAI0d,GAAI1d,EAAI+pH,EAAO,EAEI,GAAhBgB,EAAOpzG,EAAG+F,IACfA,GAGF,IAAIstG,GAAO,CACX,KAAKh5G,EAAI0L,EAAG1L,GAAKhS,EAAGgS,IAClBg5G,GAAQD,EAAOpzG,EAAG3F,IAAOA,EAAI0L,EAC7BmtC,EAAM2/D,EAAQ3/D,EAAKA,EAGrBA,GAAM2/D,EAAQ3/D,EAAKggE,EAAQG,IAE3BhrH,EAAI0d,EAAI,EAIZ,MAAOmsG,GAAQh/D,IAGjBjY,KAAM,WACJ,GAAoB7yC,GAAhB2d,EAAI/c,KAAK4nH,KACb,GACExoH,GAAI2d,EAAErX,YACCqX,EAAEta,QAAgB,IAANrD,EAErB,OADA2d,GAAE1Q,KAAKjN,GACAY,MAIT2F,OAAQ,WACN,MAAO3F,OAIT8nH,WAAY,WACV,MAAO9nH,MAAKsmG,aAIdA,UAAW,WACT,GAAajnG,GAAuC0d,EAAG7d,EAAnD6+D,EAAM,EAAMusD,EAAKtqH,KAAKuqH,SAAUC,EAAMxqH,KAAKwqH,IAAW5C,EAAQ5nH,KAAK4nH,MAAOQ,EAAKR,EAAMnlH,OAAQwnH,EAAOjqH,KAAKsoH,SAC7G,KAAKjpH,EAAE,EAAGA,EAAI+oH,GAAiB,IAAVrqD,GAAeA,KAAU,EAAK1+D,IACjD0d,GAAK6qG,EAAMvoH,IAAI,GAAK0+D,EACpB7+D,EAAI0oH,EAAMvoH,GAAK0d,EAAIktG,EACnBlsD,GAAShhD,EAAE7d,GAAGsrH,CAMhB,OAJIzsD,MAAU,IACZ6pD,EAAMvoH,EAAE,IAAMirH,GAEhBtqH,KAAKiyC,OACEjyC,MAIT8oH,WAAY,WACV,GAAazpH,GAAmB0d,EAAG7d,EAA/B6+D,EAAM,EAAMysD,EAAMxqH,KAAKwqH,IAAW5C,EAAQ5nH,KAAK4nH,MAAOQ,EAAKR,EAAMnlH,OAAQwnH,EAAOjqH,KAAKsoH,SACzF,KAAKjpH,EAAE,EAAGA,EAAI+oH,EAAG,EAAG/oH,IAClB0d,EAAI6qG,EAAMvoH,GAAK0+D,EACf7+D,EAAI0oH,EAAMvoH,GAAK0d,EAAIktG,EACnBlsD,GAAShhD,EAAE7d,GAAGsrH,CAGhB,OADA5C,GAAMvoH,IAAM0+D,EACL/9D,MAITukH,OAAQ,SAASx4G,GACf/L,KAAK8nH,aACL/7G,EAAMA,GAAO/L,KAAKyqH,UAAYzqH,KAAKyzF,WACnC,IAAIp0F,GAAI8H,KAAK2vC,OAAO/qC,EAAI,GAAG,IAAK+lF,EAAEkyB,EAAKwB,SAAUn+G,GAAK0E,EAAM,GAAI,GAAM/L,KAAKkiF,OAASliF,KAAKkiF,MACrFh4B,GAAO4nC,EAAEo0B,QAAQ7+G,EAAGrH,KAAK+nH,QAAQ1oH,IACrC,KAAKA,IAAKA,GAAK,EAAGA,IAChB6qD,EAAM4nC,EAAE7xF,OAAOiqD,GAAM4nC,EAAEo0B,QAAQ/+G,KAAKk6B,IAAIrhC,KAAKkiF,MAAMn2E,GAAM/L,KAAK+nH,QAAQ1oH,MACtE0M,GAAO/L,KAAKkiF,KAEd,OAAOh4B,IAITupC,UAAW,WACTzzF,KAAK8nH,YAGL,KAFA,GAAI59D,GAAMlqD,KAAKkiF,OAASliF,KAAK4nH,MAAMnlH,OAAS,GACxC3C,EAAIE,KAAK4nH,MAAM5nH,KAAK4nH,MAAMnlH,OAAS,GAChC3C,EAAGA,KAAO,EACfoqD,GAEF,OAAOA,GAAI,GAAI,IAOnB85D,EAAKI,GAAGvnC,SAAW,SAASvQ,GAC1B,GAAIo+C,GAAQ1qH,KAAMkqD,EAAM,GAAIwgE,GAASC,KAAU74B,EAAEkyB,EAAKwB,SAAUtoE,EAAIl9C,KAAKT,UACrEwd,EAAI5V,KAAKk6B,IAAIrhC,KAAKyzF,WAAa,WAAa3B,EAAE2B,UAAUnnB,IAAQjlE,EAAI0V,EAAImgC,EAAEglC,OAAShlC,EAAEglC,KAGzF,KADAyoC,EAAM,GAAK74B,EAAE+zB,QAAQv5C,EAAM,EAAGjlE,GACvBA,EAAI0V,EAAG1V,GAAK61C,EAAEglC,MACnByoC,EAAM30E,QAAQ87C,EAAE+zB,QAAQv5C,EAAMjlE,EAAG61C,EAAEglC,OAIrC,OADAh4B,GAAI09D,MAAQ+C,EACLzgE,GAKT85D,EAAKI,GAAG7kH,UAAUirH,IAAM,GAAKxG,EAAKI,GAAG7kH,UAAUgrH,SAAWpjH,KAAK0wC,IAAI,EAAEmsE,EAAKI,GAAG7kH,UAAU2iF,QACvF8hC,EAAKI,GAAG7kH,UAAU+oH,WAAa,GAAKtE,EAAKI,GAAG7kH,UAAU2iF,OAAS,EAM/D8hC,EAAKI,GAAGwG,oBAAsB,SAASH,EAAUI,GAI/C,QAASzrH,GAAEqgB,GACTzf,KAAKynH,SAAShoG,GAMhB,GAAuCpgB,GAAG6vD,EAAK47D,EAA3CC,EAAM3rH,EAAEG,UAAY,GAAIykH,GAAKI,EAajC,KAZA0G,EAAKC,EAAIC,UAAY7jH,KAAK4vC,KAAKmY,EAAMu7D,EAAWM,EAAI7oC,OACpD6oC,EAAIN,SAAWA,EACfM,EAAIrrE,UACJqrE,EAAIzzE,UACJyzE,EAAIE,UAAYH,EAChBC,EAAIG,SAAW,EACfH,EAAII,cACJJ,EAAIK,cACJL,EAAIM,QAAUjsH,EAAEisH,QAAU,GAAIrH,GAAKI,GAAGj9G,KAAK0wC,IAAI,EAAE4yE,IAEjDM,EAAIG,SAAW,GAAG/jH,KAAK0wC,IAAI,EAAG4yE,EAAWM,EAAI7oC,OAExC7iF,EAAE,EAAGA,EAAEwrH,EAAMpoH,OAAQpD,IACxB0rH,EAAIrrE,OAAOrgD,GAAK8H,KAAK2vC,MAAM+zE,EAAMxrH,GAAG,GAAK0rH,EAAI7oC,MAAQhzB,GACrD67D,EAAII,WAAW9rH,GAAK8H,KAAK4vC,KAAK8zE,EAAMxrH,GAAG,GAAK0rH,EAAI7oC,MAAQhzB,GACxD67D,EAAIzzE,OAAOj4C,GAAKwrH,EAAMxrH,GAAG,GAAK8H,KAAK0wC,IAAI,GAAK4yE,EAAWI,EAAMxrH,GAAG,GAAK0rH,EAAIrrE,OAAOrgD,GAAK0rH,EAAI7oC,OACzF6oC,EAAIK,WAAW/rH,GAAKwrH,EAAMxrH,GAAG,GAAK8H,KAAK0wC,IAAI,GAAK4yE,EAAWI,EAAMxrH,GAAG,GAAK0rH,EAAII,WAAW9rH,GAAK0rH,EAAI7oC,OACjG6oC,EAAIM,QAAQlD,KAAK,GAAInE,GAAKI,GAAGj9G,KAAK0wC,IAAI,EAAEgzE,EAAMxrH,GAAG,IAAIwrH,EAAMxrH,GAAG,KAC9D0rH,EAAIE,UAAY9jH,KAAKk6B,IAAI0pF,EAAIE,WAAYF,EAAIrrE,OAAOrgD,GA6FtD,OA3FA0rH,GAAIpD,OAASvoH,EACb2rH,EAAIM,QAAQvC,aAMZiC,EAAIplH,OAAS,WACX,GAAItG,GAAG0mC,EAAGhpB,EAA2GqrG,EAAxG0C,EAAK9qH,KAAKgrH,UAAWpD,EAAQ5nH,KAAK4nH,MAAO9sG,EAAM9a,KAAK0/C,OAAQ4rE,EAAKtrH,KAAK0/C,OAAOj9C,OAAQ8oH,EAAMvrH,KAAKs3C,MAG7G,KADAj4C,EAAIW,KAAKirH,UACFrD,EAAMnlH,OAASqoH,GAAI,CAGxB,IAFA/tG,EAAI6qG,EAAMliH,MACV0iH,EAAKR,EAAMnlH,OACNsjC,EAAE,EAAGA,EAAEulF,EAAIvlF,IACd6hF,EAAMQ,EAAGttG,EAAIirB,KAAOwlF,EAAIxlF,GAAKhpB,CAG/B1d,KACKA,IACHuoH,EAAMv7G,KAAK,GACXrM,KAAK8oH,aACLzpH,EAAIW,KAAKirH,WAKb,MAFAjrH,MAAK8oH,aAEE9oH,MAMT+qH,EAAIS,cAAiBT,EAAIG,YAAa,EAAMH,EAAIplH,OAAS,WACvD,GAA8CogC,GAAGhpB,EAA7C6qG,EAAQ5nH,KAAK4nH,MAAOvoH,EAAIuoH,EAAMnlH,OAAS,CAE3C,IADAzC,KAAK2F,SACDtG,IAAMW,KAAKgrH,UAAY,EAAG,CAG5B,IAFAjuG,EAAI6qG,EAAMvoH,GAAKW,KAAKkrH,SACpBtD,EAAMvoH,IAAM0d,EACPgpB,EAAE,EAAGA,EAAE/lC,KAAKmrH,WAAW1oH,OAAQsjC,IAClC6hF,EAAMvoH,EAAEW,KAAKmrH,WAAWplF,KAAO/lC,KAAKorH,WAAWrlF,GAAKhpB,CAEtD/c,MAAKsmG,cAQTykB,EAAIjD,WAAa,WACf,GAAII,GAAS7oH,CAgBb,KAbAW,KAAKwrH,gBAGLxrH,KAAKmoH,KAAKnoH,KAAKqrH,SACfrrH,KAAKmoH,KAAKnoH,KAAKqrH,SACfrrH,KAAKsmG,YAGLtmG,KAAKwrH,gBAKAnsH,EAAEW,KAAK4nH,MAAMnlH,OAAQpD,EAAEW,KAAKgrH,UAAW3rH,IAC1CW,KAAK4nH,MAAMvoH,GAAK,CAKlB,KADA6oH,EAAUloH,KAAKgoH,cAAchoH,KAAKqrH,SAC7BhsH,EAAE,EAAGA,EAAEW,KAAK4nH,MAAMnlH,OAAQpD,IAC7BW,KAAK4nH,MAAMvoH,IAAMW,KAAKqrH,QAAQzD,MAAMvoH,GAAK6oH,CAI3C,OAFAloH,MAAK8oH,aAEE9oH,MAOT+qH,EAAIvyD,QAAU,WACZ,MAAQx4D,MAAKqiF,MAAMriF,KAAKqrH,QAAQj9D,IAAI,KAGtChvD,EAAEy9E,SAAWmnC,EAAKI,GAAGvnC,SAEdz9E,EAIT,IAAIqsH,GAAMzH,EAAKI,GAAGwG,mBAoqEd,OAnqEJ5G,GAAKI,GAAGsH,OACNC,KAAMF,EAAI,MAAO,GAAE,KAGnBG,OAAQH,EAAI,MAAO,GAAE,MAGrBI,MAAOJ,EAAI,MAAO,IAAG,IAAK,IAAG,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,KAChEK,MAAOL,EAAI,MAAO,IAAG,IAAK,IAAG,IAAK,IAAG,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,KACxEM,MAAON,EAAI,MAAO,IAAG,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,IAAK,GAAE,KAG/DO,KAAMP,EAAI,MAAO,GAAE,IAAK,IAAG,KAC3BQ,KAAMR,EAAI,MAAO,EAAE,IAAI,IAAG,KAC1BS,KAAMT,EAAI,MAAO,GAAE,IAAK,GAAG,IAAI,IAAI,IAAI,KAAI,KAC3CU,KAAMV,EAAI,MAAO,GAAE,IAAK,GAAG,IAAI,IAAG,IAAK,KAAI,KAC3CW,KAAMX,EAAI,MAAO,GAAE,MAGrBzH,EAAKI,GAAGh9G,OAAS,SAASikH,EAASgB,GACV,YAAnB,mBAAOhB,GAAP,YAAAnpH,EAAOmpH,MAAwBA,EAAU,GAAIrH,GAAKI,GAAGiH,GAEzD,KADA,GAAIV,GAAOtrH,EAAG0d,EAAIsuG,EAAQzD,MAAMnlH,OAAQvD,EAAImsH,EAAQzD,MAAM7qG,EAAE,GAAG,EAAGmtC,EAAM,GAAI85D,GAAKI,KACpE,CAEX,EACEuG,GAAQ3G,EAAK58G,OAAOklH,YAAYvvG,EAAGsvG,GAC/B1B,EAAM5tG,EAAE,GAAK,IAAK4tG,EAAM5tG,EAAE,IAAM,kBAC7B5V,KAAK2vC,MAAM6zE,EAAM5tG,EAAE,GAAK7d,KAAOiI,KAAK2vC,MAAM,WAAc53C,GAIjE,KAHAyrH,EAAM5tG,EAAE,IAAM7d,EAGTG,EAAE,EAAGA,EAAE0d,EAAE,EAAG1d,IACfsrH,EAAMtrH,IAAMgsH,EAAQ/C,SAKtB,IADAp+D,EAAI09D,MAAQ+C,GACPzgE,EAAI89D,cAAcqD,GACrB,MAAOnhE,KAUe,mBAAjB7Y,eACR,SAAS+kC,GAENA,EAAQ/kC,YAAc,aACtB+kC,EAAQzjC,SAAW,cACrB3yC,MAOJgkH,EAAKK,MAAMnzE,aAGT2rC,SAAU,SAAU1+B,EAAKwhD,EAAS4sB,GAChC,GAAIriE,GAAK7qD,EAAGisH,EAAIp8D,EAAKs9D,CAIrB,IAHA7sB,EAAmBz7F,QAATy7F,GAA6BA,EACvC4sB,EAAgBA,GAAiB,EAEd,IAAfpuE,EAAI17C,OACN,MAAO,IAAI4uC,aAAY,EAOzB,IAJAi6E,EAAKtH,EAAKwB,SAAS/xB,UAAUt1C,GAAK,EAI7B6lE,EAAKwB,SAAS/xB,UAAUt1C,GAAK,IAAM,EACtC,KAAM,IAAI6lE,GAAK9vE,UAAUmxE,QAAQ,6EAUnC,KAPI1lB,GAAW2rB,EAAGiB,IAAkB,IAClCjB,GAAMiB,EAAiBjB,EAAGiB,GAK5Br9D,EAAM,GAAIvc,UAAS,GAAItB,aAAuB,EAAX8M,EAAI17C,SAClCpD,EAAE,EAAGA,EAAE8+C,EAAI17C,OAAQpD,IACtB6vD,EAAIu9D,UAAY,EAAFptH,EAAM8+C,EAAI9+C,IAAI,GAO9B,IAHA6qD,EAAM,GAAIvX,UAAS,GAAItB,aAAYi6E,IAG/BphE,EAAI9Z,aAAe8e,EAAI9e,WACzB,MAAO8e,GAAI7e,MAIb,KADAm8E,EAAWt9D,EAAI9e,WAAa8Z,EAAI9Z,WAAa8e,EAAI9e,WAAa8Z,EAAI9Z,WAC9D/wC,EAAE,EAAGA,EAAEmtH,EAAUntH,IACnB6qD,EAAIwiE,SAASrtH,EAAE6vD,EAAIy9D,SAASttH,GAI9B,OAAO6qD,GAAI7Z,QAGbk0E,OAAQ,SAAUl0E,GAChB,GAAIhxC,GAAW0M,EAAK6gH,EAAQ19D,EAArBhF,IAEP,IAA0B,IAAtB7Z,EAAOD,WACT,QAGFw8E,GAAS,GAAIj6E,UAAStC,GACtBtkC,EAAM6gH,EAAOx8E,WAAaw8E,EAAOx8E,WAAW,CAE5C,KAAK,GAAI/wC,GAAI,EAAGA,EAAI0M,EAAK1M,GAAG,EAC1B6qD,EAAI79C,KAAKugH,EAAOC,UAAUxtH,GAG5B,IAAIutH,EAAOx8E,WAAW,GAAK,EAAG,CAC5B8e,EAAM,GAAIvc,UAAS,GAAItB,aAAY,GACnC,KAAK,GAAIhyC,GAAI,EAAG0d,EAAI6vG,EAAOx8E,WAAW,EAAG/wC,EAAI0d,EAAG1d,IAE9C6vD,EAAIw9D,SAASrtH,EAAE,EAAE0d,EAAG6vG,EAAOD,SAAS5gH,EAAI1M,GAE1C6qD,GAAI79C,KACF23G,EAAKwB,SAASU,QAAU0G,EAAOx8E,WAAW,EAAG,EAAG8e,EAAI29D,UAAU,KAGlE,MAAO3iE,IAMT4iE,cAAe,SAASz8E,GAQpB,IAAK,GAPD08E,GAAmB,GAAIp6E,UAAStC,GAChCmM,EAAS,GACTya,EAAM,SAAUxrD,EAAG87F,GAEnB,MADA97F,IAAQ,GACDA,EAAEhJ,QAAU8kG,EAAQ97F,EAAI,GAAIjG,OAAM+hG,EAAQ97F,EAAEhJ,OAAS,GAAG4mB,KAAK,KAAO5d,GAGtEpM,EAAI,EAAGA,EAAI0tH,EAAiB38E,WAAY/wC,GAAG,EAC5CA,EAAE,IAAM,IAAGm9C,GAAW,KAAMn9C,EAAGoL,SAAS,IAAI,MAChD+xC,GAAYya,EAAI81D,EAAiBC,UAAU3tH,GAAGoL,SAAS,IAAI,GAAK,GAG5CvG,WAAnB,mBAAOqI,SAAP,YAAArK,EAAOqK,YACVA,QAAUA,UAAY1F,IAAI,eAE5B0F,QAAQ1F,IAAI21C,EAAO5K,iBAezBoyE,EAAKK,MAAM4I,YAETpwC,SAAU,SAAU1+B,GAClB,GAAiD9+C,GAAG6vD,EAAhDhF,EAAM,GAAI+S,EAAK+mD,EAAKwB,SAAS/xB,UAAUt1C,EAC3C,KAAK9+C,EAAE,EAAGA,EAAE49D,EAAG,EAAG59D,IACF,KAAP,EAAFA,KACH6vD,EAAM/Q,EAAI9+C,EAAE,IAEd6qD,GAAOt6B,OAAOsgB,aAAagf,IAAQ,IAAM,IAAM,GAC/CA,IAAQ,CAEV,OAAO/c,oBAAmB+6E,OAAOhjE,KAInCq6D,OAAQ,SAAUtnG,GAChBA,EAAMkwG,SAASC,mBAAmBnwG,GAClC,IAAc5d,GAAV6qD,KAAagF,EAAI,CACrB,KAAK7vD,EAAE,EAAGA,EAAE4d,EAAIxa,OAAQpD,IACtB6vD,EAAMA,GAAO,EAAIjyC,EAAIu4B,WAAWn2C,GAClB,KAAP,EAAFA,KACH6qD,EAAI79C,KAAK6iD,GACTA,EAAM,EAMV,OAHM,GAAF7vD,GACF6qD,EAAI79C,KAAK23G,EAAKwB,SAASU,QAAQ,GAAK,EAAF7mH,GAAM6vD,IAEnChF,IAOX85D,EAAKC,OASLD,EAAKC,IAAIlzB,MAAQ,SAAS8O,EAAM7oF,EAAEu/B,GACtBryC,SAAN8S,EACFhX,KAAKqtH,YAAa,GAEdr2G,YAAagtG,GAAKI,KACpBptG,EAAI,GAAI6oF,GAAM0P,MAAMv4F,IAElBu/B,YAAaytE,GAAKI,KACpB7tE,EAAI,GAAIspD,GAAM0P,MAAMh5D,IAGtBv2C,KAAKgX,EAAIA,EACThX,KAAKu2C,EAAIA,EAETv2C,KAAKqtH,YAAa,GAEpBrtH,KAAK6/F,MAAQA,GAKfmkB,EAAKC,IAAIlzB,MAAMxxF,WACb+tH,MAAO,WACL,MAAO,IAAItJ,GAAKC,IAAIsJ,SAASvtH,KAAK6/F,MAAO7/F,KAAKgX,EAAGhX,KAAKu2C,EAAG,GAAIv2C,MAAK6/F,MAAM0P,MAAM,KAGhFie,KAAM,SAASznF,GACb,MAAO/lC,MAAKstH,QAAQE,KAAKznF,EAAG/lC,MAAMytH,YAUpCC,MAAO,SAAS3nF,EAAG4nF,EAAIC,GACrB,MAAO5tH,MAAKstH,QAAQI,MAAM3nF,EAAG/lC,KAAM2tH,EAAIC,GAASH,YAGlDI,UAAW,WACT,GAAI3uH,GAAGG,EAAGgS,CACV,IAAwBnN,SAApBlE,KAAK8tH,WAGP,IAFAz8G,EAAIrR,KAAKstH,QAAQS,QACjB7uH,EAAIc,KAAK8tH,YAAc,GAAI9J,GAAKC,IAAIlzB,MAAM/wF,KAAK6/F,OAAQ7/F,KAAMqR,EAAEo8G,YAC1DpuH,EAAE,EAAGA,EAAE,GAAIA,IACdgS,EAAIA,EAAEooD,IAAIz5D,MACVd,EAAEmN,KAAKgF,EAAEo8G,WAGb,OAAOztH,MAAK8tH,YAGdtxC,OAAQ,WACN,GAAIwxC,GAAO,GAAIhuH,MAAK6/F,MAAM0P,MAAM,GAAGnhD,IAAIpuD,KAAKu2C,GAAG+vD,YAAY3gG,QAC3D,OAAO,IAAIq+G,GAAKC,IAAIlzB,MAAM/wF,KAAK6/F,MAAO7/F,KAAKgX,EAAGg3G,IAGhDC,QAAS,WACP,MAAOjuH,MAAKu2C,EAAE2nD,SAASjyC,OAAOjsD,KAAK6/F,MAAM//F,EAAE25D,IAAIz5D,KAAKgX,EAAE01C,IAAI1sD,KAAK6/F,MAAMhgG,EAAE45D,IAAIz5D,KAAKgX,EAAEknF,cAGpFqmB,OAAQ,WACN,MAAOP,GAAKwB,SAASvlH,OAAOD,KAAKgX,EAAEutG,SAAUvkH,KAAKu2C,EAAEguE,YAcxDP,EAAKC,IAAIsJ,SAAW,SAAS1tB,EAAO7oF,EAAGu/B,EAAG02B,GAC9B/oE,SAAN8S,EACFhX,KAAKqtH,YAAa,GAElBrtH,KAAKgX,EAAIA,EACThX,KAAKu2C,EAAIA,EACTv2C,KAAKitE,EAAIA,EACTjtE,KAAKqtH,YAAa,GAEpBrtH,KAAK6/F,MAAQA,GAGfmkB,EAAKC,IAAIsJ,SAAShuH,WAOhBk6D,IAAK,SAASj7C,GACZ,GAAc0vG,GAAK/uH,EAAGmI,EAAG45E,EAAIgf,EAAIhS,EAAIl3E,EAAGmpF,EAAIC,EAAI7pD,EAAG02B,EAA/C6G,EAAI9zE,IACR,IAAI8zE,EAAE+rB,QAAUrhF,EAAEqhF,MAChB,KAAM,IAAImkB,GAAK9vE,UAAUmxE,QAAQ,gEAGnC,OAAIvxC,GAAEu5C,WACG7uG,EAAE8uG,QACA9uG,EAAE6uG,WACJv5C,GAGTo6C,EAAMp6C,EAAE7G,EAAEixB,SACV/+F,EAAIqf,EAAExH,EAAE01C,IAAIwhE,GAAK1F,KAAK10C,EAAE98D,GAEpB7X,EAAE8sD,OAAO,GACP6nB,EAAEv9B,EAAE0V,OAAOztC,EAAE+3B,EAAEmW,IAAIwhE,EAAIxhE,IAAIonB,EAAE7G,KAExB6G,EAAEi6C,QAGF,GAAI/J,GAAKC,IAAIsJ,SAASz5C,EAAE+rB,QAInCv4F,EAAIkX,EAAE+3B,EAAEmW,IAAIwhE,EAAIxhE,IAAIonB,EAAE7G,IAAIu7C,KAAK10C,EAAEv9B,GACjC2qC,EAAK/hF,EAAE++F,SAEPgC,EAAK54F,EAAE42F,SACPhQ,EAAK/uF,EAAE++F,SAASxxC,IAAIvtD,GAAGgpH,KAAMr0C,EAAE98D,EAAEyiD,IAAIqa,EAAE98D,GAAG01C,IAAIw0B,IAC9ClqE,EAAKkpF,EAAGsoB,KAAKt6B,GAEbiS,EAAKrsB,EAAE98D,EAAE01C,IAAIw0B,GAAIsnC,KAAKxxG,GAAG01C,IAAIplD,GAC7B84F,EAAKtsB,EAAEv9B,EAAEmW,IAAIvtD,EAAE++F,SAASxxC,IAAIvtD,IAC5Bo3C,EAAK4pD,EAAGqoB,KAAKpoB,GAEbnzB,EAAK6G,EAAE7G,EAAEvgB,IAAIvtD,GAEN,GAAI6kH,GAAKC,IAAIsJ,SAASvtH,KAAK6/F,MAAM7oF,EAAEu/B,EAAE02B,MAO9C8gD,MAAO,WACL,GAAI/tH,KAAKqtH,WAAc,MAAOrtH,KAE9B,IACEogG,GAAKpgG,KAAKu2C,EAAE2nD,SACZr+F,EAAKugG,EAAG1zC,IAAI1sD,KAAKgX,EAAE01C,IAAI,IACvB5sD,EAAKsgG,EAAGlC,SAASxxC,IAAI,GACrByhE,EAAKnuH,KAAKitE,EAAEixB,SACZ/+F,EAAKa,KAAK6/F,MAAMhgG,EAAE4K,YAAe,GAAIu5G,GAAKI,IAAG,GAAK35G,WACxCzK,KAAKgX,EAAEo3C,IAAI+/D,GAAIzhE,IAAI,GAAGA,IAAI1sD,KAAKgX,EAAEyiD,IAAI00D,IACrCnuH,KAAKgX,EAAEknF,SAASxxC,IAAI,GAAG+M,IAAI00D,EAAGjwB,SAASxxC,IAAI1sD,KAAK6/F,MAAMhgG,IAChEmX,EAAK7X,EAAE++F,SAASsqB,KAAK3oH,GAAG2oH,KAAK3oH,GAC7B02C,EAAK12C,EAAEuuD,IAAIp3C,GAAG01C,IAAIvtD,GAAGqpH,KAAK1oH,GAC1BmtE,EAAKjtE,KAAKu2C,EAAEkjB,IAAIz5D,KAAKu2C,GAAGmW,IAAI1sD,KAAKitE,EACnC,OAAO,IAAI+2C,GAAKC,IAAIsJ,SAASvtH,KAAK6/F,MAAO7oF,EAAGu/B,EAAG02B,IAOjDwgD,SAAU,WACR,GAAIztH,KAAKqtH,YAAcrtH,KAAKitE,EAAEhhB,OAAO,GACnC,MAAO,IAAI+3D,GAAKC,IAAIlzB,MAAM/wF,KAAK6/F,MAEjC,IAAIuuB,GAAKpuH,KAAKitE,EAAEzU,UAAW61D,EAAMD,EAAGlwB,QACpC,OAAO,IAAI8lB,GAAKC,IAAIlzB,MAAM/wF,KAAK6/F,MAAO7/F,KAAKgX,EAAE01C,IAAI2hE,GAAKvG,aAAc9nH,KAAKu2C,EAAEmW,IAAI2hE,EAAI3hE,IAAI0hE,IAAKtG,eAS9F0F,KAAM,SAASznF,EAAGuoF,GACE,gBAAPvoF,GACTA,GAAKA,GACgB7hC,SAAZ6hC,EAAE6hF,QACX7hF,EAAIA,EAAEugE,YAAYshB,MAGpB,IAAIvoH,GAAGgS,EAAG64C,EAAM,GAAI85D,GAAKC,IAAIlzB,MAAM/wF,KAAK6/F,OAAOytB,QAASO,EAAYS,EAAOT,WAE3E,KAAKxuH,EAAE0mC,EAAEtjC,OAAO,EAAGpD,GAAG,EAAGA,IACvB,IAAKgS,EAAE2yG,EAAKI,GAAG7kH,UAAU2iF,MAAM,EAAG7wE,GAAG,EAAGA,GAAG,EACzC64C,EAAMA,EAAI6jE,QAAQA,QAAQA,QAAQA,QAAQt0D,IAAIo0D,EAAU9nF,EAAE1mC,IAAIgS,EAAI,IAItE,OAAO64C,IAWTwjE,MAAO,SAAS5xB,EAAIwyB,EAAQX,EAAIC,GACX,gBAAR9xB,GACTA,GAAMA,GACgB53F,SAAb43F,EAAG8rB,QACZ9rB,EAAKA,EAAGwK,YAAYshB,OAGH,gBAAR+F,GACTA,GAAMA,GACgBzpH,SAAbypH,EAAG/F,QACZ+F,EAAKA,EAAGrnB,YAAYshB,MAGtB,IAAIvoH,GAAGgS,EACuBk9G,EAAIC,EADxBtkE,EAAM,GAAI85D,GAAKC,IAAIlzB,MAAM/wF,KAAK6/F,OAAOytB,QAASv+B,EAAKu/B,EAAOT,YAChEY,EAAKb,EAAQC,WAEjB,KAAKxuH,EAAE8H,KAAKmvB,IAAIwlE,EAAGr5F,OAAOkrH,EAAGlrH,QAAQ,EAAGpD,GAAG,EAAGA,IAG5C,IAFAkvH,EAAa,EAARzyB,EAAGz8F,GACRmvH,EAAa,EAARb,EAAGtuH,GACHgS,EAAE2yG,EAAKI,GAAG7kH,UAAU2iF,MAAM,EAAG7wE,GAAG,EAAGA,GAAG,EACzC64C,EAAMA,EAAI6jE,QAAQA,QAAQA,QAAQA,QAAQt0D,IAAIs1B,EAAGw/B,GAAIl9G,EAAI,KAAMooD,IAAIg1D,EAAGD,GAAIn9G,EAAI,IAIlF,OAAO64C,IAGTsyB,OAAQ,WACN,MAAOx8E,MAAKytH,WAAWjxC,SAAS8wC,SAGlCW,QAAS,WACP,GAAIE,GAAKnuH,KAAKitE,EAAEixB,SAAUwwB,EAAKP,EAAGjwB,SAAUywB,EAAKD,EAAGhiE,IAAIyhE,EACxD,OAAOnuH,MAAKu2C,EAAE2nD,SAASjyC,OACdjsD,KAAK6/F,MAAM//F,EAAE4sD,IAAIiiE,GAAIl1D,IAAIz5D,KAAKgX,EAAE01C,IAC9B1sD,KAAK6/F,MAAMhgG,EAAE6sD,IAAIgiE,GAAIj1D,IAAIz5D,KAAKgX,EAAEknF,eAc/C8lB,EAAKC,IAAIpkB,MAAQ,SAAS+uB,EAAOh4G,EAAG/W,EAAGC,EAAGkX,EAAGu/B,GAC3Cv2C,KAAKuvG,MAAQqf,EACb5uH,KAAK4W,EAAI,GAAIotG,GAAKI,GAAGxtG,GACrB5W,KAAKH,EAAI,GAAI+uH,GAAM/uH,GACnBG,KAAKF,EAAI,GAAI8uH,GAAM9uH,GACnBE,KAAK6tF,EAAI,GAAIm2B,GAAKC,IAAIlzB,MAAM/wF,KAAM,GAAI4uH,GAAM53G,GAAI,GAAI43G,GAAMr4E,KAG5DytE,EAAKC,IAAIpkB,MAAMtgG,UAAUs9E,SAAW,SAAUvQ,GAC5C,GAAIwlB,GAAIkyB,EAAKwB,SAAUzoG,EAAI/c,KAAKuvG,MAAMhwG,UAAUkrH,SAAW,GAAI,EAC3DrrH,EAAI,GAAI4kH,GAAKC,IAAIlzB,MAAM/wF,KAAMA,KAAKuvG,MAAM1yB,SAASiV,EAAE2zB,SAASn5C,EAAM,EAAGvvD,IAC9C/c,KAAKuvG,MAAM1yB,SAASiV,EAAE2zB,SAASn5C,EAAMvvD,EAAG,EAAEA,IACrE,KAAK3d,EAAE6uH,UACL,KAAM,IAAIjK,GAAK9vE,UAAUkxE,QAAQ,oBAEnC,OAAOhmH,IAGT4kH,EAAKC,IAAI7hB,QACPysB,KAAM,GAAI7K,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMM,KACd,sDACA,EACA,qDACA,qDACA;AAEF8C,KAAM,GAAI9K,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMO,KACd,8DACA,EACA,6DACA,6DACA,8DAEF8C,KAAM,GAAI/K,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMQ,KACd,sEACA,EACA,qEACA,qEACA,sEAEF8C,KAAM,GAAIhL,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMS,KACd,sGACA,EACA,qGACA,qGACA,sGAEF8C,KAAM,GAAIjL,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMU,KACd,yIACA,EACA,wIACA,uIACA,yIAEF8C,KAAM,GAAIlL,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMG,MACd,qDACA,EACA,EACA,qDACA,sDAEFsD,KAAM,GAAInL,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMI,MACd,+DACA,EACA,EACA,6DACA,8DAEF3H,KAAM,GAAIH,GAAKC,IAAIpkB,MACjBmkB,EAAKI,GAAGsH,MAAMK,MACd,qEACA,EACA,EACA,qEACA,uEAIJ/H,EAAKC,IAAImL,UAAY,SAAUvvB,GAC7B,GAAIwvB,EACJ,KAAKA,IAAYrL,GAAKC,IAAI7hB,OACxB,GAAI4hB,EAAKC,IAAI7hB,OAAO5iG,eAAe6vH,IAC7BrL,EAAKC,IAAI7hB,OAAOitB,KAAcxvB,EAChC,MAAOwvB,EAKb,MAAM,IAAIrL,GAAK9vE,UAAUmxE,QAAQ,kBAGnCrB,EAAKC,IAAIqL,YAAc,SAAU1sH,GAC/B,GAAI0sG,IAAS,UAAW,QAExB,KAAK1sG,IAAQA,EAAIi9F,QAAUmkB,EAAKC,IAAI7hB,OAAOx/F,EAAIi9F,OAAU,KAAM,IAAImkB,GAAK9vE,UAAUmxE,QAAQ,wBAC1F,IAAI/V,EAAMhpF,QAAQ1jB,EAAIgJ,SAAU,EAAM,KAAM,IAAIo4G,GAAK9vE,UAAUmxE,QAAQ,eAEvE,IAAIxlB,GAAQmkB,EAAKC,IAAI7hB,OAAOx/F,EAAIi9F,MAEhC,IAAIj9F,EAAI2sH,UAAW,CACjB,IAAK3sH,EAAI6nH,SAAY,KAAM,IAAIzG,GAAK9vE,UAAUmxE,QAAQ,mBACtD,IAAIoF,GAAW,GAAIzG,GAAKI,GAAGxhH,EAAI6nH,SAC/B,OAAO,IAAIzG,GAAKC,IAAIrhH,EAAIgJ,MAAM2jH,UAAU1vB,EAAO4qB,GAE/C,IAAK7nH,EAAImuF,MAAS,KAAM,IAAIizB,GAAK9vE,UAAUmxE,QAAQ,gBAEnD,IAAIt0B,GAAQ8O,EAAMhjB,SAASmnC,EAAKK,MAAM3jC,IAAI6jC,OAAO3hH,EAAImuF,OACrD,OAAO,IAAIizB,GAAKC,IAAIrhH,EAAIgJ,MAAM4jH,UAAU3vB,EAAO9O,IAMnDizB,EAAKC,IAAIwL,UAMPD,UAAW,SAAS3vB,EAAO9O,GACzB/wF,KAAK0vH,OAAS7vB,EACd7/F,KAAK2vH,gBAAkB9vB,EAAMjpF,EAAE68E,YAC3B1C,YAAiBvrF,OACnBxF,KAAK4vH,OAAS/vB,EAAMhjB,SAASkU,GAE7B/wF,KAAK4vH,OAAS7+B,EAGhB/wF,KAAK27C,UAAY,WACf,GAAIyzE,GAAYpL,EAAKC,IAAImL,UAAUvvB,EACnC,QACEj0F,KAAM5L,KAAK6vH,UACXN,WAAW,EACXx+B,MAAOizB,EAAKK,MAAM3jC,IAAI7D,SAAS78E,KAAK4vH,OAAOrL,UAC3C1kB,MAAOuvB,IAOXpvH,KAAKoc,IAAM,WACT,GAAI0zG,GAAY9vH,KAAK4vH,OAAOrL,SACxBx4G,EAAMi4G,EAAKwB,SAAS/xB,UAAUq8B,GAC9B94G,EAAIgtG,EAAKwB,SAASC,SAASqK,EAAW,EAAG/jH,EAAI,GAC7CwqC,EAAIytE,EAAKwB,SAASC,SAASqK,EAAW/jH,EAAI,EAC9C,QAASiL,EAAGA,EAAGu/B,EAAGA,KAStBg5E,UAAW,SAAS1vB,EAAO4qB,GACzBzqH,KAAK0vH,OAAS7vB,EACd7/F,KAAK2vH,gBAAkB9vB,EAAMjpF,EAAE68E,YAC/BzzF,KAAK+vH,UAAYtF,EAEjBzqH,KAAK27C,UAAY,WACf,GAAI8uE,GAAWzqH,KAAKoc,MAChBgzG,EAAYpL,EAAKC,IAAImL,UAAUvvB,EACnC,QACEj0F,KAAM5L,KAAK6vH,UACXN,WAAW,EACX9E,SAAUzG,EAAKK,MAAM3jC,IAAI7D,SAAS4tC,GAClC5qB,MAAOuvB,IAOXpvH,KAAKoc,IAAM,WACT,MAAOpc,MAAK+vH,UAAUxL,YAM5BP,EAAKC,IAAIwL,SAASvL,aAAe,SAAS8L,GACxC,MAAO,UAAsBnwB,EAAOwsB,EAAUtH,GAG5C,GAFAllB,EAAQA,GAAS,IAEI,gBAAVA,KACTA,EAAQmkB,EAAKC,IAAI7hB,OAAO,IAAIvC,GACd37F,SAAV27F,GACF,KAAM,IAAImkB,GAAK9vE,UAAUmxE,QAAQ,gBAGrCN,GAAMA,GAAOf,EAAKI,GAAGh9G,OAAOy4F,EAAMjpF,EAAGy1G,EAErC,IAAIvI,GAAMjkB,EAAMhS,EAAE2/B,KAAKzI,EACvB,QAASjB,IAAK,GAAIE,GAAKC,IAAI+L,GAAIR,UAAU3vB,EAAOikB,GACvCiB,IAAK,GAAIf,GAAKC,IAAI+L,GAAIT,UAAU1vB,EAAOklB,MAKpDf,EAAKC,IAAIgM,SAOP/L,aAAcF,EAAKC,IAAIwL,SAASvL,aAAa,WAK7CsL,UAAW,SAAU3vB,EAAO9O,GAC1BizB,EAAKC,IAAIwL,SAASD,UAAUzvH,MAAMC,KAAMiE,YAM1CsrH,UAAW,SAAU1vB,EAAO4qB,GAC1BzG,EAAKC,IAAIwL,SAASF,UAAUxvH,MAAMC,KAAMiE,aAI5C+/G,EAAKC,IAAIgM,QAAQT,UAAUjwH,WAKzB2wH,IAAK,SAAS7D,GACZ,GAAItH,GAAMf,EAAKI,GAAGh9G,OAAOpH,KAAK0vH,OAAO94G,EAAGy1G,GACpC1jF,EAAM3oC,KAAK0vH,OAAO7hC,EAAE2/B,KAAKzI,GAAKR,SAC9B3hH,EAAMohH,EAAKz5G,KAAKC,OAAOD,KAAKvK,KAAK4vH,OAAOpC,KAAKzI,GAAKR,SACtD,QAAS3hH,IAAKA,EAAK+lC,IAAKA,IAG1BknF,QAAS,WACP,MAAO,YAIX7L,EAAKC,IAAIgM,QAAQV,UAAUhwH,WAKzB4wH,MAAO,SAASxnF,GACd,MAAOq7E,GAAKz5G,KAAKC,OAAOD,KAAKvK,KAAK0vH,OAAO7yC,SAASl0C,GAAK6kF,KAAKxtH,KAAK+vH,WAAWxL,WAO9Ej1C,GAAI,SAAS8gD,GACX,MAAOpM,GAAKz5G,KAAKC,OAAOD,KAAK6lH,EAAGR,OAAOpC,KAAKxtH,KAAK+vH,WAAWxL,WAQ9D8L,SAAU,SAASD,GACjB,MAAOA,GAAGR,OAAOpC,KAAKxtH,KAAK+vH,WAAW/4G,EAAEutG,UAG1CsL,QAAS,WACP,MAAO,YAKX7L,EAAKC,IAAI3gB,OAOP4gB,aAAcF,EAAKC,IAAIwL,SAASvL,aAAa,UAO/CF,EAAKC,IAAI3gB,MAAMksB,UAAY,SAAU3vB,EAAO9O,GAC1CizB,EAAKC,IAAIwL,SAASD,UAAUzvH,MAAMC,KAAMiE,YAI1C+/G,EAAKC,IAAI3gB,MAAMksB,UAAUjwH,WAMvBskG,OAAQ,SAASt5F,EAAM0gE,EAAIqlD,GACrBtM,EAAKwB,SAAS/xB,UAAUlpF,GAAQvK,KAAK2vH,kBACvCplH,EAAOy5G,EAAKwB,SAAS5yB,MAAMroF,EAAMvK,KAAK2vH,iBAExC,IAAI79B,GAAIkyB,EAAKwB,SACTxkB,EAAIhhG,KAAK0vH,OAAO94G,EAChBmG,EAAI/c,KAAK2vH,gBACT/4G,EAAIotG,EAAKI,GAAGvnC,SAASiV,EAAE2zB,SAASx6C,EAAG,EAAEluD,IACrCwzG,EAAKvM,EAAKI,GAAGvnC,SAASiV,EAAE2zB,SAASx6C,EAAGluD,EAAE,EAAEA,IACxC05B,EAAI65E,EAAoBC,EAAKA,EAAG7H,WAAW1nB,GAC3CwvB,EAAKxM,EAAKI,GAAGvnC,SAAStyE,GAAMmiD,IAAIjW,GAAGiwC,IAAIsa,GACvCyvB,EAAK75G,EAAE81C,IAAIjW,GAAGiwC,IAAIsa,GAClBjK,EAAK/2F,KAAK0vH,OAAO7hC,EAAE6/B,MAAM8C,EAAIC,EAAIzwH,KAAK4vH,QAAQ54G,CAClD,IAAIJ,EAAEq1C,OAAO,IAAMskE,EAAGtkE,OAAO,IAAMr1C,EAAEoxG,cAAchnB,IAAMuvB,EAAGvI,cAAchnB,KAAOjK,EAAG9qC,OAAOr1C,GAAI,CAC7F,GAA0B1S,SAAtBosH,EACF,MAAOtwH,MAAK6jG,OAAOt5F,EAAM0gE,GAAI,EAE7B,MAAO,IAAI+4C,GAAK9vE,UAAUkxE,QAAQ,8BAGtC,OAAO,GAGTyK,QAAS,WACP,MAAO,UAQX7L,EAAKC,IAAI3gB,MAAMisB,UAAY,SAAU1vB,EAAO4qB,GAC1CzG,EAAKC,IAAIwL,SAASF,UAAUxvH,MAAMC,KAAMiE,YAI1C+/G,EAAKC,IAAI3gB,MAAMisB,UAAUhwH,WAMvBwI,KAAM,SAASwC,EAAM8hH,EAAUiE,EAAmBI,GAC5C1M,EAAKwB,SAAS/xB,UAAUlpF,GAAQvK,KAAK2vH,kBACvCplH,EAAOy5G,EAAKwB,SAAS5yB,MAAMroF,EAAMvK,KAAK2vH,iBAExC,IAAI3uB,GAAKhhG,KAAK0vH,OAAO94G,EACjBmG,EAAKikF,EAAEvN,YACP1tD,EAAK2qF,GAAoB1M,EAAKI,GAAGh9G,OAAO45F,EAAE5yC,IAAI,GAAIi+D,GAAU5yD,IAAI,GAChE7iD,EAAK5W,KAAK0vH,OAAO7hC,EAAE2/B,KAAKznF,GAAG/uB,EAAE0vE,IAAIsa,GACjCuvB,EAAKvM,EAAKI,GAAGvnC,SAAStyE,GAAMkvD,IAAI7iD,EAAE81C,IAAI1sD,KAAK+vH,YAC3Ct5E,EAAK65E,EAAoBC,EAAG7H,WAAW1nB,GAAGt0C,IAAI3mB,GAAG2gD,IAAIsa,GAC9CuvB,EAAG7jE,IAAI3mB,EAAE2iF,WAAW1nB,IAAIta,IAAIsa,EACvC,OAAOgjB,GAAKwB,SAASvlH,OAAO2W,EAAE2tG,OAAOxnG,GAAI05B,EAAE8tE,OAAOxnG,KAGpD8yG,QAAS,WACP,MAAO,UAOX,WAqIA,QAASc,GAAI35G,EAAEu/B,EAAE02B,GACb,MAAOj2D,GAAIu/B,EAAI02B,EAGnB,QAAS2jD,GAAI55G,EAAEu/B,EAAE02B,GACb,MAAQj2D,GAAIu/B,GAAOv/B,EAAIi2D,EAG3B,QAAS4jD,GAAI75G,EAAEu/B,EAAE02B,GACb,OAAQj2D,GAAKu/B,GAAK02B,EAGtB,QAAS6jD,GAAI95G,EAAEu/B,EAAE02B,GACb,MAAQj2D,GAAIi2D,EAAM12B,GAAK02B,EAG3B,QAAS8jD,GAAI/5G,EAAEu/B,EAAE02B,GACb,MAAOj2D,IAAKu/B,GAAK02B,GAGrB,QAAS+jD,GAAKvlH,EAAEsR,GACZ,MAAQtR,IAAKsR,EAAMtR,IAAO,GAAGsR,EAGjC,QAASk0G,GAAKxlH,GACV,OAAc,IAAJA,IAAoB,IAChB,MAAJA,IAAqB,GACrBA,EAAI,KAAQ,MAAS,GACrBA,EAAI,KAAQ,MAAQ,GAGlC,QAASsxD,GAAOm0D,GAMZ,IALA,GAGW1yG,GAHP2yG,EAAKnxH,KAAK+sE,GAAG,GAAIqkD,EAAKpxH,KAAK+sE,GAAG,GAAIskD,EAAKrxH,KAAK+sE,GAAG,GAAIukD,EAAKtxH,KAAK+sE,GAAG,GAAIwkD,EAAKvxH,KAAK+sE,GAAG,GACjFykD,EAAKxxH,KAAK+sE,GAAG,GAAI0kD,EAAKzxH,KAAK+sE,GAAG,GAAI2kD,EAAK1xH,KAAK+sE,GAAG,GAAI4kD,EAAK3xH,KAAK+sE,GAAG,GAAI6kD,EAAK5xH,KAAK+sE,GAAG,GAEjF17D,EAAI,EAEAA,EAAI,KAAMA,EACdmN,EAAIwyG,EAAMG,EAAKR,EAAIS,EAAGC,EAAGC,GAAMJ,EAAEW,EAAIxgH,IAAMygH,EAAIzgH,GAAI0gH,EAAI1gH,IAAOkgH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKN,EAAKK,EAAG,IAAKA,EAAKD,EAAIA,EAAK5yG,EAClDA,EAAIwyG,EAAMQ,EAAKT,EAAIU,EAAGC,EAAGC,GAAMT,EAAEc,EAAI3gH,IAAM4gH,EAAI5gH,GAAI6gH,EAAI7gH,IAAOugH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKX,EAAKU,EAAG,IAAKA,EAAKD,EAAIA,EAAKjzG,CACtD,MAAQnN,EAAI,KAAMA,EACdmN,EAAIwyG,EAAMG,EAAKP,EAAIQ,EAAGC,EAAGC,GAAMJ,EAAEW,EAAIxgH,IAAMygH,EAAIzgH,GAAI0gH,EAAI1gH,IAAOkgH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKN,EAAKK,EAAG,IAAKA,EAAKD,EAAIA,EAAK5yG,EAClDA,EAAIwyG,EAAMQ,EAAKV,EAAIW,EAAGC,EAAGC,GAAMT,EAAEc,EAAI3gH,IAAM4gH,EAAI5gH,GAAI6gH,EAAI7gH,IAAOugH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKX,EAAKU,EAAG,IAAKA,EAAKD,EAAIA,EAAKjzG,CACtD,MAAQnN,EAAI,KAAMA,EACdmN,EAAIwyG,EAAMG,EAAKN,EAAIO,EAAGC,EAAGC,GAAMJ,EAAEW,EAAIxgH,IAAMygH,EAAIzgH,GAAI0gH,EAAI1gH,IAAOkgH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKN,EAAKK,EAAG,IAAKA,EAAKD,EAAIA,EAAK5yG,EAClDA,EAAIwyG,EAAMQ,EAAKX,EAAIY,EAAGC,EAAGC,GAAMT,EAAEc,EAAI3gH,IAAM4gH,EAAI5gH,GAAI6gH,EAAI7gH,IAAOugH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKX,EAAKU,EAAG,IAAKA,EAAKD,EAAIA,EAAKjzG,CACtD,MAAQnN,EAAI,KAAMA,EACdmN,EAAIwyG,EAAMG,EAAKL,EAAIM,EAAGC,EAAGC,GAAMJ,EAAEW,EAAIxgH,IAAMygH,EAAIzgH,GAAI0gH,EAAI1gH,IAAOkgH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKN,EAAKK,EAAG,IAAKA,EAAKD,EAAIA,EAAK5yG,EAClDA,EAAIwyG,EAAMQ,EAAKZ,EAAIa,EAAGC,EAAGC,GAAMT,EAAEc,EAAI3gH,IAAM4gH,EAAI5gH,GAAI6gH,EAAI7gH,IAAOugH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKX,EAAKU,EAAG,IAAKA,EAAKD,EAAIA,EAAKjzG,CACtD,MAAQnN,EAAI,KAAMA,EACdmN,EAAIwyG,EAAMG,EAAKJ,EAAIK,EAAGC,EAAGC,GAAMJ,EAAEW,EAAIxgH,IAAMygH,EAAIzgH,GAAI0gH,EAAI1gH,IAAOkgH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKN,EAAKK,EAAG,IAAKA,EAAKD,EAAIA,EAAK5yG,EAClDA,EAAIwyG,EAAMQ,EAAKb,EAAIc,EAAGC,EAAGC,GAAMT,EAAEc,EAAI3gH,IAAM4gH,EAAI5gH,GAAI6gH,EAAI7gH,IAAOugH,EAC9DJ,EAAKI,EAAIA,EAAKD,EAAIA,EAAKX,EAAKU,EAAG,IAAKA,EAAKD,EAAIA,EAAKjzG,CAEtDA,GAAIxe,KAAK+sE,GAAG,GAAKskD,EAAKM,EACtB3xH,KAAK+sE,GAAG,GAAK/sE,KAAK+sE,GAAG,GAAKukD,EAAKM,EAC/B5xH,KAAK+sE,GAAG,GAAK/sE,KAAK+sE,GAAG,GAAKwkD,EAAKC,EAC/BxxH,KAAK+sE,GAAG,GAAK/sE,KAAK+sE,GAAG,GAAKokD,EAAKM,EAC/BzxH,KAAK+sE,GAAG,GAAK/sE,KAAK+sE,GAAG,GAAKqkD,EAAKM,EAC/B1xH,KAAK+sE,GAAG,GAAKvuD,EAnMjBwlG,EAAKz5G,KAAKu7C,UAAY,SAAUv7C,GACxBA,GACAvK,KAAK+sE,GAAKxiE,EAAKwiE,GAAGptE,MAAM,GACxBK,KAAKmyH,QAAU5nH,EAAK4nH,QAAQxyH,MAAM,GAClCK,KAAKwU,QAAUjK,EAAKiK,SAEpBxU,KAAK44C,SAUborE,EAAKz5G,KAAKu7C,UAAUv7C,KAAO,SAAUtD,GACnC,OAAQ,GAAI+8G,GAAKz5G,KAAKu7C,WAAaj9C,OAAO5B,GAAMmrH,YAGlDpO,EAAKz5G,KAAKu7C,UAAUvmD,WAKhBq5C,MAAO,WAIH,MAHA54C,MAAK+sE,GAAKslD,EAAI1yH,MAAM,GACpBK,KAAKmyH,WACLnyH,KAAKwU,QAAU,EACRxU,MAQX6I,OAAQ,SAAU5B,GACO,gBAATA,KACRA,EAAO+8G,EAAKK,MAAM4I,WAAW1I,OAAOt9G,GAExC,IAAI5H,GAAGS,EAAIE,KAAKmyH,QAAUnO,EAAKwB,SAASvlH,OAAOD,KAAKmyH,QAASlrH,GACzDqkH,EAAKtrH,KAAKwU,QACV89G,EAAKtyH,KAAKwU,QAAU82G,EAAKtH,EAAKwB,SAAS/xB,UAAUxsF,EACrD,IAAIqrH,EAAK,iBACL,KAAM,IAAItO,GAAK9vE,UAAUmxE,QAAQ,sCAErC,KAAKhmH,EAAI,IAAIisH,GAAO,IAAIA,EAAM,KAAMjsH,GAAKizH,EAAIjzH,GAAI,IAAK,CAElD,IAAM,GADFsrH,GAAQ7qH,EAAEkN,OAAO,EAAE,IACb8kF,EAAI,EAAGA,EAAI,KAAMA,EACvB64B,EAAM74B,GAAKm/B,EAAKtG,EAAM74B,GAE1B/0B,GAAO99D,KAAMe,KAAM2qH,GAGvB,MAAO3qH,OAOXoyH,SAAU,WACN,GAAItyH,GAAIkkH,EAAKwB,SAASvlH,OAAQD,KAAKmyH,SAAWnO,EAAKwB,SAASU,QAAQ,EAAE,KAClEnpG,GAAM/c,KAAKwU,QAAU,GAAM,IAC3By4D,GAAMlwD,EAAI,IAAM,IAAM,KAAQA,EAAI,IAClCw1G,EAAKtlD,EAAI,EAIb,KAFKslD,EAAK,IACNzyH,EAAIkkH,EAAKwB,SAASvlH,OAAQH,GAAKkkH,EAAKwB,SAASU,QAAQqM,EAAG,MACpDtlD,GAAK,GAAIA,GAAK,GAClBntE,EAAEuM,KAAK,EAKX,KAHAvM,EAAEuM,KAAM4kH,EAAqB,EAAfjxH,KAAKwU,UACnB1U,EAAEuM,KAAM4kH,EAAM9pH,KAAK2vC,MAAM92C,KAAKwU,QAAU,cAEhC1U,EAAE2C,QAAS,CAEf,IAAM,GADFkoH,GAAQ7qH,EAAEkN,OAAO,EAAE,IACb8kF,EAAI,EAAGA,EAAI,KAAMA,EACvB64B,EAAM74B,GAAKm/B,EAAKtG,EAAM74B,GAE1B/0B,GAAO99D,KAAMe,KAAM2qH,GAGvB,GAAIn0E,GAAIx2C,KAAK+sE,EACb/sE,MAAK44C,OAEL,KAAM,GAAIk5C,GAAI,EAAGA,EAAI,IAAKA,EACtBt7C,EAAEs7C,GAAKm/B,EAAKz6E,EAAEs7C,GAElB,OAAOt7C,IAQf,KAAM,GAJF67E,IAAQ,WAAY,WAAY,WAAY,UAAY,YAExDP,GAAQ,EAAY,WAAY,WAAY,WAAY,YACxDG,GAAQ,WAAY,WAAY,WAAY,WAAY,GAClD5yH,EAAI,EAAGA,GAAK,IAAKA,EACvB,IAAM,GAAIgS,GAAI,EAAGA,EAAI,KAAMA,EACvBygH,EAAI9kH,OAAO3N,EAAE,EAAEyyH,EAAIzyH,IACnB4yH,EAAIjlH,OAAO3N,EAAE,EAAE4yH,EAAI5yH,GAI3B,IAAIwyH,IAAS,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAC5D,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAAG,GAC3D,EAAI,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAI,GAAK,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAG,GAAK,EAAG,GAAI,GAAK,EAAI,EAAI,EAAG,GAAK,EAAG,GAAI,IACpEG,GAAS,EAAG,GAAK,EAAI,EAAI,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GAC3D,EAAG,GAAK,EAAI,EAAI,EAAG,GAAK,EAAG,GAAI,GAAI,GAAK,EAAG,GAAK,EAAI,EAAI,EAAI,EAC7D,GAAK,EAAI,EAAI,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAI,GAC5D,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAAI,EAAI,EAAG,IAEpED,GAAQ,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAI,GAAK,EAAG,GAAK,EAAG,GAAI,GAC5D,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAI,GAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAC7D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAG,GAAK,EAAI,EAAI,EAAI,EAAI,EAAG,GAC3D,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAI,GAAK,EAAG,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,GACrEG,GAAS,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAK,EAC5D,EAAG,GAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAI,GAAI,GAC3D,EAAI,EAAG,GAAI,GAAK,EAAI,EAAI,EAAG,GAAI,GAAI,GAAK,EAAG,GAAI,GAAI,GAAK,EAAI,EAC7D,GAAK,EAAI,EAAG,GAAI,GAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAC5D,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAI,GAAI,GAAI,OA6FxElO,EAAKz5G,KAAKC,OAAS,SAAUD,GACtBvK,KAAKyF,KAAK,IAAMzF,KAAKymH,cACtBl8G,GACFvK,KAAK+sE,GAAKxiE,EAAKwiE,GAAGptE,MAAM,GACxBK,KAAKmyH,QAAU5nH,EAAK4nH,QAAQxyH,MAAM,GAClCK,KAAKwU,QAAUjK,EAAKiK,SAEpBxU,KAAK44C,SAUTorE,EAAKz5G,KAAKC,OAAOD,KAAO,SAAUtD,GAChC,OAAQ,GAAI+8G,GAAKz5G,KAAKC,QAAU3B,OAAO5B,GAAMmrH,YAG/CpO,EAAKz5G,KAAKC,OAAOjL,WAKfi+D,UAAW,IAMX5kB,MAAM,WAIJ,MAHA54C,MAAK+sE,GAAK/sE,KAAKmqB,MAAMxqB,MAAM,GAC3BK,KAAKmyH,WACLnyH,KAAKwU,QAAU,EACRxU,MAQT6I,OAAQ,SAAU5B,GACI,gBAATA,KACTA,EAAO+8G,EAAKK,MAAM4I,WAAW1I,OAAOt9G,GAEtC,IAAI5H,GAAGS,EAAIE,KAAKmyH,QAAUnO,EAAKwB,SAASvlH,OAAOD,KAAKmyH,QAASlrH,GACzDqkH,EAAKtrH,KAAKwU,QACV89G,EAAKtyH,KAAKwU,QAAU82G,EAAKtH,EAAKwB,SAAS/xB,UAAUxsF,EACrD,IAAIqrH,EAAK,iBACP,KAAM,IAAItO,GAAK9vE,UAAUmxE,QAAQ,sCAGnC,IAA2B,mBAAhBmN,aAA6B,CAC3C,GAAIrzH,GAAI,GAAIqzH,aAAY1yH,GAChBuR,EAAI,CACR,KAAKhS,EAAI,IAAIisH,GAAO,IAAIA,EAAM,KAAMjsH,GAAKizH,EAAIjzH,GAAI,IAC3CW,KAAK+8D,OAAO59D,EAAEgnD,SAAS,GAAK90C,EAAG,IAAMA,EAAE,KACvCA,GAAK,CAEXvR,GAAEkN,OAAO,EAAG,GAAKqE,OAErB,KAAKhS,EAAI,IAAIisH,GAAO,IAAIA,EAAM,KAAMjsH,GAAKizH,EAAIjzH,GAAI,IACvCW,KAAK+8D,OAAOj9D,EAAEkN,OAAO,EAAE,IAG9B,OAAOhN,OAOToyH,SAAS,WACP,GAAI/yH,GAAGS,EAAIE,KAAKmyH,QAAS37E,EAAIx2C,KAAK+sE,EAMlC,KAHAjtE,EAAIkkH,EAAKwB,SAASvlH,OAAOH,GAAIkkH,EAAKwB,SAASU,QAAQ,EAAE,KAGhD7mH,EAAIS,EAAE2C,OAAS,EAAO,GAAJpD,EAAQA,IAC7BS,EAAEuM,KAAK,EAOT,KAHAvM,EAAEuM,KAAKlF,KAAK2vC,MAAM92C,KAAKwU,QAAU,aACjC1U,EAAEuM,KAAoB,EAAfrM,KAAKwU,SAEL1U,EAAE2C,QACPzC,KAAK+8D,OAAOj9D,EAAEkN,OAAO,EAAE,IAIzB,OADAhN,MAAK44C,QACEpC,GAOTrsB,SASA1kB,QAkBAghH,YAAa,WAGX,QAASgM,GAAKz7G,GAAK,MAA2B,aAAnBA,EAAE7P,KAAK2vC,MAAM9/B,IAAoB,EAE5D,IAJA,GAAsBsgC,GAAQo7E,EAA1BrzH,EAAI,EAAGqsH,EAAQ,EAIZrsH,EAAE,GAAIqsH,IAAS,CAEpB,IADAgH,GAAU,EACLp7E,EAAO,EAAGA,EAAOA,GAAUo0E,EAAOp0E,IACrC,GAAIo0E,EAAQp0E,IAAW,EAAG,CACxBo7E,GAAU,CACV,OAGAA,IACErzH,EAAE,IACJW,KAAKmqB,MAAM9qB,GAAKozH,EAAKtrH,KAAK0wC,IAAI6zE,EAAO,MAEvC1rH,KAAKyF,KAAKpG,GAAKozH,EAAKtrH,KAAK0wC,IAAI6zE,EAAO,EAAE,IACtCrsH,OAUN09D,OAAO,SAAU+0B,GACf,GAAIzyF,GAAG6vD,EAAKrvD,EAAGC,EACb02C,EAAIx2C,KAAK+sE,GACThnC,EAAI/lC,KAAKyF,KACTktH,EAAKn8E,EAAE,GAAIo8E,EAAKp8E,EAAE,GAAIq8E,EAAKr8E,EAAE,GAAIs8E,EAAKt8E,EAAE,GACxCu8E,EAAKv8E,EAAE,GAAIw8E,EAAKx8E,EAAE,GAAIy8E,EAAKz8E,EAAE,GAAI08E,EAAK18E,EAAE,EAe1C,KAAKn3C,EAAE,EAAGA,EAAE,GAAIA,IAEVA,EAAE,GACJ6vD,EAAM4iC,EAAEzyF,IAERQ,EAAMiyF,EAAGzyF,EAAE,EAAM,IACjBS,EAAMgyF,EAAGzyF,EAAE,GAAM,IACjB6vD,EAAM4iC,EAAI,GAAFzyF,IAAUQ,IAAI,EAAKA,IAAI,GAAKA,IAAI,EAAKA,GAAG,GAAKA,GAAG,KACtCC,IAAI,GAAKA,IAAI,GAAKA,IAAI,GAAKA,GAAG,GAAKA,GAAG,IACvCgyF,EAAI,GAAFzyF,GAAQyyF,EAAGzyF,EAAE,EAAK,IAAO,GAG9C6vD,EAAOA,EAAMgkE,GAAMH,IAAK,EAAIA,IAAK,GAAKA,IAAK,GAAKA,GAAI,GAAKA,GAAI,GAAKA,GAAI,IAAOE,EAAKF,GAAIC,EAAGC,IAAOltF,EAAE1mC,GAGlG6zH,EAAKD,EAAIA,EAAKD,EAAIA,EAAKD,EACvBA,EAAKD,EAAK5jE,EAAM,EAChB4jE,EAAKD,EAAIA,EAAKD,EAAIA,EAAKD,EAEvBA,EAAMzjE,GAAS0jE,EAAGC,EAAOC,GAAIF,EAAGC,KAASD,IAAK,EAAIA,IAAK,GAAKA,IAAK,GAAKA,GAAI,GAAKA,GAAI,GAAKA,GAAI,IAAO,CAGrGp8E,GAAE,GAAKA,EAAE,GAAGm8E,EAAK,EACjBn8E,EAAE,GAAKA,EAAE,GAAGo8E,EAAK,EACjBp8E,EAAE,GAAKA,EAAE,GAAGq8E,EAAK,EACjBr8E,EAAE,GAAKA,EAAE,GAAGs8E,EAAK,EACjBt8E,EAAE,GAAKA,EAAE,GAAGu8E,EAAK,EACjBv8E,EAAE,GAAKA,EAAE,GAAGw8E,EAAK,EACjBx8E,EAAE,GAAKA,EAAE,GAAGy8E,EAAK,EACjBz8E,EAAE,GAAKA,EAAE,GAAG08E,EAAK,IAkDrBlP,EAAKmP,KAAO,SAASC,GAGnBpzH,KAAKqzH,QAA4B,GAAIrP,GAAKz5G,KAAKC,QAC/CxK,KAAKszH,cAA4B,GACjCtzH,KAAKuzH,aAA2B,EAChCvzH,KAAKwzH,WACLxzH,KAAKyzH,SAA2B,EAEhCzzH,KAAK0zH,iBACL1zH,KAAK2zH,iBAA2B,EAEhC3zH,KAAK4zH,UAA2B,EAChC5zH,KAAK6zH,cAA2B,EAChC7zH,KAAK8zH,YAA2B,EAChC9zH,KAAKyF,MAA4B,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAC/CzF,KAAK+zH,UAA4B,EAAE,EAAE,EAAE,GACvC/zH,KAAK6nF,QAA2B3jF,OAChClE,KAAKg0H,iBAA2BZ,EAGhCpzH,KAAKi0H,oBAA2B,EAChCj0H,KAAKk0H,YAA4BC,YAAcC,WAC/Cp0H,KAAKq0H,WAA2B,EAGhCr0H,KAAKs0H,WAA2B,EAChCt0H,KAAKu0H,OAA2B,EAChCv0H,KAAKw0H,iBAA2B,EAEhCx0H,KAAKy0H,qBAA2B,MAChCz0H,KAAK00H,kBAA4B,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MACpE10H,KAAK20H,yBAA2B,IAChC30H,KAAK40H,iBAA2B,IAGlC5Q,EAAKmP,KAAK5zH,WAKR+sH,YAAa,SAAUuI,EAAQxI,GAC7B,GAAchtH,GAAuCsN,EAAjDu9C,KAAa4qE,EAAY90H,KAAK+0H,QAAQ1I,EAE1C,IAAIyI,IAAc90H,KAAKs0H,WACrB,KAAM,IAAItQ,GAAK9vE,UAAUqxE,SAAS,yBAKpC,KAJWuP,EAAY90H,KAAKw0H,kBAC1Bx0H,KAAKg1H,mBAAmBF,EAAY90H,KAAKu0H,SAGtCl1H,EAAE,EAAGA,EAAEw1H,EAAQx1H,GAAI,GACjBA,EAAE,GAAKW,KAAKy0H,uBAAyB,GACxCz0H,KAAKi1H,QAGPtoH,EAAI3M,KAAKk1H,aACThrE,EAAI79C,KAAKM,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAI5B,OAFA3M,MAAKi1H,QAEE/qE,EAAIvqD,MAAM,EAAEk1H,IAGrBM,mBAAoB,SAAU9I,EAAU+I,GACtC,GAAiB,IAAb/I,GAAwC,wEAAtB+I,EACpB,KAAM,IAAIpR,GAAK9vE,UAAUmxE,QAAQ,sEAGnCrlH,MAAKg0H,iBAAmB3H,GAS1BzlB,WAAY,SAAU3/F,EAAMouH,EAAkBhvG,GAC5CA,EAASA,GAAU,MAEnB,IAAItnB,GACFM,EAAG6vD,EAGiComE,EAFpCp4E,GAAK,GAAIrH,OAAQsoD,UACjBo3B,EAAQv1H,KAAKwzH,QAAQntG,GACrBmvG,EAAWx1H,KAAK+0H,UAAWptH,EAAM,CAQnC,QANA5I,EAAKiB,KAAK0zH,cAAcrtG,GACbniB,SAAPnF,IAAoBA,EAAKiB,KAAK0zH,cAAcrtG,GAAUrmB,KAAK2zH,oBAEjDzvH,SAAVqxH,IAAuBA,EAAQv1H,KAAKwzH,QAAQntG,GAAU,GAC1DrmB,KAAKwzH,QAAQntG,IAAYrmB,KAAKwzH,QAAQntG,GAAU,GAAMrmB,KAAKqzH,OAAO5wH,OAElE,mBAAcwE,GAAd,YAAA/E,EAAc+E,IAEd,IAAK,SACsB/C,SAArBmxH,IACFA,EAAmB,GAErBr1H,KAAKqzH,OAAOkC,GAAO1sH,QAAQ9J,EAAGiB,KAAKyzH,WAAW,EAAE4B,EAAiBn4E,EAAE,EAAO,EAALj2C,GACrE,MAEF,KAAK,SAEH,GADAquH,EAAUh2H,OAAOC,UAAUkL,SAASxL,KAAKgI,GACzB,yBAAZquH,EAAoC,CAEtC,IADApmE,KACK7vD,EAAI,EAAGA,EAAI4H,EAAKxE,OAAQpD,IAC3B6vD,EAAI7iD,KAAKpF,EAAK5H,GAEhB4H,GAAOioD,MAKP,KAHgB,mBAAZomE,IACF3tH,EAAM,GAEHtI,EAAE,EAAGA,EAAE4H,EAAKxE,SAAWkF,EAAKtI,IACP,gBAAb4H,GAAK5H,KACdsI,EAAM,EAIZ,KAAKA,EAAK,CACR,GAAyBzD,SAArBmxH,EAGF,IADAA,EAAmB,EACdh2H,EAAE,EAAGA,EAAE4H,EAAKxE,OAAQpD,IAEvB,IADA6vD,EAAKjoD,EAAK5H,GACH6vD,EAAI,GACTmmE,IACAnmE,KAAc,CAIpBlvD,MAAKqzH,OAAOkC,GAAO1sH,QAAQ9J,EAAGiB,KAAKyzH,WAAW,EAAE4B,EAAiBn4E,EAAEj2C,EAAKxE,QAAQxC,OAAOgH,IAEzF,KAEF,KAAK,SACsB/C,SAArBmxH,IAKHA,EAAmBpuH,EAAKxE,QAEzBzC,KAAKqzH,OAAOkC,GAAO1sH,QAAQ9J,EAAGiB,KAAKyzH,WAAW,EAAE4B,EAAiBn4E,EAAEj2C,EAAKxE,SACxEzC,KAAKqzH,OAAOkC,GAAO1sH,OAAO5B,EAC1B,MAEF,SACEU,EAAI,EAEN,GAAIA,EACF,KAAM,IAAIq8G,GAAK9vE,UAAUoxE,IAAI,sEAI/BtlH,MAAKszH,aAAaiC,IAAUF,EAC5Br1H,KAAK6zH,eAAiBwB,EAGlBG,IAAax1H,KAAKs0H,aAChBt0H,KAAK+0H,YAAc/0H,KAAKs0H,YAC1Bt0H,KAAKwO,WAAW,SAAUrH,KAAKmvB,IAAIt2B,KAAK4zH,UAAW5zH,KAAK6zH,gBAE1D7zH,KAAKwO,WAAW,WAAYxO,KAAKy1H,iBAKrCV,QAAS,SAAU1I,GACjB,GAAIqJ,GAAkB11H,KAAK00H,iBAAgCxwH,SAAbmoH,EAA0BA,EAAWrsH,KAAKg0H,iBAExF,OAAIh0H,MAAK4zH,WAAa5zH,KAAK4zH,WAAa8B,EAC9B11H,KAAKszH,aAAa,GAAKtzH,KAAK40H,mBAAqB,GAAI/+E,OAAQsoD,UAAYn+F,KAAK8zH,YACpF9zH,KAAKw0H,iBAAmBx0H,KAAKu0H,OAC7Bv0H,KAAKu0H,OAECv0H,KAAK6zH,eAAiB6B,EAC5B11H,KAAKw0H,iBAAmBx0H,KAAKs0H,WAC7Bt0H,KAAKs0H,YAKXmB,YAAa,SAAUpJ,GACrB,GAAIqJ,GAAkB11H,KAAK00H,iBAAkBrI,EAAWA,EAAWrsH,KAAKg0H,iBAExE,OAAIh0H,MAAK4zH,WAAa8B,EACb,EAEC11H,KAAK6zH,cAAgB6B,EAC3B,EACA11H,KAAK6zH,cAAgB6B,GAK3BC,gBAAiB,WACf,IAAI31H,KAAKi0H,mBAAT,CAUA,GARAj0H,KAAK41H,gBACHC,kBAAmB71H,KAAK81H,MAAM91H,KAAK+1H,oBACnCC,eAAgBh2H,KAAK81H,MAAM91H,KAAKi2H,iBAChCC,kBAAmBl2H,KAAK81H,MAAM91H,KAAKm2H,oBACnCC,uBAAwBp2H,KAAK81H,MAAM91H,KAAKq2H,yBACxCC,eAAgBt2H,KAAK81H,MAAM91H,KAAKu2H,kBAG9B51H,OAAO4lB,iBACT5lB,OAAO4lB,iBAAiB,OAAQvmB,KAAK41H,eAAeC,mBAAmB,GACvEl1H,OAAO4lB,iBAAiB,YAAavmB,KAAK41H,eAAeI,gBAAgB,GACzEr1H,OAAO4lB,iBAAiB,WAAYvmB,KAAK41H,eAAeM,mBAAmB,GAC3Ev1H,OAAO4lB,iBAAiB,eAAgBvmB,KAAK41H,eAAeQ,wBAAwB,GACpFz1H,OAAO4lB,iBAAiB,YAAavmB,KAAK41H,eAAeU,gBAAgB,OACpE,KAAIjzG,SAASmD,YAKlB,KAAM,IAAIw9F,GAAK9vE,UAAUoxE,IAAI,qBAJ7BjiG,UAASmD,YAAY,SAAUxmB,KAAK41H,eAAeC,mBACnDxyG,SAASmD,YAAY,cAAexmB,KAAK41H,eAAeI,gBACxD3yG,SAASmD,YAAY,WAAYxmB,KAAK41H,eAAeM,mBAKvDl2H,KAAKi0H,oBAAqB,IAI5BuC,eAAgB,WACTx2H,KAAKi0H,qBAENtzH,OAAO44C,qBACT54C,OAAO44C,oBAAoB,OAAQv5C,KAAK41H,eAAeC,mBAAmB,GAC1El1H,OAAO44C,oBAAoB,YAAav5C,KAAK41H,eAAeI,gBAAgB,GAC5Er1H,OAAO44C,oBAAoB,WAAYv5C,KAAK41H,eAAeM,mBAAmB,GAC9Ev1H,OAAO44C,oBAAoB,eAAgBv5C,KAAK41H,eAAeQ,wBAAwB,GACvFz1H,OAAO44C,oBAAoB,YAAav5C,KAAK41H,eAAeU,gBAAgB,IACnEjzG,SAASozG,cAClBpzG,SAASozG,YAAY,SAAUz2H,KAAK41H,eAAeC,mBACnDxyG,SAASozG,YAAY,cAAez2H,KAAK41H,eAAeI,gBACxD3yG,SAASozG,YAAY,WAAYz2H,KAAK41H,eAAeM,oBAGvDl2H,KAAKi0H,oBAAqB,IAS5B1tG,iBAAkB,SAAUtL,EAAM9V,GAChCnF,KAAKk0H,WAAWj5G,GAAMjb,KAAKq0H,cAAgBlvH,GAI7Co0C,oBAAqB,SAAUt+B,EAAM/T,GACnC,GAAI7H,GAAGgS,EAAGyiF,EAAI9zF,KAAKk0H,WAAWj5G,GAAOy7G,IAMrC,KAAKrlH,IAAKyiF,GACJA,EAAIt0F,eAAe6R,IAAMyiF,EAAIziF,KAAOnK,GACtCwvH,EAAOrqH,KAAKgF,EAIhB,KAAKhS,EAAE,EAAGA,EAAEq3H,EAAOj0H,OAAQpD,IACzBgS,EAAIqlH,EAAOr3H,SACJy0F,GAAIziF,IAIfykH,MAAO,SAAU5vF,GACf,GAAIqgB,GAAOvmD,IACX,OAAO,YACLkmC,EAAKnmC,MAAMwmD,EAAMtiD,aAOrBixH,WAAY,WACV,IAAK,GAAI71H,GAAE,EAAGA,EAAE,IACdW,KAAK+zH,SAAS10H,GAAKW,KAAK+zH,SAAS10H,GAAG,EAAI,GACpCW,KAAK+zH,SAAS10H,IAFDA,KAInB,MAAOW,MAAK6nF,QAAQxU,QAAQrzE,KAAK+zH,WAMnCkB,MAAO,WACLj1H,KAAKyF,KAAOzF,KAAKk1H,aAAaj1H,OAAOD,KAAKk1H,cAC1Cl1H,KAAK6nF,QAAU,GAAIm8B,GAAKlvC,OAAOgT,IAAI9nF,KAAKyF,OAM1CkxH,QAAS,SAAUC,GACjB52H,KAAKyF,KAAOu+G,EAAKz5G,KAAKC,OAAOD,KAAKvK,KAAKyF,KAAKxF,OAAO22H,IACnD52H,KAAK6nF,QAAU,GAAIm8B,GAAKlvC,OAAOgT,IAAI9nF,KAAKyF,KACxC,KAAK,GAAIpG,GAAE,EAAGA,EAAE,IACdW,KAAK+zH,SAAS10H,GAAKW,KAAK+zH,SAAS10H,GAAG,EAAI,GACpCW,KAAK+zH,SAAS10H,IAFDA,OASrB21H,iBAAkB,SAAU6B,GAC1B,GAAmCx3H,GAA/By3H,KAAiBC,EAAW,CAKhC,KAHA/2H,KAAK8zH,YAAcgD,EAAW,IAC3B,GAAIjhF,OAAQsoD,UAAYn+F,KAAK20H,yBAE3Bt1H,EAAE,EAAGA,EAAE,GAAIA,IAIdy3H,EAAWzqH,KAAmB,WAAdlF,KAAKC,SAAqB,EAG5C,KAAK/H,EAAE,EAAGA,EAAEW,KAAKqzH,OAAO5wH,SACvBq0H,EAAaA,EAAW72H,OAAOD,KAAKqzH,OAAOh0H,GAAG+yH,YAC9C2E,GAAY/2H,KAAKszH,aAAaj0H,GAC9BW,KAAKszH,aAAaj0H,GAAK,EAElBw3H,KAAS72H,KAAKuzH,aAAgB,GAAGl0H,IALPA,KAS5BW,KAAKuzH,cAAgB,GAAKvzH,KAAKqzH,OAAO5wH,SACzCzC,KAAKqzH,OAAOhnH,KAAK,GAAI23G,GAAKz5G,KAAKC,QAC/BxK,KAAKszH,aAAajnH,KAAK,IAIxBrM,KAAK6zH,eAAiBkD,EAClBA,EAAW/2H,KAAK4zH,YAClB5zH,KAAK4zH,UAAYmD,GAGnB/2H,KAAKuzH,eACLvzH,KAAK22H,QAAQG,IAGfX,mBAAoB,WAClBn2H,KAAKg3H,yBAAyB,IAGhCf,gBAAiB,SAAUxxD,GACzB,GAAIztD,GAAGu/B,CAEP,KACEv/B,EAAIytD,EAAGztD,GAAKytD,EAAGwyD,SAAWxyD,EAAGyyD,SAAW,EACxC3gF,EAAIkuB,EAAGluB,GAAKkuB,EAAG0yD,SAAW1yD,EAAG2yD,SAAW,EACxC,MAAOzvH,GAEPqP,EAAI,EACJu/B,EAAI,EAGG,GAALv/B,GAAc,GAAJu/B,GACZv2C,KAAK4mG,YAAY5vF,EAAEu/B,GAAI,EAAG,SAG5Bv2C,KAAKg3H,yBAAyB,IAGhCT,gBAAiB,SAAS9xD,GACxB,GAAI4yD,GAAQ5yD,EAAG6yD,QAAQ,IAAM7yD,EAAG8yD,eAAe,GAC3CvgH,EAAIqgH,EAAMG,OAASH,EAAMJ,QACzB1gF,EAAI8gF,EAAMI,OAASJ,EAAMF,OAE7Bn3H,MAAK4mG,YAAY5vF,EAAEu/B,GAAG,EAAE,SAExBv2C,KAAKg3H,yBAAyB,IAGhCjB,mBAAoB,WAClB/1H,KAAKg3H,yBAAyB,IAGhCA,yBAA0B,SAAU3B,GACZ,mBAAX10H,SAA0BA,OAAO+2H,aAAiD,kBAA3B/2H,QAAO+2H,YAAYj9E,IAEnFz6C,KAAK4mG,WAAWjmG,OAAO+2H,YAAYj9E,MAAO46E,EAAkB,YAE5Dr1H,KAAK4mG,YAAY,GAAI/wD,OAAQsoD,UAAWk3B,EAAkB,aAG9DgB,wBAAyB,SAAU5xD,GACjC,GAAI43B,GAAK53B,EAAGkzD,6BAA6B3gH,GAAGytD,EAAGkzD,6BAA6BphF,GAAGkuB,EAAGkzD,6BAA6B1qD,CAC/G,IAAGtsE,OAAOi3H,YAAY,CACpB,GAAIriD,GAAK50E,OAAOi3H,WACE,iBAAPriD,IACTv1E,KAAK4mG,WAAWrxB,EAAI,EAAG,iBAGvB8mB,GACFr8F,KAAK4mG,WAAWvK,EAAI,EAAG,iBAEzBr8F,KAAKg3H,yBAAyB,IAGhCxoH,WAAY,SAAUyM,EAAM9P,GAC1B,GAAIkG,GAAGyiF,EAAIkwB,EAAK58G,OAAO8sH,WAAWj5G,GAAO48G,IAOzC,KAAKxmH,IAAKyiF,GACJA,EAAIt0F,eAAe6R,IACrBwmH,EAAQxrH,KAAKynF,EAAIziF,GAIrB,KAAKA,EAAE,EAAGA,EAAEwmH,EAAQp1H,OAAQ4O,IAC1BwmH,EAAQxmH,GAAGlG,KAQjB64G,EAAK58G,OAAS,GAAI48G,GAAKmP,KAAK,GAE3B,WAEC,QAAS2E,KACP,IACE,MAAOp5H,GAAQ,KAEjB,MAAO2I,GACL,MAAO,OAIX,IACE,GAAI+C,GAAKqpE,EAAOq2C,CAGhB,IAAsB,mBAAXhrH,IAA0BA,EAAOD,UAAY40E,EAAQqkD,MAAsBrkD,EAAMiD,YAC1FtsE,EAAMqpE,EAAMiD,YAAY,KACxBtsE,EAAM,GAAIooH,aAAY,GAAIxiF,YAAW5lC,GAAKimC,QAC1C2zE,EAAK58G,OAAOw/F,WAAWx8F,EAAK,KAAM,0BAE7B,IAAsB,mBAAXzJ,SAAiD,mBAAhB6xH,aAA6B,CAE9E,GADA1I,EAAK,GAAI0I,aAAY,IACjB7xH,OAAO41E,QAAU51E,OAAO41E,OAAOK,gBACjCj2E,OAAO41E,OAAOK,gBAAgBkzC,OACzB,KAAInpH,OAAO61E,WAAY71E,OAAO61E,SAASI,gBAG5C,MAFAj2E,QAAO61E,SAASI,gBAAgBkzC,GAMlC9F,EAAK58G,OAAOw/F,WAAWkjB,EAAI,KAAM,2BAKnC,MAAOziH,GACe,mBAAX1G,SAA0BA,OAAO4L,UAC1CA,QAAQ1F,IAAI,2DACZ0F,QAAQ1F,IAAIQ,QAMlB28G,EAAKK,MAAMvzD,QACTgxC,MAAO,6DACPtyC,QACEuoE,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACL5X,EAAG,EACHF,EAAG,GACHC,EAAG,GACHH,EAAG,GACHiY,EAAG,GACHC,EAAG,GACH5qC,EAAG,GACH7hB,EAAG,GACH0sD,EAAG,GACH5sD,EAAG,GACHzc,EAAG,GACH0c,EAAG,GACHi9C,EAAG,GACH/lB,EAAG,GACH39C,EAAG,GACH07C,EAAG,GACHltB,EAAG,GACHt1D,EAAG,GACHm6G,EAAG,GACHC,EAAG,GACHltD,EAAG,GACHwlD,EAAG,GACH2H,EAAG,GACHC,EAAG,GACHj5H,EAAG,GACHC,EAAG,GACHX,EAAG,GACHmI,EAAG,GACHD,EAAG,GACHswD,EAAG,GACHhrD,EAAG,GACH6pC,EAAG,GACHn3C,EAAG,GACHgS,EAAG,GACH00B,EAAG,GACH7mC,EAAG,GACHuM,EAAG,GACH+U,EAAG,GACHphB,EAAG,GACHs8D,EAAG,GACH9kD,EAAG,GACH6/B,EAAG,GACHyG,EAAG,GACHo/C,EAAG,GACH5tF,EAAG,GACHojF,EAAG,GACH96E,EAAG,GACHu/B,EAAG,GACH02B,EAAG,IAGLs3C,OAAQ,SAASwU,GAIf,IAAK,GAHD7jB,GAAO,GAAI8O,GAAKI,GAChB4U,EAAK,GAAIhV,GAAKI,GAAG,IAEZ/kH,EAAI,EAAGA,EAAI05H,EAAWt2H,OAAQpD,IAAK,CAC1C,GAAI45H,GAAQ,GAAIjV,GAAKI,GAAGJ,EAAKK,MAAMvzD,OAAOtB,OAAOupE,EAAW15H,IAC5D61G,GAAKiT,KAAK8Q,EAAMvsE,IAAIssE,EAAG32C,MAAM02C,EAAWt2H,OAASpD,EAAI,KAIvD,MADA61G,GAAK4S,aACE5S,EAAKqP,UAGd1nC,SAAU,SAASvQ,GAOjB,IAAK,GANDjqB,GAAM2hE,EAAKI,GAAGvnC,SAASvQ,GACvB4sD,EAASlV,EAAKwB,SAAS/xB,UAAUnnB,GACjCvgE,EAAM5E,KAAK4vC,KAAKmiF,GAAU/xH,KAAKN,IAAI,GAAKM,KAAKN,IAAI,MACjD+O,EAAO,GAAIouG,GAAKI,GAAG,IACnBnnG,EAAM,GAED5d,EAAI0M,EAAM,EAAG1M,GAAK,EAAGA,IAAK,CAKjC,IAJA,GAAI85H,GAAO,GAAInV,GAAKI,GAAG/kH,GACnBg4F,EAAMzhF,EAAKysE,MAAM82C,GAEjBr0E,EAAM,EACHzC,EAAI2lE,cAAc3wB,IACvBh1C,EAAImmE,KAAKnxB,GACTh1C,EAAIikD,YACJxhD,GAEIzlD,KAAM0M,EAAM,GAAa,IAAR+4C,IACrB7nC,GAAO+mG,EAAKK,MAAMvzD,OAAOgxC,MAAMh9C,IAGnC,MAAO7nC,KAKX+mG,EAAKK,MAAM+U,aACTC,kBAAmB,SAAS/sD,GAC1B,MAAO03C,GAAKwB,SAASC,SACnBzB,EAAKz5G,KAAKC,OAAOD,KAAKy5G,EAAKz5G,KAAKC,OAAOD,KAAK+hE,IAC5C,EACA,KAIJuQ,SAAU,SAAS/jE,EAASwzD,EAAMgtD,GAChCA,EAAaA,GAActV,EAAKK,MAAM+U,YAAYC,iBAclD,KAZA,GAAIE,GAAiBvV,EAAKwB,SAASvlH,QAChC+jH,EAAKwB,SAASU,QAAQ,EAAGptG,IAC1BwzD,GAEEvb,EAAWuoE,EAAWC,GACtBC,EAA2BxV,EAAKwB,SAASvlH,OAC3Cs5H,EACAxoE,GAEE0oE,EAAYzV,EAAKK,MAAMvzD,OAAO+rB,SAAS28C,GAEvCE,EAAkB,EAEmD,GAAvE1V,EAAKwB,SAASK,QAAQ2T,EAA0BE,EAAiB,IAEjED,EAAY,IAAMA,EAClBC,GAAmB,CAGrB,OAAOD,IAETlV,OAAQ,SAAStnG,EAAKq8G,GACpBA,EAAaA,GAActV,EAAKK,MAAM+U,YAAYC,iBAElD,IAAI/sD,GAAO03C,EAAKK,MAAMvzD,OAAOyzD,OAAOtnG,GAChCi8G,EAASlV,EAAKwB,SAAS/xB,UAAUnnB,GAEjCx/B,EAAUk3E,EAAKwB,SAASC,SAASn5C,EAAM,EAAG4sD,EAAS,IAEnDS,EAAsB3V,EAAKwB,SAASC,SAASn5C,EAAM4sD,EAAS,IAC5DU,EAAmBN,EAAWxsF,EAClC,KAAKk3E,EAAKwB,SAASr0D,MAAMyoE,EAAkBD,GACzC,KAAM,IAAI7yH,OAAM,yBAGlB,OAAOgmC,KAIXk3E,EAAKK,MAAMT,SACTiW,OAAQ,QAAS,OAAQ,SAAU,WACnCC,SACEC,UAAW,EACXC,WAAY,IACZC,UAAW,OAEbC,SACEH,UAAW,EACXC,WAAY,IACZC,UAAW,OAEbE,YAAa,SAAS7tD,GACpB,MAAO03C,GAAKwB,SAASC,SAASzB,EAAKz5G,KAAKu7C,UAAUv7C,KAAK+hE,GAAO,EAAG,KAGnEo4C,iBAAkB,SAAS98G,EAASwgF,GAGlC,IAAK,GAFDgyC,MACAC,EAAQrW,EAAKC,IAAI7hB,OAAO+hB,KACnB9kH,EAAI,EAAGA,EAAI2kH,EAAKK,MAAMT,QAAQiW,MAAMp3H,OAAQpD,IAAK,CACxD,GAAIi7H,GAAOtW,EAAKK,MAAMT,QAAQiW,MAAMx6H,GAChC+jG,EAAOx7F,EAAU0yH,EAAOlyC,EACxBnuB,EAAS+pD,EAAKI,GAAGvnC,SACnBmnC,EAAKz5G,KAAKC,OAAOD,KAAKy5G,EAAKK,MAAM4I,WAAW1I,OAAOnhB,IAErDg3B,GAASE,GAAQtW,EAAKC,IAAI3gB,MAAM4gB,aAAamW,EAAO,EAAGpgE,GAEzD,MAAOmgE,IAGT9V,gBAAiB,SAASS,EAAKx6G,EAAM8hH,EAAUqE,GAoC7C,IAJI1M,EAAKwB,SAAS/xB,UAAUlpF,GAAQvK,KAAK2vH,kBACvCplH,EAAOy5G,EAAKwB,SAAS5yB,MAAMroF,EAAMvK,KAAK2vH,oBAG3B,CAEX,GAAI0K,GAAQrW,EAAKC,IAAI7hB,OAAO+hB,KAC1B14G,EAAI4uH,EAAMzjH,EACVmG,EAAItR,EAAEgoF,YACN1tD,EAAI2qF,GAAoB1M,EAAKI,GAAGh9G,OAAOqE,EAAE2iD,IAAI,GAAIi+D,GAAU5yD,IAAI,GAC/DunC,EAAIq5B,EAAMxsC,EAAE2/B,KAAKznF,EAMnB,IAJI2qF,IACFA,EAAmBA,EAAiBj3D,IAAI,KAGtCunC,EAAEqsB,WAAN,CAIA,GAAIz2G,GAAIoqF,EAAEhqF,EAAE0vE,IAAIj7E,GACd8kH,EAAKvM,EAAKI,GAAGvnC,SAAStyE,GAAMkvD,IAAI7iD,EAAE81C,IAAIq4D,EAAIgL,YAC1Ct5E,EAAI85E,EAAG7jE,IAAI3mB,EAAE2iF,WAAWj9G,IAAIi7E,IAAIj7E,GAChCm4E,EAAQod,EAAEzqD,EAAEqxE,MAAM,IAAM,EACxB2S,EAAgB,EAEZ32C,IACF22C,GAGF,IAAIC,GAAY5jH,EAAE2tG,OAAOxnG,GACrB09G,EAAYhkF,EAAE8tE,OAAOxnG,GAErB29G,EAAK1W,EAAKwB,SAASK,QAAQ2U,EAAW,EAAG,GACzCj3B,EAAKygB,EAAKwB,SAASK,QAAQ2U,EAAW,EAAG,GACzCjtC,EAAKy2B,EAAKwB,SAASK,QAAQ4U,EAAW,EAAG,GACzCjtC,EAAKw2B,EAAKwB,SAASK,QAAQ4U,EAAW,EAAG,EAE7C,MAAW,IAALC,KACO,GAANA,GAAkB,IAALn3B,MACR,IAALhW,KACM,GAANA,GAAkB,IAALC,GAAa,CAC/B,GAAImtC,GAAS3W,EAAKwB,SAASvlH,OAAO2W,EAAE2tG,OAAOxnG,GAAI05B,EAAE8tE,OAAOxnG,GAExD,OAAOinG,GAAKwB,SAASvlH,QAClB+jH,EAAKwB,SAASU,QAAQ,EAAGqU,IAC1BI,OAMVl3B,iBAAkB,SAASl5F,EAAMqwH,GAC/B,GAAIP,GAAQrW,EAAKC,IAAI7hB,OAAO+hB,KACxB14G,EAAI4uH,EAAMzjH,EACVi3E,EAAIwsC,EAAMxsC,EAEVgtC,EAAoB7W,EAAKwB,SAASK,QAAQ+U,EAAK,EAAG,GAAK,GACvDvzH,EAAI28G,EAAKI,GAAGvnC,SAAStyE,GACrBqM,EAAIotG,EAAKI,GAAGvnC,SAASmnC,EAAKwB,SAASC,SAASmV,EAAK,EAAG,MACpDnkF,EAAIutE,EAAKI,GAAGvnC,SAASmnC,EAAKwB,SAASC,SAASmV,EAAK,KAErD,IAAIC,EAAoB,GAAKA,EAAoB,EAC/C,KAAM,IAAI/zH,OAAM,iDAKlB,KAAK,GAFDg0H,GAA6C,KAAT,EAApBD,GAEXxpH,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC3B,GAAI2F,GAAIJ,EAAE6iD,IAAIhuD,EAAEihD,IAAIr7C,IAEhBklC,EAAIytE,EAAKK,MAAMT,QAAQmX,QAAQ/jH,EAAG8jH,GAClC17H,EAAI,GAAI4kH,GAAKC,IAAIlzB,MAAMspC,EAAOrjH,EAAGu/B,GAEjC+uD,EAAO1uF,EAAE8xG,WAAWj9G,GACpB45F,EAAO,GAAI2e,GAAKI,GAAG,GAAGh2D,IAAI/mD,GAAGq/E,IAAIj7E,GACjCuvH,EAAWntC,EAAE6/B,MAAMroB,EAAM5uD,EAAGr3C,GAAGouH,KAAKloB,GACpC1iG,EAAM,GAAIohH,GAAKC,IAAI3gB,MAAMksB,UAAU6K,EAAOW,EAC9C,KAEE,MADAp4H,GAAIihG,OAAOt5F,EAAMy5G,EAAKwB,SAASC,SAASmV,EAAK,IACtCh4H,EACP,MAAO4Q,KAIX,KAAM,IAAI1M,OAAM,iCAGlBm+G,mBAAoB,SAASriH,EAAKq4H,GAChCA,EAAMA,GAAOjX,EAAKK,MAAMT,QAAQkW,OAEhC,IAAI/oC,GAAQnuF,EAAIwZ,MACZ6yB,EAASgsF,EAAIlB,SAQjB,OAJE9qF,IADuC,EAArC+0E,EAAKI,GAAGvnC,SAASkU,EAAMx6C,GAAGqxE,MAAM,GACxB,EAEA,EAGVqT,EAAIhB,UACJjW,EAAKK,MAAM+U,YAAYv8C,SACrB5tC,EACA8hD,EAAM/5E,EACNgtG,EAAKK,MAAMT,QAAQuW,cAKzBe,qBAAsB,SAASC,EAAQF,GACrCA,EAAMA,GAAOjX,EAAKK,MAAMT,QAAQkW,OAChC,IAAIO,GAAQrW,EAAKC,IAAI7hB,OAAO+hB,IAE5B,IAAsC,IAAlCgX,EAAO70G,QAAQ20G,EAAIhB,WACrB,KAAM,IAAInzH,OACR,8DACEm0H,EAAIhB,UACJ,IAIN,IAAIntF,GAAUk3E,EAAKK,MAAM+U,YAAY7U,OACnC4W,EAAOx7H,MAAM,GACbqkH,EAAKK,MAAMT,QAAQuW,aAEjBiB,EAAapX,EAAKwB,SAASK,QAAQ/4E,EAAS,EAAG,GAC/C82C,EAAsB,GAAdw3C,CACZ,KAAKA,EAAaH,EAAIlB,aAAekB,EAAIlB,UACvC,KAAM,IAAIjzH,OAAM,gCACX,IAA2B,KAAT,EAAbs0H,IAAkD,KAAT,EAAbA,GACtC,KAAM,IAAIt0H,OACR,mEACEs0H,EAAW3wH,SAAS,IAI1B,IAAI4wH,GAAQrX,EAAKwB,SAASC,SAAS34E,EAAS,GACxC91B,EAAIgtG,EAAKI,GAAGvnC,SAASw+C,GACrB9kF,EAAIytE,EAAKK,MAAMT,QAAQmX,QAAQ/jH,EAAG4sE,EAEtC,OAAO,IAAIogC,GAAKC,IAAI3gB,MAAMksB,UAAU6K,EAAO,GAAIrW,GAAKC,IAAIlzB,MAAMspC,EAAOrjH,EAAGu/B,KAG1EuuE,oBAAqB,SAASliH,EAAKq4H,GAEjC,MADAA,GAAMA,GAAOjX,EAAKK,MAAMT,QAAQkW,QACzB9V,EAAKK,MAAM+U,YAAYv8C,SAASo+C,EAAIjB,WAAYp3H,EAAIwZ,QAG7Dk/G,sBAAuB,SAASC,EAAKtsF,GACnCA,EAASA,GAAU+0E,EAAKK,MAAMT,QAAQkW,QAAQE,UAC9C,IAAIn6B,GAAQmkB,EAAKC,IAAI7hB,OAAO+hB,KACxBr3E,EAAUk3E,EAAKK,MAAM+U,YAAY7U,OAAOgX,GACxCH,EAAapX,EAAKwB,SAASK,QAAQ/4E,EAAS,EAAG,EACnD,IAAIsuF,IAAensF,EACjB,KAAM,IAAInoC,OACR,4CACEmoC,EAAOxkC,SAAS,IAChB,WACA2wH,EAAW3wH,SAAS,IAI1B,IAAIglF,GAAUu0B,EAAKwB,SAASC,SAAS34E,EAAS,EAC9C,OAAO,IAAIk3E,GAAKC,IAAI3gB,MAAMisB,UAAU1vB,EAAOmkB,EAAKI,GAAGvnC,SAAS4S,KAG9DsrC,QAAS,SAAS/jH,EAAGwkH,GACnB,GAAInB,GAAQrW,EAAKC,IAAI7hB,OAAO+hB,KACxBsX,EAASzX,EAAKK,MAAMT,QAAQ8X,aAE5B55B,EAAQ9qF,EACTiyG,SAAS,EAAGoR,EAAM9qB,MAAM8b,SACxB5xD,IAAIziD,EAAE+xG,OAAOsR,EAAMx6H,EAAGw6H,EAAM9qB,MAAM8b,UAClC5xD,IAAI4gE,EAAMv6H,GACV4mF,IAAI2zC,EAAM9qB,MAAM8b,SAEf90E,EAAIurD,EAAMmnB,SAASwS,EAAQpB,EAAM9qB,MAAM8b,SACvCsQ,EAASplF,EAAEmwC,IAAI,GAAGz6B,OAAO,EAE7B,OAAK0vE,IAAUH,IAAkBG,IAAWH,EACnCjlF,EAEA8jF,EAAM9qB,MAAM8b,QAAQj9D,IAAI7X,GAAG+vD,aAItCo1B,WAAY,WASV,MARK1X,GAAKK,MAAMT,QAAQ6X,SACtBzX,EAAKK,MAAMT,QAAQ6X,OAASzX,EAAKC,IAAI7hB,OAAO+hB,KAAK5U,MAAM8b,QACpD5xD,IAAI,GACJ6sC,YACAiiB,SACAA,SACAjiB,aAEE0d,EAAKK,MAAMT,QAAQ6X,SAKnBzX,IAGTnlH,GAAQmlH,KAAOA,EAsBfvzD,EAAW7yC,KAAO,SAAS29G,EAAKtsF,GAC9B,MAAO,IAAIwhB,GACTuzD,EAAKK,MAAMT,QAAQ0X,sBAAsBC,EAAKtsF,KAQlDsW,EAAU3nC,KAAO,SAASX,GACxB,MAAO,IAAIsoC,GAAUy+D,EAAKK,MAAMT,QAAQsX,qBAAqBj+G,KAG/DsoC,EAAUq2E,QAAU,SAASrxH,EAAMqwH,GACjC,MAAO,IAAIr1E,GACTy+D,EAAKK,MAAMT,QAAQngB,iBAAiB8gB,EAAOh6G,GAAOg6G,EAAOqW,MAI7Dr1E,EAAUhmD,WACRkL,SAAU,WACR,MAAOu5G,GAAKK,MAAMT,QAAQqB,mBAAmBjlH,KAAKwkH,KAEpD3gB,OAAQ,SAASt5F,EAAMu6F,GACrB,IACE,GAAI61B,GAAS3W,EAAKwB,SAASC,SAASlB,EAAOzf,GAAY,EAEvD,OADA9kG,MAAKwkH,GAAG3gB,OAAO0gB,EAAOh6G,GAAOowH,IACtB,EACP,MAAOnnH,GACP,OAAO,Q7MygiCT,SAAU1U,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y8M36oC/C,SAASnhC,KACP,GAAI9I,MAAOS,MAAMV,KAAKgF,WAAWolB,KAAK,IACtC,MAAM,IAAIviB,QACR5H,EACA,0BACA,mDACEmqB,KAAK,OAiBX,QAASoc,GAAK5lC,EAAG83D,GACf,IAAI,GAAIt4D,KAAKQ,GACX83D,EAAE93D,EAAER,GAAIA,GA3BZ,GAAIw8H,GAAMn9H,EAAQ,IAWlBG,GAAQyjH,WAAa5jH,EAAQ,KAE7BG,EAAQi9H,WAAap9H,EAAQ,KAE7BG,EAAQ63E,YAAc,SAASzuD,EAAM9iB,GACnC,IAAIA,IAAYA,EAASlG,KAKvB,MAAO,IAAIkqC,GAAO0yF,EAAI5zG,GAJtB,KACE9iB,EAASlG,KAAKe,KAAMkE,OAAW,GAAIilC,GAAO0yF,EAAI5zG,KAC9C,MAAOtgB,GAAOxC,EAASwC,KAW7B9I,EAAQk9H,UAAY,WAClB,OAAQ,OAAQ,SAAU,SAAU,MAAO,UAG7C,IAAI38H,GAAIV,EAAQ,KAAYG,EAC5BA,GAAQm9H,OAAS58H,EAAE48H,OACnBn9H,EAAQo9H,WAAa78H,EAAE68H,WACvBv9H,EAAQ,KAAyBG,EAASC,EAAOD,SAGjD4mC,GAAM,oBACJ,aACA,eACA,uBACC,SAAUxqB,GACXpc,EAAQoc,GAAQ,WACdjT,EAAM,SAAUiT,EAAM,+B9M66oCIhc,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASwB,EAAQipC,GAAS,c+Mj+oCtD,WACC,GAAIx8B,IAAK,mBAAuBhM,QAAST,EAASS,WAClDu7H,SACEvvH,EAAE4pE,QAAU5pE,EAAE6pE,UAAY93E,EAAQ,KAEpCI,EAAOD,QAAU,SAASopB,GAExB,GAAGi0G,QAAQtlD,gBAAiB,CAC1B,GAAI1kC,GAAQ,GAAI/I,GAAOlhB,EAMvB,OADAi0G,SAAQtlD,gBAAgB1kC,GACjBA,EAEJ,GAAIgqF,QAAQxlD,YACf,MAAOwlD,SAAQxlD,YAAYzuD,EAG3B,MAAM,IAAInhB,OACR,oH/Mg+oCsB7H,KAAKJ,EAAU,WAAa,MAAOmB,SAAYtB,EAAoB,IAAIyqC,SAIrG,GAEM,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YgNx/oC/C,SAASgzF,GAAev8H,GACtB,MAAO,YACL,GAAI26D,MACAr7D,GACF2J,OAAQ,SAAU5B,EAAMu8D,GAGtB,MAFIr6B,GAAO7B,SAASrgC,KAAOA,EAAO,GAAIkiC,GAAOliC,EAAMu8D,IACnDjJ,EAAQluD,KAAKpF,GACNjH,MAETsK,OAAQ,SAAUk5D,GAChB,GAAIp5D,GAAM++B,EAAOlpC,OAAOs6D,GACpB3jD,EAAIhX,EAAGwK,EAEX,OADAmwD,GAAU,KACHiJ,EAAM5sD,EAAEnM,SAAS+4D,GAAO5sD,GAGnC,OAAO1X,IArBX,GAAIojH,GAAa5jH,EAAQ,KAErB+7D,EAAM0hE,EAAcz9H,EAAQ,MAC5B09H,EAASD,EAAcz9H,EAAQ,KAsBnCI,GAAOD,QAAU,SAAUi8D,GACzB,MAAG,QAAUA,EAAY,GAAIL,GAC1B,WAAaK,EAAY,GAAIshE,GACzB9Z,EAAWxnD,MhNigpCU77D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YiNnipCD,IAAIG,GAAUC,EAAOD,QAAU,SAAUi8D,GACvC,GAAIuhE,GAAMx9H,EAAQi8D,EAClB,KAAIuhE,EAAK,KAAM,IAAIv1H,OAAMg0D,EAAM,8CAC/B,OAAO,IAAIuhE,IAGTlzF,EAASzqC,EAAQ,KAAUyqC,OAC3BqxB,EAAS97D,EAAQ,KAAUyqC,EAE/BtqC,GAAQi7D,KAAOp7D,EAAQ,KAAUyqC,EAAQqxB,GACzC37D,EAAQ2L,OAAS9L,EAAQ,KAAYyqC,EAAQqxB,GAC7C37D,EAAQqyD,OAASxyD,EAAQ,KAAYyqC,EAAQqxB,IjNyipCvC,SAAU17D,EAAQD,GAEvB,YkNtjpCDC,GAAOD,QAAU,SAAUsqC,GAGzB,QAASqxB,GAAMgD,EAAWyO,GACxBjsE,KAAK+8D,OAAS,GAAI5zB,GAAOq0B,GACzBx9D,KAAKksE,WAAaD,EAClBjsE,KAAK09D,WAAaF,EAClBx9D,KAAKuF,KAAO,EACZvF,KAAKw+C,GAAK,EAmEZ,MAhEAgc,GAAKj7D,UAAU6qB,KAAO,WACpBpqB,KAAKw+C,GAAK,EACVx+C,KAAKuF,KAAO,GAGdi1D,EAAKj7D,UAAUsJ,OAAS,SAAU5B,EAAMu8D,GAClC,gBAAoBv8D,KACtBu8D,EAAMA,GAAO,OACbv8D,EAAO,GAAIkiC,GAAOliC,EAAMu8D,GAQ1B,KALA,GAAIzmD,GAAI/c,KAAKuF,MAAQ0B,EAAKxE,OACtBg0C,EAAIz2C,KAAKw+C,GAAMx+C,KAAKw+C,IAAM,EAC1BmZ,EAAI,EACJtnB,EAASrwC,KAAK+8D,OAEXtmB,EAAI15B,GAAG,CAIZ,IAAK,GAHDmgC,GAAI/1C,KAAKk6B,IAAIp6B,EAAKxE,OAAQk1D,EAAI33D,KAAK09D,WAAcjnB,EAAIz2C,KAAK09D,YAC1DsP,EAAM9vB,EAAIya,EAELt4D,EAAI,EAAGA,EAAI2tE,EAAI3tE,IACtBgxC,EAAQoG,EAAIz2C,KAAK09D,WAAcr+D,GAAK4H,EAAK5H,EAAIs4D,EAG/ClhB,IAAKu2B,EACLrV,GAAKqV,EAEAv2B,EAAIz2C,KAAK09D,aAAgB,GAC5B19D,KAAK46D,QAAQvqB,GAKjB,MAFArwC,MAAKw+C,GAAK/H,EAEHz2C,MAGTw6D,EAAKj7D,UAAU+K,OAAS,SAAUk5D,GAEhC,GAAIzmD,GAAgB,EAAZ/c,KAAKuF,IAGbvF,MAAK+8D,OAAO/8D,KAAKuF,KAAOvF,KAAK09D,YAAc,IAG3C19D,KAAK+8D,OAAOlW,KAAK,EAAG7mD,KAAKuF,KAAOvF,KAAK09D,WAAa,GAE9C3gD,GAAuB,EAAlB/c,KAAK09D,aAAqC,EAAlB19D,KAAKksE,aACpClsE,KAAK46D,QAAQ56D,KAAK+8D,QAClB/8D,KAAK+8D,OAAOlW,KAAK,IAKnB7mD,KAAK+8D,OAAOrO,aAAa3xC,EAAG/c,KAAK09D,WAAa,EAE9C,IAAInzD,GAAOvK,KAAK46D,QAAQ56D,KAAK+8D,SAAW/8D,KAAKixD,OAE7C,OAAOuS,GAAMj5D,EAAKE,SAAS+4D,GAAOj5D,GAGpCiwD,EAAKj7D,UAAUq7D,QAAU,WACvB,KAAM,IAAI9zD,OAAM,4CAGX0zD,IlN6jpCH,SAAU17D,EAAQD,EAASH,GAEhC,YmNjopCD,IAAI2f,GAAW3f,EAAQ,KAAQ2f,QAE/Bvf,GAAOD,QAAU,SAAUsqC,EAAQqxB,GAYjC,QAASiS,KACP,MAAG6vD,GAAK75H,OACC65H,EAAK52H,MAAM0kB,OAEfpqB,eAAgBysE,IACrBzsE,KAAKyrE,GAAKC,EACVlR,EAAKv7D,KAAKe,KAAM,GAAM,IAEtBA,KAAK+sE,GAAK,SACV/sE,MAAKoqB,QAL8B,GAAIqiD,GAyEzC,QAAS8vD,GAAQr/E,EAAGp9C,EAAGX,EAAGmI,GACxB,MAAG41C,GAAI,GAAYp9C,EAAIX,GAAQW,EAAKwH,EACjC41C,EAAI,GAAWp9C,EAAIX,EAAImI,EACvB41C,EAAI,GAAYp9C,EAAIX,EAAMW,EAAIwH,EAAMnI,EAAImI,EACpCxH,EAAIX,EAAImI,EAMjB,QAASk1H,GAAQt/E,GACf,MAAQA,GAAI,GAAO,WAAcA,EAAI,GAAO,WACpCA,EAAI,IAAM,YAAc,UASlC,QAASuc,GAAIziD,EAAGu/B,GACd,MAAQv/B,GAAIu/B,EAAM,EAUpB,QAASkmF,GAAIp6E,EAAKyZ,GAChB,MAAQzZ,IAAOyZ,EAAQzZ,IAAS,GAAKyZ,EAxHvC,GAAI6kD,GAAI,EACJF,EAAI,EACJC,EAAI,EACJH,EAAI,GACJiY,EAAI,GAEJ9sD,EAAI,IAA2B,mBAAfw2C,YAA6B18G,MAAQ08G,YAAY,IAEjEoa,IAmHJ,OArGAj+G,GAASouD,EAAMjS,GAEfiS,EAAKltE,UAAU6qB,KAAO,WAQpB,MAPApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,GAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,GAAK,UACVt+C,KAAKu+C,GAAK,WAEVic,EAAKj7D,UAAU6qB,KAAKnrB,KAAKe,MAClBA,MAGTysE,EAAKltE,UAAUm9H,MAAQJ,EACvB7vD,EAAKltE,UAAUq7D,QAAU,SAAUs2D,GAEjC,GAAIrxH,GAAGC,EAAGX,EAAGmI,EAAGD,EAAGi1D,EAAIC,EAAIC,EAAIle,EAAIC,CAEnC1+C,GAAIy8D,EAAKt8D,KAAKs8D,GACdx8D,EAAIy8D,EAAKv8D,KAAKu8D,GACdp9D,EAAIq9D,EAAKx8D,KAAKw8D,GACdl1D,EAAIg3C,EAAKt+C,KAAKs+C,GACdj3C,EAAIk3C,EAAKv+C,KAAKu+C,EAId,KAAI,GAFAuzC,GAAI9xF,KAAKyrE,GAELp6D,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC1B,GAAIq6D,GAAIomB,EAAEzgF,GAAKA,EAAI,GAAK6/G,EAAE5jE,YAAc,EAAFj8C,GAClCorH,EAAI3qC,EAAEzgF,EAAI,GAAKygF,EAAEzgF,EAAK,GAAKygF,EAAEzgF,EAAI,IAAMygF,EAAEzgF,EAAI,IAAK,GAElD6rC,EAAIuc,EACNA,EAAIgjE,EAAI58H,EAAG,GAAI08H,EAAQlrH,EAAGvR,EAAGX,EAAGmI,IAChCmyD,EAAIA,EAAIpyD,EAAGqkE,GAAI8wD,EAAQnrH,IAGzBhK,GAAIC,EACJA,EAAInI,EACJA,EAAIs9H,EAAI38H,EAAG,IACXA,EAAID,EACJA,EAAIq9C,EAGNl9C,KAAKs8D,GAAK7C,EAAI55D,EAAGy8D,GACjBt8D,KAAKu8D,GAAK9C,EAAI35D,EAAGy8D,GACjBv8D,KAAKw8D,GAAK/C,EAAIt6D,EAAGq9D,GACjBx8D,KAAKs+C,GAAKmb,EAAInyD,EAAGg3C,GACjBt+C,KAAKu+C,GAAKkb,EAAIpyD,EAAGk3C,IAGnBkuB,EAAKltE,UAAU0xD,MAAQ,WAClBqrE,EAAK75H,OAAS,KAAK65H,EAAKjwH,KAAKrM,KAChC,IAAIgsE,GAAI,GAAI7iC,GAAO,GAOnB,OALA6iC,GAAEtd,aAAqB,EAAR1uD,KAAKs8D,GAAMqkD,GAC1B30C,EAAEtd,aAAqB,EAAR1uD,KAAKu8D,GAAMkkD,GAC1Bz0C,EAAEtd,aAAqB,EAAR1uD,KAAKw8D,GAAMkkD,GAC1B10C,EAAEtd,aAAqB,EAAR1uD,KAAKs+C,GAAMiiE,GAC1Bv0C,EAAEtd,aAAqB,EAAR1uD,KAAKu+C,GAAMi6E,GACnBxsD,GA2CFS,InN2opCH,SAAU3tE,EAAQD,EAASH,GAEhC,YoN5wpCD,IAAI2f,GAAW3f,EAAQ,KAAQ2f,QAE/Bvf,GAAOD,QAAU,SAAUsqC,EAAQqxB,GAuBjC,QAASoS,KACP5sE,KAAKoqB,OAELpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,GAAM,IAqBxB,QAAS8zE,GAAGo9C,EAAGzlH,GACb,MAAQylH,KAAMzlH,EAAMylH,GAAM,GAAKzlH,EAGjC,QAASu1F,GAAGkwB,EAAGzlH,GACb,MAAQylH,KAAMzlH,EAGhB,QAASojE,GAAI73D,EAAGu/B,EAAG02B,GACjB,MAASj2D,GAAIu/B,GAAQv/B,EAAKi2D,EAG5B,QAAS0vD,GAAK3lH,EAAGu/B,EAAG02B,GAClB,MAASj2D,GAAIu/B,EAAMv/B,EAAIi2D,EAAM12B,EAAI02B,EAGnC,QAAS2vD,GAAW5lH,GAClB,MAAQ88D,GAAE98D,EAAG,GAAK88D,EAAE98D,EAAG,IAAM88D,EAAE98D,EAAG,IAGpC,QAAS6lH,GAAW7lH,GAClB,MAAQ88D,GAAE98D,EAAG,GAAK88D,EAAE98D,EAAG,IAAM88D,EAAE98D,EAAG,IAGpC,QAAS8lH,GAAW9lH,GAClB,MAAQ88D,GAAE98D,EAAG,GAAK88D,EAAE98D,EAAG,IAAMgqF,EAAEhqF,EAAG,GAGpC,QAAS+lH,GAAW/lH,GAClB,MAAQ88D,GAAE98D,EAAG,IAAM88D,EAAE98D,EAAG,IAAMgqF,EAAEhqF,EAAG,IA5ErC,GAAI80D,IACA,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,UAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,UAAY,UAAY,UACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,YAGpCJ,EAAI,GAAIlmE,OAAM,GAgHlB,OAtGA6Y,GAASuuD,EAAQpS,GAEjBoS,EAAOrtE,UAAU6qB,KAAO,WAatB,MAXApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,IAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,IAAK,WACVt+C,KAAKu+C,GAAK,WACVv+C,KAAK6sE,IAAK,WACV7sE,KAAK8sE,GAAK,UACV9sE,KAAK+sE,GAAK,WAEV/sE,KAAKuF,KAAOvF,KAAKw+C,GAAK,EAEfx+C,MAmCT4sE,EAAOrtE,UAAUq7D,QAAU,SAASmR,GAElC,GACIlsE,GAAGC,EAAGX,EAAGmI,EAAGD,EAAGswD,EAAGhrD,EAAG6pC,EACrB+2B,EAAIC,EAFJ9B,EAAI1rE,KAAKyrE,EAIb5rE,GAAc,EAAVG,KAAKs8D,GACTx8D,EAAc,EAAVE,KAAKu8D,GACTp9D,EAAc,EAAVa,KAAKw8D,GACTl1D,EAAc,EAAVtH,KAAKs+C,GACTj3C,EAAc,EAAVrH,KAAKu+C,GACToZ,EAAc,EAAV33D,KAAK6sE,GACTlgE,EAAc,EAAV3M,KAAK8sE,GACTt2B,EAAc,EAAVx2C,KAAK+sE,EAET,KAAK,GAAI17D,GAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,GAAIygF,GAAIpmB,EAAEr6D,GAAKA,EAAI,GACf06D,EAAEze,YAAgB,EAAJj8C,GACd0rH,EAAUrxD,EAAEr6D,EAAI,IAAMq6D,EAAEr6D,EAAI,GAAKyrH,EAAUpxD,EAAEr6D,EAAI,KAAOq6D,EAAEr6D,EAAI,GAElEk8D,GAAK/2B,EAAIqmF,EAAUx1H,GAAKwnE,EAAGxnE,EAAGswD,EAAGhrD,GAAKm/D,EAAEz6D,GAAKygF,EAE7CtkB,EAAKovD,EAAU/8H,GAAK88H,EAAI98H,EAAGC,EAAGX,GAC9Bq3C,EAAI7pC,EAAGA,EAAIgrD,EAAGA,EAAItwD,EAAGA,EAAIC,EAAIimE,EAAIjmE,EAAInI,EAAGA,EAAIW,EAAGA,EAAID,EAAGA,EAAI0tE,EAAKC,EAGjExtE,KAAKs8D,GAAMz8D,EAAIG,KAAKs8D,GAAM,EAC1Bt8D,KAAKu8D,GAAMz8D,EAAIE,KAAKu8D,GAAM,EAC1Bv8D,KAAKw8D,GAAMr9D,EAAIa,KAAKw8D,GAAM,EAC1Bx8D,KAAKs+C,GAAMh3C,EAAItH,KAAKs+C,GAAM,EAC1Bt+C,KAAKu+C,GAAMl3C,EAAIrH,KAAKu+C,GAAM,EAC1Bv+C,KAAK6sE,GAAMlV,EAAI33D,KAAK6sE,GAAM,EAC1B7sE,KAAK8sE,GAAMngE,EAAI3M,KAAK8sE,GAAM,EAC1B9sE,KAAK+sE,GAAMv2B,EAAIx2C,KAAK+sE,GAAM,GAI5BH,EAAOrtE,UAAU0xD,MAAQ,WACvB,GAAI+a,GAAI,GAAI7iC,GAAO,GAWnB,OATA6iC,GAAEtd,aAAa1uD,KAAKs8D,GAAK,GACzB0P,EAAEtd,aAAa1uD,KAAKu8D,GAAK,GACzByP,EAAEtd,aAAa1uD,KAAKw8D,GAAK,GACzBwP,EAAEtd,aAAa1uD,KAAKs+C,GAAI,IACxB0tB,EAAEtd,aAAa1uD,KAAKu+C,GAAI,IACxBytB,EAAEtd,aAAa1uD,KAAK6sE,GAAI,IACxBb,EAAEtd,aAAa1uD,KAAK8sE,GAAI,IACxBd,EAAEtd,aAAa1uD,KAAK+sE,GAAI,IAEjBf,GAGFY,IpNuwpCH,SAAU9tE,EAAQD,EAASH,GAEhC,YqNz5pCD,IAAI2f,GAAW3f,EAAQ,KAAQ2f,QAE/Bvf,GAAOD,QAAU,SAAUsqC,EAAQqxB,GA8CjC,QAASoU,KACP5uE,KAAKoqB,OACLpqB,KAAKyrE,GAAKC,EAEVlR,EAAKv7D,KAAKe,KAAM,IAAK,KA8BvB,QAAS8zE,GAAGo9C,EAAG8L,EAAIvxH,GACjB,MAAQylH,KAAMzlH,EAAMuxH,GAAO,GAAKvxH,EAGlC,QAASojE,GAAI73D,EAAGu/B,EAAG02B,GACjB,MAASj2D,GAAIu/B,GAAQv/B,EAAKi2D,EAG5B,QAAS0vD,GAAK3lH,EAAGu/B,EAAG02B,GAClB,MAASj2D,GAAIu/B,EAAMv/B,EAAIi2D,EAAM12B,EAAI02B,EAxFnC,GAAInB,IACF,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,UAAY,UACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,WAAY,WAAY,UACpC,WAAY,WAAY,WAAY,WACpC,UAAY,WAAY,UAAY,WACpC,UAAY,WAAY,UAAY,UACpC,UAAY,UAAY,UAAY,WACpC,WAAY,UAAY,WAAY,WACpC,WAAY,WAAY,WAAY,WACpC,WAAY,UAAY,WAAY,YAGlCJ,EAAI,GAAIlmE,OAAM;AAmMlB,MA1LA6Y,GAASuwD,EAAQpU,GAEjBoU,EAAOrvE,UAAU6qB,KAAO,WAsBtB,MApBApqB,MAAKs8D,GAAK,WACVt8D,KAAKu8D,IAAK,WACVv8D,KAAKw8D,GAAK,WACVx8D,KAAKs+C,IAAK,WACVt+C,KAAKu+C,GAAK,WACVv+C,KAAK6sE,IAAK,WACV7sE,KAAK8sE,GAAK,UACV9sE,KAAK+sE,GAAK,WAEV/sE,KAAKmuE,KAAM,UACXnuE,KAAKouE,KAAM,WACXpuE,KAAKquE,KAAM,SACXruE,KAAKsuE,IAAM,WACXtuE,KAAKuuE,KAAM,WACXvuE,KAAKwuE,IAAM,UACXxuE,KAAKyuE,KAAM,SACXzuE,KAAK0uE,IAAM,UAEX1uE,KAAKuF,KAAOvF,KAAKw+C,GAAK,EAEfx+C,MAeT4uE,EAAOrvE,UAAUq7D,QAAU,SAASmR,GAElC,GACIlsE,GAAGC,EAAGX,EAAGmI,EAAGD,EAAGswD,EAAGhrD,EAAG6pC,EACrBwmB,EAAIC,EAAIC,EAAIC,EAAInX,EAAI2pB,EAAIC,EAAIC,EAF5BnE,EAAI1rE,KAAKyrE,EAIb5rE,GAAc,EAAVG,KAAKs8D,GACTx8D,EAAc,EAAVE,KAAKu8D,GACTp9D,EAAc,EAAVa,KAAKw8D,GACTl1D,EAAc,EAAVtH,KAAKs+C,GACTj3C,EAAc,EAAVrH,KAAKu+C,GACToZ,EAAc,EAAV33D,KAAK6sE,GACTlgE,EAAc,EAAV3M,KAAK8sE,GACTt2B,EAAc,EAAVx2C,KAAK+sE,GAET/P,EAAgB,EAAXh9D,KAAKmuE,IACVlR,EAAgB,EAAXj9D,KAAKouE,IACVlR,EAAgB,EAAXl9D,KAAKquE,IACVlR,EAAgB,EAAXn9D,KAAKsuE,IACVtoB,EAAgB,EAAXhmD,KAAKuuE,IACVoB,EAAgB,EAAX3vE,KAAKwuE,IACVoB,EAAgB,EAAX5vE,KAAKyuE,IACVoB,EAAgB,EAAX7vE,KAAK0uE,GAEV,KAAK,GAAIrvE,GAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,GAEI49H,GAAI5sD,EAFJh/D,EAAQ,EAAJhS,CAIR,IAAIA,EAAI,GACN49H,EAAKvxD,EAAEr6D,GAAK06D,EAAEze,YAAgB,EAAJj8C,GAC1Bg/D,EAAM3E,EAAEr6D,EAAI,GAAK06D,EAAEze,YAAgB,EAAJj8C,EAAQ,OAElC,CACL,GAAI2F,GAAK00D,EAAEr6D,EAAI,IACXy9D,EAAKpD,EAAEr6D,EAAI,GAAO,GAClBg8D,EAAUyG,EAAE98D,EAAG83D,EAAI,GAAKgF,EAAE98D,EAAG83D,EAAI,GAAM93D,IAAM,EAC7C+4D,EAAU+D,EAAEhF,EAAI93D,EAAG,GAAK88D,EAAEhF,EAAI93D,EAAG,GAAK88D,EAAEhF,EAAI93D,EAAG,EAEnDA,GAAK00D,EAAEr6D,EAAI,GACXy9D,EAAKpD,EAAEr6D,EAAI,EAAM,EACjB,IAAIi8D,GAAUwG,EAAE98D,EAAG83D,EAAI,IAAMgF,EAAEhF,EAAI93D,EAAG,IAAOA,IAAM,EAC/Cg5D,EAAU8D,EAAEhF,EAAI93D,EAAG,IAAM88D,EAAE98D,EAAG83D,EAAI,IAAMgF,EAAEhF,EAAI93D,EAAG,GAGjDkmH,EAAOxxD,EAAEr6D,EAAI,IACb6+D,EAAOxE,EAAEr6D,EAAI,GAAM,GAEnB8rH,EAAQzxD,EAAEr6D,EAAI,IACd++D,EAAQ1E,EAAEr6D,EAAI,GAAO,EAEzBg/D,GAAMN,EAAUG,EAChB+sD,EAAM5vD,EAAU6vD,GAAQ7sD,IAAQ,EAAMN,IAAY,EAAK,EAAI,GAC3DM,GAAYL,EACZitD,EAAMA,EAAM3vD,GAAY+C,IAAQ,EAAML,IAAY,EAAK,EAAI,GAC3DK,GAAYD,EACZ6sD,EAAMA,EAAME,GAAS9sD,IAAQ,EAAMD,IAAU,EAAK,EAAI,GAEtD1E,EAAEr6D,GAAK4rH,EACPvxD,EAAEr6D,EAAI,GAAKg/D,EAGb,GAAInD,GAAMyvD,EAAI98H,EAAGC,EAAGX,GAChBqxE,EAAOmsD,EAAI3/D,EAAIC,EAAIC,GAEnBuT,EAAUqD,EAAEj0E,EAAGm9D,EAAI,IAAM8W,EAAE9W,EAAIn9D,EAAG,GAAKi0E,EAAE9W,EAAIn9D,EAAG,GAChD6wE,EAAUoD,EAAE9W,EAAIn9D,EAAG,IAAMi0E,EAAEj0E,EAAGm9D,EAAI,GAAK8W,EAAEj0E,EAAGm9D,EAAI,GAChD2T,EAAUmD,EAAEzsE,EAAG2+C,EAAI,IAAM8tB,EAAEzsE,EAAG2+C,EAAI,IAAM8tB,EAAE9tB,EAAI3+C,EAAG,GACjDupE,EAAUkD,EAAE9tB,EAAI3+C,EAAG,IAAMysE,EAAE9tB,EAAI3+C,EAAG,IAAMysE,EAAEzsE,EAAG2+C,EAAI,GAGjDo3E,EAAKtxD,EAAEz6D,GACPy/D,EAAMhF,EAAEz6D,EAAI,GAEZ27D,EAAK6B,EAAGxnE,EAAGswD,EAAGhrD,GACdqkE,EAAMnC,EAAG7oB,EAAI2pB,EAAIC,GAEjBqB,EAAMpB,EAAKe,EACXwP,EAAK5pC,EAAIm6B,GAAYM,IAAQ,EAAMpB,IAAO,EAAK,EAAI,EACvDoB,IAAYD,EACZoP,EAAKA,EAAKpT,GAAOiE,IAAQ,EAAMD,IAAQ,EAAK,EAAI,GAChDC,GAAYH,EACZsP,EAAKA,EAAKg9C,GAAOnsD,IAAQ,EAAMH,IAAQ,EAAK,EAAI,GAChDG,GAAYZ,EACZ+P,EAAKA,EAAK68C,GAAOhsD,IAAQ,EAAMZ,IAAQ,EAAK,EAAI,EAGhD,IAAIc,GAAMT,EAAUF,EAChB6P,EAAK5P,EAAUvD,GAAQiE,IAAQ,EAAMT,IAAY,EAAK,EAAI,EAE9Dl6B,GAAK7pC,EACLkjE,EAAKD,EACLjjE,EAAKgrD,EACLiY,EAAKD,EACLhY,EAAKtwD,EACLsoE,EAAK3pB,EACLA,EAAMmX,EAAK8T,EAAO,EAClB5pE,EAAMC,EAAI84E,GAAOp6B,IAAO,EAAMmX,IAAO,EAAK,EAAI,GAAM,EACpD71D,EAAKnI,EACLg+D,EAAKD,EACL/9D,EAAKW,EACLo9D,EAAKD,EACLn9D,EAAKD,EACLo9D,EAAKD,EACLA,EAAMiU,EAAME,EAAO,EACnBtxE,EAAMugF,EAAKC,GAAOrjB,IAAO,EAAMiU,IAAQ,EAAK,EAAI,GAAM,EAGxDjxE,KAAKmuE,IAAOnuE,KAAKmuE,IAAMnR,EAAM,EAC7Bh9D,KAAKouE,IAAOpuE,KAAKouE,IAAMnR,EAAM,EAC7Bj9D,KAAKquE,IAAOruE,KAAKquE,IAAMnR,EAAM,EAC7Bl9D,KAAKsuE,IAAOtuE,KAAKsuE,IAAMnR,EAAM,EAC7Bn9D,KAAKuuE,IAAOvuE,KAAKuuE,IAAMvoB,EAAM,EAC7BhmD,KAAKwuE,IAAOxuE,KAAKwuE,IAAMmB,EAAM,EAC7B3vE,KAAKyuE,IAAOzuE,KAAKyuE,IAAMmB,EAAM,EAC7B5vE,KAAK0uE,IAAO1uE,KAAK0uE,IAAMmB,EAAM,EAE7B7vE,KAAKs8D,GAAMt8D,KAAKs8D,GAAKz8D,GAAMG,KAAKmuE,MAAQ,EAAMnR,IAAO,EAAK,EAAI,GAAM,EACpEh9D,KAAKu8D,GAAMv8D,KAAKu8D,GAAKz8D,GAAME,KAAKouE,MAAQ,EAAMnR,IAAO,EAAK,EAAI,GAAM,EACpEj9D,KAAKw8D,GAAMx8D,KAAKw8D,GAAKr9D,GAAMa,KAAKquE,MAAQ,EAAMnR,IAAO,EAAK,EAAI,GAAM,EACpEl9D,KAAKs+C,GAAMt+C,KAAKs+C,GAAKh3C,GAAMtH,KAAKsuE,MAAQ,EAAMnR,IAAO,EAAK,EAAI,GAAM,EACpEn9D,KAAKu+C,GAAMv+C,KAAKu+C,GAAKl3C,GAAMrH,KAAKuuE,MAAQ,EAAMvoB,IAAO,EAAK,EAAI,GAAM,EACpEhmD,KAAK6sE,GAAM7sE,KAAK6sE,GAAKlV,GAAM33D,KAAKwuE,MAAQ,EAAMmB,IAAO,EAAK,EAAI,GAAM,EACpE3vE,KAAK8sE,GAAM9sE,KAAK8sE,GAAKngE,GAAM3M,KAAKyuE,MAAQ,EAAMmB,IAAO,EAAK,EAAI,GAAM,EACpE5vE,KAAK+sE,GAAM/sE,KAAK+sE,GAAKv2B,GAAMx2C,KAAK0uE,MAAQ,EAAMmB,IAAO,EAAK,EAAI,GAAM,GAGtEjB,EAAOrvE,UAAU0xD,MAAQ,WAGvB,QAAS0d,GAAan4B,EAAGz5B,EAAG2iC,GAC1BssB,EAAEtd,aAAalY,EAAGkJ,GAClBssB,EAAEtd,aAAa3xC,EAAG2iC,EAAS,GAJ7B,GAAIssB,GAAI,GAAI7iC,GAAO,GAgBnB,OATAwlC,GAAa3uE,KAAKs8D,GAAIt8D,KAAKmuE,IAAK,GAChCQ,EAAa3uE,KAAKu8D,GAAIv8D,KAAKouE,IAAK,GAChCO,EAAa3uE,KAAKw8D,GAAIx8D,KAAKquE,IAAK,IAChCM,EAAa3uE,KAAKs+C,GAAIt+C,KAAKsuE,IAAK,IAChCK,EAAa3uE,KAAKu+C,GAAIv+C,KAAKuuE,IAAK,IAChCI,EAAa3uE,KAAK6sE,GAAI7sE,KAAKwuE,IAAK,IAChCG,EAAa3uE,KAAK8sE,GAAI9sE,KAAKyuE,IAAK,IAChCE,EAAa3uE,KAAK+sE,GAAI/sE,KAAK0uE,IAAK,IAEzB1C,GAGF4C,IrNs3pCH,SAAU9vE,EAAQD,EAASH,GAEhC,YsN3lqCD,SAASq8D,GAAS/jD,EAAGjL,GAGnBiL,EAAEjL,GAAO,IAAM,KAAUA,EAAO,GAChCiL,GAAKjL,EAAM,KAAQ,GAAM,GAAK,IAAMA,CAOpC,KAAI,GALAlM,GAAK,WACLC,GAAI,UACJX,GAAI,WACJmI,EAAK,UAEDjI,EAAI,EAAGA,EAAI2X,EAAEvU,OAAQpD,GAAK,GAClC,CACE,GAAI27D,GAAOn7D,EACPo7D,EAAOn7D,EACPo7D,EAAO/7D,EACPg8D,EAAO7zD,CAEXzH,GAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,IAAI,WACpCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,GAAK,WACrCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,YACpCQ,EAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,GAAK,YACrCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,IAAI,YACpCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,UACpCQ,EAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,EAAK,YACrCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,IAAI,YACpCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,IAAI,OACpCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAE,IAAK,IAAI,YACpCQ,EAAIu7D,EAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAE,IAAK,EAAK,YACrCiI,EAAI8zD,EAAO9zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAE,IAAK,IAAI,UACpCF,EAAIi8D,EAAOj8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,IAAI,YACpCS,EAAIs7D,EAAOt7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAE,IAAK,GAAK,YAErCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,GAAI,YACpCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,GAAK,WACrCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,WACpCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAE,IAAK,EAAK,UACrCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,IAAI,WACpCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,WACpCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,EAAK,WACrCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAE,IAAK,GAAI,YACpCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,IAAI,WACpCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,GAAK,YACrCQ,EAAIw7D,EAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAE,IAAK,GAAI,YACpCiI,EAAI+zD,EAAO/zD,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,GAAI,UACpCF,EAAIk8D,EAAOl8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,GAAK,YACrCS,EAAIu7D,EAAOv7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAE,IAAK,IAAI,YAEpCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,QACpCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,IAAI,YACpCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,GAAK,YACrCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAE,IAAK,IAAI,UACpCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,YACpCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,GAAK,YACrCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,IAAI,WACpCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAE,IAAK,IAAI,YACpCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAE,IAAK,EAAK,WACrCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,IAAI,WACpCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,IAAI,WACpCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,GAAK,UACrCQ,EAAIy7D,EAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAIg0D,EAAOh0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAE,IAAK,IAAI,WACpCF,EAAIm8D,EAAOn8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,GAAK,WACrCS,EAAIw7D,EAAOx7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,WAEpCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,GAAK,YACrCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,IAAI,YACpCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,UACpCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAE,IAAK,EAAK,YACrCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAG,GAAI,IAAI,YACpCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAE,IAAK,IAAI,SACpCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,YACpCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,EAAK,YACrCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAE,IAAK,IAAI,UACpCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,IAAI,YACpCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAE,IAAK,GAAK,YACrCQ,EAAI07D,EAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAE3X,EAAG,GAAI,GAAI,WACpCiI,EAAIi0D,EAAOj0D,EAAGzH,EAAGC,EAAGX,EAAG6X,EAAE3X,EAAE,IAAK,IAAI,YACpCF,EAAIo8D,EAAOp8D,EAAGmI,EAAGzH,EAAGC,EAAGkX,EAAE3X,EAAG,GAAI,GAAK,WACrCS,EAAIy7D,EAAOz7D,EAAGX,EAAGmI,EAAGzH,EAAGmX,EAAE3X,EAAG,GAAI,IAAI,WAEpCQ,EAAI27D,EAAS37D,EAAGm7D,GAChBl7D,EAAI07D,EAAS17D,EAAGm7D,GAChB97D,EAAIq8D,EAASr8D,EAAG+7D,GAChB5zD,EAAIk0D,EAASl0D,EAAG6zD,GAElB,MAAO31D,OAAM3F,EAAGC,EAAGX,EAAGmI,GAOxB,QAASm0D,GAAQC,EAAG77D,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAE9B,MAAOse,GAASG,EAAQH,EAASA,EAAS37D,EAAG67D,GAAIF,EAASxkD,EAAGkmC,IAAKzG,GAAG32C,GAEvE,QAASs7D,GAAOv7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GAEhC,MAAOue,GAAS37D,EAAIX,GAAQW,EAAKwH,EAAIzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAEnD,QAASme,GAAOx7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GAEhC,MAAOue,GAAS37D,EAAIwH,EAAMnI,GAAMmI,EAAKzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAEnD,QAASoe,GAAOz7D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GAEhC,MAAOue,GAAQ37D,EAAIX,EAAImI,EAAGzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAExC,QAASqe,GAAO17D,EAAGC,EAAGX,EAAGmI,EAAG0P,EAAGy/B,EAAGyG,GAEhC,MAAOue,GAAQt8D,GAAKW,GAAMwH,GAAKzH,EAAGC,EAAGkX,EAAGy/B,EAAGyG,GAO7C,QAASse,GAASxkD,EAAGu/B,GAEnB,GAAIqlB,IAAW,MAAJ5kD,IAAmB,MAAJu/B,GACtBslB,GAAO7kD,GAAK,KAAOu/B,GAAK,KAAOqlB,GAAO,GAC1C,OAAQC,IAAO,GAAa,MAAND,EAMxB,QAASD,GAAQtZ,EAAKyZ,GAEpB,MAAQzZ,IAAOyZ,EAAQzZ,IAAS,GAAKyZ,EA5IvC,GAAIuhE,GAAU3+H,EAAQ,IA+ItBI,GAAOD,QAAU,SAAauL,GAC5B,MAAOizH,GAAQ9yH,KAAKH,EAAK2wD,EAAU,MtNsmqC/B,SAAUj8D,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YuN7vqC/C,SAAS6yB,GAAQ5xD,EAAKm1E,GACpB,GAAKn1E,EAAI3H,OAASw5D,IAAa,EAAG,CAChC,GAAIlwD,GAAM3B,EAAI3H,QAAUw5D,EAAW7xD,EAAI3H,OAASw5D,EAChD7xD,GAAM++B,EAAOlpC,QAAQmK,EAAK8xD,GAAanwD,GAKzC,IAAK,GAFDoyC,MACAv+C,EAAK2/E,EAAYn1E,EAAIkjD,YAAcljD,EAAIijD,YAClChuD,EAAI,EAAGA,EAAI+K,EAAI3H,OAAQpD,GAAK48D,EACnC9d,EAAI9xC,KAAKzM,EAAGX,KAAKmL,EAAK/K,GAExB,OAAO8+C,GAGT,QAAS9zC,GAAS8zC,EAAKl2B,EAAMs3D,GAG3B,IAAK,GAFDn1E,GAAM,GAAI++B,GAAOlhB,GACjBroB,EAAK2/E,EAAYn1E,EAAIskD,aAAetkD,EAAIqkD,aACnCpvD,EAAI,EAAGA,EAAI8+C,EAAI17C,OAAQpD,IAC9BO,EAAGX,KAAKmL,EAAK+zC,EAAI9+C,GAAQ,EAAJA,GAAO,EAE9B,OAAO+K,GAGT,QAASG,GAAKH,EAAKxK,EAAIw8D,EAAUmjB,GAC1Bp2C,EAAO7B,SAASl9B,KAAMA,EAAM,GAAI++B,GAAO/+B,GAC5C,IAAI+zC,GAAMv+C,EAAGo8D,EAAQ5xD,EAAKm1E,GAAYn1E,EAAI3H,OAAS66H,EACnD,OAAOjzH,GAAS8zC,EAAKie,EAAUmjB,GA9BjC,GAAItjB,GAAU,EACVC,EAAa,GAAI/yB,GAAO8yB,EAAUC,GAAWrV,KAAK,EACtD,IAAIy2E,GAAQ,CA+BZx+H,GAAOD,SAAY0L,KAAMA,KvNowqCKtL,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YwN3pqC/C,SAASo0F,GAAGvmH,EAAGu/B,EAAG02B,GAChB,MAASj2D,GAAMu/B,EAAM02B,EAGvB,QAASuwD,GAAGxmH,EAAGu/B,EAAG02B,GAChB,MAAUj2D,GAAIu/B,GAASv/B,EAAIi2D,EAG7B,QAASwwD,GAAGzmH,EAAGu/B,EAAG02B,GAChB,OAAUj2D,GAAQu/B,GAAQ02B,EAG5B,QAASywD,GAAG1mH,EAAGu/B,EAAG02B,GAChB,MAAUj2D,GAAMi2D,EAAQ12B,GAAM02B,EAGhC,QAAS0wD,GAAG3mH,EAAGu/B,EAAG02B,GAChB,MAASj2D,IAAOu/B,GAAO02B,GAGzB,QAASxQ,GAAKzlD,EAAEvL,GACd,MAAQuL,IAAGvL,EAAMuL,IAAK,GAAGvL,EAG3B,QAASq6C,GAAUpvC,GACjB,GAAIs1D,IAAK,WAAY,WAAY,WAAY,UAAY,WAEnC,iBAAXt1D,KACTA,EAAU,GAAIyyB,GAAOzyB,EAAS,QAEhC,IAAIxX,GAAI0+H,EAAalnH,GAEjBmnH,EAA6B,EAAjBnnH,EAAQjU,OACpBq7H,EAA8B,EAAjBpnH,EAAQjU,MAGzBvD,GAAE2+H,IAAc,IAAM,KAAS,GAAKA,EAAY,GAChD3+H,GAAK2+H,EAAY,KAAQ,GAAM,GAAK,IACc,UAA3CC,GAAc,EAAOA,IAAe,IACO,YAA3CA,GAAc,GAAOA,IAAe,EAG3C,KAAK,GAAIz+H,GAAE,EAAIA,EAAEH,EAAEuD,OAAQpD,GAAK,GAC9B0+H,EAAa/xD,EAAG9sE,EAAGG,EAIrB,KAAK,GAAIA,GAAI,EAAGA,EAAI,EAAGA,IAAK,CAE1B,GAAI2+H,GAAMhyD,EAAE3sE,EAGZ2sE,GAAE3sE,GAAqC,UAA7B2+H,GAAO,EAAOA,IAAQ,IACM,YAA7BA,GAAO,GAAOA,IAAQ,GAGjC,GAAIC,GAAcC,EAAalyD,EAC/B,OAAO,IAAI7iC,GAAO80F,GAxMpBn/H,EAAOD,QAAUinD,CAsBjB,IAAIq4E,IACA,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAC5D,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAAG,GAC3D,EAAI,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAI,GAAK,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAG,GAAK,EAAG,GAAI,GAAK,EAAI,EAAI,EAAG,GAAK,EAAG,GAAI,IAC3DC,GACA,EAAG,GAAK,EAAI,EAAI,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GAC3D,EAAG,GAAK,EAAI,EAAI,EAAG,GAAK,EAAG,GAAI,GAAI,GAAK,EAAG,GAAK,EAAI,EAAI,EAAI,EAC5D,GAAK,EAAI,EAAI,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAC5D,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAI,GAC3D,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAK,EAAI,EAAI,EAAG,IAC5DC,GACC,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAC9D,EAAG,EAAK,EAAG,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAI,GAAK,EAAG,GAAK,EAAG,GAAI,GAC3D,GAAI,GAAK,EAAI,EAAG,GAAK,EAAG,GAAI,GAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAC3D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAG,GAAK,EAAI,EAAI,EAAI,EAAI,EAAG,GAC9D,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAI,GAAK,EAAG,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,GAC5DC,GACA,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAK,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAK,EAC5D,EAAG,GAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAI,GAAI,GAC3D,EAAI,EAAG,GAAI,GAAK,EAAI,EAAI,EAAG,GAAI,GAAI,GAAK,EAAG,GAAI,GAAI,GAAK,EAAI,EAC5D,GAAK,EAAI,EAAG,GAAI,GAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAC7D,EAAI,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAI,GAAI,GAAI,IAE3DzuD,GAAQ,EAAY,WAAY,WAAY,WAAY,YACxD0uD,GAAQ,WAAY,WAAY,WAAY,WAAY,GAExDX,EAAe,SAAU1rF,GAE3B,IAAK,GADDy4E,MACKtrH,EAAI,EAAGS,EAAI,EAAGT,EAAI6yC,EAAMzvC,OAAQpD,IAAKS,GAAK,EACjD6qH,EAAM7qH,IAAM,IAAMoyC,EAAM7yC,IAAO,GAAKS,EAAI,EAE1C,OAAO6qH,IAGLuT,EAAe,SAAUvT,GAE3B,IAAK,GADDz4E,MACKpyC,EAAI,EAAGA,EAAmB,GAAf6qH,EAAMloH,OAAa3C,GAAK,EAC1CoyC,EAAM7lC,KAAMs+G,EAAM7qH,IAAM,KAAQ,GAAKA,EAAI,GAAO,IAElD,OAAOoyC,IAGL6rF,EAAe,SAAU/xD,EAAGD,EAAGrsB,GAGjC,IAAK,GAAIrgD,GAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,GAAIm/H,GAAW9+E,EAASrgD,EACpBo/H,EAAa1yD,EAAEyyD,EAGnBzyD,GAAEyyD,GACgD,UAA3CC,GAAc,EAAOA,IAAe,IACO,YAA3CA,GAAc,GAAOA,IAAe,GAK7C,GAAIzhE,GAAIC,EAAIC,EAAIC,EAAInX,EAChB6Q,EAAIuG,EAAIjjC,EAAIkjC,EAAIxxD,CAEpBgrD,GAAKmG,EAAKgP,EAAE,GACZ5O,EAAKH,EAAK+O,EAAE,GACZ7xC,EAAK+iC,EAAK8O,EAAE,GACZ3O,EAAKF,EAAK6O,EAAE,GACZngE,EAAKm6C,EAAKgmB,EAAE,EAGZ,KAAK,GADD9uB,GACK79C,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3B69C,EAAK8f,EAAM+O,EAAErsB,EAAOy+E,EAAG9+H,IAAK,EAExB69C,GADA79C,EAAE,GACIk+H,EAAGtgE,EAAGC,EAAGC,GAAM0S,EAAG,GACjBxwE,EAAE,GACHm+H,EAAGvgE,EAAGC,EAAGC,GAAM0S,EAAG,GACjBxwE,EAAE,GACHo+H,EAAGxgE,EAAGC,EAAGC,GAAM0S,EAAG,GACjBxwE,EAAE,GACHq+H,EAAGzgE,EAAGC,EAAGC,GAAM0S,EAAG,GAElB8tD,EAAG1gE,EAAGC,EAAGC,GAAM0S,EAAG,GAE5B3yB,GAAM,EACNA,EAAKuf,EAAKvf,EAAEmhF,EAAGh/H,IACf69C,EAAKA,EAAE8I,EAAI,EACXgX,EAAKhX,EACLA,EAAKmX,EACLA,EAAKV,EAAKS,EAAI,IACdA,EAAKD,EACLA,EAAK/f,EAELA,EAAK2Z,EAAKkV,EAAErsB,EAAO0+E,EAAG/+H,IAAK,EAEvB69C,GADA79C,EAAE,GACIs+H,EAAGvgE,EAAGjjC,EAAGkjC,GAAMkhE,EAAG,GACjBl/H,EAAE,GACHq+H,EAAGtgE,EAAGjjC,EAAGkjC,GAAMkhE,EAAG,GACjBl/H,EAAE,GACHo+H,EAAGrgE,EAAGjjC,EAAGkjC,GAAMkhE,EAAG,GACjBl/H,EAAE,GACHm+H,EAAGpgE,EAAGjjC,EAAGkjC,GAAMkhE,EAAG,GAElBhB,EAAGngE,EAAGjjC,EAAGkjC,GAAMkhE,EAAG,GAE5BrhF,GAAM,EACNA,EAAKuf,EAAKvf,EAAEohF,EAAGj/H,IACf69C,EAAKA,EAAErxC,EAAI,EACXgrD,EAAKhrD,EACLA,EAAKwxD,EACLA,EAAKZ,EAAKtiC,EAAI,IACdA,EAAKijC,EACLA,EAAKlgB,CAGPA,GAAQ8uB,EAAE,GAAK9O,EAAKG,EAAI,EACxB2O,EAAE,GAAMA,EAAE,GAAK7O,EAAKtxD,EAAI,EACxBmgE,EAAE,GAAMA,EAAE,GAAKhmB,EAAK6Q,EAAI,EACxBmV,EAAE,GAAMA,EAAE,GAAKhP,EAAKI,EAAI,EACxB4O,EAAE,GAAMA,EAAE,GAAK/O,EAAK9iC,EAAI,EACxB6xC,EAAE,GAAM9uB,KxN80qCoBj+C,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YyN19qC/C,SAASipC,GAAMtX,EAAKl4D,GAClB,KAAK5C,eAAgBoyE,IAAO,MAAO,IAAIA,GAAKtX,EAAKl4D,EACjD5C,MAAK2yE,MAAQD,EACb1yE,KAAKsyE,KAAOxX,CAEZ,IAAIuX,GAAqB,WAARvX,EAAoB,IAAM,EAE3Cl4D,GAAM5C,KAAKyF,KAAQ0jC,EAAO7B,SAAS1kC,GAAyBA,EAAlB,GAAIumC,GAAOvmC,GAElDA,EAAIH,OAAS4vE,EACdzvE,EAAM0/G,EAAWxnD,GAAKjyD,OAAOjG,GAAK0H,SAC1B1H,EAAIH,OAAS4vE,IACrBzvE,EAAMumC,EAAOlpC,QAAQ2C,EAAKs5D,GAAamW,GAMzC,KAAI,GAHAG,GAAOxyE,KAAKyyE,MAAQ,GAAItpC,GAAOkpC,GAC/BK,EAAO1yE,KAAK2yE,MAAQ,GAAIxpC,GAAOkpC,GAE3BhzE,EAAI,EAAGA,EAAIgzE,EAAWhzE,IAC5BmzE,EAAKnzE,GAAc,GAATuD,EAAIvD,GACdqzE,EAAKrzE,GAAc,GAATuD,EAAIvD,EAGhBW,MAAKixD,MAAQqxD,EAAWxnD,GAAKjyD,OAAO2pE,GA9BtC,GAAI8vC,GAAa5jH,EAAQ,KAErBw9D,EAAa,GAAI/yB,GAAO,IAC5B+yB,GAAWrV,KAAK,GAEhB/nD,EAAOD,QAAUuzE,EA4BjBA,EAAK7yE,UAAUsJ,OAAS,SAAU5B,EAAMu8D,GAEtC,MADAxjE,MAAKixD,MAAMpoD,OAAO5B,EAAMu8D,GACjBxjE,MAGToyE,EAAK7yE,UAAU+K,OAAS,SAAUk5D,GAChC,GAAIhtB,GAAIx2C,KAAKixD,MAAM3mD,QACnB,OAAOg4G,GAAWtiH,KAAKsyE,MAAMzpE,OAAO7I,KAAK2yE,OAAO9pE,OAAO2tC,GAAGlsC,OAAOk5D,MzNq+qCrCvkE,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,Y0NnhrCD,IAAIggI,GAAehgI,EAAQ,IAE3BI,GAAOD,QAAU,SAAU03E,EAAQ13E,GACjCA,EAAUA,KAEV,IAAI8/H,GAAWD,EAAanoD,EAK5B,OAHA13E,GAAQm9H,OAAS2C,EAAS3C,OAC1Bn9H,EAAQo9H,WAAa0C,EAAS1C,WAEvBp9H,I1N0hrCH,SAAUC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y2NtirC/CrqC,GAAOD,QAAU,SAAS03E,GACxB,QAASylD,GAAO5zC,EAAUoH,EAAMovC,EAAYC,EAAQv0H,EAAQnF,GAM1D,GALI,kBAAsBmF,KACxBnF,EAAWmF,EACXA,EAASpG,QAGP,kBAAsBiB,GACxB,KAAM,IAAI2B,OAAM,iCAElB0S,YAAW,WACT,GAAIzQ,EAEJ,KACEA,EAASkzH,EAAW7zC,EAAUoH,EAAMovC,EAAYC,EAAQv0H,GACxD,MAAOjD,GACP,MAAOlC,GAASkC,GAGlBlC,EAASjB,OAAW6E,KAIxB,QAASkzH,GAAW7zC,EAAUoH,EAAMovC,EAAYC,EAAQv0H,GACtD,GAAI,gBAAoBs0H,GACtB,KAAM,IAAIz9H,WAAU,0BAEtB,IAAIy9H,EAAa,EACf,KAAM,IAAIz9H,WAAU,iBAEtB,IAAI,gBAAoB09H,GACtB,KAAM,IAAI19H,WAAU,0BAEtB,IAAI09H,EAAS,EACX,KAAM,IAAI19H,WAAU,iBAEtBmJ,GAASA,GAAU,OAEd6+B,EAAO7B,SAAS8gD,KAAWA,EAAW,GAAIj/C,GAAOi/C,IACjDj/C,EAAO7B,SAASkoD,KAAOA,EAAO,GAAIrmD,GAAOqmD,GAE9C,IAAIsvC,GAAaloH,EAAG4H,EAAVzB,EAAI,EACVgiH,EAAK,GAAI51F,GAAO01F,GAChBG,EAAS,GAAI71F,GAAOqmD,EAAK/sF,OAAS,EACtC+sF,GAAK/vC,KAAKu/E,EAAQ,EAAG,EAAGxvC,EAAK/sF,OAE7B,KAAK,GAAIpD,GAAI,EAAGA,GAAK0d,EAAG1d,IAAK,CAC3B2/H,EAAO9wE,cAAc7uD,EAAGmwF,EAAK/sF,OAE7B,IAAIk2H,GAAIpiD,EAAOulD,WAAWxxH,EAAQ89E,GAAUv/E,OAAOm2H,GAAQ10H,QAE3D,KAAKw0H,IACHA,EAAOnG,EAAEl2H,OACT+b,EAAI,GAAI2qB,GAAO21F,GACf/hH,EAAI5V,KAAK4vC,KAAK8nF,EAASC,GACvBloH,EAAIioH,GAAU9hH,EAAI,GAAK+hH,EAEnBD,GAAU13H,KAAK0wC,IAAI,EAAG,IAAM,GAAKinF,GACnC,KAAM,IAAI39H,WAAU,gCAGxBw3H,GAAEl5E,KAAKjhC,EAAG,EAAG,EAAGsgH,EAEhB,KAAK,GAAIztH,GAAI,EAAGA,EAAIutH,EAAYvtH,IAAK,CACnCsnH,EAAIpiD,EAAOulD,WAAWxxH,EAAQ89E,GAAUv/E,OAAO8vH,GAAGruH,QAElD,KAAK,GAAIy7B,GAAI,EAAGA,EAAI+4F,EAAM/4F,IACxBvnB,EAAEunB,IAAM4yF,EAAE5yF,GAId,GAAIk5F,IAAW5/H,EAAI,GAAKy/H,EACpB/yH,EAAO1M,GAAK0d,EAAInG,EAAIkoH,CACxBtgH,GAAEihC,KAAKs/E,EAAIE,EAAS,EAAGlzH,GAGzB,MAAOgzH,GAGT,OACE/C,OAAQA,EACRC,WAAYA,M3NwirCch9H,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,Y4N/nrCDI,GAAOD,QAAU,SAAU03E,EAAQ13E,GASjC,QAAS6oF,KACP,MAAOpoF,QAAOid,KAAK0qE,GATrBpoF,EAAUA,KACV,IAAIqoF,GAAUxoF,EAAQ,KAAe63E,EACrC13E,GAAQuoF,aAAeF,EAAQE,aAC/BvoF,EAAQk2E,eAAiBmS,EAAQnS,cACjC,IAAIoS,GAAYzoF,EAAQ,KAAe63E,EACvC13E,GAAQ0oF,eAAiBJ,EAAUI,eACnC1oF,EAAQg2E,iBAAmBsS,EAAUtS,gBACrC,IAAIoS,GAAQvoF,EAAQ,IAIpBG,GAAQ6oF,YAAcA,I5NsorClB,SAAU5oF,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y6N7orC/C,SAASk+C,GAAO7+E,EAAM5F,EAAKwxE,GACzB,MAAMp0E,gBAAgBqnF,IAGtB5pB,EAAUx+D,KAAKe,MACfA,KAAK2nF,OAAS,GAAIC,GAClB5nF,KAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,GAC3B5C,KAAKgoF,MAAQ,GAAI7+C,GAAOirC,EAAG3xE,QAC3B2xE,EAAG30B,KAAKz/C,KAAKgoF,YACbhoF,KAAKioF,MAAQz/E,IAPJ,GAAI6+E,GAAO7+E,EAAM5F,EAAKwxE,GA2BjC,QAASwT,KACN,MAAM5nF,gBAAgB4nF,QAGvB5nF,KAAKg7B,MAAQ,GAAImO,GAAO,KAFf,GAAIy+C,GAtCf,GAAIE,GAAMppF,EAAQ,KACd++D,EAAY/+D,EAAQ,KACpB2f,EAAW3f,EAAQ,KACnBuoF,EAAQvoF,EAAQ,KAChB8pF,EAAO9pF,EAAQ,KACf4pF,EAAe5pF,EAAQ,IAC3B2f,GAASgpE,EAAQ5pB,GAYjB4pB,EAAO9nF,UAAUq+D,WAAa,SAAU32D,EAAMuM,EAAGkM,GAC/C1f,KAAK2nF,OAAOluB,IAAIxyD,EAGhB,KAFA,GAAI42D,GACA4qB,EACI5qB,EAAQ79D,KAAK2nF,OAAOvrE,OAC1BqsE,EAAQzoF,KAAKioF,MAAM5U,QAAQrzE,KAAM69D,GACjC79D,KAAKqM,KAAKo8E,EAEZ/oE,MAEF2nE,EAAO9nF,UAAUu+D,OAAS,SAAUp+C,GAClC,GAAIm+C,GAAQ79D,KAAK2nF,OAAOzc,OACxBlrE,MAAKqM,KAAKrM,KAAKioF,MAAM5U,QAAQrzE,KAAM69D,IACnC79D,KAAK6nF,QAAQc,QACbjpE,KAUFkoE,EAASroF,UAAUk6D,IAAM,SAAUxyD,GACjCjH,KAAKg7B,MAAQmO,EAAOlpC,QAAQD,KAAKg7B,MAAO/zB,KAG1C2gF,EAASroF,UAAU6c,IAAM,WACvB,GAAIpc,KAAKg7B,MAAMv4B,OAAS,GAAI,CAC1B,GAAIynD,GAAMlqD,KAAKg7B,MAAMr7B,MAAM,EAAG,GAE9B,OADAK,MAAKg7B,MAAQh7B,KAAKg7B,MAAMr7B,MAAM,IACvBuqD,EAET,MAAO,OAET09B,EAASroF,UAAU2rE,MAAQ,WAKzB,IAJA,GAAIn/D,GAAM,GAAK/L,KAAKg7B,MAAMv4B,OACtBomF,EAAU,GAAI1/C,GAAOp9B,GAErB1M,GAAI,IACCA,EAAI0M,GACX88E,EAAQ/6B,WAAW/hD,EAAK1M,EAE1B,IAAI6qD,GAAM/gB,EAAOlpC,QAAQD,KAAKg7B,MAAO6tD,GACrC,OAAO3+B,GAET,IAAIg1E,IACFn2C,IAAKrqF,EAAQ,KACbsqF,IAAKtqF,EAAQ,KACbuqF,IAAKvqF,EAAQ,KACb0qF,IAAK1qF,EAAQ,KACb2qF,IAAK3qF,EAAQ,KAEfI,GAAOD,QAAU,SAAU03E,GACzB,QAASxB,GAAeoT,EAAOC,EAAUhU,GACvC,GAAI7zE,GAAS0mF,EAAMkB,EACnB,KAAK5nF,EACH,KAAM,IAAIY,WAAU,qBAQtB,IANkB,gBAAPizE,KACTA,EAAK,GAAIjrC,GAAOirC,IAEM,gBAAbgU,KACTA,EAAW,GAAIj/C,GAAOi/C,IAEpBA,EAAS3lF,SAAWlC,EAAOqC,IAAI,EACjC,KAAM,IAAIzB,WAAU,sBAAwBinF,EAAS3lF,OAEvD,IAAI2xE,EAAG3xE,SAAWlC,EAAO6zE,GACvB,KAAM,IAAIjzE,WAAU,qBAAuBizE,EAAG3xE,OAEhD,OAAoB,WAAhBlC,EAAOqL,KACF,GAAI08E,GAAa42C,EAAS3+H,EAAOiI,MAAO4/E,EAAUhU,GAEpD,GAAIiT,GAAO63C,EAAS3+H,EAAOiI,MAAO4/E,EAAUhU,GAErD,QAASgT,GAAce,EAAOC,GAC5B,GAAI7nF,GAAS0mF,EAAMkB,EACnB,KAAK5nF,EACH,KAAM,IAAIY,WAAU,qBAEtB,IAAIob,GAAOisE,EAAKjS,EAAQ6R,EAAU7nF,EAAOqC,IAAKrC,EAAO6zE,GACrD,OAAOW,GAAeoT,EAAO5rE,EAAK3Z,IAAK2Z,EAAK63D,IAE9C,OACEgT,aAAcA,EACdrS,eAAgBA,M7NwprCU91E,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y8NtwrC/C,SAASg2F,GAAanoH,GAClB,GAAI9J,GAAKkyH,CAET,OADAlyH,GAAM8J,EAAIqoH,GAAYroH,EAAI,GAAKooH,EAAQj4H,KAAKsuC,IAAIz+B,GAAKqoH,EAAUroH,EAAI,EAAIqoH,EAAWD,EAAQA,GAASpoH,EAGvG,QAASsoH,GAAU5wH,GACjB,GAAIrP,GAAGo/C,EAAI/R,CACX,KAAKrtC,EAAIo/C,EAAK,EAAG/R,EAAOh+B,EAAEjM,OAAQ,GAAKiqC,EAAO+R,EAAK/R,EAAO+R,EAAK/R,EAAMrtC,EAAI,GAAKqtC,IAAS+R,IAAOA,EAC5F/vC,EAAErP,GAAK,CAET,QAAO,EAGT,QAASkgI,KACP,GAAIlgI,EACJW,MAAK+sF,QACL/sF,KAAK8tF,YACL9tF,KAAK8sF,QAAW,WACd,GAAIruC,GAAI+gF,CAER,KADAA,KACKngI,EAAIo/C,EAAK,EAAGA,EAAK,EAAGp/C,IAAMo/C,EAC7B+gF,EAASnzH,QAEX,OAAOmzH,MAETx/H,KAAK+tF,YAAe,WAClB,GAAItvC,GAAI+gF,CAER,KADAA,KACKngI,EAAIo/C,EAAK,EAAGA,EAAK,EAAGp/C,IAAMo/C,EAC7B+gF,EAASnzH,QAEX,OAAOmzH,MAETx/H,KAAKoqB,OACLpqB,KAAK4tF,MAAQ,EAAM,EAAM,EAAM,EAAM,EAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IA8D1E,QAAS6xC,GAAcr1H,GAItB,IAHA,GAAI2B,GAAM3B,EAAI3H,OAAO,EACjBynD,EAAM,GAAI1kD,OAAMuG,GAChB1M,GAAI,IACCA,EAAI0M,GACXm+C,EAAI7qD,GAAK+K,EAAI2iD,aAAiB,EAAJ1tD,EAE5B,OAAO6qD,GAET,QAAS69B,GAAInlF,GACX5C,KAAKyF,KAAOg6H,EAAc78H,GAC1B5C,KAAK0/H,WA5GP,GAAIL,GAAWl4H,KAAK0wC,IAAI,EAAG,GAsC3B0nF,GAAOhgI,UAAU6qB,KAAO,WACtB,GAAI9iB,GAAGjI,EAAG4uF,EAAI/wC,EAAGlmC,EAAGk3E,EAAIC,EAAIC,EAAIJ,EAAIvvC,CAepC,KAdAn3C,EAAK,WACH,GAAIm3C,GAAI+gF,CAER,KADAA,KACKngI,EAAIo/C,EAAK,EAAGA,EAAK,IAAKp/C,IAAMo/C,EAC3Bp/C,EAAI,IACNmgI,EAASnzH,KAAKhN,GAAK,GAEnBmgI,EAASnzH,KAAMhN,GAAK,EAAK,IAG7B,OAAOmgI,MAETxoH,EAAI,EACJg3E,EAAK,EACA3uF,EAAIo/C,EAAK,EAAGA,EAAK,IAAKp/C,IAAMo/C,EAC/BwvC,EAAKD,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EAAMA,GAAM,EACrDC,EAAMA,IAAO,EAAW,IAALA,EAAa,GAChCjuF,KAAK+sF,KAAK/1E,GAAKi3E,EACfjuF,KAAK8tF,SAASG,GAAMj3E,EACpBk3E,EAAK5mF,EAAE0P,GACPm3E,EAAK7mF,EAAE4mF,GACPE,EAAK9mF,EAAE6mF,GACPjxC,EAAa,IAAR51C,EAAE2mF,GAAqB,SAALA,EACvBjuF,KAAK8sF,QAAQ,GAAG91E,GAAMkmC,GAAK,GAAOA,IAAM,EACxCl9C,KAAK8sF,QAAQ,GAAG91E,GAAMkmC,GAAK,GAAOA,IAAM,GACxCl9C,KAAK8sF,QAAQ,GAAG91E,GAAMkmC,GAAK,EAAMA,IAAM,GACvCl9C,KAAK8sF,QAAQ,GAAG91E,GAAKkmC,EACrBA,EAAU,SAALkxC,EAAwB,MAALD,EAAsB,IAALD,EAAmB,SAAJl3E,EACxDhX,KAAK+tF,YAAY,GAAGE,GAAO/wC,GAAK,GAAOA,IAAM,EAC7Cl9C,KAAK+tF,YAAY,GAAGE,GAAO/wC,GAAK,GAAOA,IAAM,GAC7Cl9C,KAAK+tF,YAAY,GAAGE,GAAO/wC,GAAK,EAAMA,IAAM,GAC5Cl9C,KAAK+tF,YAAY,GAAGE,GAAM/wC,EAChB,IAANlmC,EACFA,EAAIg3E,EAAK,GAETh3E,EAAIk3E,EAAK5mF,EAAEA,EAAEA,EAAE8mF,EAAKF,KACpBF,GAAM1mF,EAAEA,EAAE0mF,IAGd,QAAO,EAGT,IAAIH,GAAI,GAAI0xC,EAGZx3C,GAAIvqB,UAAY,GAEhBuqB,EAAIxoF,UAAUi+D,UAAYuqB,EAAIvqB,UAE9BuqB,EAAIsG,QAAU,GAEdtG,EAAIxoF,UAAU8uF,QAAUtG,EAAIsG,QAE5BtG,EAAI43C,OAAS53C,EAAIvqB,UAEjBuqB,EAAIxoF,UAAUogI,OAAS53C,EAAI43C,OAgB3B53C,EAAIxoF,UAAUmgI,SAAW,WACvB,GAAIE,GAAUvxC,EAASC,EAAUX,EAAOY,EAAQrxC,EAAGuB,EAAIohF,CAMvD,KALAvxC,EAAWtuF,KAAKyF,KAChB4oF,EAAUC,EAAS7rF,OACnBzC,KAAK4uF,SAAWP,EAAU,EAC1BE,EAA+B,GAArBvuF,KAAK4uF,SAAW,GAC1B5uF,KAAK6uF,gBACAlB,EAAQlvC,EAAK,EAAG,GAAK8vC,EAAS9vC,EAAK8vC,EAAS9vC,EAAK8vC,EAAQZ,EAAQ,GAAKY,IAAW9vC,IAAOA,EAC3Fz+C,KAAK6uF,aAAalB,GAASA,EAAQU,EAAUC,EAASX,IAAUzwC,EAAIl9C,KAAK6uF,aAAalB,EAAQ,GAAKA,EAAQU,IAAa,GAAKnxC,EAAKA,GAAK,EAAMA,IAAM,GAAKA,EAAK2wC,EAAEd,KAAK7vC,IAAM,KAAO,GAAO2wC,EAAEd,KAAM7vC,IAAM,GAAM,MAAS,GAAO2wC,EAAEd,KAAM7vC,IAAM,EAAK,MAAS,EAAK2wC,EAAEd,KAAS,IAAJ7vC,GAAWA,GAAK2wC,EAAED,KAAMD,EAAQU,EAAW,IAAM,IAAMA,EAAU,GAAKV,EAAQU,IAAY,EAAInxC,EAAK2wC,EAAEd,KAAK7vC,IAAM,KAAO,GAAO2wC,EAAEd,KAAM7vC,IAAM,GAAM,MAAS,GAAO2wC,EAAEd,KAAM7vC,IAAM,EAAK,MAAS,EAAK2wC,EAAEd,KAAS,IAAJ7vC,GAAY,OAAQl9C,KAAK6uF,aAAalB,EAAQU,GAAWnxC,EAGzgB,KADAl9C,KAAK8uF,mBACA8wC,EAAWC,EAAK,EAAG,GAAKtxC,EAASsxC,EAAKtxC,EAASsxC,EAAKtxC,EAAQqxC,EAAW,GAAKrxC,IAAWsxC,IAAOA,EACjGlyC,EAAQY,EAASqxC,EACjB1iF,EAAIl9C,KAAK6uF,aAAalB,GAASiyC,EAAW,EAAI,EAAI,IAClD5/H,KAAK8uF,gBAAgB8wC,GAAYA,EAAW,GAAKjyC,GAAS,EAAIzwC,EAAI2wC,EAAEE,YAAY,GAAGF,EAAEd,KAAK7vC,IAAM,KAAO2wC,EAAEE,YAAY,GAAGF,EAAEd,KAAM7vC,IAAM,GAAM,MAAS2wC,EAAEE,YAAY,GAAGF,EAAEd,KAAM7vC,IAAM,EAAK,MAAS2wC,EAAEE,YAAY,GAAGF,EAAEd,KAAS,IAAJ7vC,GAE5N,QAAO,GAGT6qC,EAAIxoF,UAAUgqF,aAAe,SAASxd,GACpCA,EAAI0zD,EAAc,GAAIt2F,GAAO4iC,GAC7B,IAAI7hB,GAAMlqD,KAAK8/H,cAAc/zD,EAAG/rE,KAAK6uF,aAAchB,EAAEf,QAASe,EAAEd,MAC5D3iF,EAAM,GAAI++B,GAAO,GAKrB,OAJA/+B,GAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,IACnB9/C,GAGT29E,EAAIxoF,UAAUiqF,aAAe,SAASzd,GACpCA,EAAI0zD,EAAc,GAAIt2F,GAAO4iC,GAC7B,IAAIg0D,IAAQh0D,EAAE,GAAIA,EAAE,GACpBA,GAAE,GAAKg0D,EAAK,GACZh0D,EAAE,GAAKg0D,EAAK,EACZ,IAAI71E,GAAMlqD,KAAK8/H,cAAc/zD,EAAG/rE,KAAK8uF,gBAAiBjB,EAAEE,YAAaF,EAAEC,UACnE1jF,EAAM,GAAI++B,GAAO,GAKrB,OAJA/+B,GAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,GAC1B9/C,EAAI8jD,cAAchE,EAAI,GAAI,IACnB9/C,GAGT29E,EAAIxoF,UAAUopF,MAAQ,WACpB22C,EAAUt/H,KAAK6uF,cACfywC,EAAUt/H,KAAK8uF,iBACfwwC,EAAUt/H,KAAKyF,OAGjBsiF,EAAIxoF,UAAUugI,cAAgB,SAAS/zD,EAAG8gB,EAAaC,EAASC,GAC9D,GAAIY,GAAOh3C,EAAO42C,EAAIC,EAAIC,EAAIC,EAAIT,EAAI7M,EAAIC,EAAI6M,EAAIzuC,EAAI/R,CAOtD,KALA6gD,EAAKxhB,EAAE,GAAK8gB,EAAY,GACxBW,EAAKzhB,EAAE,GAAK8gB,EAAY,GACxBY,EAAK1hB,EAAE,GAAK8gB,EAAY,GACxBa,EAAK3hB,EAAE,GAAK8gB,EAAY,GACxBc,EAAQ,EACHh3C,EAAQ8H,EAAK,EAAG/R,EAAO1sC,KAAK4uF,SAAU,GAAKliD,EAAO+R,EAAK/R,EAAO+R,EAAK/R,EAAMiK,EAAQ,GAAKjK,IAAS+R,IAAOA,EACzGwuC,EAAKH,EAAQ,GAAGS,IAAO,IAAMT,EAAQ,GAAIU,IAAO,GAAM,KAAQV,EAAQ,GAAIW,IAAO,EAAK,KAAQX,EAAQ,GAAQ,IAALY,GAAab,EAAYc,KAClIvN,EAAK0M,EAAQ,GAAGU,IAAO,IAAMV,EAAQ,GAAIW,IAAO,GAAM,KAAQX,EAAQ,GAAIY,IAAO,EAAK,KAAQZ,EAAQ,GAAQ,IAALS,GAAaV,EAAYc,KAClItN,EAAKyM,EAAQ,GAAGW,IAAO,IAAMX,EAAQ,GAAIY,IAAO,GAAM,KAAQZ,EAAQ,GAAIS,IAAO,EAAK,KAAQT,EAAQ,GAAQ,IAALU,GAAaX,EAAYc,KAClIT,EAAKJ,EAAQ,GAAGY,IAAO,IAAMZ,EAAQ,GAAIS,IAAO,GAAM,KAAQT,EAAQ,GAAIU,IAAO,EAAK,KAAQV,EAAQ,GAAQ,IAALW,GAAaZ,EAAYc,KAClIJ,EAAKN,EACLO,EAAKpN,EACLqN,EAAKpN,EACLqN,EAAKR,CAMP,OAJAD,IAAOF,EAAKQ,IAAO,KAAO,GAAOR,EAAMS,IAAO,GAAM,MAAS,GAAOT,EAAMU,IAAO,EAAK,MAAS,EAAKV,EAAU,IAALW,IAAcb,EAAYc,KACnIvN,GAAO2M,EAAKS,IAAO,KAAO,GAAOT,EAAMU,IAAO,GAAM,MAAS,GAAOV,EAAMW,IAAO,EAAK,MAAS,EAAKX,EAAU,IAALQ,IAAcV,EAAYc,KACnItN,GAAO0M,EAAKU,IAAO,KAAO,GAAOV,EAAMW,IAAO,GAAM,MAAS,GAAOX,EAAMQ,IAAO,EAAK,MAAS,EAAKR,EAAU,IAALS,IAAcX,EAAYc,KACnIT,GAAOH,EAAKW,IAAO,KAAO,GAAOX,EAAMQ,IAAO,GAAM,MAAS,GAAOR,EAAMS,IAAO,EAAK,MAAS,EAAKT,EAAU,IAALU,IAAcZ,EAAYc,MAEjIwxC,EAAalyC,GACbkyC,EAAa/+C,GACb++C,EAAa9+C,GACb8+C,EAAajyC,KAQfruF,EAAQkpF,IAAMA,I9NgwrCc9oF,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y+Np8rC/C,SAASkoC,KACP5T,EAAUx+D,KAAKe,MANjB,GAAIy9D,GAAY/+D,EAAQ,KAAU++D,UAC9Bp/C,EAAW3f,EAAQ,IAEvBI,GAAOD,QAAUwyE,EACjBhzD,EAASgzD,EAAY5T,GAIrB4T,EAAW9xE,UAAUsJ,OAAS,SAAU5B,EAAM+4H,EAAUpuD,GACtD5xE,KAAKmiB,MAAMlb,EAAM+4H,EAGjB,KAFA,GACIniE,GADAgU,EAAU,GAAI1oC,GAAO,IAEjB00B,EAAQ79D,KAAKooD,QACnBypB,EAAU1oC,EAAOlpC,QAAQ4xE,EAAShU,GAKpC,OAHI+T,KACFC,EAAUA,EAAQpnE,SAASmnE,IAEtBC,GAETR,EAAW9xE,UAAUgoE,MAAQ,SAAUqK,GACrC5xE,KAAKolD,KAGL,KAFA,GACIyY,GADAgU,EAAU,GAAI1oC,GAAO,IAEjB00B,EAAQ79D,KAAKooD,QACnBypB,EAAU1oC,EAAOlpC,QAAQ4xE,EAAShU,GAKpC,OAHI+T,KACFC,EAAUA,EAAQpnE,SAASmnE,IAEtBC,K/N68rCqB5yE,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,GAEvB,YgOj/rCDA,GAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,EACJ5rE,KAAM,MACNoD,KAAM,SAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,EACJ5rE,KAAM,MACNoD,KAAM,SAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,EACJ5rE,KAAM,MACNoD,KAAM,SAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,SAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,SAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,SAER/M,EAAA,OAAoBA,EAAQ,eAC5BA,EAAA,OAAoBA,EAAQ,eAC5BA,EAAA,OAAoBA,EAAQ,eAC5BA,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,UAER/M,EAAQ,gBACNi2E,OAAQ,MACRlyE,IAAK,IACLwxE,GAAI,GACJ5rE,KAAM,MACNoD,KAAM,WhOw/rCF,SAAU9M,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YiOnmsC/CrqC,GAAOD,QAAU,SAAU03E,EAAQ6R,EAAUuH,EAAQD,GACnDC,GAAgB,EAChBD,EAAQA,GAAS,CAQjB,KAPA,GAKIuwC,GAAIC,EACJ7gI,EANA8gI,EAAK,EACLtX,EAAK,EACLjmH,EAAM,GAAIumC,GAAOwmD,GACjBvb,EAAK,GAAIjrC,GAAOumD,GAChB0wC,EAAQ,IAGC,CAQX,GAPAH,EAAK1pD,EAAO+rC,WAAW,OACpB8d,IAAU,GACVH,EAAGp3H,OAAOq3H,GAEbD,EAAGp3H,OAAOu/E,GACV83C,EAASD,EAAG31H,SACZjL,EAAI,EACDswF,EAAS,EACV,OAAY,CACV,GAAc,IAAXA,EACD,KAEF,IAAGtwF,IAAM6gI,EAAOz9H,OACd,KAEFG,GAAIu9H,KAAQD,EAAO7gI,GACnBswF,IACAtwF,IAGJ,GAAGqwF,EAAQ,GAAKrwF,IAAM6gI,EAAOz9H,OAC3B,OAAY,CACV,GAAa,IAAVitF,EACD,KAEF,IAAGrwF,IAAM6gI,EAAOz9H,OACd,KAEH2xE,GAAGy0C,KAAQqX,EAAO7gI,GAClBqwF,IACArwF,IAGJ,GAAc,IAAXswF,GAA0B,IAAVD,EAChB,MAGJ,IAAIrwF,EAAE,EAAEA,EAAE6gI,EAAOz9H,OAAOpD,IACtB6gI,EAAO7gI,GAAK,CAEd,QACEuD,IAAKA,EACLwxE,GAAIA,MjOwmsCsBn1E,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YkO9psC/C,SAASm/C,GAAa9/E,EAAM5F,EAAKwxE,EAAIV,GACnC,MAAM1zE,gBAAgBsoF,IAGtB7qB,EAAUx+D,KAAKe,MACfA,KAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,GAC3B5C,KAAKgoF,MAAQ,GAAI7+C,GAAOirC,EAAG3xE,QAC3BzC,KAAK2nF,OAAS,GAAIx+C,GAAO,IACzBnpC,KAAKosF,UAAY,GAAIjjD,GAAO,IAC5BnpC,KAAKqsF,SAAW3Y,EAChBU,EAAG30B,KAAKz/C,KAAKgoF,YACbhoF,KAAKioF,MAAQz/E,IATJ,GAAI8/E,GAAa9/E,EAAM5F,EAAKwxE,GARvC,GAAI0T,GAAMppF,EAAQ,KACd++D,EAAY/+D,EAAQ,KACpB2f,EAAW3f,EAAQ,IAEvB2f,GAASiqE,EAAc7qB,GACvB3+D,EAAOD,QAAUypF,EAcjBA,EAAa/oF,UAAUq+D,WAAa,SAAUC,EAAOrqD,EAAGkM,GACtDA,EAAK,KAAM1f,KAAKioF,MAAM5U,QAAQrzE,KAAM69D,EAAO79D,KAAKqsF,YAElD/D,EAAa/oF,UAAUu+D,OAAS,SAAUp+C,GACxC1f,KAAK6nF,QAAQc,QACbjpE,OlOwqsC4BzgB,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,GAEvB,YmOtssCDA,GAAQw0E,QAAU,SAAUhyE,EAAMwyD,GAChC,MAAOxyD,GAAKwmF,QAAQ0B,aAAa11B,IAEnCh1D,EAAQ60E,QAAU,SAAUryE,EAAMwyD,GAChC,MAAOxyD,GAAKwmF,QAAQ2B,aAAa31B,KnO6ssC7B,SAAU/0D,EAAQD,EAASH,GAEhC,YoOntsCD,IAAIw9E,GAAMx9E,EAAQ,IAClBG,GAAQw0E,QAAU,SAAUhyE,EAAMwyD,GAChC,GAAI5sD,GAAOi1E,EAAIroB,EAAOxyD,EAAK2mF,MAE3B,OADA3mF,GAAK2mF,MAAQ3mF,EAAKwmF,QAAQ0B,aAAatiF,GAChC5F,EAAK2mF,OAEdnpF,EAAQ60E,QAAU,SAAUryE,EAAMwyD,GAChC,GAAIoD,GAAM51D,EAAK2mF,KACf3mF,GAAK2mF,MAAQn0B,CACb,IAAI3J,GAAM7oD,EAAKwmF,QAAQ2B,aAAa31B,EACpC,OAAOqoB,GAAIhyB,EAAK+M,KpO0tsCZ,SAAUn4D,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YqOrusC/C,SAAS+yC,GAAIr8E,EAAGC,GAId,IAHA,GAAIiM,GAAM5E,KAAKk6B,IAAIxhC,EAAE4C,OAAQ3C,EAAE2C,QAC3BynD,EAAM,GAAI/gB,GAAOp9B,GACjB1M,GAAI,IACCA,EAAI0M,GACXm+C,EAAI4D,WAAWjuD,EAAER,GAAKS,EAAET,GAAIA,EAE9B,OAAO6qD,GARTprD,EAAOD,QAAUq9E,IrOkvsCaj9E,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YsOpusC/C,SAASsgD,GAAapoF,EAAM4F,EAAMysE,GAChC,GAAI3nE,GAAM9E,EAAKxE,OACXynD,EAAMgyB,EAAIj1E,EAAM5F,EAAKsmF,OAGzB,OAFAtmF,GAAKsmF,OAAStmF,EAAKsmF,OAAOhoF,MAAMoM,GAChC1K,EAAK2mF,MAAQ7+C,EAAOlpC,QAAQoB,EAAK2mF,MAAOtU,EAAQzsE,EAAKijD,IAC9CA,EAzBT,GAAIgyB,GAAMx9E,EAAQ,IAClBG,GAAQw0E,QAAU,SAAUhyE,EAAM4F,EAAMysE,GAGtC,IAFA,GACI3nE,GADAm+C,EAAM,GAAI/gB,GAAO,IAEdliC,EAAKxE,QAAQ,CAKlB,GAJ2B,IAAvBpB,EAAKsmF,OAAOllF,SACdpB,EAAKsmF,OAAStmF,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,OAC7C3mF,EAAK2mF,MAAQ,GAAI7+C,GAAO,OAEtB9nC,EAAKsmF,OAAOllF,QAAUwE,EAAKxE,QAIxB,CACLynD,EAAM/gB,EAAOlpC,QAAQiqD,EAAKu/B,EAAapoF,EAAM4F,EAAMysE,IACnD,OALA3nE,EAAM1K,EAAKsmF,OAAOllF,OAClBynD,EAAM/gB,EAAOlpC,QAAQiqD,EAAKu/B,EAAapoF,EAAM4F,EAAKtH,MAAM,EAAGoM,GAAM2nE,KACjEzsE,EAAOA,EAAKtH,MAAMoM,GAMtB,MAAOm+C,MtOmwsCqBjrD,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YuO1xsC/C,SAAS3/B,GAASnI,GAEhB,MADAA,GAAK2mF,MAAQ3mF,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,OACrC3mF,EAAK2mF,MAHd,GAAI9L,GAAMx9E,EAAQ,IAKlBG,GAAQw0E,QAAU,SAAUhyE,EAAMw8D,GAChC,KAAOx8D,EAAKsmF,OAAOllF,OAASo7D,EAAMp7D,QAChCpB,EAAKsmF,OAASx+C,EAAOlpC,QAAQoB,EAAKsmF,OAAQn+E,EAASnI,IAErD,IAAI41D,GAAM51D,EAAKsmF,OAAOhoF,MAAM,EAAGk+D,EAAMp7D,OAErC,OADApB,GAAKsmF,OAAStmF,EAAKsmF,OAAOhoF,MAAMk+D,EAAMp7D,QAC/By5E,EAAIre,EAAO5G,MvO+xsCUh4D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YwO/ysC/C,SAAS3/B,GAASnI,GAChB,GAAI6oD,GAAM7oD,EAAKwmF,QAAQ0B,aAAaloF,EAAK2mF,MAEzC,OADA8B,GAAOzoF,EAAK2mF,OACL99B,EAUT,QAAS4/B,GAAO1V,GAGd,IAFA,GACI9iE,GADAvF,EAAMqoE,EAAG3xE,OAENsJ,KAAO,CAEZ,GADAuF,EAAO8iE,EAAGxnB,UAAU7gD,GACP,MAATuF,EAEG,CACLA,IACA8iE,EAAGtmB,WAAWx8C,EAAMvF,EACpB,OAJAqoE,EAAGtmB,WAAW,EAAG/hD,IApBvB,GAAImwE,GAAMx9E,EAAQ,IAMlBG,GAAQw0E,QAAU,SAAUhyE,EAAMw8D,GAChC,KAAOx8D,EAAKsmF,OAAOllF,OAASo7D,EAAMp7D,QAChCpB,EAAKsmF,OAASx+C,EAAOlpC,QAAQoB,EAAKsmF,OAAQn+E,EAASnI,IAErD,IAAI41D,GAAM51D,EAAKsmF,OAAOhoF,MAAM,EAAGk+D,EAAMp7D,OAErC,OADApB,GAAKsmF,OAAStmF,EAAKsmF,OAAOhoF,MAAMk+D,EAAMp7D,QAC/By5E,EAAIre,EAAO5G,MxOk0sCUh4D,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YyO50sC/C,SAASq+C,GAASh/E,EAAM5F,EAAKwxE,GAC3B,MAAMp0E,gBAAgBwnF,IAGtB/pB,EAAUx+D,KAAKe,MACfA,KAAK2nF,OAAS,GAAIC,GAClB5nF,KAAKswF,MAAQ,OACbtwF,KAAK6nF,QAAU,GAAIC,GAAIC,IAAInlF,GAC3B5C,KAAKgoF,MAAQ,GAAI7+C,GAAOirC,EAAG3xE,QAC3B2xE,EAAG30B,KAAKz/C,KAAKgoF,YACbhoF,KAAKioF,MAAQz/E,IARJ,GAAIg/E,GAASh/E,EAAM5F,EAAKwxE,GA+BnC,QAASwT,KACN,MAAM5nF,gBAAgB4nF,QAGvB5nF,KAAKg7B,MAAQ,GAAImO,GAAO,KAFf,GAAIy+C,GAqBf,QAAS2I,GAAMlnF,GACb,GAAImnF,GAASnnF,EAAK,GAClB,IAAe,KAAXmnF,EAGJ,MAAOnnF,GAAK1J,MAAM,EAAG,GAAK6wF,GArE5B,GAAI1I,GAAMppF,EAAQ,KACd++D,EAAY/+D,EAAQ,KACpB2f,EAAW3f,EAAQ,KACnBuoF,EAAQvoF,EAAQ,KAChB4pF,EAAe5pF,EAAQ,KACvB8pF,EAAO9pF,EAAQ,IAEnB2f,GAASmpE,EAAU/pB,GAanB+pB,EAASjoF,UAAUq+D,WAAa,SAAU32D,EAAMuM,EAAGkM,GACjD1f,KAAK2nF,OAAOluB,IAAIxyD,EAGhB,KAFA,GAAI42D,GACA4qB,EACI5qB,EAAQ79D,KAAK2nF,OAAOvrE,OAC1BqsE,EAAQzoF,KAAKioF,MAAMvU,QAAQ1zE,KAAM69D,GACjC79D,KAAKqM,KAAKo8E,EAEZ/oE,MAEF8nE,EAASjoF,UAAUu+D,OAAS,SAAUp+C,GACpC,GAAIm+C,GAAQ79D,KAAK2nF,OAAOzc,OACxB,OAAKrN,IAIL79D,KAAKqM,KAAKkkF,EAAMvwF,KAAKioF,MAAMvU,QAAQ1zE,KAAM69D,SAEzCn+C,MALSA,GAcXkoE,EAASroF,UAAUk6D,IAAM,SAAUxyD,GACjCjH,KAAKg7B,MAAQmO,EAAOlpC,QAAQD,KAAKg7B,MAAO/zB,KAG1C2gF,EAASroF,UAAU6c,IAAM,WACvB,GAAIpc,KAAKg7B,MAAMv4B,OAAS,GAAI,CAC1B,GAAIynD,GAAMlqD,KAAKg7B,MAAMr7B,MAAM,EAAG,GAE9B,OADAK,MAAKg7B,MAAQh7B,KAAKg7B,MAAMr7B,MAAM,IACvBuqD,EAET,MAAO,OAET09B,EAASroF,UAAU2rE,MAAQ,WACzB,GAAIlrE,KAAKg7B,MAAMv4B,OACb,MAAOzC,MAAKg7B,MAWhB,IAAIkkG,IACFn2C,IAAKrqF,EAAQ,KACbsqF,IAAKtqF,EAAQ,KACbuqF,IAAKvqF,EAAQ,KACb0qF,IAAK1qF,EAAQ,KACb2qF,IAAK3qF,EAAQ,KAGfI,GAAOD,QAAU,SAAU03E,GACzB,QAAS1B,GAAiBsT,EAAOC,EAAUhU,GACzC,GAAI7zE,GAAS0mF,EAAMkB,EACnB,KAAK5nF,EACH,KAAM,IAAIY,WAAU,qBAQtB,IANkB,gBAAPizE,KACTA,EAAK,GAAIjrC,GAAOirC,IAEM,gBAAbgU,KACTA,EAAW,GAAIj/C,GAAOi/C,IAEpBA,EAAS3lF,SAAWlC,EAAOqC,IAAI,EACjC,KAAM,IAAIzB,WAAU,sBAAwBinF,EAAS3lF,OAEvD,IAAI2xE,EAAG3xE,SAAWlC,EAAO6zE,GACvB,KAAM,IAAIjzE,WAAU,qBAAuBizE,EAAG3xE,OAEhD,OAAoB,WAAhBlC,EAAOqL,KACF,GAAI08E,GAAa42C,EAAS3+H,EAAOiI,MAAO4/E,EAAUhU,GAAI,GAExD,GAAIoT,GAAS03C,EAAS3+H,EAAOiI,MAAO4/E,EAAUhU,GAGvD,QAASmT,GAAgBY,EAAOC,GAC9B,GAAI7nF,GAAS0mF,EAAMkB,EACnB,KAAK5nF,EACH,KAAM,IAAIY,WAAU,qBAEtB,IAAIob,GAAOisE,EAAKjS,EAAQ6R,EAAU7nF,EAAOqC,IAAKrC,EAAO6zE,GACrD,OAAOS,GAAiBsT,EAAO5rE,EAAK3Z,IAAK2Z,EAAK63D,IAEhD,OACEmT,eAAgBA,EAChB1S,iBAAkBA,MzOy1sCQ51E,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,Y0Oj9sC/C,IAAIk3F,GAAO3hI,EAAQ,KAClB4hI,EAAO5hI,EAAQ,KACfiyF,EAASjyF,EAAQ,KACjBsyF,EAAQL,EAAOK,MACfJ,EAAYD,EAAOE,eAAe,aAClCtwF,EAAS7B,EAAQ,IACjBmL,EAAanL,EAAQ,KACrBgyD,EAAYhyD,EAAQ,KACpB6hI,EAAa7hI,EAAQ,KACrB6mD,EAAY7mD,EAAQ,KACnB6L,EAAO7L,EAAQ,KAEb8hI,KACA72H,EAAcE,EAAWF,YACzBK,EAAqBH,EAAWG,kBAEpCw2H,GAAK38B,OAAS,SAAU5oF,EAAMmtE,EAAUq4C,GACvC,GAAIC,IAAS,EACTC,IACJ,KAAK,GAAIrG,KAAQmG,GAChBE,EAAMt0H,KAAKiuH,EAEZ,IAAIsG,GAAU5gI,KAAKkkH,aAAajpG,EAAMmtE,EAAUu4C,EAMhD,OALAA,GAAM/7H,QAAQ,SAAU01H,GACnBmG,EAAMnG,GAAM,GAAG,KAAOsG,EAAQtG,KACjCoG,GAAS,KAGJA,GAGRF,EAAKtc,aAAe,SAAUjpG,EAAMmtE,EAAUu4C,GAC7C,GAAIC,KAaJ,OAZAD,GAAM/7H,QAAQ,SAAU01H,GACvB,GAAIl3B,GAAOnoF,EAAOq/G,EAAOlyC,EACrBz3B,EAAWyyC,EAAKnxD,OAAOhyB,MAAM,kBAAkBoJ,KAAK,KACpDw3G,EAAat2H,EAAKC,OAAOmmD,GACzBmwE,EAAST,EAAK9uC,WAAWsvC,GACzBE,EAAWnwC,EAAU/C,EAAEjI,SAASk7C,GAChC/vC,EAAQ,GAAIC,GAAM+vC,EAASlhC,MAAOkhC,EAAS/pH,EAAG+pH,EAASxqF,EAAGwqF,EAAS9zD,GACnE+zD,EAASjwC,EAAMD,WAAWiwC,EAASzvE,YACnCP,EAAWxmD,EAAKu7C,UAAUk7E,GAC1Bp7E,EAAOzc,EAAOlpC,QAAQ+gI,EAAQjwE,EAASpxD,MAAM,EAAG,IACpDihI,GAAQtG,GAAQ/5H,EAAO6b,IAAI,kBAAoBkkH,EAAKtvE,OAAOpL,KAErDg7E,GAQRJ,EAAKS,eAAiB,SAAUhmH,EAAMmtE,GAA0D,GAAhDu4C,GAAgD18H,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,IAAvC,QAAS,SAAU,UAAW,QAClFi9H,IAKJ,OAJAP,GAAM/7H,QAAQ,SAAU01H,GACvB4G,EAAS5G,GAAQt6H,KAAK4iG,MAAM3nF,EAAMmtE,EAAUkyC,GAC5C4G,EAAS5G,EAAO,UAAYt6H,KAAKmhI,YAAYD,EAAS5G,KACrDr0H,KAAKjG,OACAkhI,GAGRV,EAAKY,MAAQ,SAAUC,GACtB,GAAID,IAAQ,CACZ,KACC,GAAIE,GAAS,GAAIn4F,GAAOm3F,EAAK9uF,OAAO6vF,IAChCE,EAAUD,EAAO3hI,MAAM,GAAG,GAC1BoxD,EAAWuwE,EAAO3hI,OAAM,GACxB6hI,EAAcj3H,EAAKC,OAAO+2H,EAC9BC,GAAcj3H,EAAKC,OAAOg3H,GAC1BA,EAAcA,EAAY7hI,MAAM,EAAG,GAC/BoxD,EAAStmD,YAAc+2H,EAAY/2H,aACtC22H,GAAQ,GAER,MAAO/5H,IACT,MAAO+5H,IAGRZ,EAAK59B,MAAQ,SAAU3nF,EAAMmtE,EAAUkyC,GACtC,GAAIl3B,GAAOnoF,EAAOq/G,EAAOlyC,EACrBz3B,EAAWyyC,EAAKnxD,OAAOhyB,MAAM,kBAAkBoJ,KAAK,KACpDw3G,EAAat2H,EAAKC,OAAOmmD,GACzB4wE,EAAUp4F,EAAOlpC,QAAQ,GAAIkpC,IAAQ,MAAQ03F,IAC7C9vE,EAAWxmD,EAAKC,OAAO+2H,EAC3BxwE,GAAWxmD,EAAKC,OAAOumD,GACvBA,EAAWA,EAASpxD,MAAM,EAAG,EAC7B,IAAI0hI,GAAUl4F,EAAOlpC,QAAQshI,EAASxwE,GACtC,OAAOuvE,GAAKtvE,OAAOqwE,IAGpBb,EAAKiB,WAAa,SAAUJ,EAASK,GACpC,MAAQ1hI,MAAKmhI,YAAYE,IAAYK,GAGtClB,EAAKW,YAAc,SAAUE,GAC5B,GAAIK,GAASnB,EAAWvqD,QAAQqrD,EAEhC,OADAK,GAASA,EAAOr8E,WAAW56C,YAI5B+1H,EAAKmB,SAAW,SAASC,EAAQv1F,GAChC,MAAuD,OAAhDkZ,EAAU1B,WAAW+9E,EAAQv1F,IAGrCm0F,EAAKqB,gBAAkB,SAAU93H,EAAKwS,GACrC,GAAIq2F,KACA7oG,GAAI6oG,aACPA,KAAgB3yG,OAAO8J,EAAI6oG,YAG5B,IAAIkvB,GAAM,GAAI34F,GAAO5oC,EAAO6b,IAAI,YAAa,OACzChS,EAAMT,EAAYU,SAASN,EAE/B,KAAK,GAAInH,KAAO2Z,GAAM,CACrB,GAAIq+G,GAAMlqE,EAAU6zC,WAAWp7D,EAAOlpC,QAAQ6hI,EAAK13H,IAAOmS,EAAK3Z,GAC/DgwG,GAAWvmG,KAAKuuH,EAAIvwH,YAGrB,MAAOL,GAAmBG,SAAS7K,OAAO2I,OAAO8B,GAAO6oG,WAAYA,MAGrE9zG,EAAOD,QAAU2hI,I1Os9sCavhI,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YA4B9C,SAASvoC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,G2OlmtCjF,QAAS2wC,GAAO8hC,EAAajzE,GAGhC,IAFA,EAAAo0E,EAAA1zE,SAAOV,EAAM,oBACbo0E,EAAA1zE,QAAOowD,MAAP,mBAAoB9wD,GAApB,YAAA6B,EAAoB7B,GAAM,SAAU,SAChC,KAAKwc,KAAKxc,GAAO,MAAOA,EAC5BA,GAAOA,EAAKm0D,UAAU,IAEtB,EAAAigB,EAAA1zE,SAAOuyE,EAAa,2BACpByuD,IAEAzuD,EAAcK,EAAaL,GAE3BjzE,EAAO2hI,EAAAjhI,QAAOywC,OAAOnxC,GACrBA,EAAO4hI,EAAQ1wC,WAAW,GAAIpoD,GAAO9oC,EAAM,UAZL,IAAA6hI,GAcM7hI,EAArCud,EAd+BskH,EAc/BtkH,KAAMC,EAdyBqkH,EAczBrkH,GAAI01D,EAdqB2uD,EAcrB3uD,MAAO3lE,EAdcs0H,EAcdt0H,MAAOwuG,EAdO8lB,EAcP9lB,UACzBwlB,EAAStuD,EAAY4vB,cAAcz4F,WACnC03H,EAAWP,IAAWhkH,EAAKnT,WAAaoT,EAAGpT,WAAamT,EAAKnT,UACnEpK,GAAOsD,EAAA6sD,IAAIkjB,QAAQJ,EAAa6uD,EAAU5uD,EAAO6oC,EAAWxuG,EAG5D,IAAMw0H,GAAOnuD,EAAAlzE,QAAWuzE,WAAWj0E,EAAKoK,SAAS,UAAWwpE,EAAAlzE,QAAW+6C,iBAAkBm4B,EAAAlzE,QAAWg7C,cACpG,KAEI,MADAqmF,GAAKjjD,OACE,IAAMijD,EAAKngF,cACpB,MAAM56C,GAIJ,MAHA+6H,GAAKxpF,QAELv4C,EAAO,GAAI8oC,GAAOi5F,EAAK33H,SAAS,UAAW,UAAUA,SAAS,SACvD,IAAMpK,GAYd,QAAS2wD,GAAOsiB,EAAaj3B,EAAYh8C,EAAMgiI,GAGlD,IAFA,EAAA5tD,EAAA1zE,SAAOV,EAAM,oBACbo0E,EAAA1zE,QAAOowD,MAAP,mBAAoB9wD,GAApB,YAAA6B,EAAoB7B,GAAM,SAAU,SAChC,KAAKwc,KAAKxc,GAAO,MAAOA,EAC5BA,GAAOA,EAAKm0D,UAAU,IAEtB,EAAAigB,EAAA1zE,SAAOuyE,EAAa,4BACpB,EAAAmB,EAAA1zE,SAAOs7C,EAAY,0BACnB0lF,IAEAzuD,EAAcK,EAAaL,GAC3Bj3B,EAAau3B,EAAYv3B,EAEzB,IAAM+lF,GAAO,GAAAnuD,GAAAlzE,QAAekzE,EAAAlzE,QAAW+6C,iBAAkBm4B,EAAAlzE,QAAWg7C,cACpEqmF,GAAKlgF,aAAa7hD,GAClBA,EAAO,GAAI8oC,GAAOi5F,EAAK3iF,KAAK,EAAG2iF,EAAK1iF,QAAQE,WAAY,SAfK,IAAA0iF,GAiB1B3+H,EAAA6sD,IAAI6iB,QAAQC,EAAaj3B,EAAYh8C,EAAMgiI,GAAvE9uD,EAjBsD+uD,EAiBtD/uD,MAAO78D,EAjB+C4rH,EAiB/C5rH,QAASq6C,EAjBsCuxE,EAiBtCvxE,QAUvB,OATA1wD,GAAO4hI,EAAQzhF,YACX5iC,KAAM01D,EAAY4vB,cAClBrlF,GAAIw+B,EACJk3B,QACA3lE,MAAOmjD,EACPqrD,UAAW1lG,IAGfrW,EAAO4hI,EAAQ53H,SAAShK,GACjB,IAAM2hI,EAAAjhI,QAAOiwD,OAAO,GAAI7nB,GAAO9oC,EAAM,WAIzC,QAASkiI,GAAWliI,GAGzB,IAFA,EAAAo0E,EAAA1zE,SAAOV,EAAM,oBACbo0E,EAAA1zE,QAAOowD,MAAP,mBAAoB9wD,GAApB,YAAA6B,EAAoB7B,GAAM,SAAU,SAChC,KAAKwc,KAAKxc,GAAO,QACrBA,GAAOA,EAAKm0D,UAAU,GAEtButE,IAEA1hI,EAAO2hI,EAAAjhI,QAAOywC,OAAOnxC,GACrBA,EAAO4hI,EAAQ1wC,WAAW,GAAIpoD,GAAO9oC,EAAM,UATZ,IAAAmiI,GAWZniI,EAAZud,EAXwB4kH,EAWxB5kH,KAAMC,EAXkB2kH,EAWlB3kH,EAEb,QAAQD,EAAKnT,WAAYoT,EAAGpT,YAS9B,QAASs3H,KACP,GAAkB79H,SAAfu+H,EAA0B,CAC3B,GAAIC,SACJD,IAAa,CACb,KACE,GAAMlH,GAAM,sDACNqG,EAAS,wDACTe,EAAa3xE,EAAOuqE,EAAKqG,EAAQ,SACvCc,GAAYlxF,EAAO+pF,EAAKoH,GACxB,MAAMt7H,GACNkF,QAAQvE,MAAMX,GANhB,QAQEo7H,EAA2B,WAAdC,GAGjB,GAAGD,KAAe,EAChB,KAAM,IAAI37H,OAAM,iD3O29sCnBxH,OAAOqD,eAAe9D,EAAS,cAC3B+C,OAAO,GAGX,IAAIM,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GAEtQhC,G2O9ktCe2yC,S3O+ktCf3yC,E2OvitCemyD,S3OwitCfnyD,E2OzgtCe0jI,YArFhB,IAAA9sD,GAAA/2E,EAAA,K3OkmtCKu1E,EAAerzE,EAAuB60E,G2OjmtC3CE,EAAAj3E,EAAA,K3OqmtCK+1E,EAAW7zE,EAAuB+0E,G2OpmtCvCitD,EAAAlkI,EAAA,K3OwmtCKsjI,EAAOphI,EAAuBgiI,G2OvmtCnCj/H,EAAAjF,EAAA,KACAkF,EAAAlF,EAAA,KAEMujI,EAAUr+H,EAAAqG,IAAI44H,eA+FhBJ,EAAav+H,OAyBXyvE,EAAe,SAAAnzD,GAAA,MAAMA,GAAIA,EAAElZ,EAAIkZ,EAAI7c,EAAA8sD,WAAWulB,QAAQx1D,GAAKA,GAC3DozD,EAAc,SAAApzD,GAAA,MAAMA,GAAIA,EAAE8kC,EAAI9kC,EAAI7c,EAAA4hD,UAAU1B,WAAWrjC,GAAKA,K3O6ntCpCvhB,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,IAEJ,SAASyqC,GAAS,YA8B9C,SAASvoC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GA5BvF,GAAIqB,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,I4OrwtCvQoC,EAAAvE,EAAA,G5OywtCKwE,EAAatC,EAAuBqC,G4OxwtCzCyqC,EAAAhvC,EAAA,I5O4wtCKivC,EAAU/sC,EAAuB8sC,G4O3wtCtCo1F,EAAApkI,EAAA,K5O+wtCKqkI,EAAYniI,EAAuBkiI,G4O9wtCxCE,EAAAtkI,EAAA,K5OkxtCKukI,EAAcriI,EAAuBoiI,G4OjxtC1CE,EAAAxkI,EAAA,G5OqxtCKykI,EAAQviI,EAAuBsiI,G4OpxtCpCE,EAAA1kI,EAAA,K5OwxtCK2kI,EAASziI,EAAuBwiI,G4OvxtCrC1/H,EAAAhF,EAAA,IAEImL,EAAanL,EAAQ,KACnB6B,EAAS7B,EAAQ,IAKjBkS,GAAQ,EAAA+8B,EAAA5sC,SAAS,kBACjBwZ,EAAO,aACP/Z,GAAY,EAAAyiI,EAAAliI,SAAAoiI,EAAApiI,SAEZuiI,IAQNA,GAAcl+H,KAAO,SAA4Bm+H,EAAIrC,EAAU/7H,GAC7D,GAAMq+H,GAAUF,EAAcG,oBAAoBF,GAC/C97H,KAAK,SAACkC,GASL,MARqC,QAAjCpJ,EAAO6b,IAAI,oBACbzS,EAAYE,WAAac,KAAK8mC,MAAM9mC,KAAKC,UAAUjB,EAAYE,YAAY65H,WAAW,QAAS,WAC/F/5H,EAAYE,WAAac,KAAK8mC,MAAM9mC,KAAKC,UAAUjB,EAAYE,YAAY65H,WAAW,OAAQ,UAEhG9yH,EACE,4DACAjH,EAAaA,EAAYE,YAEpB3G,EAAAnC,QAAQsoB,KACb1f,EACA05H,EAAAtiI,QAAS8gI,gBAAgBl4H,EAAau3H,MAGzCnvH,OAAO,SAACpI,EAAag6H,GAKpB,MAJA/yH,GACE,iEACAjH,EAAaA,EAAYE,YAEpBs5H,EAAApiI,QAAQ6iI,qCACbD,GACAl8H,KAAK,SAACsB,GACN,MAAOzJ,QAAO2I,UAAWc,EAAQ46H,MAIvCH,GAAQjkG,QAAQp6B,GAAYoV,IAG9B+oH,EAAcG,oBAAsB,SAA2CF,GAC7E,GAAMM,GAAcV,EAAApiI,QAAQ+H,iCAC5B,OAAO+6H,GACJp8H,KAAK,SAACq8H,GAEL,GAAMC,GAAY,GAAIluF,MAAKiuF,EAAW3sE,KAAO,KACvC6sE,EAAeF,EAAW76H,4BAA8B,EAAK,KACnE,OAAOk6H,GAAApiI,QAAQkjI,oBAAoBH,EAAW76H,6BAA6BxB,KAAK,SAACosD,GAC/E,GAAMqwE,GAAcrwE,EAAQA,EAAMi/C,SAAW,0CAC7C,OAAOxzG,QAAO2I,QACZwqG,cAAeuxB,EACftxB,iBAAkB,GAAIvpE,GAAO+6F,EAAa,OAAOp3E,aAAa,GAC9D6lD,WAAY,GAAI98D,MACdkuF,EAAUjrF,UACV,MAEDyqF,QAMX15H,EAAWjF,QAAQ,SAACkF,GAClB,GAAMq6H,IAAgB,EAAAzgI,EAAAsB,WAAU8E,EAAUA,WACpCs6H,EAAkBt6H,EAAU5E,WAE5Bm/H,EACJD,EAAgB99G,QAAQ,oBAAqB,GAC7C89G,EAAgB99G,QAAQ,sBAAuB,CAEjDg9G,GAAiBa,EAAjB,QACE,SAA2C5I,EAAKv3H,EAASmB,GACvDyL,wBAA4BuzH,EAA5B,UAAoDngI,UAASmB,YAC7D,IAAMoX,KAKN,OAJIzS,GAAU62H,OAAS72H,EAAU62H,MAAMl+H,SACrC8Z,EAAKzS,EAAU62H,MAAM,IAAMpF,GAGtB+H,EAAcl+H,MACnBg3C,cACAvyC,aAAcC,EAAUA,UAAWxK,OAAO2I,UAExCjE,EACyB,MAAzBA,EAAQuvG,eACNA,cAAe9oG,EAASzG,EAAQuvG,mBAElC8wB,GAA0C,MAApBrgI,EAAQovG,UAC5BA,SAAU5yG,EAAU8jI,gBAAgBtgI,EAAQqvG,cAAervG,EAAQsvG,yBAGtE/2F,EAAMpX,IAGbm+H,EAAca,GACZ,SAAuC5I,GAAc,OAAAh2H,GAAAtB,UAAAxB,OAAN/C,EAAM8F,MAAAD,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAN/F,EAAM+F,EAAA,GAAAxB,UAAAwB,EACnDmL,yBAA4BuzH,EAA5B,UAAoDzkI,QACpD,IAAMsE,GAAUogI,EAAgBz+H,OAAO,SAACtF,EAAMiF,EAAOjG,GAEnD,MADAgB,GAAKiF,GAAS5F,EAAKL,GACZgB,OAEH8E,EAAWzF,EAAK0kI,EAAgB3hI,OACtC,OAAO6gI,GAAiBa,EAAjB,QAAsC5I,EAAKv3H,EAASmB,MAIjEm+H,EAAciB,iBAAmB,WAC/Bh4H,QAAQ1F,IAAI,+EAGd,IAAM4D,GAAW,SAAA5J,GAAA,MAAsB,YAAf,mBAAOA,GAAP,YAAAqB,EAAOrB,IAAmB8J,KAAKC,UAAU/J,GAAOA,IACxE,EAAAkiI,EAAAhiI,SAAiBuiI,GAEjBpgI,EAAAnC,QAAQ2/B,aAAa4iG,GAErBzkI,EAAUC,EAAOD,QAAUykI,I5OwwtCGrkI,KAAKJ,EAASH,EAAoB,IAAIyqC,SAI9D,SAAUrqC,EAAQD,EAASH,GAEhC,YAQA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GANvF,GAAIo9C,GAAiB,WAAc,QAASC,GAAcC,EAAK9+C,GAAK,GAAI++C,MAAeC,GAAK,EAAUC,GAAK,EAAWC,EAAKr6C,MAAW,KAAM,IAAK,GAAiCs6C,GAA7BC,EAAKN,EAAIh8C,OAAOC,cAAmBi8C,GAAMG,EAAKC,EAAG/+B,QAAQ7N,QAAoBusC,EAAK/xC,KAAKmyC,EAAG58C,QAAYvC,GAAK++C,EAAK37C,SAAWpD,GAA3Dg/C,GAAK,IAAoE,MAAO12C,GAAO22C,GAAK,EAAMC,EAAK52C,EAAO,QAAU,KAAW02C,GAAMI,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIH,EAAI,KAAMC,IAAQ,MAAOH,GAAQ,MAAO,UAAUD,EAAK9+C,GAAK,GAAImG,MAAM8Z,QAAQ6+B,GAAQ,MAAOA,EAAY,IAAIh8C,OAAOC,WAAY9C,QAAO6+C,GAAQ,MAAOD,GAAcC,EAAK9+C,EAAa,MAAM,IAAI8B,WAAU,4D6On5tCvlB+hI,EAAAxkI,EAAA,G7Ou5tCKykI,EAAQviI,EAAuBsiI,E6Or5tCpCrkI,GAAUC,EAAOD,QAAU,SAAAykI,GACzBA,EAAckB,eAAiB,SAAA93F,EAAyExlC,GAAO,GAA7Eu9H,GAA6E/3F,EAA7E+3F,WAAYC,EAAiEh4F,EAAjEg4F,SAAUC,EAAuDj4F,EAAvDi4F,mBAAuDC,EAAAl4F,EAAnC4tF,OAAmCp2H,SAAA0gI,EAA5B,UAA4BA,EAAjB/zB,EAAiBnkE,EAAjBmkE,MAC5FsyB,GAAApiI,QAAI8jI,aAAaH,GAAW,SAAC/8H,EAAD80G,GAAwB,GAAAqoB,GAAA7mF,EAAAw+D,EAAA,GAAjBsoB,EAAiBD,EAAA,EAClD,IAAIn9H,EAAO,MAAOT,GAAG,GAAIJ,OAAMa,GAAM,KACrC,KAAKo9H,EAAe,MAAO79H,GAAG,GAAIJ,OAAM,wBAAyB,KAEjE,IAAMk+H,GAAmBD,EAAYzK,GAG/B2K,EAAqBD,EAAiB7wB,cAAc9uG,IAAI,SAAAjF,GAAA,MAAQA,GAAK,KACrE8kI,EAAeD,EAAmB3+G,QAAQq+G,MAAwB,CACxE,IAAIO,EACF,MAAOh+H,GAAG,KAAM,KAIlB2pG,GAASA,GAAUk0B,EAAYzK,GAAMpmB,iBACrC8wB,EAAiB7wB,cAAc9nG,MAAMs4H,EAAoB9zB,GACzD,IAAM10D,GAAiB,UAATm+E,EAAmB0K,EAAmB9gI,OAC9C8gB,EAAkB,WAATs1G,EAAoB0K,EAAmB9gI,OAChDswG,EAAmB,YAAT8lB,EAAqB0K,EAAmB9gI,MAGxDo/H,GAAc6B,cACZV,EACAM,EAAY9pH,KACZkhC,EACAn3B,EACAwvF,EACAuwB,EAAYtwB,SACZswB,EAAYxxB,cACZrsG,MAKNo8H,EAAc8B,kBAAoB,SAAAC,EAAiEn+H,GAAO,GAArEu9H,GAAqEY,EAArEZ,WAAYC,EAAyDW,EAAzDX,SAAUC,EAA+CU,EAA/CV,mBAA+CW,EAAAD,EAA3B/K,OAA2Bp2H,SAAAohI,EAApB,UAAoBA,CACxGnC,GAAApiI,QAAI8jI,aAAaH,GAAW,SAAC/8H,EAAD49H,GAAwB,GAAAC,GAAAvnF,EAAAsnF,EAAA,GAAjBR,EAAiBS,EAAA,EAClD,IAAI79H,EAAO,MAAOT,GAAG,GAAIJ,OAAMa,GAAM,KACrC,KAAKo9H,EAAe,MAAO79H,GAAG,GAAIJ,OAAM,wBAAyB,KAIjE,KAAK,GAFCk+H,GAAmBD,EAAYzK,GAC/BmL,EAAsBT,EAAiB7wB,cAAc1xG,OAClDpD,EAAI,EAAGA,EAAIomI,EAAqBpmI,IAAK,CAC5C,GAAMqmI,GAAOV,EAAiB7wB,cAAc90G,EAC5C,IAAIqmI,EAAK,KAAOf,EAAoB,CAClCK,EAAiB7wB,cAAcnnG,OAAO3N,EAAG,EACzC,QAKJ,GAAIomI,IAAwBT,EAAiB7wB,cAAc1xG,OACzD,MAAOyE,GAAG,KAAM,KAGlB,IAAMi1C,GAAiB,UAATm+E,EAAmB0K,EAAmB9gI,OAC9C8gB,EAAkB,WAATs1G,EAAoB0K,EAAmB9gI,OAChDswG,EAAmB,YAAT8lB,EAAqB0K,EAAmB9gI,MAExDo/H,GAAc6B,cACZV,EACAM,EAAY9pH,KACZkhC,EACAn3B,EACAwvF,EACAuwB,EAAYtwB,SACZswB,EAAYxxB,cACZrsG,MAKNo8H,EAAcqC,WAAa,SAAAC,EAAoE1+H,GAAO,GAAxEu9H,GAAwEmB,EAAxEnB,WAAYC,EAA4DkB,EAA5DlB,SAAUmB,EAAkDD,EAAlDC,cAAkDC,EAAAF,EAAnCtL,OAAmCp2H,SAAA4hI,EAA5B,UAA4BA,EAAjBj1B,EAAiB+0B,EAAjB/0B,MACnFsyB,GAAApiI,QAAI8jI,aAAaH,GAAW,SAAC/8H,EAADo+H,GAAwB,GAAAC,GAAA/nF,EAAA8nF,EAAA,GAAjBhB,EAAiBiB,EAAA,EAClD,IAAIr+H,EAAO,MAAOT,GAAG,GAAIJ,OAAMa,GAAM,KACrC,KAAKo9H,EAAe,MAAO79H,GAAG,GAAIJ,OAAM,wBAAyB,KAEjE,IAAMk+H,GAAmBD,EAAYzK,GAG/B2L,EAAiBjB,EAAiB5wB,UAAU/uG,IAAI,SAAAjF,GAAA,MAAQA,GAAK,KAC7D8kI,EAAee,EAAe3/G,QAAQu/G,MAAmB,CAC/D,IAAIX,EACF,MAAOh+H,GAAG,KAAM,KAIlB2pG,GAASA,GAAUk0B,EAAYzK,GAAMpmB,iBACrC8wB,EAAiB5wB,UAAU/nG,MAAMw5H,EAAeh1B,GAChD,IAAM10D,GAAiB,UAATm+E,EAAmB0K,EAAmB9gI,OAC9C8gB,EAAkB,WAATs1G,EAAoB0K,EAAmB9gI,OAChDswG,EAAmB,YAAT8lB,EAAqB0K,EAAmB9gI,MAGxDo/H,GAAc6B,cACZV,EACAM,EAAY9pH,KACZkhC,EACAn3B,EACAwvF,EACAuwB,EAAYtwB,SACZswB,EAAYxxB,cACZrsG,MAKNo8H,EAAc4C,cAAgB,SAAAC,EAA4Dj/H,GAAO,GAAhEu9H,GAAgE0B,EAAhE1B,WAAYC,EAAoDyB,EAApDzB,SAAUmB,EAA0CM,EAA1CN,cAA0CO,EAAAD,EAA3B7L,OAA2Bp2H,SAAAkiI,EAApB,UAAoBA,CAC/FjD,GAAApiI,QAAI8jI,aAAaH,GAAW,SAAC/8H,EAAD0+H,GAAwB,GAAAC,GAAAroF,EAAAooF,EAAA,GAAjBtB,EAAiBuB,EAAA,EAClD,IAAI3+H,EAAO,MAAOT,GAAG,GAAIJ,OAAMa,GAAM,KACrC,KAAKo9H,EAAe,MAAO79H,GAAG,GAAIJ,OAAM,wBAAyB,KAIjE,KAAK,GAFCk+H,GAAmBD,EAAYzK,GAC/BiM,EAAqBvB,EAAiB5wB,UAAU3xG,OAC7CpD,EAAI,EAAGA,EAAIknI,EAAoBlnI,IAAK,CAC3C,GAAMqmI,GAAOV,EAAiB5wB,UAAU/0G,EACxC,IAAIqmI,EAAK,KAAOG,EAAe,CAC7Bb,EAAiB5wB,UAAUpnG,OAAO3N,EAAG,EACrC,QAKJ,GAAIknI,IAAuBvB,EAAiB5wB,UAAU3xG,OACpD,MAAOyE,GAAG,KAAM,KAGlB,IAAMi1C,GAAiB,UAATm+E,EAAmB0K,EAAmB9gI,OAC9C8gB,EAAkB,WAATs1G,EAAoB0K,EAAmB9gI,OAChDswG,EAAmB,YAAT8lB,EAAqB0K,EAAmB9gI,MAExDo/H,GAAc6B,cACZV,EACAM,EAAY9pH,KACZkhC,EACAn3B,EACAwvF,EACAuwB,EAAYtwB,SACZswB,EAAYxxB,cACZrsG,Q7Ou7tCF,SAAUpI,EAAQD,EAASH,GAEhC,YAcA,SAASkC,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,QAASF,GAZvF,GAAIo9C,GAAiB,WAAc,QAASC,GAAcC,EAAK9+C,GAAK,GAAI++C,MAAeC,GAAK,EAAUC,GAAK,EAAWC,EAAKr6C,MAAW,KAAM,IAAK,GAAiCs6C,GAA7BC,EAAKN,EAAIh8C,OAAOC,cAAmBi8C,GAAMG,EAAKC,EAAG/+B,QAAQ7N,QAAoBusC,EAAK/xC,KAAKmyC,EAAG58C,QAAYvC,GAAK++C,EAAK37C,SAAWpD,GAA3Dg/C,GAAK,IAAoE,MAAO12C,GAAO22C,GAAK,EAAMC,EAAK52C,EAAO,QAAU,KAAW02C,GAAMI,EAAW,QAAGA,EAAW,SAAO,QAAU,GAAIH,EAAI,KAAMC,IAAQ,MAAOH,GAAQ,MAAO,UAAUD,EAAK9+C,GAAK,GAAImG,MAAM8Z,QAAQ6+B,GAAQ,MAAOA,EAAY,IAAIh8C,OAAOC,WAAY9C,QAAO6+C,GAAQ,MAAOD,GAAcC,EAAK9+C,EAAa,MAAM,IAAI8B,WAAU,4D8OzkuCvlBqlI,EAAA9nI,EAAA,K9O6kuCK+nI,EAAQ7lI,EAAuB4lI,G8O5kuCpC7iI,EAAAjF,EAAA,KACAyE,EAAAzE,EAAA,G9OiluCgBkC,GAAuBuC,E8O/kuCvCrE,GAAOD,QAAU,SAAA6nI,GACf,QAASC,GAAiB3vH,GACxB,MAAOA,GAAEyY,QAAQ,wBAAyB,KAI5C,QAASm3G,GAAah/H,EAASi/H,GAC7B,GAAMC,GAAQxwF,WAAW1uC,EAAQ4rG,eAAevzF,MAAM,KAAK,IACrD8mH,EAAczwF,WAAWuwF,EAAOG,qBAAqB/mH,MAAM,KAAK,IAChEgnH,EAAkB3wF,WACtBuwF,EAAA,wBAAkC5mH,MAAM,KAAK,IAEzCinH,EAAgBD,GAAmBH,EAAQC,EACjD,OAAOG,GAIT,QAASC,GAAcC,EAAaC;AAClC,GAAMC,GAAaF,EAEfA,EAAYzhI,OAAO,SAAC6a,EAAG4+D,GAIrB,MAHIA,GAAMmoD,WAAW3xH,KAAK0Q,QAAQ,UAAW,IAC3C9F,GAAK4+D,EAAMooD,UAENhnH,GACN,GAAK6mH,EANR,EAQEI,EAAcL,EAEhBA,EAAYzhI,OAAO,SAAC6a,EAAG4+D,GAIrB,MAHIA,GAAMmoD,WAAW3xH,KAAK0Q,QAAQ,WAAY,IAC5C9F,GAAK4+D,EAAMooD,UAENhnH,GACN,GAAK6mH,EANR,CAQJ,QAASI,aAAYH,aAGvB,QAASI,GAAgBC,GACvB,GAAIC,GAAkB,EAClBC,EAAsB,CAQ1B,OAPAF,GAAkB/iI,QAAQ,SAAAkjI,GAAY,GAAAC,GACZD,EAAS5oF,OAAOj/B,MAAM,KADV+nH,EAAA/pF,EAAA8pF,EAAA,GAC7B7oF,EAD6B8oF,EAAA,GACrBtrF,EADqBsrF,EAAA,EAEtB,UAAVtrF,EAAkBkrF,GAAmBtxF,WAAW4I,GAEpC,QAAVxC,IAAiBmrF,GAAuBvxF,WAAW4I,OAGlD0oF,kBAAiBC,uBAI5B,QAASI,GAAcC,GACrB,GAAIC,GAAiBjkI,OACb0R,EAAgBsyH,EAAhBtyH,KAAMonC,EAAUkrF,EAAVlrF,KAId,OAHI,QAAQngC,KAAKjH,IAAS,SAASiH,KAAKmgC,KACtCmrF,EAAiB7xF,WAAW1gC,EAAKqK,MAAM,KAAK,IAAMq2B,WAAW0G,EAAM/8B,MAAM,KAAK,KAEzEkoH,EAKT,QAASC,GACPxgI,GAEA,GAAA8kC,GAAAzoC,UAAAxB,OAAA,GAAAyB,SAAAD,UAAA,GAAAA,UAAA,MADE4iI,EACFn6F,EADEm6F,OAAQqB,EACVx7F,EADUw7F,WAAYd,EACtB16F,EADsB06F,YAAaO,EACnCj7F,EADmCi7F,kBAAmBU,EACtD37F,EADsD27F,cAAeC,EACrE57F,EADqE47F,aAE/Dr1H,KACAyxH,EAAW98H,EAAQqT,KACnBosH,EAAiB,IACnBkB,SAAQC,QA2CZ,OAvCIH,KACFC,EAAeD,GAEZC,GAAiBJ,IACfrB,GAAWqB,EASdI,EAAeG,EAAY7gI,EAASi/H,GARpC5zH,EAAS5G,KACPq6H,EAAQgC,cAAR,KAA2BhE,GAAYj9H,KAAK,SAAAR,GAC1C4/H,EAAS5/H,EAAKzE,MACd0lI,EAAajhI,EAAKihI,WAClBI,EAAeG,EAAY7gI,EAASi/H,OAQvCO,EAOHmB,EAASpB,EAAcC,EAAaC,GANpCp0H,EAAS5G,KACPq6H,EAAQiC,mBAAmBjE,GAAUj9H,KAAK,SAAA2/H,GACxCmB,EAASpB,EAAcC,EAAaC,MAOrCM,EASHa,EAAUd,EAAgBC,GAR1B10H,EAAS5G,KACPq6H,EACGkC,4BAA4BlE,GAC5Bj9H,KAAK,SAAAkgI,GACJa,EAAUd,EAAgBC,MAO3Bp6H,QAAQyE,IAAIiB,GAAUxL,KAAK,WAChC,GAAI0gI,GAAiBU,EAAaX,GAE5BY,EAAkBlhI,EAAQkhI,gBAC1BC,EAAsBnhI,EAAA,oBACtBohI,EAAe1yF,WAAW1uC,EAAQqhI,QAAQhpH,MAAM,KAAK,IACrDipH,EAAsB5yF,WAAWwyF,EAAgB7oH,MAAM,KAAK,IAC5DkpH,EAAc7yF,WAAW1uC,EAAA,aACzBwhI,EAAsB9yF,WAAWyyF,EAAoB9oH,MAAM,KAAK,IAElEopH,EAAkB,EAChBxwF,GAAc,GAAIhD,OAAOiD,WAC9BlxC,EAAQ0hI,mBAAqB3jI,OAAO,SAACukD,EAAK54C,GACzC,GAAoC,aAAhC,EAAAm1H,EAAA1lI,SAAIuQ,GAAO,EAAG,KAAM,GAAI,IAAmB,MAAO44C,EAEtD,IAAMgN,GAAY,GAAIrhB,OAAK,EAAA4wF,EAAA1lI,SAAIuQ,GAAO,EAAG,eAAewnC,UAClDywF,EAAaryE,EAAY,MAC/B,IAAIqyE,EAAa1wF,EAAa,MAAOqR,EAErC,IAAMhL,GAAS5I,YACb,EAAAmwF,EAAA1lI,SAAIuQ,GAAO,EAAG,KAAM,EAAG,WAAWme,QAAQ,OAAQ,IAEpD45G,IAAmBnqF,MAGrB,IAAMsqF,GACJL,EACAC,EACAZ,EAAQX,oBACRU,EAAOjB,UACP+B,EAEII,EACJnB,EACAU,EACAE,EACAV,EAAQZ,gBACRW,EAAOd,UAET,QAAQgC,EAAatB,EAAiBqB,GAAWE,QAAQ,KAI7D,QAASC,KACP,GAAMC,GAAkB,GAClBC,EAAalmI,EAAAitD,UAAUu2C,gBAC7B,OAAO0iC,GAAWjnC,QAAQpuC,UAAU,EAAG,EAAIo1E,GAjJ7C,GAAMnB,GAAc7B,EA8CdiC,EAAeZ,CAsGrB,QACE6B,WAAY,SAASA,GACnB,GAAkB,MAAdA,EAAoB,MAAOA,EAC/B,IAAI9nD,GAAM8nD,EAAa,EACnBt4E,EAAM5hC,OAAOk6G,EACjBt4E,GAAMwwB,EAAMxwB,EAAIgD,UAAU,GAAKhD,CAC/B,IAAI9iD,GAAKvH,KAAK4iI,OAAOv4E,EAAM,EAAIA,GAAOA,GAAO,IAAM,CAEnD,OADA9iD,GAAKszE,GAAOtzE,EAAIA,EACTkiB,SAAa,EAAJliB,EAAQ,KAI1Bs7H,YAAa,SACXC,EACAC,EACAC,GAGA,MADA59H,SAAQgiB,KAAK,qGAEX+nB,WAAW6zF,IACV7zF,WAAW2zF,GAAiB3zF,WAAW4zF,KAK5CE,WAAY,SACVH,EACAC,EACAG,GAEA,MACE/zF,YAAW+zF,IACV/zF,WAAW2zF,GAAiB3zF,WAAW4zF,KAI5C5F,gBAAiB,SAASgG,EAAcC,GACtC,GAAMC,IAAU,GAAI30F,OACjB8M,cACAlzB,QAAQ,iBAAkB,IAC1B9P,aAEH,OADA4qH,GAAiBA,EAAe96G,QAAQ,mBAAoB,KACpD,MAAQ66G,EAAe,IAAMC,EAAiB,IAAMC,GAAS9G,WAAW,IAAK,KAGvFxkF,OAAQ,SAASA,EAAQxC,GACvB,MAAOwC,GAAOwqF,QAAQ,GAAK,IAAMhtF,GAEnCiqF,mBACAC,eACA6B,cACAL,uBACAuB,0BACA1B,gBACAY,kB9OyjuCE,SAAU/pI,EAAQD,EAASH,GAEhC,Y+O7vuCD,SAAS0d,GAAIoqB,EAAQikG,EAAMzuH,GACzB,GAAIjT,GAAmB,MAAVy9B,EAAiBtiC,OAAYwmI,EAAQlkG,EAAQikG,EAC1D,OAAkBvmI,UAAX6E,EAAuBiT,EAAejT,EA7B/C,GAAI2hI,GAAUhsI,EAAQ,IAgCtBI,GAAOD,QAAUud,G/O8xuCX,SAAUtd,EAAQD,EAASH,GAEhC,YgPrzuCD,SAASgsI,GAAQlkG,EAAQikG,GACvBA,EAAOE,EAASF,EAAMjkG,EAKtB,KAHA,GAAIrxB,GAAQ,EACR1S,EAASgoI,EAAKhoI,OAED,MAAV+jC,GAAkBrxB,EAAQ1S,GAC/B+jC,EAASA,EAAOokG,EAAMH,EAAKt1H,MAE7B,OAAQA,IAASA,GAAS1S,EAAU+jC,EAAStiC,OApB/C,GAAIymI,GAAWjsI,EAAQ,KACnBksI,EAAQlsI,EAAQ,IAsBpBI,GAAOD,QAAU6rI,GhPs0uCX,SAAU5rI,EAAQD,EAASH,GAEhC,YiPl1uCD,SAASisI,GAAS/oI,EAAO4kC,GACvB,MAAIlnB,GAAQ1d,GACHA,EAEFipI,EAAMjpI,EAAO4kC,IAAW5kC,GAASkpI,EAAargI,EAAS7I,IAjBhE,GAAI0d,GAAU5gB,EAAQ,IAClBmsI,EAAQnsI,EAAQ,KAChBosI,EAAepsI,EAAQ,KACvB+L,EAAW/L,EAAQ,IAiBvBI,GAAOD,QAAU8rI,GjPq2uCX,SAAU7rI,EAAQD,EAASH,GAEhC,YkP52uCD,SAASmsI,GAAMjpI,EAAO4kC,GACpB,GAAIlnB,EAAQ1d,GACV,OAAO,CAET,IAAIgK,GAAA,mBAAchK,GAAd,YAAAM,EAAcN,EAClB,SAAY,UAARgK,GAA4B,UAARA,GAA4B,WAARA,GAC/B,MAAThK,IAAiBm1D,EAASn1D,MAGvBmpI,EAAcluH,KAAKjb,KAAWopI,EAAanuH,KAAKjb,IAC1C,MAAV4kC,GAAkB5kC,IAAStC,QAAOknC,IlPo2uCtC,GAAItkC,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,IkP73uCnQye,EAAU5gB,EAAQ,IAClBq4D,EAAWr4D,EAAQ,KAGnBssI,EAAe,mDACfD,EAAgB,OAuBpBjsI,GAAOD,QAAUgsI,GlPi4uCX,SAAU/rI,EAAQD,EAASH,GAEhC,YmPx4uCD,SAASq4D,GAASn1D,GAChB,MAAuB,WAAhB,mBAAOA,GAAP,YAAAM,EAAON,KACXimC,EAAajmC,IAAUmmC,EAAWnmC,IAAUqpI,EnPw4uChD,GAAI/oI,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,ImPj6uCnQknC,EAAarpC,EAAQ,IACrBmpC,EAAenpC,EAAQ,IAGvBusI,EAAY,iBAwBhBnsI,GAAOD,QAAUk4D,GnPs6uCX,SAAUj4D,EAAQD,EAASH,GAEhC,YoPp8uCD,IAAIwsI,GAAgBxsI,EAAQ,KAGxBysI,EAAe,MACfC,EAAa,mGAGbC,EAAe,WASfP,EAAeI,EAAc,SAAS1uF,GACxC,GAAIzzC,KAOJ,OANIoiI,GAAatuH,KAAK2/B,IACpBzzC,EAAOsD,KAAK,IAEdmwC,EAAO/sB,QAAQ27G,EAAY,SAASjlI,EAAOgzD,EAAQnc,EAAOR,GACxDzzC,EAAOsD,KAAK2wC,EAAQR,EAAO/sB,QAAQ47G,EAAc,MAASlyE,GAAUhzD,KAE/D4C,GAGTjK,GAAOD,QAAUisI,GpP08uCX,SAAUhsI,EAAQD,EAASH,GAEhC,YqP19uCD,SAASwsI,GAAchlG,GACrB,GAAIn9B,GAASuiI,EAAQplG,EAAM,SAAStjC,GAIlC,MAHIo4B,GAAM/S,OAASsjH,GACjBvwG,EAAMqf,QAEDz3C,IAGLo4B,EAAQjyB,EAAOiyB,KACnB,OAAOjyB,GAtBT,GAAIuiI,GAAU5sI,EAAQ,KAGlB6sI,EAAmB,GAsBvBzsI,GAAOD,QAAUqsI,GrP6+uCX,SAAUpsI,EAAQD,EAASH,GAEhC,YsPv9uCD,SAAS4sI,GAAQplG,EAAMslG,GACrB,GAAmB,kBAARtlG,IAAmC,MAAZslG,GAAuC,kBAAZA,GAC3D,KAAM,IAAIrqI,WAAUsqI,EAEtB,IAAIC,GAAW,QAAXA,KACF,GAAIhsI,GAAOuE,UACPrB,EAAM4oI,EAAWA,EAASzrI,MAAMC,KAAMN,GAAQA,EAAK,GACnDs7B,EAAQ0wG,EAAS1wG,KAErB,IAAIA,EAAM3a,IAAIzd,GACZ,MAAOo4B,GAAM5e,IAAIxZ,EAEnB,IAAImG,GAASm9B,EAAKnmC,MAAMC,KAAMN,EAE9B,OADAgsI,GAAS1wG,MAAQA,EAAM5yB,IAAIxF,EAAKmG,IAAWiyB,EACpCjyB,EAGT,OADA2iI,GAAS1wG,MAAQ,IAAKswG,EAAQK,OAASC,GAChCF,EAlET,GAAIE,GAAWltI,EAAQ,KAGnB+sI,EAAkB,qBAmEtBH,GAAQK,MAAQC,EAEhB9sI,EAAOD,QAAUysI,GtP8gvCX,SAAUxsI,EAAQD,EAASH,GAEhC,YuP3kvCD,SAASktI,GAASxpG,GAChB,GAAIjtB,IAAQ,EACR1S,EAAoB,MAAX2/B,EAAkB,EAAIA,EAAQ3/B,MAG3C,KADAzC,KAAKq6C,UACIllC,EAAQ1S,GAAQ,CACvB,GAAI4iE,GAAQjjC,EAAQjtB,EACpBnV,MAAKoI,IAAIi9D,EAAM,GAAIA,EAAM,KApB7B,GAAIwmE,GAAgBntI,EAAQ,KACxBotI,EAAiBptI,EAAQ,KACzBqtI,EAAcrtI,EAAQ,KACtBstI,EAActtI,EAAQ,KACtButI,EAAcvtI,EAAQ,IAqB1BktI,GAASrsI,UAAU86C,MAAQwxF,EAC3BD,EAASrsI,UAAT,OAA+BusI,EAC/BF,EAASrsI,UAAU6c,IAAM2vH,EACzBH,EAASrsI,UAAU8gB,IAAM2rH,EACzBJ,EAASrsI,UAAU6I,IAAM6jI,EAEzBntI,EAAOD,QAAU+sI,GvP8lvCX,SAAU9sI,EAAQD,EAASH,GAEhC,YwPpnvCD,SAASmtI,KACP7rI,KAAKioB,KAAO,EACZjoB,KAAKksI,UACH3hI,KAAQ,GAAIiwD,GACZn1D,IAAO,IAAKwkB,GAAOsiH,GACnB3vF,OAAU,GAAIge,IAhBlB,GAAIA,GAAO97D,EAAQ,KACfytI,EAAYztI,EAAQ,KACpBmrB,EAAMnrB,EAAQ,IAkBlBI,GAAOD,QAAUgtI,GxPqovCX,SAAU/sI,EAAQD,EAASH,GAEhC,YyP9ovCD,SAAS87D,GAAKp4B,GACZ,GAAIjtB,IAAQ,EACR1S,EAAoB,MAAX2/B,EAAkB,EAAIA,EAAQ3/B,MAG3C,KADAzC,KAAKq6C,UACIllC,EAAQ1S,GAAQ,CACvB,GAAI4iE,GAAQjjC,EAAQjtB,EACpBnV,MAAKoI,IAAIi9D,EAAM,GAAIA,EAAM,KApB7B,GAAI+mE,GAAY1tI,EAAQ,KACpB2tI,EAAa3tI,EAAQ,KACrB4tI,EAAU5tI,EAAQ,KAClB6tI,EAAU7tI,EAAQ,KAClB8tI,EAAU9tI,EAAQ,IAqBtB87D,GAAKj7D,UAAU86C,MAAQ+xF,EACvB5xE,EAAKj7D,UAAL,OAA2B8sI,EAC3B7xE,EAAKj7D,UAAU6c,IAAMkwH,EACrB9xE,EAAKj7D,UAAU8gB,IAAMksH,EACrB/xE,EAAKj7D,UAAU6I,IAAMokI,EAErB1tI,EAAOD,QAAU27D,GzPiqvCX,SAAU17D,EAAQD,EAASH,GAEhC,Y0PzrvCD,SAAS0tI,KACPpsI,KAAKksI,SAAWO,EAAeA,EAAa,SAC5CzsI,KAAKioB,KAAO,EAXd,GAAIwkH,GAAe/tI,EAAQ,IAc3BI,GAAOD,QAAUutI,G1PwsvCX,SAAUttI,EAAQD,EAASH,GAEhC,Y2PxtvCD,IAAIguI,GAAYhuI,EAAQ,KAGpB+tI,EAAeC,EAAUptI,OAAQ,SAErCR,GAAOD,QAAU4tI,G3P8tvCX,SAAU3tI,EAAQD,EAASH,GAEhC,Y4P1tvCD,SAASguI,GAAUlmG,EAAQ5jC,GACzB,GAAIhB,GAAQ+qI,EAASnmG,EAAQ5jC,EAC7B,OAAOgqI,GAAahrI,GAASA,EAAQsC,OAbvC,GAAI0oI,GAAeluI,EAAQ,KACvBiuI,EAAWjuI,EAAQ,IAevBI,GAAOD,QAAU6tI,G5P2uvCX,SAAU5tI,EAAQD,EAASH,GAEhC,Y6PvtvCD,SAASkuI,GAAahrI,GACpB,IAAKyJ,EAASzJ,IAAUirI,EAASjrI,GAC/B,OAAO,CAET,IAAIkrI,GAAU5hI,EAAWtJ,GAASmrI,EAAaC,CAC/C,OAAOF,GAAQjwH,KAAKowH,EAASrrI,IA3C/B,GAAIsJ,GAAaxM,EAAQ,IACrBmuI,EAAWnuI,EAAQ,KACnB2M,EAAW3M,EAAQ,IACnBuuI,EAAWvuI,EAAQ,KAMnBwuI,EAAe,sBAGfF,EAAe,8BAGfG,EAAYpuH,SAASxf,UACrBooC,EAAcroC,OAAOC,UAGrB6tI,EAAeD,EAAU1iI,SAGzBjL,EAAiBmoC,EAAYnoC,eAG7ButI,EAAansG,OAAO,IACtBwsG,EAAanuI,KAAKO,GAAgBiwB,QAAQy9G,EAAc,QACvDz9G,QAAQ,yDAA0D,SAAW,IAmBhF3wB,GAAOD,QAAU+tI,G7PgwvCX,SAAU9tI,EAAQD,EAASH,GAEhC,Y8PjyvCD,SAASmuI,GAAS3mG,GAChB,QAASmnG,GAAeA,IAAcnnG,GAhBxC,GAAIonG,GAAa5uI,EAAQ,KAGrB2uI,EAAc,WAChB,GAAIE,GAAM,SAASl3F,KAAKi3F,GAAcA,EAAW/wH,MAAQ+wH,EAAW/wH,KAAKixH,UAAY,GACrF,OAAOD,GAAO,iBAAmBA,EAAO,KAc1CzuI,GAAOD,QAAUguI,G9PszvCX,SAAU/tI,EAAQD,EAASH,GAEhC,Y+P30vCD,IAAI6pC,GAAO7pC,EAAQ,IAGf4uI,EAAa/kG,EAAK,qBAEtBzpC,GAAOD,QAAUyuI,G/Pi1vCX,SAAUxuI,EAAQD,GAEvB,YgQ30vCD,SAASouI,GAAS/mG,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,MAAOknG,GAAanuI,KAAKinC,GACzB,MAAO7+B,IACT,IACE,MAAQ6+B,GAAO,GACf,MAAO7+B,KAEX,MAAO,GArBT,GAAI8lI,GAAYpuH,SAASxf,UAGrB6tI,EAAeD,EAAU1iI,QAqB7B3L,GAAOD,QAAUouI,GhQ81vCX,SAAUnuI,EAAQD,GAEvB,YiQj3vCD,SAAS8tI,GAASnmG,EAAQ5jC,GACxB,MAAiB,OAAV4jC,EAAiBtiC,OAAYsiC,EAAO5jC,GAG7C9D,EAAOD,QAAU8tI,GjQ+3vCX,SAAU7tI,EAAQD,GAEvB,YkQn4vCD,SAASwtI,GAAWzpI,GAClB,GAAImG,GAAS/I,KAAKqgB,IAAIzd,UAAe5C,MAAKksI,SAAStpI,EAEnD,OADA5C,MAAKioB,MAAQlf,EAAS,EAAI,EACnBA,EAGTjK,EAAOD,QAAUwtI,GlQm5vCX,SAAUvtI,EAAQD,EAASH,GAEhC,YmQj5vCD,SAAS4tI,GAAQ1pI,GACf,GAAIqE,GAAOjH,KAAKksI,QAChB,IAAIO,EAAc,CAChB,GAAI1jI,GAAS9B,EAAKrE,EAClB,OAAOmG,KAAW0kI,EAAiBvpI,OAAY6E,EAEjD,MAAOvJ,GAAeP,KAAKgI,EAAMrE,GAAOqE,EAAKrE,GAAOsB,OA1BtD,GAAIuoI,GAAe/tI,EAAQ,KAGvB+uI,EAAiB,4BAGjB9lG,EAAcroC,OAAOC,UAGrBC,EAAiBmoC,EAAYnoC,cAoBjCV,GAAOD,QAAUytI,GnQ26vCX,SAAUxtI,EAAQD,EAASH,GAEhC,YoQz7vCD,SAAS6tI,GAAQ3pI,GACf,GAAIqE,GAAOjH,KAAKksI,QAChB,OAAOO,GAA8BvoI,SAAd+C,EAAKrE,GAAsBpD,EAAeP,KAAKgI,EAAMrE,GAnB9E,GAAI6pI,GAAe/tI,EAAQ,KAGvBipC,EAAcroC,OAAOC,UAGrBC,EAAiBmoC,EAAYnoC,cAgBjCV,GAAOD,QAAU0tI,GpQg9vCX,SAAUztI,EAAQD,EAASH,GAEhC,YqQz9vCD,SAAS8tI,GAAQ5pI,EAAKhB,GACpB,GAAIqF,GAAOjH,KAAKksI,QAGhB,OAFAlsI,MAAKioB,MAAQjoB,KAAKqgB,IAAIzd,GAAO,EAAI,EACjCqE,EAAKrE,GAAQ6pI,GAA0BvoI,SAAVtC,EAAuB6rI,EAAiB7rI,EAC9D5B,KAnBT,GAAIysI,GAAe/tI,EAAQ,KAGvB+uI,EAAiB,2BAmBrB3uI,GAAOD,QAAU2tI,GrQ8+vCX,SAAU1tI,EAAQD,EAASH,GAEhC,YsQz/vCD,SAASytI,GAAU/pG,GACjB,GAAIjtB,IAAQ,EACR1S,EAAoB,MAAX2/B,EAAkB,EAAIA,EAAQ3/B,MAG3C,KADAzC,KAAKq6C,UACIllC,EAAQ1S,GAAQ,CACvB,GAAI4iE,GAAQjjC,EAAQjtB,EACpBnV,MAAKoI,IAAIi9D,EAAM,GAAIA,EAAM,KApB7B,GAAIqoE,GAAiBhvI,EAAQ,KACzBivI,EAAkBjvI,EAAQ,KAC1BkvI,EAAelvI,EAAQ,KACvBmvI,EAAenvI,EAAQ,KACvBovI,EAAepvI,EAAQ,IAqB3BytI,GAAU5sI,UAAU86C,MAAQqzF,EAC5BvB,EAAU5sI,UAAV,OAAgCouI,EAChCxB,EAAU5sI,UAAU6c,IAAMwxH,EAC1BzB,EAAU5sI,UAAU8gB,IAAMwtH,EAC1B1B,EAAU5sI,UAAU6I,IAAM0lI,EAE1BhvI,EAAOD,QAAUstI,GtQ4gwCX,SAAUrtI,EAAQD,GAEvB,YuQtiwCD,SAAS6uI,KACP1tI,KAAKksI,YACLlsI,KAAKioB,KAAO,EAGdnpB,EAAOD,QAAU6uI,GvQmjwCX,SAAU5uI,EAAQD,EAASH,GAEhC,YwQhjwCD,SAASivI,GAAgB/qI,GACvB,GAAIqE,GAAOjH,KAAKksI,SACZ/2H,EAAQ44H,EAAa9mI,EAAMrE,EAE/B,IAAIuS,EAAQ,EACV,OAAO,CAET,IAAIgW,GAAYlkB,EAAKxE,OAAS,CAO9B,OANI0S,IAASgW,EACXlkB,EAAKvB,MAELsH,EAAO/N,KAAKgI,EAAMkO,EAAO,KAEzBnV,KAAKioB,MACA,EA/BT,GAAI8lH,GAAervI,EAAQ,KAGvBsvI,EAAaxoI,MAAMjG,UAGnByN,EAASghI,EAAWhhI,MA4BxBlO,GAAOD,QAAU8uI,GxQukwCX,SAAU7uI,EAAQD,EAASH,GAEhC,YyQjmwCD,SAASqvI,GAAazzH,EAAO1X,GAE3B,IADA,GAAIH,GAAS6X,EAAM7X,OACZA,KACL,GAAIwgF,EAAG3oE,EAAM7X,GAAQ,GAAIG,GACvB,MAAOH,EAGX,QAAO,EAjBT,GAAIwgF,GAAKvkF,EAAQ,IAoBjBI,GAAOD,QAAUkvI,GzQinwCX,SAAUjvI,EAAQD,GAEvB,Y0QvmwCD,SAASokF,GAAGrhF,EAAOkiF,GACjB,MAAOliF,KAAUkiF,GAAUliF,IAAUA,GAASkiF,IAAUA,EAG1DhlF,EAAOD,QAAUokF,G1Q6owCX,SAAUnkF,EAAQD,EAASH,GAEhC,Y2QxqwCD,SAASkvI,GAAahrI,GACpB,GAAIqE,GAAOjH,KAAKksI,SACZ/2H,EAAQ44H,EAAa9mI,EAAMrE,EAE/B,OAAOuS,GAAQ,EAAIjR,OAAY+C,EAAKkO,GAAO,GAf7C,GAAI44H,GAAervI,EAAQ,IAkB3BI,GAAOD,QAAU+uI,G3QyrwCX,SAAU9uI,EAAQD,EAASH,GAEhC,Y4QlswCD,SAASmvI,GAAajrI,GACpB,MAAOmrI,GAAa/tI,KAAKksI,SAAUtpI,IAAO,EAZ5C,GAAImrI,GAAervI,EAAQ,IAe3BI,GAAOD,QAAUgvI,G5QmtwCX,SAAU/uI,EAAQD,EAASH,GAEhC,Y6QxtwCD,SAASovI,GAAalrI,EAAKhB,GACzB,GAAIqF,GAAOjH,KAAKksI,SACZ/2H,EAAQ44H,EAAa9mI,EAAMrE,EAQ/B,OANIuS,GAAQ,KACRnV,KAAKioB,KACPhhB,EAAKoF,MAAMzJ,EAAKhB,KAEhBqF,EAAKkO,GAAO,GAAKvT,EAEZ5B,KAtBT,GAAI+tI,GAAervI,EAAQ,IAyB3BI,GAAOD,QAAUivI,G7Q0uwCX,SAAUhvI,EAAQD,EAASH,GAEhC,Y8QrwwCD,IAAIguI,GAAYhuI,EAAQ,KACpB6pC,EAAO7pC,EAAQ,IAGfmrB,EAAM6iH,EAAUnkG,EAAM,MAE1BzpC,GAAOD,QAAUgrB,G9Q2wwCX,SAAU/qB,EAAQD,EAASH,GAEhC,Y+QxwwCD,SAASotI,GAAelpI,GACtB,GAAImG,GAASklI,EAAWjuI,KAAM4C,GAAjB,OAAgCA,EAE7C,OADA5C,MAAKioB,MAAQlf,EAAS,EAAI,EACnBA,EAdT,GAAIklI,GAAavvI,EAAQ,IAiBzBI,GAAOD,QAAUitI,G/QyxwCX,SAAUhtI,EAAQD,EAASH,GAEhC,YgRlywCD,SAASuvI,GAAW5oI,EAAKzC,GACvB,GAAIqE,GAAO5B,EAAI6mI,QACf,OAAOgC,GAAUtrI,GACbqE,EAAmB,gBAAPrE,GAAkB,SAAW,QACzCqE,EAAK5B,IAdX,GAAI6oI,GAAYxvI,EAAQ,IAiBxBI,GAAOD,QAAUovI,GhRgzwCX,SAAUnvI,EAAQD,GAEvB,YiR5zwCD,SAASqvI,GAAUtsI,GACjB,GAAIgK,GAAA,mBAAchK,GAAd,YAAAM,EAAcN,EAClB,OAAgB,UAARgK,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVhK,EACU,OAAVA,EjR0zwCN,GAAIM,GAA4B,kBAAXC,SAAoD,gBAApBA,QAAOC,SAAwB,SAAUvB,GAAO,aAAcA,IAAS,SAAUA,GAAO,MAAOA,IAAyB,kBAAXsB,SAAyBtB,EAAIc,cAAgBQ,QAAUtB,IAAQsB,OAAO5C,UAAY,eAAkBsB,GiRvzwCvQ/B,GAAOD,QAAUqvI,GjRy0wCX,SAAUpvI,EAAQD,EAASH,GAEhC,YkR90wCD,SAASqtI,GAAYnpI,GACnB,MAAOqrI,GAAWjuI,KAAM4C,GAAKwZ,IAAIxZ,GAZnC,GAAIqrI,GAAavvI,EAAQ,IAezBI,GAAOD,QAAUktI,GlR+1wCX,SAAUjtI,EAAQD,EAASH,GAEhC,YmRr2wCD,SAASstI,GAAYppI,GACnB,MAAOqrI,GAAWjuI,KAAM4C,GAAKyd,IAAIzd,GAZnC,GAAIqrI,GAAavvI,EAAQ,IAezBI,GAAOD,QAAUmtI,GnRs3wCX,SAAUltI,EAAQD,EAASH,GAEhC,YoR33wCD,SAASutI,GAAYrpI,EAAKhB,GACxB,GAAIqF,GAAOgnI,EAAWjuI,KAAM4C,GACxBqlB,EAAOhhB,EAAKghB,IAIhB,OAFAhhB,GAAKmB,IAAIxF,EAAKhB,GACd5B,KAAKioB,MAAQhhB,EAAKghB,MAAQA,EAAO,EAAI,EAC9BjoB,KAlBT,GAAIiuI,GAAavvI,EAAQ,IAqBzBI,GAAOD,QAAUotI,GpR64wCX,SAAUntI,EAAQD,EAASH,GAEhC,YqR74wCD,SAAS+L,GAAS7I,GAChB,MAAgB,OAATA,EAAgB,GAAKusI,EAAavsI,GAxB3C,GAAIusI,GAAezvI,EAAQ,IA2B3BI,GAAOD,QAAU4L,GrR06wCX,SAAU3L,EAAQD,EAASH,GAEhC,YsRn7wCD,SAASyvI,GAAavsI,GAEpB,GAAoB,gBAATA,GACT,MAAOA,EAET,IAAI0d,EAAQ1d,GAEV,MAAOwsI,GAASxsI,EAAOusI,GAAgB,EAEzC,IAAIp3E,EAASn1D,GACX,MAAOysI,GAAiBA,EAAepvI,KAAK2C,GAAS,EAEvD,IAAImH,GAAUnH,EAAQ,EACtB,OAAkB,KAAVmH,GAAkB,EAAInH,IAAW0sI,EAAY,KAAOvlI,EAjC9D,GAAI5G,GAASzD,EAAQ,IACjB0vI,EAAW1vI,EAAQ,KACnB4gB,EAAU5gB,EAAQ,IAClBq4D,EAAWr4D,EAAQ,KAGnB4vI,EAAW,EAAI,EAGfC,EAAcpsI,EAASA,EAAO5C,UAAY2E,OAC1CmqI,EAAiBE,EAAcA,EAAY9jI,SAAWvG,MA0B1DpF,GAAOD,QAAUsvI,GtR68wCX,SAAUrvI,EAAQD,GAEvB,YuR1+wCD,SAASuvI,GAAS9zH,EAAO2rB,GAKvB,IAJA,GAAI9wB,IAAQ,EACR1S,EAAkB,MAAT6X,EAAgB,EAAIA,EAAM7X,OACnCsG,EAASvD,MAAM/C,KAEV0S,EAAQ1S,GACfsG,EAAOoM,GAAS8wB,EAAS3rB,EAAMnF,GAAQA,EAAOmF,EAEhD,OAAOvR,GAGTjK,EAAOD,QAAUuvI,GvRy/wCX,SAAUtvI,EAAQD,EAASH,GAEhC,YwRngxCD,SAASksI,GAAMhpI,GACb,GAAoB,gBAATA,IAAqBm1D,EAASn1D,GACvC,MAAOA,EAET,IAAImH,GAAUnH,EAAQ,EACtB,OAAkB,KAAVmH,GAAkB,EAAInH,IAAW0sI,EAAY,KAAOvlI,EAjB9D,GAAIguD,GAAWr4D,EAAQ,KAGnB4vI,EAAW,EAAI,CAiBnBxvI,GAAOD,QAAU+rI,GxRqhxCX,SAAU9rI,EAAQD,EAASH,GAEhC,YyR3ixCcA,GAAQ,GAEvBI,GAAOD,UAEH8hI,OAAU,UAAW,SAAU,SAC/B72H,UAAa,OACb5E,QACE,QACA,SACA,WACA,YAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,UACb5E,QACE,gBACA,kBACA,SACA,WACA,QACA,OACA,mBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,WACb5E,QACE,OACA,KACA,SACA,UAIFy7H,OAAU,SAAU,SACpB72H,UAAa,sBACb5E,QACE,OACA,KACA,YAIFy7H,OAAU,SAAU,SACpB72H,UAAa,mBACb5E,QACE,UACA,oBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,qBACb5E,QACE,QACA,UACA,iBACA,iBACA,eACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,qBACb5E,QACE,QACA,aAIFy7H,OAAU,SAAU,SACpB72H,UAAa,QACb5E,QACE,OACA,WAIFy7H,OAAU,SAAU,SACpB72H,UAAa,eACb5E,QACE,YACA,mBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,UACb5E,QACE,QACA,YACA,YAIFy7H,OAAU,SAAS,SACnB72H,UAAa,yBACb5E,QACE,QACA,YACA,YAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,MACA,UACA,mBACA,QACA,SACA,UACA,WACA,mBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,UACA,QACA,SACA,UACA,WACA,mBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,QACA,MACA,oBACA,QACA,SAIFy7H,OAAU,SAAU,SACpB72H,UAAa,uBACb5E,QACE,UACA,UACA,aAIFy7H,OAAU,SAAU,SACpB72H,UAAa,wBACb5E,QACE,UACA,WAIFy7H,OAAU,SAAU,SACpB72H,UAAa,MACb5E,QACE,SACA,QACA,YACA,UAIFy7H,OAAU,SAAU,SACpB72H,UAAa,SACb5E,QACE,iBACA,KACA,UAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,iBACb5E,QACE,SACA,cAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,cACb5E,QACE,iBACA,yBACA,KACA,UAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,kBACb5E,QACE,SACA,WACA,sBACA,cACA,cACA,yBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,6BACb5E,QACE,eACA,aACA,UACA,eAIFy7H,OAAU,SAAU,SACpB72H,UAAa,sBACb5E,QACE,QACA,UACA,iBACA,gBACA,eACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,gBACb5E,QACE,UACA,MACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,yBACb5E,QACE,UACA,mBACA,QACA,SACA,UACA,WACA,gBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,2BACb5E,QACE,mBACA,qBACA,sBACA,gBAIFy7H,OAAU,SACV72H,UAAa,kBACb5E,QACE,qBACA,sBACA,yBACA,gBAIFy7H,OAAU,SACV72H,UAAa,0BACb5E,QACE,qBACA,uBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,kBACb5E,QACE,OACA,KACA,QACA,YACA,aACA,cACA,MACA,wBACA,oBACA,eAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,OACA,KACA,QACA,MACA,eAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,OACA,KACA,QACA,MACA,WACA,YACA,aACA,iBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,OACb5E,QACE,QACA,iBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,OACA,KACA,QACA,MACA,YACA,aAIFy7H,OAAU,SAAU,SACpB72H,UAAa,sBACb5E,QACE,OACA,KACA,SACA,UAIFy7H,OAAU,SAAU,SACpB72H,UAAa,wBACb5E,QACE,OACA,aACA,KACA,SACA,UAIFy7H,OAAU,SAAU,SACpB72H,UAAa,+BACb5E,QACE,OACA,gBAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,gBACb5E,QACE,KACA,UAIFy7H,OAAU,SACV72H,UAAa,wBACb5E,QACE,UACA,aAIFy7H,OAAU,SAAU,SACpB72H,UAAa,gBACb5E,QACE,gBACA,mBACA,yBAIFy7H,OAAU,QAAS,WACnB72H,UAAa,oBACb5E,QACE,UACA,wBACA,mBAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,uBACb5E,QACE,UACA,cACA,aACA,kBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,0BACb5E,QACE,YACA,YACA,oBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iCACb5E,QACE,MACA,aACA,UACA,mBACA,QACA,SACA,UACA,WACA,gBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,yBACb5E,QACE,QACA,QACA,gBAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,kBACb5E,QACE,UACA,QACA,SACA,UACA,WACA,gBACA,wBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,kBACb5E,QACE,UACA,WACA,aACA,WACA,YACA,UACA,WACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,wBACb5E,QACE,QACA,eACA,UACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,kBACb5E,QACE,iBACA,eACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,kBACb5E,QACE,cACA,UACA,YACA,UACA,WACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,qBACb5E,QACE,OACA,KACA,SACA,OACA,aACA,aACA,gBAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,wBACb5E,QACE,UACA,gBACA,gBAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,QACb5E,QACE,QACA,SACA,WACA,UACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,aACb5E,QACE,kBACA,SACA,mBACA,YACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,YACb5E,QACE,kBACA,SACA,aACA,0BACA,wBACA,cACA,iBACA,iBACA,iBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,sBACb5E,QACE,kBACA,SACA,gBACA,iBACA,mBACA,kBACA,WACA,WACA,iBACA,iBACA,2BACA,2BACA,wBACA,SACA,kBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,qBACb5E,QACE,kBACA,SACA,iBACA,oBACA,SACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,2BACb5E,QACE,kBACA,SACA,mBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,6BACb5E,QACE,kBACA,SACA,qBACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,iBACb5E,QACE,cACA,SACA,kBACA,eACA,gBAIFy7H,OAAU,SAAU,SACpB72H,UAAa,uBACb5E,QACE,QACA,YACA,YACA,gBAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,iBACb5E,QACE,SACA,WACA,YAIFy7H,OAAU,SAAU,SACpB72H,UAAa,mBACb5E,QACE,QACA,YAIFy7H,OAAU,SAAU,SACpB72H,UAAa,WACb5E,QACE,QACA,cAIFy7H,OAAU,SAAU,SACpB72H,UAAa,wBACb5E,QACE,eACA,aACA,YACA,eAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,aACb5E,QACE,gBACA,kBACA,eACA,aACA,eACA,eAIFy7H,OAAU,UAAW,SAAU,SAC/B72H,UAAa,6BACb5E,QACE,OACA,KACA,SACA,aACA","file":"hive.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ((function(modules) {\n\t// Check all modules for deduplicated modules\n\tfor(var i in modules) {\n\t\tif(Object.prototype.hasOwnProperty.call(modules, i)) {\n\t\t\tswitch(typeof modules[i]) {\n\t\t\tcase \"function\": break;\n\t\t\tcase \"object\":\n\t\t\t\t// Module can be created from a template\n\t\t\t\tmodules[i] = (function(_m) {\n\t\t\t\t\tvar args = _m.slice(1), fn = modules[_m[0]];\n\t\t\t\t\treturn function (a,b,c) {\n\t\t\t\t\t\tfn.apply(this, [a,b,c].concat(args));\n\t\t\t\t\t};\n\t\t\t\t}(modules[i]));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Module is a copy of another module\n\t\t\t\tmodules[i] = modules[modules[i]];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn modules;\n}([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {\"use strict\";\n\t\n\tvar api = __webpack_require__(1);\n\tvar auth = __webpack_require__(237);\n\tvar memo = __webpack_require__(238);\n\tvar broadcast = __webpack_require__(239);\n\tvar config = __webpack_require__(42);\n\tvar formatter = __webpack_require__(241)(api);\n\tvar utils = __webpack_require__(97);\n\t\n\tvar hive = {\n\t api: api,\n\t auth: auth,\n\t memo: memo,\n\t broadcast: broadcast,\n\t config: config,\n\t formatter: formatter,\n\t utils: utils\n\t};\n\t\n\tif (typeof window !== \"undefined\") {\n\t window.hive = hive;\n\t}\n\t\n\tif (typeof global !== \"undefined\") {\n\t global.hive = hive;\n\t}\n\t\n\texports = module.exports = hive;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _events = __webpack_require__(2);\n\t\n\tvar _events2 = _interopRequireDefault(_events);\n\t\n\tvar _bluebird = __webpack_require__(3);\n\t\n\tvar _bluebird2 = _interopRequireDefault(_bluebird);\n\t\n\tvar _config = __webpack_require__(42);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tvar _methods = __webpack_require__(83);\n\t\n\tvar _methods2 = _interopRequireDefault(_methods);\n\t\n\tvar _transports = __webpack_require__(84);\n\t\n\tvar _transports2 = _interopRequireDefault(_transports);\n\t\n\tvar _http = __webpack_require__(85);\n\t\n\tvar _utils = __webpack_require__(97);\n\t\n\tvar _ecc = __webpack_require__(103);\n\t\n\tvar _serializer = __webpack_require__(201);\n\t\n\tvar _rpcAuth = __webpack_require__(206);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Hive = function (_EventEmitter) {\n\t _inherits(Hive, _EventEmitter);\n\t\n\t function Hive() {\n\t var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t _classCallCheck(this, Hive);\n\t\n\t var _this = _possibleConstructorReturn(this, (Hive.__proto__ || Object.getPrototypeOf(Hive)).call(this, options));\n\t\n\t _this._setTransport(options);\n\t _this._setLogger(options);\n\t _this.options = options;\n\t _this.seqNo = 0; // used for rpc calls\n\t _this.error_count = 0;\n\t _this.api_index = 0;\n\t _this.error_threshold = 3;\n\t _this.alternative_api_endpoints = ['https://api.hive.blog', 'https://anyx.io'];\n\t _methods2.default.forEach(function (method) {\n\t var methodName = method.method_name || (0, _utils.camelCase)(method.method);\n\t var methodParams = method.params || [];\n\t\n\t _this[methodName + 'With'] = function (options, callback) {\n\t return _this.send(method.api, {\n\t method: method.method,\n\t params: methodParams.map(function (param) {\n\t return options[param];\n\t })\n\t }, callback);\n\t };\n\t\n\t _this[methodName] = function () {\n\t for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n\t args[_key] = arguments[_key];\n\t }\n\t\n\t if (methodName === 'getAccountHistory' && args.length < 5 && methodParams.length > 4) {\n\t methodParams.pop();\n\t methodParams.pop();\n\t }\n\t var options = methodParams.reduce(function (memo, param, i) {\n\t memo[param] = args[i]; // eslint-disable-line no-param-reassign\n\t return memo;\n\t }, {});\n\t var callback = args[methodParams.length];\n\t return _this[methodName + 'With'](options, callback);\n\t };\n\t\n\t _this[methodName + 'WithAsync'] = _bluebird2.default.promisify(_this[methodName + 'With']);\n\t _this[methodName + 'Async'] = _bluebird2.default.promisify(_this[methodName]);\n\t });\n\t _this.callAsync = _bluebird2.default.promisify(_this.call);\n\t _this.signedCallAsync = _bluebird2.default.promisify(_this.signedCall);\n\t // console.log(\"Alternate endpoints: \", this.options.alternative_api_endpoints);\n\t // console.log(\"Failover Threshold (errors): \", this.options.failover_threshold);\n\t _this.notifyError = _this.notifyError.bind(_this);\n\t return _this;\n\t }\n\t\n\t _createClass(Hive, [{\n\t key: '_setTransport',\n\t value: function _setTransport(options) {\n\t if (options.url && options.url.match('^((http|https)?:\\/\\/)')) {\n\t options.uri = options.url;\n\t options.transport = 'http';\n\t this._transportType = options.transport;\n\t this.options = options;\n\t this.transport = new _transports2.default.http(options);\n\t } else if (options.url && options.url.match('^((ws|wss)?:\\/\\/)')) {\n\t options.websocket = options.url;\n\t options.transport = 'ws';\n\t this._transportType = options.transport;\n\t this.options = options;\n\t this.transport = new _transports2.default.ws(options);\n\t } else if (options.transport) {\n\t if (this.transport && this._transportType !== options.transport) {\n\t this.transport.stop();\n\t }\n\t\n\t this._transportType = options.transport;\n\t\n\t if (typeof options.transport === 'string') {\n\t if (!_transports2.default[options.transport]) {\n\t throw new TypeError('Invalid `transport`, valid values are `http`, `ws` or a class');\n\t }\n\t this.transport = new _transports2.default[options.transport](options);\n\t } else {\n\t this.transport = new options.transport(options);\n\t }\n\t } else {\n\t this.transport = new _transports2.default.ws(options);\n\t }\n\t }\n\t }, {\n\t key: '_setLogger',\n\t value: function _setLogger(options) {\n\t if (options.hasOwnProperty('logger')) {\n\t switch (_typeof(options.logger)) {\n\t case 'function':\n\t this.__logger = {\n\t log: options.logger\n\t };\n\t break;\n\t case 'object':\n\t if (typeof options.logger.log !== 'function') {\n\t throw new Error('setOptions({logger:{}}) must have a property .log of type function');\n\t }\n\t this.__logger = options.logger;\n\t break;\n\t case 'undefined':\n\t if (this.__logger) break;\n\t default:\n\t this.__logger = false;\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'log',\n\t value: function log(logLevel) {\n\t if (this.__logger) {\n\t if (arguments.length > 1 && typeof this.__logger[logLevel] === 'function') {\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t this.__logger[logLevel].apply(this.__logger, args);\n\t } else {\n\t this.__logger.log.apply(this.__logger, arguments);\n\t }\n\t }\n\t }\n\t }, {\n\t key: 'start',\n\t value: function start() {\n\t return this.transport.start();\n\t }\n\t }, {\n\t key: 'stop',\n\t value: function stop() {\n\t return this.transport.stop();\n\t }\n\t }, {\n\t key: 'send',\n\t value: function send(api, data, callback) {\n\t var cb = callback;\n\t if (this.__logger) {\n\t var id = Math.random();\n\t var self = this;\n\t this.log('xmit:' + id + ':', data);\n\t cb = function cb(e, d) {\n\t if (e) {\n\t self.log('error', 'rsp:' + id + ':\\n\\n', e, d);\n\t } else {\n\t self.log('rsp:' + id + ':', d);\n\t }\n\t if (callback) {\n\t callback.apply(self, arguments);\n\t }\n\t };\n\t }\n\t return this.transport.send(api, data, cb);\n\t }\n\t }, {\n\t key: 'call',\n\t value: function call(method, params, callback) {\n\t var _this2 = this;\n\t\n\t if (this._transportType !== 'http') {\n\t callback(new Error('RPC methods can only be called when using http transport'));\n\t return;\n\t }\n\t var id = ++this.seqNo;\n\t (0, _http.jsonRpc)(this.options.uri, { method: method, params: params, id: id }).then(function (res) {\n\t callback(null, res);\n\t }, function (err) {\n\t _this2.notifyError(err, err instanceof _http.RPCError);callback(err);\n\t });\n\t }\n\t }, {\n\t key: 'signedCall',\n\t value: function signedCall(method, params, account, key, callback) {\n\t var _this3 = this;\n\t\n\t if (this._transportType !== 'http') {\n\t callback(new Error('RPC methods can only be called when using http transport'));\n\t return;\n\t }\n\t var id = ++this.seqNo;\n\t var request = void 0;\n\t try {\n\t request = (0, _rpcAuth.sign)({ method: method, params: params, id: id }, account, [key]);\n\t } catch (error) {\n\t callback(error);\n\t return;\n\t }\n\t (0, _http.jsonRpc)(this.options.uri, request).then(function (res) {\n\t callback(null, res);\n\t }, function (err) {\n\t callback(err);_this3.notifyError(err);\n\t });\n\t }\n\t }, {\n\t key: 'setOptions',\n\t value: function setOptions(options) {\n\t Object.assign(this.options, options);\n\t\n\t if (options.hasOwnProperty('failover_threshold')) this.failover_threshold = options.failover_threshold;\n\t if (options.hasOwnProperty('alternative_api_endpoints')) this.alternative_api_endpoints = options.alternative_api_endpoints;\n\t\n\t this._setLogger(options);\n\t this._setTransport(options);\n\t this.transport.setOptions(options);\n\t if (options.hasOwnProperty('useTestNet')) {\n\t _config2.default.set('address_prefix', options.useTestNet ? 'TST' : 'STM');\n\t }\n\t\n\t if (options.hasOwnProperty('url')) {\n\t var new_index = 0;\n\t for (var i = 0; i < this.alternative_api_endpoints.length; i++) {\n\t var temp_endpoint = this.alternative_api_endpoints[i];\n\t if (temp_endpoint === options.url) {\n\t new_index = i;\n\t break;\n\t }\n\t }\n\t this.api_index = new_index;\n\t var new_endpoint = this.alternative_api_endpoints[this.api_index];\n\t }\n\t }\n\t }, {\n\t key: 'setWebSocket',\n\t value: function setWebSocket(url) {\n\t this.setOptions({\n\t websocket: url\n\t });\n\t }\n\t }, {\n\t key: 'setUri',\n\t value: function setUri(url) {\n\t this.setOptions({\n\t uri: url\n\t });\n\t }\n\t }, {\n\t key: 'streamBlockNumber',\n\t value: function streamBlockNumber() {\n\t var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'head';\n\t\n\t var _this4 = this;\n\t\n\t var callback = arguments[1];\n\t var ts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n\t\n\t if (typeof mode === 'function') {\n\t callback = mode;\n\t mode = 'head';\n\t }\n\t var current = '';\n\t var running = true;\n\t\n\t var update = function update() {\n\t if (!running) return;\n\t\n\t _this4.getDynamicGlobalPropertiesAsync().then(function (result) {\n\t var blockId = mode === 'irreversible' ? result.last_irreversible_block_num : result.head_block_number;\n\t\n\t if (blockId !== current) {\n\t if (current) {\n\t for (var i = current; i < blockId; i++) {\n\t if (i !== current) {\n\t callback(null, i);\n\t }\n\t current = i;\n\t }\n\t } else {\n\t current = blockId;\n\t callback(null, blockId);\n\t }\n\t }\n\t\n\t _bluebird2.default.delay(ts).then(function () {\n\t update();\n\t });\n\t }, function (err) {\n\t callback(err);\n\t });\n\t };\n\t\n\t update();\n\t\n\t return function () {\n\t running = false;\n\t };\n\t }\n\t }, {\n\t key: 'streamBlock',\n\t value: function streamBlock() {\n\t var _this5 = this;\n\t\n\t var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'head';\n\t var callback = arguments[1];\n\t\n\t if (typeof mode === 'function') {\n\t callback = mode;\n\t mode = 'head';\n\t }\n\t\n\t var current = '';\n\t var last = '';\n\t\n\t var release = this.streamBlockNumber(mode, function (err, id) {\n\t if (err) {\n\t release();\n\t callback(err);\n\t return;\n\t }\n\t\n\t current = id;\n\t if (current !== last) {\n\t last = current;\n\t _this5.getBlock(current, callback);\n\t }\n\t });\n\t\n\t return release;\n\t }\n\t }, {\n\t key: 'streamTransactions',\n\t value: function streamTransactions() {\n\t var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'head';\n\t var callback = arguments[1];\n\t\n\t if (typeof mode === 'function') {\n\t callback = mode;\n\t mode = 'head';\n\t }\n\t\n\t var release = this.streamBlock(mode, function (err, result) {\n\t if (err) {\n\t release();\n\t callback(err);\n\t return;\n\t }\n\t\n\t if (result && result.transactions) {\n\t result.transactions.forEach(function (transaction) {\n\t callback(null, transaction);\n\t });\n\t }\n\t });\n\t\n\t return release;\n\t }\n\t }, {\n\t key: 'streamOperations',\n\t value: function streamOperations() {\n\t var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'head';\n\t var callback = arguments[1];\n\t\n\t if (typeof mode === 'function') {\n\t callback = mode;\n\t mode = 'head';\n\t }\n\t\n\t var release = this.streamTransactions(mode, function (err, transaction) {\n\t if (err) {\n\t release();\n\t callback(err);\n\t return;\n\t }\n\t\n\t transaction.operations.forEach(function (operation) {\n\t callback(null, operation);\n\t });\n\t });\n\t\n\t return release;\n\t }\n\t }, {\n\t key: 'broadcastTransactionSynchronousWith',\n\t value: function broadcastTransactionSynchronousWith(options, callback) {\n\t var trx = options.trx;\n\t return this.send('network_broadcast_api', {\n\t method: 'broadcast_transaction_synchronous',\n\t params: [trx]\n\t }, function (err, result) {\n\t if (err) {\n\t var signed_transaction = _serializer.ops.signed_transaction;\n\t // console.log('-- broadcastTransactionSynchronous -->', JSON.stringify(signed_transaction.toObject(trx), null, 2));\n\t // toObject converts objects into serializable types\n\t\n\t var trObject = signed_transaction.toObject(trx);\n\t var buf = signed_transaction.toBuffer(trx);\n\t err.digest = _ecc.hash.sha256(buf).toString('hex');\n\t err.transaction_id = buf.toString('hex');\n\t err.transaction = JSON.stringify(trObject);\n\t callback(err, '');\n\t } else {\n\t callback('', result);\n\t }\n\t });\n\t }\n\t }, {\n\t key: 'notifyError',\n\t value: function notifyError(err) {\n\t var ignore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\t\n\t if (ignore) {\n\t return;\n\t }\n\t if (this.failover_threshold === undefined || this.alternative_api_endpoints === undefined) {\n\t return;\n\t }\n\t if (err && err.toString().includes(\"overseer\")) {\n\t //overseer was a steem thing, it doesn't exist in hive so don't count this error towards failover\n\t return;\n\t }\n\t this.error_count++;\n\t if (this.error_count >= this.failover_threshold) {\n\t var current_url = this.options.url;\n\t this.error_count = 0;\n\t this.api_index++;\n\t if (this.api_index >= this.alternative_api_endpoints.length) {\n\t this.api_index = 0;\n\t }\n\t var nextEndpoint = this.alternative_api_endpoints[this.api_index];\n\t // console.log(\"failing over. old endpoint was: \", current_url, \" new one is: \", nextEndpoint);\n\t this.setOptions({ url: nextEndpoint });\n\t }\n\t }\n\t }]);\n\t\n\t return Hive;\n\t}(_events2.default);\n\t\n\t// Export singleton instance\n\t\n\t\n\tvar hive = new Hive(_config2.default);\n\texports = module.exports = hive;\n\texports.Hive = Hive;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tfunction EventEmitter() {\n\t this._events = this._events || {};\n\t this._maxListeners = this._maxListeners || undefined;\n\t}\n\tmodule.exports = EventEmitter;\n\t\n\t// Backwards-compat with node 0.10.x\n\tEventEmitter.EventEmitter = EventEmitter;\n\t\n\tEventEmitter.prototype._events = undefined;\n\tEventEmitter.prototype._maxListeners = undefined;\n\t\n\t// By default EventEmitters will print a warning if more than 10 listeners are\n\t// added to it. This is a useful default which helps finding memory leaks.\n\tEventEmitter.defaultMaxListeners = 10;\n\t\n\t// Obviously not all Emitters should be limited to 10. This function allows\n\t// that to be increased. Set to zero for unlimited.\n\tEventEmitter.prototype.setMaxListeners = function (n) {\n\t if (!isNumber(n) || n < 0 || isNaN(n)) throw TypeError('n must be a positive number');\n\t this._maxListeners = n;\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.emit = function (type) {\n\t var er, handler, len, args, i, listeners;\n\t\n\t if (!this._events) this._events = {};\n\t\n\t // If there is no 'error' event listener then throw.\n\t if (type === 'error') {\n\t if (!this._events.error || isObject(this._events.error) && !this._events.error.length) {\n\t er = arguments[1];\n\t if (er instanceof Error) {\n\t throw er; // Unhandled 'error' event\n\t } else {\n\t // At least give some kind of context to the user\n\t var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n\t err.context = er;\n\t throw err;\n\t }\n\t }\n\t }\n\t\n\t handler = this._events[type];\n\t\n\t if (isUndefined(handler)) return false;\n\t\n\t if (isFunction(handler)) {\n\t switch (arguments.length) {\n\t // fast cases\n\t case 1:\n\t handler.call(this);\n\t break;\n\t case 2:\n\t handler.call(this, arguments[1]);\n\t break;\n\t case 3:\n\t handler.call(this, arguments[1], arguments[2]);\n\t break;\n\t // slower\n\t default:\n\t args = Array.prototype.slice.call(arguments, 1);\n\t handler.apply(this, args);\n\t }\n\t } else if (isObject(handler)) {\n\t args = Array.prototype.slice.call(arguments, 1);\n\t listeners = handler.slice();\n\t len = listeners.length;\n\t for (i = 0; i < len; i++) {\n\t listeners[i].apply(this, args);\n\t }\n\t }\n\t\n\t return true;\n\t};\n\t\n\tEventEmitter.prototype.addListener = function (type, listener) {\n\t var m;\n\t\n\t if (!isFunction(listener)) throw TypeError('listener must be a function');\n\t\n\t if (!this._events) this._events = {};\n\t\n\t // To avoid recursion in the case that type === \"newListener\"! Before\n\t // adding it to the listeners, first emit \"newListener\".\n\t if (this._events.newListener) this.emit('newListener', type, isFunction(listener.listener) ? listener.listener : listener);\n\t\n\t if (!this._events[type])\n\t // Optimize the case of one listener. Don't need the extra array object.\n\t this._events[type] = listener;else if (isObject(this._events[type]))\n\t // If we've already got an array, just append.\n\t this._events[type].push(listener);else\n\t // Adding the second element, need to change to array.\n\t this._events[type] = [this._events[type], listener];\n\t\n\t // Check for listener leak\n\t if (isObject(this._events[type]) && !this._events[type].warned) {\n\t if (!isUndefined(this._maxListeners)) {\n\t m = this._maxListeners;\n\t } else {\n\t m = EventEmitter.defaultMaxListeners;\n\t }\n\t\n\t if (m && m > 0 && this._events[type].length > m) {\n\t this._events[type].warned = true;\n\t console.error('(node) warning: possible EventEmitter memory ' + 'leak detected. %d listeners added. ' + 'Use emitter.setMaxListeners() to increase limit.', this._events[type].length);\n\t if (typeof console.trace === 'function') {\n\t // not supported in IE 10\n\t console.trace();\n\t }\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\t\n\tEventEmitter.prototype.once = function (type, listener) {\n\t if (!isFunction(listener)) throw TypeError('listener must be a function');\n\t\n\t var fired = false;\n\t\n\t function g() {\n\t this.removeListener(type, g);\n\t\n\t if (!fired) {\n\t fired = true;\n\t listener.apply(this, arguments);\n\t }\n\t }\n\t\n\t g.listener = listener;\n\t this.on(type, g);\n\t\n\t return this;\n\t};\n\t\n\t// emits a 'removeListener' event iff the listener was removed\n\tEventEmitter.prototype.removeListener = function (type, listener) {\n\t var list, position, length, i;\n\t\n\t if (!isFunction(listener)) throw TypeError('listener must be a function');\n\t\n\t if (!this._events || !this._events[type]) return this;\n\t\n\t list = this._events[type];\n\t length = list.length;\n\t position = -1;\n\t\n\t if (list === listener || isFunction(list.listener) && list.listener === listener) {\n\t delete this._events[type];\n\t if (this._events.removeListener) this.emit('removeListener', type, listener);\n\t } else if (isObject(list)) {\n\t for (i = length; i-- > 0;) {\n\t if (list[i] === listener || list[i].listener && list[i].listener === listener) {\n\t position = i;\n\t break;\n\t }\n\t }\n\t\n\t if (position < 0) return this;\n\t\n\t if (list.length === 1) {\n\t list.length = 0;\n\t delete this._events[type];\n\t } else {\n\t list.splice(position, 1);\n\t }\n\t\n\t if (this._events.removeListener) this.emit('removeListener', type, listener);\n\t }\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.removeAllListeners = function (type) {\n\t var key, listeners;\n\t\n\t if (!this._events) return this;\n\t\n\t // not listening for removeListener, no need to emit\n\t if (!this._events.removeListener) {\n\t if (arguments.length === 0) this._events = {};else if (this._events[type]) delete this._events[type];\n\t return this;\n\t }\n\t\n\t // emit removeListener for all listeners on all events\n\t if (arguments.length === 0) {\n\t for (key in this._events) {\n\t if (key === 'removeListener') continue;\n\t this.removeAllListeners(key);\n\t }\n\t this.removeAllListeners('removeListener');\n\t this._events = {};\n\t return this;\n\t }\n\t\n\t listeners = this._events[type];\n\t\n\t if (isFunction(listeners)) {\n\t this.removeListener(type, listeners);\n\t } else if (listeners) {\n\t // LIFO order\n\t while (listeners.length) {\n\t this.removeListener(type, listeners[listeners.length - 1]);\n\t }\n\t }\n\t delete this._events[type];\n\t\n\t return this;\n\t};\n\t\n\tEventEmitter.prototype.listeners = function (type) {\n\t var ret;\n\t if (!this._events || !this._events[type]) ret = [];else if (isFunction(this._events[type])) ret = [this._events[type]];else ret = this._events[type].slice();\n\t return ret;\n\t};\n\t\n\tEventEmitter.prototype.listenerCount = function (type) {\n\t if (this._events) {\n\t var evlistener = this._events[type];\n\t\n\t if (isFunction(evlistener)) return 1;else if (evlistener) return evlistener.length;\n\t }\n\t return 0;\n\t};\n\t\n\tEventEmitter.listenerCount = function (emitter, type) {\n\t return emitter.listenerCount(type);\n\t};\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\t\n\tfunction isObject(arg) {\n\t return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && arg !== null;\n\t}\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar old;\n\tif (typeof Promise !== \"undefined\") old = Promise;\n\tfunction noConflict() {\n\t try {\n\t if (Promise === bluebird) Promise = old;\n\t } catch (e) {}\n\t return bluebird;\n\t}\n\tvar bluebird = __webpack_require__(4)();\n\tbluebird.noConflict = noConflict;\n\tmodule.exports = bluebird;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {\"use strict\";\n\t\n\tmodule.exports = function () {\n\t var makeSelfResolutionError = function makeSelfResolutionError() {\n\t return new TypeError(\"circular promise resolution chain\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t };\n\t var reflectHandler = function reflectHandler() {\n\t return new Promise.PromiseInspection(this._target());\n\t };\n\t var apiRejection = function apiRejection(msg) {\n\t return Promise.reject(new TypeError(msg));\n\t };\n\t function Proxyable() {}\n\t var UNDEFINED_BINDING = {};\n\t var util = __webpack_require__(6);\n\t\n\t var getDomain;\n\t if (util.isNode) {\n\t getDomain = function getDomain() {\n\t var ret = process.domain;\n\t if (ret === undefined) ret = null;\n\t return ret;\n\t };\n\t } else {\n\t getDomain = function getDomain() {\n\t return null;\n\t };\n\t }\n\t util.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\t\n\t var es5 = __webpack_require__(7);\n\t var Async = __webpack_require__(8);\n\t var async = new Async();\n\t es5.defineProperty(Promise, \"_async\", { value: async });\n\t var errors = __webpack_require__(13);\n\t var TypeError = Promise.TypeError = errors.TypeError;\n\t Promise.RangeError = errors.RangeError;\n\t var CancellationError = Promise.CancellationError = errors.CancellationError;\n\t Promise.TimeoutError = errors.TimeoutError;\n\t Promise.OperationalError = errors.OperationalError;\n\t Promise.RejectionError = errors.OperationalError;\n\t Promise.AggregateError = errors.AggregateError;\n\t var INTERNAL = function INTERNAL() {};\n\t var APPLY = {};\n\t var NEXT_FILTER = {};\n\t var tryConvertToPromise = __webpack_require__(14)(Promise, INTERNAL);\n\t var PromiseArray = __webpack_require__(15)(Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable);\n\t var Context = __webpack_require__(16)(Promise);\n\t /*jshint unused:false*/\n\t var createContext = Context.create;\n\t var debug = __webpack_require__(17)(Promise, Context);\n\t var CapturedTrace = debug.CapturedTrace;\n\t var PassThroughHandlerContext = __webpack_require__(18)(Promise, tryConvertToPromise, NEXT_FILTER);\n\t var catchFilter = __webpack_require__(19)(NEXT_FILTER);\n\t var nodebackForPromise = __webpack_require__(20);\n\t var errorObj = util.errorObj;\n\t var tryCatch = util.tryCatch;\n\t function check(self, executor) {\n\t if (self == null || self.constructor !== Promise) {\n\t throw new TypeError(\"the promise constructor cannot be invoked directly\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t if (typeof executor !== \"function\") {\n\t throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n\t }\n\t }\n\t\n\t function Promise(executor) {\n\t if (executor !== INTERNAL) {\n\t check(this, executor);\n\t }\n\t this._bitField = 0;\n\t this._fulfillmentHandler0 = undefined;\n\t this._rejectionHandler0 = undefined;\n\t this._promise0 = undefined;\n\t this._receiver0 = undefined;\n\t this._resolveFromExecutor(executor);\n\t this._promiseCreated();\n\t this._fireEvent(\"promiseCreated\", this);\n\t }\n\t\n\t Promise.prototype.toString = function () {\n\t return \"[object Promise]\";\n\t };\n\t\n\t Promise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n\t var len = arguments.length;\n\t if (len > 1) {\n\t var catchInstances = new Array(len - 1),\n\t j = 0,\n\t i;\n\t for (i = 0; i < len - 1; ++i) {\n\t var item = arguments[i];\n\t if (util.isObject(item)) {\n\t catchInstances[j++] = item;\n\t } else {\n\t return apiRejection(\"Catch statement predicate: \" + \"expecting an object but got \" + util.classString(item));\n\t }\n\t }\n\t catchInstances.length = j;\n\t fn = arguments[i];\n\t return this.then(undefined, catchFilter(catchInstances, fn, this));\n\t }\n\t return this.then(undefined, fn);\n\t };\n\t\n\t Promise.prototype.reflect = function () {\n\t return this._then(reflectHandler, reflectHandler, undefined, this, undefined);\n\t };\n\t\n\t Promise.prototype.then = function (didFulfill, didReject) {\n\t if (debug.warnings() && arguments.length > 0 && typeof didFulfill !== \"function\" && typeof didReject !== \"function\") {\n\t var msg = \".then() only accepts functions but was passed: \" + util.classString(didFulfill);\n\t if (arguments.length > 1) {\n\t msg += \", \" + util.classString(didReject);\n\t }\n\t this._warn(msg);\n\t }\n\t return this._then(didFulfill, didReject, undefined, undefined, undefined);\n\t };\n\t\n\t Promise.prototype.done = function (didFulfill, didReject) {\n\t var promise = this._then(didFulfill, didReject, undefined, undefined, undefined);\n\t promise._setIsFinal();\n\t };\n\t\n\t Promise.prototype.spread = function (fn) {\n\t if (typeof fn !== \"function\") {\n\t return apiRejection(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n\t };\n\t\n\t Promise.prototype.toJSON = function () {\n\t var ret = {\n\t isFulfilled: false,\n\t isRejected: false,\n\t fulfillmentValue: undefined,\n\t rejectionReason: undefined\n\t };\n\t if (this.isFulfilled()) {\n\t ret.fulfillmentValue = this.value();\n\t ret.isFulfilled = true;\n\t } else if (this.isRejected()) {\n\t ret.rejectionReason = this.reason();\n\t ret.isRejected = true;\n\t }\n\t return ret;\n\t };\n\t\n\t Promise.prototype.all = function () {\n\t if (arguments.length > 0) {\n\t this._warn(\".all() was passed arguments but it does not take any\");\n\t }\n\t return new PromiseArray(this).promise();\n\t };\n\t\n\t Promise.prototype.error = function (fn) {\n\t return this.caught(util.originatesFromRejection, fn);\n\t };\n\t\n\t Promise.getNewLibraryCopy = module.exports;\n\t\n\t Promise.is = function (val) {\n\t return val instanceof Promise;\n\t };\n\t\n\t Promise.fromNode = Promise.fromCallback = function (fn) {\n\t var ret = new Promise(INTERNAL);\n\t ret._captureStackTrace();\n\t var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs : false;\n\t var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n\t if (result === errorObj) {\n\t ret._rejectCallback(result.e, true);\n\t }\n\t if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n\t return ret;\n\t };\n\t\n\t Promise.all = function (promises) {\n\t return new PromiseArray(promises).promise();\n\t };\n\t\n\t Promise.cast = function (obj) {\n\t var ret = tryConvertToPromise(obj);\n\t if (!(ret instanceof Promise)) {\n\t ret = new Promise(INTERNAL);\n\t ret._captureStackTrace();\n\t ret._setFulfilled();\n\t ret._rejectionHandler0 = obj;\n\t }\n\t return ret;\n\t };\n\t\n\t Promise.resolve = Promise.fulfilled = Promise.cast;\n\t\n\t Promise.reject = Promise.rejected = function (reason) {\n\t var ret = new Promise(INTERNAL);\n\t ret._captureStackTrace();\n\t ret._rejectCallback(reason, true);\n\t return ret;\n\t };\n\t\n\t Promise.setScheduler = function (fn) {\n\t if (typeof fn !== \"function\") {\n\t throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t return async.setScheduler(fn);\n\t };\n\t\n\t Promise.prototype._then = function (didFulfill, didReject, _, receiver, internalData) {\n\t var haveInternalData = internalData !== undefined;\n\t var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n\t var target = this._target();\n\t var bitField = target._bitField;\n\t\n\t if (!haveInternalData) {\n\t promise._propagateFrom(this, 3);\n\t promise._captureStackTrace();\n\t if (receiver === undefined && (this._bitField & 2097152) !== 0) {\n\t if (!((bitField & 50397184) === 0)) {\n\t receiver = this._boundValue();\n\t } else {\n\t receiver = target === this ? undefined : this._boundTo;\n\t }\n\t }\n\t this._fireEvent(\"promiseChained\", this, promise);\n\t }\n\t\n\t var domain = getDomain();\n\t if (!((bitField & 50397184) === 0)) {\n\t var handler,\n\t value,\n\t settler = target._settlePromiseCtx;\n\t if ((bitField & 33554432) !== 0) {\n\t value = target._rejectionHandler0;\n\t handler = didFulfill;\n\t } else if ((bitField & 16777216) !== 0) {\n\t value = target._fulfillmentHandler0;\n\t handler = didReject;\n\t target._unsetRejectionIsUnhandled();\n\t } else {\n\t settler = target._settlePromiseLateCancellationObserver;\n\t value = new CancellationError(\"late cancellation observer\");\n\t target._attachExtraTrace(value);\n\t handler = didReject;\n\t }\n\t\n\t async.invoke(settler, target, {\n\t handler: domain === null ? handler : typeof handler === \"function\" && util.domainBind(domain, handler),\n\t promise: promise,\n\t receiver: receiver,\n\t value: value\n\t });\n\t } else {\n\t target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n\t }\n\t\n\t return promise;\n\t };\n\t\n\t Promise.prototype._length = function () {\n\t return this._bitField & 65535;\n\t };\n\t\n\t Promise.prototype._isFateSealed = function () {\n\t return (this._bitField & 117506048) !== 0;\n\t };\n\t\n\t Promise.prototype._isFollowing = function () {\n\t return (this._bitField & 67108864) === 67108864;\n\t };\n\t\n\t Promise.prototype._setLength = function (len) {\n\t this._bitField = this._bitField & -65536 | len & 65535;\n\t };\n\t\n\t Promise.prototype._setFulfilled = function () {\n\t this._bitField = this._bitField | 33554432;\n\t this._fireEvent(\"promiseFulfilled\", this);\n\t };\n\t\n\t Promise.prototype._setRejected = function () {\n\t this._bitField = this._bitField | 16777216;\n\t this._fireEvent(\"promiseRejected\", this);\n\t };\n\t\n\t Promise.prototype._setFollowing = function () {\n\t this._bitField = this._bitField | 67108864;\n\t this._fireEvent(\"promiseResolved\", this);\n\t };\n\t\n\t Promise.prototype._setIsFinal = function () {\n\t this._bitField = this._bitField | 4194304;\n\t };\n\t\n\t Promise.prototype._isFinal = function () {\n\t return (this._bitField & 4194304) > 0;\n\t };\n\t\n\t Promise.prototype._unsetCancelled = function () {\n\t this._bitField = this._bitField & ~65536;\n\t };\n\t\n\t Promise.prototype._setCancelled = function () {\n\t this._bitField = this._bitField | 65536;\n\t this._fireEvent(\"promiseCancelled\", this);\n\t };\n\t\n\t Promise.prototype._setWillBeCancelled = function () {\n\t this._bitField = this._bitField | 8388608;\n\t };\n\t\n\t Promise.prototype._setAsyncGuaranteed = function () {\n\t if (async.hasCustomScheduler()) return;\n\t this._bitField = this._bitField | 134217728;\n\t };\n\t\n\t Promise.prototype._receiverAt = function (index) {\n\t var ret = index === 0 ? this._receiver0 : this[index * 4 - 4 + 3];\n\t if (ret === UNDEFINED_BINDING) {\n\t return undefined;\n\t } else if (ret === undefined && this._isBound()) {\n\t return this._boundValue();\n\t }\n\t return ret;\n\t };\n\t\n\t Promise.prototype._promiseAt = function (index) {\n\t return this[index * 4 - 4 + 2];\n\t };\n\t\n\t Promise.prototype._fulfillmentHandlerAt = function (index) {\n\t return this[index * 4 - 4 + 0];\n\t };\n\t\n\t Promise.prototype._rejectionHandlerAt = function (index) {\n\t return this[index * 4 - 4 + 1];\n\t };\n\t\n\t Promise.prototype._boundValue = function () {};\n\t\n\t Promise.prototype._migrateCallback0 = function (follower) {\n\t var bitField = follower._bitField;\n\t var fulfill = follower._fulfillmentHandler0;\n\t var reject = follower._rejectionHandler0;\n\t var promise = follower._promise0;\n\t var receiver = follower._receiverAt(0);\n\t if (receiver === undefined) receiver = UNDEFINED_BINDING;\n\t this._addCallbacks(fulfill, reject, promise, receiver, null);\n\t };\n\t\n\t Promise.prototype._migrateCallbackAt = function (follower, index) {\n\t var fulfill = follower._fulfillmentHandlerAt(index);\n\t var reject = follower._rejectionHandlerAt(index);\n\t var promise = follower._promiseAt(index);\n\t var receiver = follower._receiverAt(index);\n\t if (receiver === undefined) receiver = UNDEFINED_BINDING;\n\t this._addCallbacks(fulfill, reject, promise, receiver, null);\n\t };\n\t\n\t Promise.prototype._addCallbacks = function (fulfill, reject, promise, receiver, domain) {\n\t var index = this._length();\n\t\n\t if (index >= 65535 - 4) {\n\t index = 0;\n\t this._setLength(0);\n\t }\n\t\n\t if (index === 0) {\n\t this._promise0 = promise;\n\t this._receiver0 = receiver;\n\t if (typeof fulfill === \"function\") {\n\t this._fulfillmentHandler0 = domain === null ? fulfill : util.domainBind(domain, fulfill);\n\t }\n\t if (typeof reject === \"function\") {\n\t this._rejectionHandler0 = domain === null ? reject : util.domainBind(domain, reject);\n\t }\n\t } else {\n\t var base = index * 4 - 4;\n\t this[base + 2] = promise;\n\t this[base + 3] = receiver;\n\t if (typeof fulfill === \"function\") {\n\t this[base + 0] = domain === null ? fulfill : util.domainBind(domain, fulfill);\n\t }\n\t if (typeof reject === \"function\") {\n\t this[base + 1] = domain === null ? reject : util.domainBind(domain, reject);\n\t }\n\t }\n\t this._setLength(index + 1);\n\t return index;\n\t };\n\t\n\t Promise.prototype._proxy = function (proxyable, arg) {\n\t this._addCallbacks(undefined, undefined, arg, proxyable, null);\n\t };\n\t\n\t Promise.prototype._resolveCallback = function (value, shouldBind) {\n\t if ((this._bitField & 117506048) !== 0) return;\n\t if (value === this) return this._rejectCallback(makeSelfResolutionError(), false);\n\t var maybePromise = tryConvertToPromise(value, this);\n\t if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\t\n\t if (shouldBind) this._propagateFrom(maybePromise, 2);\n\t\n\t var promise = maybePromise._target();\n\t\n\t if (promise === this) {\n\t this._reject(makeSelfResolutionError());\n\t return;\n\t }\n\t\n\t var bitField = promise._bitField;\n\t if ((bitField & 50397184) === 0) {\n\t var len = this._length();\n\t if (len > 0) promise._migrateCallback0(this);\n\t for (var i = 1; i < len; ++i) {\n\t promise._migrateCallbackAt(this, i);\n\t }\n\t this._setFollowing();\n\t this._setLength(0);\n\t this._setFollowee(promise);\n\t } else if ((bitField & 33554432) !== 0) {\n\t this._fulfill(promise._value());\n\t } else if ((bitField & 16777216) !== 0) {\n\t this._reject(promise._reason());\n\t } else {\n\t var reason = new CancellationError(\"late cancellation observer\");\n\t promise._attachExtraTrace(reason);\n\t this._reject(reason);\n\t }\n\t };\n\t\n\t Promise.prototype._rejectCallback = function (reason, synchronous, ignoreNonErrorWarnings) {\n\t var trace = util.ensureErrorObject(reason);\n\t var hasStack = trace === reason;\n\t if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n\t var message = \"a promise was rejected with a non-error: \" + util.classString(reason);\n\t this._warn(message, true);\n\t }\n\t this._attachExtraTrace(trace, synchronous ? hasStack : false);\n\t this._reject(reason);\n\t };\n\t\n\t Promise.prototype._resolveFromExecutor = function (executor) {\n\t if (executor === INTERNAL) return;\n\t var promise = this;\n\t this._captureStackTrace();\n\t this._pushContext();\n\t var synchronous = true;\n\t var r = this._execute(executor, function (value) {\n\t promise._resolveCallback(value);\n\t }, function (reason) {\n\t promise._rejectCallback(reason, synchronous);\n\t });\n\t synchronous = false;\n\t this._popContext();\n\t\n\t if (r !== undefined) {\n\t promise._rejectCallback(r, true);\n\t }\n\t };\n\t\n\t Promise.prototype._settlePromiseFromHandler = function (handler, receiver, value, promise) {\n\t var bitField = promise._bitField;\n\t if ((bitField & 65536) !== 0) return;\n\t promise._pushContext();\n\t var x;\n\t if (receiver === APPLY) {\n\t if (!value || typeof value.length !== \"number\") {\n\t x = errorObj;\n\t x.e = new TypeError(\"cannot .spread() a non-array: \" + util.classString(value));\n\t } else {\n\t x = tryCatch(handler).apply(this._boundValue(), value);\n\t }\n\t } else {\n\t x = tryCatch(handler).call(receiver, value);\n\t }\n\t var promiseCreated = promise._popContext();\n\t bitField = promise._bitField;\n\t if ((bitField & 65536) !== 0) return;\n\t\n\t if (x === NEXT_FILTER) {\n\t promise._reject(value);\n\t } else if (x === errorObj) {\n\t promise._rejectCallback(x.e, false);\n\t } else {\n\t debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n\t promise._resolveCallback(x);\n\t }\n\t };\n\t\n\t Promise.prototype._target = function () {\n\t var ret = this;\n\t while (ret._isFollowing()) {\n\t ret = ret._followee();\n\t }return ret;\n\t };\n\t\n\t Promise.prototype._followee = function () {\n\t return this._rejectionHandler0;\n\t };\n\t\n\t Promise.prototype._setFollowee = function (promise) {\n\t this._rejectionHandler0 = promise;\n\t };\n\t\n\t Promise.prototype._settlePromise = function (promise, handler, receiver, value) {\n\t var isPromise = promise instanceof Promise;\n\t var bitField = this._bitField;\n\t var asyncGuaranteed = (bitField & 134217728) !== 0;\n\t if ((bitField & 65536) !== 0) {\n\t if (isPromise) promise._invokeInternalOnCancel();\n\t\n\t if (receiver instanceof PassThroughHandlerContext && receiver.isFinallyHandler()) {\n\t receiver.cancelPromise = promise;\n\t if (tryCatch(handler).call(receiver, value) === errorObj) {\n\t promise._reject(errorObj.e);\n\t }\n\t } else if (handler === reflectHandler) {\n\t promise._fulfill(reflectHandler.call(receiver));\n\t } else if (receiver instanceof Proxyable) {\n\t receiver._promiseCancelled(promise);\n\t } else if (isPromise || promise instanceof PromiseArray) {\n\t promise._cancel();\n\t } else {\n\t receiver.cancel();\n\t }\n\t } else if (typeof handler === \"function\") {\n\t if (!isPromise) {\n\t handler.call(receiver, value, promise);\n\t } else {\n\t if (asyncGuaranteed) promise._setAsyncGuaranteed();\n\t this._settlePromiseFromHandler(handler, receiver, value, promise);\n\t }\n\t } else if (receiver instanceof Proxyable) {\n\t if (!receiver._isResolved()) {\n\t if ((bitField & 33554432) !== 0) {\n\t receiver._promiseFulfilled(value, promise);\n\t } else {\n\t receiver._promiseRejected(value, promise);\n\t }\n\t }\n\t } else if (isPromise) {\n\t if (asyncGuaranteed) promise._setAsyncGuaranteed();\n\t if ((bitField & 33554432) !== 0) {\n\t promise._fulfill(value);\n\t } else {\n\t promise._reject(value);\n\t }\n\t }\n\t };\n\t\n\t Promise.prototype._settlePromiseLateCancellationObserver = function (ctx) {\n\t var handler = ctx.handler;\n\t var promise = ctx.promise;\n\t var receiver = ctx.receiver;\n\t var value = ctx.value;\n\t if (typeof handler === \"function\") {\n\t if (!(promise instanceof Promise)) {\n\t handler.call(receiver, value, promise);\n\t } else {\n\t this._settlePromiseFromHandler(handler, receiver, value, promise);\n\t }\n\t } else if (promise instanceof Promise) {\n\t promise._reject(value);\n\t }\n\t };\n\t\n\t Promise.prototype._settlePromiseCtx = function (ctx) {\n\t this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n\t };\n\t\n\t Promise.prototype._settlePromise0 = function (handler, value, bitField) {\n\t var promise = this._promise0;\n\t var receiver = this._receiverAt(0);\n\t this._promise0 = undefined;\n\t this._receiver0 = undefined;\n\t this._settlePromise(promise, handler, receiver, value);\n\t };\n\t\n\t Promise.prototype._clearCallbackDataAtIndex = function (index) {\n\t var base = index * 4 - 4;\n\t this[base + 2] = this[base + 3] = this[base + 0] = this[base + 1] = undefined;\n\t };\n\t\n\t Promise.prototype._fulfill = function (value) {\n\t var bitField = this._bitField;\n\t if ((bitField & 117506048) >>> 16) return;\n\t if (value === this) {\n\t var err = makeSelfResolutionError();\n\t this._attachExtraTrace(err);\n\t return this._reject(err);\n\t }\n\t this._setFulfilled();\n\t this._rejectionHandler0 = value;\n\t\n\t if ((bitField & 65535) > 0) {\n\t if ((bitField & 134217728) !== 0) {\n\t this._settlePromises();\n\t } else {\n\t async.settlePromises(this);\n\t }\n\t }\n\t };\n\t\n\t Promise.prototype._reject = function (reason) {\n\t var bitField = this._bitField;\n\t if ((bitField & 117506048) >>> 16) return;\n\t this._setRejected();\n\t this._fulfillmentHandler0 = reason;\n\t\n\t if (this._isFinal()) {\n\t return async.fatalError(reason, util.isNode);\n\t }\n\t\n\t if ((bitField & 65535) > 0) {\n\t async.settlePromises(this);\n\t } else {\n\t this._ensurePossibleRejectionHandled();\n\t }\n\t };\n\t\n\t Promise.prototype._fulfillPromises = function (len, value) {\n\t for (var i = 1; i < len; i++) {\n\t var handler = this._fulfillmentHandlerAt(i);\n\t var promise = this._promiseAt(i);\n\t var receiver = this._receiverAt(i);\n\t this._clearCallbackDataAtIndex(i);\n\t this._settlePromise(promise, handler, receiver, value);\n\t }\n\t };\n\t\n\t Promise.prototype._rejectPromises = function (len, reason) {\n\t for (var i = 1; i < len; i++) {\n\t var handler = this._rejectionHandlerAt(i);\n\t var promise = this._promiseAt(i);\n\t var receiver = this._receiverAt(i);\n\t this._clearCallbackDataAtIndex(i);\n\t this._settlePromise(promise, handler, receiver, reason);\n\t }\n\t };\n\t\n\t Promise.prototype._settlePromises = function () {\n\t var bitField = this._bitField;\n\t var len = bitField & 65535;\n\t\n\t if (len > 0) {\n\t if ((bitField & 16842752) !== 0) {\n\t var reason = this._fulfillmentHandler0;\n\t this._settlePromise0(this._rejectionHandler0, reason, bitField);\n\t this._rejectPromises(len, reason);\n\t } else {\n\t var value = this._rejectionHandler0;\n\t this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n\t this._fulfillPromises(len, value);\n\t }\n\t this._setLength(0);\n\t }\n\t this._clearCancellationData();\n\t };\n\t\n\t Promise.prototype._settledValue = function () {\n\t var bitField = this._bitField;\n\t if ((bitField & 33554432) !== 0) {\n\t return this._rejectionHandler0;\n\t } else if ((bitField & 16777216) !== 0) {\n\t return this._fulfillmentHandler0;\n\t }\n\t };\n\t\n\t function deferResolve(v) {\n\t this.promise._resolveCallback(v);\n\t }\n\t function deferReject(v) {\n\t this.promise._rejectCallback(v, false);\n\t }\n\t\n\t Promise.defer = Promise.pending = function () {\n\t debug.deprecated(\"Promise.defer\", \"new Promise\");\n\t var promise = new Promise(INTERNAL);\n\t return {\n\t promise: promise,\n\t resolve: deferResolve,\n\t reject: deferReject\n\t };\n\t };\n\t\n\t util.notEnumerableProp(Promise, \"_makeSelfResolutionError\", makeSelfResolutionError);\n\t\n\t __webpack_require__(21)(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug);\n\t __webpack_require__(22)(Promise, INTERNAL, tryConvertToPromise, debug);\n\t __webpack_require__(23)(Promise, PromiseArray, apiRejection, debug);\n\t __webpack_require__(24)(Promise);\n\t __webpack_require__(25)(Promise);\n\t __webpack_require__(26)(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\n\t Promise.Promise = Promise;\n\t Promise.version = \"3.5.1\";\n\t __webpack_require__(27)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n\t __webpack_require__(28)(Promise);\n\t __webpack_require__(29)(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\n\t __webpack_require__(30)(Promise, INTERNAL, debug);\n\t __webpack_require__(31)(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\n\t __webpack_require__(32)(Promise);\n\t __webpack_require__(33)(Promise, INTERNAL);\n\t __webpack_require__(34)(Promise, PromiseArray, tryConvertToPromise, apiRejection);\n\t __webpack_require__(35)(Promise, INTERNAL, tryConvertToPromise, apiRejection);\n\t __webpack_require__(36)(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n\t __webpack_require__(37)(Promise, PromiseArray, debug);\n\t __webpack_require__(38)(Promise, PromiseArray, apiRejection);\n\t __webpack_require__(39)(Promise, INTERNAL);\n\t __webpack_require__(40)(Promise, INTERNAL);\n\t __webpack_require__(41)(Promise);\n\t\n\t util.toFastProperties(Promise);\n\t util.toFastProperties(Promise.prototype);\n\t function fillTypes(value) {\n\t var p = new Promise(INTERNAL);\n\t p._fulfillmentHandler0 = value;\n\t p._rejectionHandler0 = value;\n\t p._promise0 = value;\n\t p._receiver0 = value;\n\t }\n\t // Complete slack tracking, opt out of field-type tracking and \n\t // stabilize map \n\t fillTypes({ a: 1 });\n\t fillTypes({ b: 2 });\n\t fillTypes({ c: 3 });\n\t fillTypes(1);\n\t fillTypes(function () {});\n\t fillTypes(undefined);\n\t fillTypes(false);\n\t fillTypes(new Promise(INTERNAL));\n\t debug.setBounds(Async.firstLineError, util.lastLineError);\n\t return Promise;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t// shim for using process in browser\n\tvar process = module.exports = {};\n\t\n\t// cached from whatever global is present so that test runners that stub it\n\t// don't break things. But we need to wrap it in a try catch in case it is\n\t// wrapped in strict mode code which doesn't define any globals. It's inside a\n\t// function because try/catches deoptimize in certain engines.\n\t\n\tvar cachedSetTimeout;\n\tvar cachedClearTimeout;\n\t\n\tfunction defaultSetTimout() {\n\t throw new Error('setTimeout has not been defined');\n\t}\n\tfunction defaultClearTimeout() {\n\t throw new Error('clearTimeout has not been defined');\n\t}\n\t(function () {\n\t try {\n\t if (typeof setTimeout === 'function') {\n\t cachedSetTimeout = setTimeout;\n\t } else {\n\t cachedSetTimeout = defaultSetTimout;\n\t }\n\t } catch (e) {\n\t cachedSetTimeout = defaultSetTimout;\n\t }\n\t try {\n\t if (typeof clearTimeout === 'function') {\n\t cachedClearTimeout = clearTimeout;\n\t } else {\n\t cachedClearTimeout = defaultClearTimeout;\n\t }\n\t } catch (e) {\n\t cachedClearTimeout = defaultClearTimeout;\n\t }\n\t})();\n\tfunction runTimeout(fun) {\n\t if (cachedSetTimeout === setTimeout) {\n\t //normal enviroments in sane situations\n\t return setTimeout(fun, 0);\n\t }\n\t // if setTimeout wasn't available but was latter defined\n\t if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n\t cachedSetTimeout = setTimeout;\n\t return setTimeout(fun, 0);\n\t }\n\t try {\n\t // when when somebody has screwed with setTimeout but no I.E. maddness\n\t return cachedSetTimeout(fun, 0);\n\t } catch (e) {\n\t try {\n\t // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t return cachedSetTimeout.call(null, fun, 0);\n\t } catch (e) {\n\t // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n\t return cachedSetTimeout.call(this, fun, 0);\n\t }\n\t }\n\t}\n\tfunction runClearTimeout(marker) {\n\t if (cachedClearTimeout === clearTimeout) {\n\t //normal enviroments in sane situations\n\t return clearTimeout(marker);\n\t }\n\t // if clearTimeout wasn't available but was latter defined\n\t if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n\t cachedClearTimeout = clearTimeout;\n\t return clearTimeout(marker);\n\t }\n\t try {\n\t // when when somebody has screwed with setTimeout but no I.E. maddness\n\t return cachedClearTimeout(marker);\n\t } catch (e) {\n\t try {\n\t // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n\t return cachedClearTimeout.call(null, marker);\n\t } catch (e) {\n\t // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n\t // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n\t return cachedClearTimeout.call(this, marker);\n\t }\n\t }\n\t}\n\tvar queue = [];\n\tvar draining = false;\n\tvar currentQueue;\n\tvar queueIndex = -1;\n\t\n\tfunction cleanUpNextTick() {\n\t if (!draining || !currentQueue) {\n\t return;\n\t }\n\t draining = false;\n\t if (currentQueue.length) {\n\t queue = currentQueue.concat(queue);\n\t } else {\n\t queueIndex = -1;\n\t }\n\t if (queue.length) {\n\t drainQueue();\n\t }\n\t}\n\t\n\tfunction drainQueue() {\n\t if (draining) {\n\t return;\n\t }\n\t var timeout = runTimeout(cleanUpNextTick);\n\t draining = true;\n\t\n\t var len = queue.length;\n\t while (len) {\n\t currentQueue = queue;\n\t queue = [];\n\t while (++queueIndex < len) {\n\t if (currentQueue) {\n\t currentQueue[queueIndex].run();\n\t }\n\t }\n\t queueIndex = -1;\n\t len = queue.length;\n\t }\n\t currentQueue = null;\n\t draining = false;\n\t runClearTimeout(timeout);\n\t}\n\t\n\tprocess.nextTick = function (fun) {\n\t var args = new Array(arguments.length - 1);\n\t if (arguments.length > 1) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t args[i - 1] = arguments[i];\n\t }\n\t }\n\t queue.push(new Item(fun, args));\n\t if (queue.length === 1 && !draining) {\n\t runTimeout(drainQueue);\n\t }\n\t};\n\t\n\t// v8 likes predictible objects\n\tfunction Item(fun, array) {\n\t this.fun = fun;\n\t this.array = array;\n\t}\n\tItem.prototype.run = function () {\n\t this.fun.apply(null, this.array);\n\t};\n\tprocess.title = 'browser';\n\tprocess.browser = true;\n\tprocess.env = {};\n\tprocess.argv = [];\n\tprocess.version = ''; // empty string to avoid regexp issues\n\tprocess.versions = {};\n\t\n\tfunction noop() {}\n\t\n\tprocess.on = noop;\n\tprocess.addListener = noop;\n\tprocess.once = noop;\n\tprocess.off = noop;\n\tprocess.removeListener = noop;\n\tprocess.removeAllListeners = noop;\n\tprocess.emit = noop;\n\tprocess.prependListener = noop;\n\tprocess.prependOnceListener = noop;\n\t\n\tprocess.listeners = function (name) {\n\t return [];\n\t};\n\t\n\tprocess.binding = function (name) {\n\t throw new Error('process.binding is not supported');\n\t};\n\t\n\tprocess.cwd = function () {\n\t return '/';\n\t};\n\tprocess.chdir = function (dir) {\n\t throw new Error('process.chdir is not supported');\n\t};\n\tprocess.umask = function () {\n\t return 0;\n\t};\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, process) {\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar es5 = __webpack_require__(7);\n\tvar canEvaluate = typeof navigator == \"undefined\";\n\t\n\tvar errorObj = { e: {} };\n\tvar tryCatchTarget;\n\tvar globalObject = typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : undefined !== undefined ? undefined : null;\n\t\n\tfunction tryCatcher() {\n\t try {\n\t var target = tryCatchTarget;\n\t tryCatchTarget = null;\n\t return target.apply(this, arguments);\n\t } catch (e) {\n\t errorObj.e = e;\n\t return errorObj;\n\t }\n\t}\n\tfunction tryCatch(fn) {\n\t tryCatchTarget = fn;\n\t return tryCatcher;\n\t}\n\t\n\tvar inherits = function inherits(Child, Parent) {\n\t var hasProp = {}.hasOwnProperty;\n\t\n\t function T() {\n\t this.constructor = Child;\n\t this.constructor$ = Parent;\n\t for (var propertyName in Parent.prototype) {\n\t if (hasProp.call(Parent.prototype, propertyName) && propertyName.charAt(propertyName.length - 1) !== \"$\") {\n\t this[propertyName + \"$\"] = Parent.prototype[propertyName];\n\t }\n\t }\n\t }\n\t T.prototype = Parent.prototype;\n\t Child.prototype = new T();\n\t return Child.prototype;\n\t};\n\t\n\tfunction isPrimitive(val) {\n\t return val == null || val === true || val === false || typeof val === \"string\" || typeof val === \"number\";\n\t}\n\t\n\tfunction isObject(value) {\n\t return typeof value === \"function\" || (typeof value === \"undefined\" ? \"undefined\" : _typeof(value)) === \"object\" && value !== null;\n\t}\n\t\n\tfunction maybeWrapAsError(maybeError) {\n\t if (!isPrimitive(maybeError)) return maybeError;\n\t\n\t return new Error(safeToString(maybeError));\n\t}\n\t\n\tfunction withAppended(target, appendee) {\n\t var len = target.length;\n\t var ret = new Array(len + 1);\n\t var i;\n\t for (i = 0; i < len; ++i) {\n\t ret[i] = target[i];\n\t }\n\t ret[i] = appendee;\n\t return ret;\n\t}\n\t\n\tfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n\t if (es5.isES5) {\n\t var desc = Object.getOwnPropertyDescriptor(obj, key);\n\t\n\t if (desc != null) {\n\t return desc.get == null && desc.set == null ? desc.value : defaultValue;\n\t }\n\t } else {\n\t return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n\t }\n\t}\n\t\n\tfunction notEnumerableProp(obj, name, value) {\n\t if (isPrimitive(obj)) return obj;\n\t var descriptor = {\n\t value: value,\n\t configurable: true,\n\t enumerable: false,\n\t writable: true\n\t };\n\t es5.defineProperty(obj, name, descriptor);\n\t return obj;\n\t}\n\t\n\tfunction thrower(r) {\n\t throw r;\n\t}\n\t\n\tvar inheritedDataKeys = function () {\n\t var excludedPrototypes = [Array.prototype, Object.prototype, Function.prototype];\n\t\n\t var isExcludedProto = function isExcludedProto(val) {\n\t for (var i = 0; i < excludedPrototypes.length; ++i) {\n\t if (excludedPrototypes[i] === val) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t\n\t if (es5.isES5) {\n\t var getKeys = Object.getOwnPropertyNames;\n\t return function (obj) {\n\t var ret = [];\n\t var visitedKeys = Object.create(null);\n\t while (obj != null && !isExcludedProto(obj)) {\n\t var keys;\n\t try {\n\t keys = getKeys(obj);\n\t } catch (e) {\n\t return ret;\n\t }\n\t for (var i = 0; i < keys.length; ++i) {\n\t var key = keys[i];\n\t if (visitedKeys[key]) continue;\n\t visitedKeys[key] = true;\n\t var desc = Object.getOwnPropertyDescriptor(obj, key);\n\t if (desc != null && desc.get == null && desc.set == null) {\n\t ret.push(key);\n\t }\n\t }\n\t obj = es5.getPrototypeOf(obj);\n\t }\n\t return ret;\n\t };\n\t } else {\n\t var hasProp = {}.hasOwnProperty;\n\t return function (obj) {\n\t if (isExcludedProto(obj)) return [];\n\t var ret = [];\n\t\n\t /*jshint forin:false */\n\t enumeration: for (var key in obj) {\n\t if (hasProp.call(obj, key)) {\n\t ret.push(key);\n\t } else {\n\t for (var i = 0; i < excludedPrototypes.length; ++i) {\n\t if (hasProp.call(excludedPrototypes[i], key)) {\n\t continue enumeration;\n\t }\n\t }\n\t ret.push(key);\n\t }\n\t }\n\t return ret;\n\t };\n\t }\n\t}();\n\t\n\tvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\n\tfunction isClass(fn) {\n\t try {\n\t if (typeof fn === \"function\") {\n\t var keys = es5.names(fn.prototype);\n\t\n\t var hasMethods = es5.isES5 && keys.length > 1;\n\t var hasMethodsOtherThanConstructor = keys.length > 0 && !(keys.length === 1 && keys[0] === \"constructor\");\n\t var hasThisAssignmentAndStaticMethods = thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\t\n\t if (hasMethods || hasMethodsOtherThanConstructor || hasThisAssignmentAndStaticMethods) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t } catch (e) {\n\t return false;\n\t }\n\t}\n\t\n\tfunction toFastProperties(obj) {\n\t /*jshint -W027,-W055,-W031*/\n\t function FakeConstructor() {}\n\t FakeConstructor.prototype = obj;\n\t var l = 8;\n\t while (l--) {\n\t new FakeConstructor();\n\t }return obj;\n\t eval(obj);\n\t}\n\t\n\tvar rident = /^[a-z$_][a-z$_0-9]*$/i;\n\tfunction isIdentifier(str) {\n\t return rident.test(str);\n\t}\n\t\n\tfunction filledRange(count, prefix, suffix) {\n\t var ret = new Array(count);\n\t for (var i = 0; i < count; ++i) {\n\t ret[i] = prefix + i + suffix;\n\t }\n\t return ret;\n\t}\n\t\n\tfunction safeToString(obj) {\n\t try {\n\t return obj + \"\";\n\t } catch (e) {\n\t return \"[no string representation]\";\n\t }\n\t}\n\t\n\tfunction isError(obj) {\n\t return obj instanceof Error || obj !== null && (typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj)) === \"object\" && typeof obj.message === \"string\" && typeof obj.name === \"string\";\n\t}\n\t\n\tfunction markAsOriginatingFromRejection(e) {\n\t try {\n\t notEnumerableProp(e, \"isOperational\", true);\n\t } catch (ignore) {}\n\t}\n\t\n\tfunction originatesFromRejection(e) {\n\t if (e == null) return false;\n\t return e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError || e[\"isOperational\"] === true;\n\t}\n\t\n\tfunction canAttachTrace(obj) {\n\t return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n\t}\n\t\n\tvar ensureErrorObject = function () {\n\t if (!(\"stack\" in new Error())) {\n\t return function (value) {\n\t if (canAttachTrace(value)) return value;\n\t try {\n\t throw new Error(safeToString(value));\n\t } catch (err) {\n\t return err;\n\t }\n\t };\n\t } else {\n\t return function (value) {\n\t if (canAttachTrace(value)) return value;\n\t return new Error(safeToString(value));\n\t };\n\t }\n\t}();\n\t\n\tfunction classString(obj) {\n\t return {}.toString.call(obj);\n\t}\n\t\n\tfunction copyDescriptors(from, to, filter) {\n\t var keys = es5.names(from);\n\t for (var i = 0; i < keys.length; ++i) {\n\t var key = keys[i];\n\t if (filter(key)) {\n\t try {\n\t es5.defineProperty(to, key, es5.getDescriptor(from, key));\n\t } catch (ignore) {}\n\t }\n\t }\n\t}\n\t\n\tvar asArray = function asArray(v) {\n\t if (es5.isArray(v)) {\n\t return v;\n\t }\n\t return null;\n\t};\n\t\n\tif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n\t var ArrayFrom = typeof Array.from === \"function\" ? function (v) {\n\t return Array.from(v);\n\t } : function (v) {\n\t var ret = [];\n\t var it = v[Symbol.iterator]();\n\t var itResult;\n\t while (!(itResult = it.next()).done) {\n\t ret.push(itResult.value);\n\t }\n\t return ret;\n\t };\n\t\n\t asArray = function asArray(v) {\n\t if (es5.isArray(v)) {\n\t return v;\n\t } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n\t return ArrayFrom(v);\n\t }\n\t return null;\n\t };\n\t}\n\t\n\tvar isNode = typeof process !== \"undefined\" && classString(process).toLowerCase() === \"[object process]\";\n\t\n\tvar hasEnvVariables = typeof process !== \"undefined\" && typeof process.env !== \"undefined\";\n\t\n\tfunction env(key) {\n\t return hasEnvVariables ? process.env[key] : undefined;\n\t}\n\t\n\tfunction getNativePromise() {\n\t if (typeof Promise === \"function\") {\n\t try {\n\t var promise = new Promise(function () {});\n\t if ({}.toString.call(promise) === \"[object Promise]\") {\n\t return Promise;\n\t }\n\t } catch (e) {}\n\t }\n\t}\n\t\n\tfunction domainBind(self, cb) {\n\t return self.bind(cb);\n\t}\n\t\n\tvar ret = {\n\t isClass: isClass,\n\t isIdentifier: isIdentifier,\n\t inheritedDataKeys: inheritedDataKeys,\n\t getDataPropertyOrDefault: getDataPropertyOrDefault,\n\t thrower: thrower,\n\t isArray: es5.isArray,\n\t asArray: asArray,\n\t notEnumerableProp: notEnumerableProp,\n\t isPrimitive: isPrimitive,\n\t isObject: isObject,\n\t isError: isError,\n\t canEvaluate: canEvaluate,\n\t errorObj: errorObj,\n\t tryCatch: tryCatch,\n\t inherits: inherits,\n\t withAppended: withAppended,\n\t maybeWrapAsError: maybeWrapAsError,\n\t toFastProperties: toFastProperties,\n\t filledRange: filledRange,\n\t toString: safeToString,\n\t canAttachTrace: canAttachTrace,\n\t ensureErrorObject: ensureErrorObject,\n\t originatesFromRejection: originatesFromRejection,\n\t markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n\t classString: classString,\n\t copyDescriptors: copyDescriptors,\n\t hasDevTools: typeof chrome !== \"undefined\" && chrome && typeof chrome.loadTimes === \"function\",\n\t isNode: isNode,\n\t hasEnvVariables: hasEnvVariables,\n\t env: env,\n\t global: globalObject,\n\t getNativePromise: getNativePromise,\n\t domainBind: domainBind\n\t};\n\tret.isRecentNode = ret.isNode && function () {\n\t var version = process.versions.node.split(\".\").map(Number);\n\t return version[0] === 0 && version[1] > 10 || version[0] > 0;\n\t}();\n\t\n\tif (ret.isNode) ret.toFastProperties(process);\n\t\n\ttry {\n\t throw new Error();\n\t} catch (e) {\n\t ret.lastLineError = e;\n\t}\n\tmodule.exports = ret;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(5)))\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar isES5 = function () {\n\t \"use strict\";\n\t\n\t return this === undefined;\n\t}();\n\t\n\tif (isES5) {\n\t module.exports = {\n\t freeze: Object.freeze,\n\t defineProperty: Object.defineProperty,\n\t getDescriptor: Object.getOwnPropertyDescriptor,\n\t keys: Object.keys,\n\t names: Object.getOwnPropertyNames,\n\t getPrototypeOf: Object.getPrototypeOf,\n\t isArray: Array.isArray,\n\t isES5: isES5,\n\t propertyIsWritable: function propertyIsWritable(obj, prop) {\n\t var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n\t return !!(!descriptor || descriptor.writable || descriptor.set);\n\t }\n\t };\n\t} else {\n\t var has = {}.hasOwnProperty;\n\t var str = {}.toString;\n\t var proto = {}.constructor.prototype;\n\t\n\t var ObjectKeys = function ObjectKeys(o) {\n\t var ret = [];\n\t for (var key in o) {\n\t if (has.call(o, key)) {\n\t ret.push(key);\n\t }\n\t }\n\t return ret;\n\t };\n\t\n\t var ObjectGetDescriptor = function ObjectGetDescriptor(o, key) {\n\t return { value: o[key] };\n\t };\n\t\n\t var ObjectDefineProperty = function ObjectDefineProperty(o, key, desc) {\n\t o[key] = desc.value;\n\t return o;\n\t };\n\t\n\t var ObjectFreeze = function ObjectFreeze(obj) {\n\t return obj;\n\t };\n\t\n\t var ObjectGetPrototypeOf = function ObjectGetPrototypeOf(obj) {\n\t try {\n\t return Object(obj).constructor.prototype;\n\t } catch (e) {\n\t return proto;\n\t }\n\t };\n\t\n\t var ArrayIsArray = function ArrayIsArray(obj) {\n\t try {\n\t return str.call(obj) === \"[object Array]\";\n\t } catch (e) {\n\t return false;\n\t }\n\t };\n\t\n\t module.exports = {\n\t isArray: ArrayIsArray,\n\t keys: ObjectKeys,\n\t names: ObjectKeys,\n\t defineProperty: ObjectDefineProperty,\n\t getDescriptor: ObjectGetDescriptor,\n\t freeze: ObjectFreeze,\n\t getPrototypeOf: ObjectGetPrototypeOf,\n\t isES5: isES5,\n\t propertyIsWritable: function propertyIsWritable() {\n\t return true;\n\t }\n\t };\n\t}\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {\"use strict\";\n\t\n\tvar firstLineError;\n\ttry {\n\t throw new Error();\n\t} catch (e) {\n\t firstLineError = e;\n\t}\n\tvar schedule = __webpack_require__(9);\n\tvar Queue = __webpack_require__(12);\n\tvar util = __webpack_require__(6);\n\t\n\tfunction Async() {\n\t this._customScheduler = false;\n\t this._isTickUsed = false;\n\t this._lateQueue = new Queue(16);\n\t this._normalQueue = new Queue(16);\n\t this._haveDrainedQueues = false;\n\t this._trampolineEnabled = true;\n\t var self = this;\n\t this.drainQueues = function () {\n\t self._drainQueues();\n\t };\n\t this._schedule = schedule;\n\t}\n\t\n\tAsync.prototype.setScheduler = function (fn) {\n\t var prev = this._schedule;\n\t this._schedule = fn;\n\t this._customScheduler = true;\n\t return prev;\n\t};\n\t\n\tAsync.prototype.hasCustomScheduler = function () {\n\t return this._customScheduler;\n\t};\n\t\n\tAsync.prototype.enableTrampoline = function () {\n\t this._trampolineEnabled = true;\n\t};\n\t\n\tAsync.prototype.disableTrampolineIfNecessary = function () {\n\t if (util.hasDevTools) {\n\t this._trampolineEnabled = false;\n\t }\n\t};\n\t\n\tAsync.prototype.haveItemsQueued = function () {\n\t return this._isTickUsed || this._haveDrainedQueues;\n\t};\n\t\n\tAsync.prototype.fatalError = function (e, isNode) {\n\t if (isNode) {\n\t process.stderr.write(\"Fatal \" + (e instanceof Error ? e.stack : e) + \"\\n\");\n\t process.exit(2);\n\t } else {\n\t this.throwLater(e);\n\t }\n\t};\n\t\n\tAsync.prototype.throwLater = function (fn, arg) {\n\t if (arguments.length === 1) {\n\t arg = fn;\n\t fn = function fn() {\n\t throw arg;\n\t };\n\t }\n\t if (typeof setTimeout !== \"undefined\") {\n\t setTimeout(function () {\n\t fn(arg);\n\t }, 0);\n\t } else try {\n\t this._schedule(function () {\n\t fn(arg);\n\t });\n\t } catch (e) {\n\t throw new Error(\"No async scheduler available\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t};\n\t\n\tfunction AsyncInvokeLater(fn, receiver, arg) {\n\t this._lateQueue.push(fn, receiver, arg);\n\t this._queueTick();\n\t}\n\t\n\tfunction AsyncInvoke(fn, receiver, arg) {\n\t this._normalQueue.push(fn, receiver, arg);\n\t this._queueTick();\n\t}\n\t\n\tfunction AsyncSettlePromises(promise) {\n\t this._normalQueue._pushOne(promise);\n\t this._queueTick();\n\t}\n\t\n\tif (!util.hasDevTools) {\n\t Async.prototype.invokeLater = AsyncInvokeLater;\n\t Async.prototype.invoke = AsyncInvoke;\n\t Async.prototype.settlePromises = AsyncSettlePromises;\n\t} else {\n\t Async.prototype.invokeLater = function (fn, receiver, arg) {\n\t if (this._trampolineEnabled) {\n\t AsyncInvokeLater.call(this, fn, receiver, arg);\n\t } else {\n\t this._schedule(function () {\n\t setTimeout(function () {\n\t fn.call(receiver, arg);\n\t }, 100);\n\t });\n\t }\n\t };\n\t\n\t Async.prototype.invoke = function (fn, receiver, arg) {\n\t if (this._trampolineEnabled) {\n\t AsyncInvoke.call(this, fn, receiver, arg);\n\t } else {\n\t this._schedule(function () {\n\t fn.call(receiver, arg);\n\t });\n\t }\n\t };\n\t\n\t Async.prototype.settlePromises = function (promise) {\n\t if (this._trampolineEnabled) {\n\t AsyncSettlePromises.call(this, promise);\n\t } else {\n\t this._schedule(function () {\n\t promise._settlePromises();\n\t });\n\t }\n\t };\n\t}\n\t\n\tAsync.prototype._drainQueue = function (queue) {\n\t while (queue.length() > 0) {\n\t var fn = queue.shift();\n\t if (typeof fn !== \"function\") {\n\t fn._settlePromises();\n\t continue;\n\t }\n\t var receiver = queue.shift();\n\t var arg = queue.shift();\n\t fn.call(receiver, arg);\n\t }\n\t};\n\t\n\tAsync.prototype._drainQueues = function () {\n\t this._drainQueue(this._normalQueue);\n\t this._reset();\n\t this._haveDrainedQueues = true;\n\t this._drainQueue(this._lateQueue);\n\t};\n\t\n\tAsync.prototype._queueTick = function () {\n\t if (!this._isTickUsed) {\n\t this._isTickUsed = true;\n\t this._schedule(this.drainQueues);\n\t }\n\t};\n\t\n\tAsync.prototype._reset = function () {\n\t this._isTickUsed = false;\n\t};\n\t\n\tmodule.exports = Async;\n\tmodule.exports.firstLineError = firstLineError;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, process, setImmediate) {\"use strict\";\n\t\n\tvar util = __webpack_require__(6);\n\tvar schedule;\n\tvar noAsyncScheduler = function noAsyncScheduler() {\n\t throw new Error(\"No async scheduler available\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t};\n\tvar NativePromise = util.getNativePromise();\n\tif (util.isNode && typeof MutationObserver === \"undefined\") {\n\t var GlobalSetImmediate = global.setImmediate;\n\t var ProcessNextTick = process.nextTick;\n\t schedule = util.isRecentNode ? function (fn) {\n\t GlobalSetImmediate.call(global, fn);\n\t } : function (fn) {\n\t ProcessNextTick.call(process, fn);\n\t };\n\t} else if (typeof NativePromise === \"function\" && typeof NativePromise.resolve === \"function\") {\n\t var nativePromise = NativePromise.resolve();\n\t schedule = function schedule(fn) {\n\t nativePromise.then(fn);\n\t };\n\t} else if (typeof MutationObserver !== \"undefined\" && !(typeof window !== \"undefined\" && window.navigator && (window.navigator.standalone || window.cordova))) {\n\t schedule = function () {\n\t var div = document.createElement(\"div\");\n\t var opts = { attributes: true };\n\t var toggleScheduled = false;\n\t var div2 = document.createElement(\"div\");\n\t var o2 = new MutationObserver(function () {\n\t div.classList.toggle(\"foo\");\n\t toggleScheduled = false;\n\t });\n\t o2.observe(div2, opts);\n\t\n\t var scheduleToggle = function scheduleToggle() {\n\t if (toggleScheduled) return;\n\t toggleScheduled = true;\n\t div2.classList.toggle(\"foo\");\n\t };\n\t\n\t return function schedule(fn) {\n\t var o = new MutationObserver(function () {\n\t o.disconnect();\n\t fn();\n\t });\n\t o.observe(div, opts);\n\t scheduleToggle();\n\t };\n\t }();\n\t} else if (typeof setImmediate !== \"undefined\") {\n\t schedule = function schedule(fn) {\n\t setImmediate(fn);\n\t };\n\t} else if (typeof setTimeout !== \"undefined\") {\n\t schedule = function schedule(fn) {\n\t setTimeout(fn, 0);\n\t };\n\t} else {\n\t schedule = noAsyncScheduler;\n\t}\n\tmodule.exports = schedule;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(5), __webpack_require__(10).setImmediate))\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar apply = Function.prototype.apply;\n\t\n\t// DOM APIs, for completeness\n\t\n\texports.setTimeout = function () {\n\t return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n\t};\n\texports.setInterval = function () {\n\t return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n\t};\n\texports.clearTimeout = exports.clearInterval = function (timeout) {\n\t if (timeout) {\n\t timeout.close();\n\t }\n\t};\n\t\n\tfunction Timeout(id, clearFn) {\n\t this._id = id;\n\t this._clearFn = clearFn;\n\t}\n\tTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\tTimeout.prototype.close = function () {\n\t this._clearFn.call(window, this._id);\n\t};\n\t\n\t// Does not start the time, just sets up the members needed.\n\texports.enroll = function (item, msecs) {\n\t clearTimeout(item._idleTimeoutId);\n\t item._idleTimeout = msecs;\n\t};\n\t\n\texports.unenroll = function (item) {\n\t clearTimeout(item._idleTimeoutId);\n\t item._idleTimeout = -1;\n\t};\n\t\n\texports._unrefActive = exports.active = function (item) {\n\t clearTimeout(item._idleTimeoutId);\n\t\n\t var msecs = item._idleTimeout;\n\t if (msecs >= 0) {\n\t item._idleTimeoutId = setTimeout(function onTimeout() {\n\t if (item._onTimeout) item._onTimeout();\n\t }, msecs);\n\t }\n\t};\n\t\n\t// setimmediate attaches itself to the global object\n\t__webpack_require__(11);\n\texports.setImmediate = setImmediate;\n\texports.clearImmediate = clearImmediate;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, process) {\"use strict\";\n\t\n\t(function (global, undefined) {\n\t \"use strict\";\n\t\n\t if (global.setImmediate) {\n\t return;\n\t }\n\t\n\t var nextHandle = 1; // Spec says greater than zero\n\t var tasksByHandle = {};\n\t var currentlyRunningATask = false;\n\t var doc = global.document;\n\t var registerImmediate;\n\t\n\t function setImmediate(callback) {\n\t // Callback can either be a function or a string\n\t if (typeof callback !== \"function\") {\n\t callback = new Function(\"\" + callback);\n\t }\n\t // Copy function arguments\n\t var args = new Array(arguments.length - 1);\n\t for (var i = 0; i < args.length; i++) {\n\t args[i] = arguments[i + 1];\n\t }\n\t // Store and register the task\n\t var task = { callback: callback, args: args };\n\t tasksByHandle[nextHandle] = task;\n\t registerImmediate(nextHandle);\n\t return nextHandle++;\n\t }\n\t\n\t function clearImmediate(handle) {\n\t delete tasksByHandle[handle];\n\t }\n\t\n\t function run(task) {\n\t var callback = task.callback;\n\t var args = task.args;\n\t switch (args.length) {\n\t case 0:\n\t callback();\n\t break;\n\t case 1:\n\t callback(args[0]);\n\t break;\n\t case 2:\n\t callback(args[0], args[1]);\n\t break;\n\t case 3:\n\t callback(args[0], args[1], args[2]);\n\t break;\n\t default:\n\t callback.apply(undefined, args);\n\t break;\n\t }\n\t }\n\t\n\t function runIfPresent(handle) {\n\t // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n\t // So if we're currently running a task, we'll need to delay this invocation.\n\t if (currentlyRunningATask) {\n\t // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n\t // \"too much recursion\" error.\n\t setTimeout(runIfPresent, 0, handle);\n\t } else {\n\t var task = tasksByHandle[handle];\n\t if (task) {\n\t currentlyRunningATask = true;\n\t try {\n\t run(task);\n\t } finally {\n\t clearImmediate(handle);\n\t currentlyRunningATask = false;\n\t }\n\t }\n\t }\n\t }\n\t\n\t function installNextTickImplementation() {\n\t registerImmediate = function registerImmediate(handle) {\n\t process.nextTick(function () {\n\t runIfPresent(handle);\n\t });\n\t };\n\t }\n\t\n\t function canUsePostMessage() {\n\t // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n\t // where `global.postMessage` means something completely different and can't be used for this purpose.\n\t if (global.postMessage && !global.importScripts) {\n\t var postMessageIsAsynchronous = true;\n\t var oldOnMessage = global.onmessage;\n\t global.onmessage = function () {\n\t postMessageIsAsynchronous = false;\n\t };\n\t global.postMessage(\"\", \"*\");\n\t global.onmessage = oldOnMessage;\n\t return postMessageIsAsynchronous;\n\t }\n\t }\n\t\n\t function installPostMessageImplementation() {\n\t // Installs an event handler on `global` for the `message` event: see\n\t // * https://developer.mozilla.org/en/DOM/window.postMessage\n\t // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\t\n\t var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\t var onGlobalMessage = function onGlobalMessage(event) {\n\t if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n\t runIfPresent(+event.data.slice(messagePrefix.length));\n\t }\n\t };\n\t\n\t if (global.addEventListener) {\n\t global.addEventListener(\"message\", onGlobalMessage, false);\n\t } else {\n\t global.attachEvent(\"onmessage\", onGlobalMessage);\n\t }\n\t\n\t registerImmediate = function registerImmediate(handle) {\n\t global.postMessage(messagePrefix + handle, \"*\");\n\t };\n\t }\n\t\n\t function installMessageChannelImplementation() {\n\t var channel = new MessageChannel();\n\t channel.port1.onmessage = function (event) {\n\t var handle = event.data;\n\t runIfPresent(handle);\n\t };\n\t\n\t registerImmediate = function registerImmediate(handle) {\n\t channel.port2.postMessage(handle);\n\t };\n\t }\n\t\n\t function installReadyStateChangeImplementation() {\n\t var html = doc.documentElement;\n\t registerImmediate = function registerImmediate(handle) {\n\t // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n\t // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n\t var script = doc.createElement(\"script\");\n\t script.onreadystatechange = function () {\n\t runIfPresent(handle);\n\t script.onreadystatechange = null;\n\t html.removeChild(script);\n\t script = null;\n\t };\n\t html.appendChild(script);\n\t };\n\t }\n\t\n\t function installSetTimeoutImplementation() {\n\t registerImmediate = function registerImmediate(handle) {\n\t setTimeout(runIfPresent, 0, handle);\n\t };\n\t }\n\t\n\t // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n\t var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n\t attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\t\n\t // Don't get fooled by e.g. browserify environments.\n\t if ({}.toString.call(global.process) === \"[object process]\") {\n\t // For Node.js before 0.9\n\t installNextTickImplementation();\n\t } else if (canUsePostMessage()) {\n\t // For non-IE10 modern browsers\n\t installPostMessageImplementation();\n\t } else if (global.MessageChannel) {\n\t // For web workers, where supported\n\t installMessageChannelImplementation();\n\t } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n\t // For IE 6–8\n\t installReadyStateChangeImplementation();\n\t } else {\n\t // For older browsers\n\t installSetTimeoutImplementation();\n\t }\n\t\n\t attachTo.setImmediate = setImmediate;\n\t attachTo.clearImmediate = clearImmediate;\n\t})(typeof self === \"undefined\" ? typeof global === \"undefined\" ? undefined : global : self);\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(5)))\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tfunction arrayMove(src, srcIndex, dst, dstIndex, len) {\n\t for (var j = 0; j < len; ++j) {\n\t dst[j + dstIndex] = src[j + srcIndex];\n\t src[j + srcIndex] = void 0;\n\t }\n\t}\n\t\n\tfunction Queue(capacity) {\n\t this._capacity = capacity;\n\t this._length = 0;\n\t this._front = 0;\n\t}\n\t\n\tQueue.prototype._willBeOverCapacity = function (size) {\n\t return this._capacity < size;\n\t};\n\t\n\tQueue.prototype._pushOne = function (arg) {\n\t var length = this.length();\n\t this._checkCapacity(length + 1);\n\t var i = this._front + length & this._capacity - 1;\n\t this[i] = arg;\n\t this._length = length + 1;\n\t};\n\t\n\tQueue.prototype.push = function (fn, receiver, arg) {\n\t var length = this.length() + 3;\n\t if (this._willBeOverCapacity(length)) {\n\t this._pushOne(fn);\n\t this._pushOne(receiver);\n\t this._pushOne(arg);\n\t return;\n\t }\n\t var j = this._front + length - 3;\n\t this._checkCapacity(length);\n\t var wrapMask = this._capacity - 1;\n\t this[j + 0 & wrapMask] = fn;\n\t this[j + 1 & wrapMask] = receiver;\n\t this[j + 2 & wrapMask] = arg;\n\t this._length = length;\n\t};\n\t\n\tQueue.prototype.shift = function () {\n\t var front = this._front,\n\t ret = this[front];\n\t\n\t this[front] = undefined;\n\t this._front = front + 1 & this._capacity - 1;\n\t this._length--;\n\t return ret;\n\t};\n\t\n\tQueue.prototype.length = function () {\n\t return this._length;\n\t};\n\t\n\tQueue.prototype._checkCapacity = function (size) {\n\t if (this._capacity < size) {\n\t this._resizeTo(this._capacity << 1);\n\t }\n\t};\n\t\n\tQueue.prototype._resizeTo = function (capacity) {\n\t var oldCapacity = this._capacity;\n\t this._capacity = capacity;\n\t var front = this._front;\n\t var length = this._length;\n\t var moveItemsCount = front + length & oldCapacity - 1;\n\t arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n\t};\n\t\n\tmodule.exports = Queue;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar es5 = __webpack_require__(7);\n\tvar Objectfreeze = es5.freeze;\n\tvar util = __webpack_require__(6);\n\tvar inherits = util.inherits;\n\tvar notEnumerableProp = util.notEnumerableProp;\n\t\n\tfunction subError(nameProperty, defaultMessage) {\n\t function SubError(message) {\n\t if (!(this instanceof SubError)) return new SubError(message);\n\t notEnumerableProp(this, \"message\", typeof message === \"string\" ? message : defaultMessage);\n\t notEnumerableProp(this, \"name\", nameProperty);\n\t if (Error.captureStackTrace) {\n\t Error.captureStackTrace(this, this.constructor);\n\t } else {\n\t Error.call(this);\n\t }\n\t }\n\t inherits(SubError, Error);\n\t return SubError;\n\t}\n\t\n\tvar _TypeError, _RangeError;\n\tvar Warning = subError(\"Warning\", \"warning\");\n\tvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\n\tvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\n\tvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\n\ttry {\n\t _TypeError = TypeError;\n\t _RangeError = RangeError;\n\t} catch (e) {\n\t _TypeError = subError(\"TypeError\", \"type error\");\n\t _RangeError = subError(\"RangeError\", \"range error\");\n\t}\n\t\n\tvar methods = (\"join pop push shift unshift slice filter forEach some \" + \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\t\n\tfor (var i = 0; i < methods.length; ++i) {\n\t if (typeof Array.prototype[methods[i]] === \"function\") {\n\t AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n\t }\n\t}\n\t\n\tes5.defineProperty(AggregateError.prototype, \"length\", {\n\t value: 0,\n\t configurable: false,\n\t writable: true,\n\t enumerable: true\n\t});\n\tAggregateError.prototype[\"isOperational\"] = true;\n\tvar level = 0;\n\tAggregateError.prototype.toString = function () {\n\t var indent = Array(level * 4 + 1).join(\" \");\n\t var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n\t level++;\n\t indent = Array(level * 4 + 1).join(\" \");\n\t for (var i = 0; i < this.length; ++i) {\n\t var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n\t var lines = str.split(\"\\n\");\n\t for (var j = 0; j < lines.length; ++j) {\n\t lines[j] = indent + lines[j];\n\t }\n\t str = lines.join(\"\\n\");\n\t ret += str + \"\\n\";\n\t }\n\t level--;\n\t return ret;\n\t};\n\t\n\tfunction OperationalError(message) {\n\t if (!(this instanceof OperationalError)) return new OperationalError(message);\n\t notEnumerableProp(this, \"name\", \"OperationalError\");\n\t notEnumerableProp(this, \"message\", message);\n\t this.cause = message;\n\t this[\"isOperational\"] = true;\n\t\n\t if (message instanceof Error) {\n\t notEnumerableProp(this, \"message\", message.message);\n\t notEnumerableProp(this, \"stack\", message.stack);\n\t } else if (Error.captureStackTrace) {\n\t Error.captureStackTrace(this, this.constructor);\n\t }\n\t}\n\tinherits(OperationalError, Error);\n\t\n\tvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\n\tif (!errorTypes) {\n\t errorTypes = Objectfreeze({\n\t CancellationError: CancellationError,\n\t TimeoutError: TimeoutError,\n\t OperationalError: OperationalError,\n\t RejectionError: OperationalError,\n\t AggregateError: AggregateError\n\t });\n\t es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n\t value: errorTypes,\n\t writable: false,\n\t enumerable: false,\n\t configurable: false\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t Error: Error,\n\t TypeError: _TypeError,\n\t RangeError: _RangeError,\n\t CancellationError: errorTypes.CancellationError,\n\t OperationalError: errorTypes.OperationalError,\n\t TimeoutError: errorTypes.TimeoutError,\n\t AggregateError: errorTypes.AggregateError,\n\t Warning: Warning\n\t};\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL) {\n\t var util = __webpack_require__(6);\n\t var errorObj = util.errorObj;\n\t var isObject = util.isObject;\n\t\n\t function tryConvertToPromise(obj, context) {\n\t if (isObject(obj)) {\n\t if (obj instanceof Promise) return obj;\n\t var then = getThen(obj);\n\t if (then === errorObj) {\n\t if (context) context._pushContext();\n\t var ret = Promise.reject(then.e);\n\t if (context) context._popContext();\n\t return ret;\n\t } else if (typeof then === \"function\") {\n\t if (isAnyBluebirdPromise(obj)) {\n\t var ret = new Promise(INTERNAL);\n\t obj._then(ret._fulfill, ret._reject, undefined, ret, null);\n\t return ret;\n\t }\n\t return doThenable(obj, then, context);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t function doGetThen(obj) {\n\t return obj.then;\n\t }\n\t\n\t function getThen(obj) {\n\t try {\n\t return doGetThen(obj);\n\t } catch (e) {\n\t errorObj.e = e;\n\t return errorObj;\n\t }\n\t }\n\t\n\t var hasProp = {}.hasOwnProperty;\n\t function isAnyBluebirdPromise(obj) {\n\t try {\n\t return hasProp.call(obj, \"_promise0\");\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t\n\t function doThenable(x, then, context) {\n\t var promise = new Promise(INTERNAL);\n\t var ret = promise;\n\t if (context) context._pushContext();\n\t promise._captureStackTrace();\n\t if (context) context._popContext();\n\t var synchronous = true;\n\t var result = util.tryCatch(then).call(x, resolve, reject);\n\t synchronous = false;\n\t\n\t if (promise && result === errorObj) {\n\t promise._rejectCallback(result.e, true, true);\n\t promise = null;\n\t }\n\t\n\t function resolve(value) {\n\t if (!promise) return;\n\t promise._resolveCallback(value);\n\t promise = null;\n\t }\n\t\n\t function reject(reason) {\n\t if (!promise) return;\n\t promise._rejectCallback(reason, synchronous, true);\n\t promise = null;\n\t }\n\t return ret;\n\t }\n\t\n\t return tryConvertToPromise;\n\t};\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable) {\n\t var util = __webpack_require__(6);\n\t var isArray = util.isArray;\n\t\n\t function toResolutionValue(val) {\n\t switch (val) {\n\t case -2:\n\t return [];\n\t case -3:\n\t return {};\n\t case -6:\n\t return new Map();\n\t }\n\t }\n\t\n\t function PromiseArray(values) {\n\t var promise = this._promise = new Promise(INTERNAL);\n\t if (values instanceof Promise) {\n\t promise._propagateFrom(values, 3);\n\t }\n\t promise._setOnCancel(this);\n\t this._values = values;\n\t this._length = 0;\n\t this._totalResolved = 0;\n\t this._init(undefined, -2);\n\t }\n\t util.inherits(PromiseArray, Proxyable);\n\t\n\t PromiseArray.prototype.length = function () {\n\t return this._length;\n\t };\n\t\n\t PromiseArray.prototype.promise = function () {\n\t return this._promise;\n\t };\n\t\n\t PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n\t var values = tryConvertToPromise(this._values, this._promise);\n\t if (values instanceof Promise) {\n\t values = values._target();\n\t var bitField = values._bitField;\n\t ;\n\t this._values = values;\n\t\n\t if ((bitField & 50397184) === 0) {\n\t this._promise._setAsyncGuaranteed();\n\t return values._then(init, this._reject, undefined, this, resolveValueIfEmpty);\n\t } else if ((bitField & 33554432) !== 0) {\n\t values = values._value();\n\t } else if ((bitField & 16777216) !== 0) {\n\t return this._reject(values._reason());\n\t } else {\n\t return this._cancel();\n\t }\n\t }\n\t values = util.asArray(values);\n\t if (values === null) {\n\t var err = apiRejection(\"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n\t this._promise._rejectCallback(err, false);\n\t return;\n\t }\n\t\n\t if (values.length === 0) {\n\t if (resolveValueIfEmpty === -5) {\n\t this._resolveEmptyArray();\n\t } else {\n\t this._resolve(toResolutionValue(resolveValueIfEmpty));\n\t }\n\t return;\n\t }\n\t this._iterate(values);\n\t };\n\t\n\t PromiseArray.prototype._iterate = function (values) {\n\t var len = this.getActualLength(values.length);\n\t this._length = len;\n\t this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n\t var result = this._promise;\n\t var isResolved = false;\n\t var bitField = null;\n\t for (var i = 0; i < len; ++i) {\n\t var maybePromise = tryConvertToPromise(values[i], result);\n\t\n\t if (maybePromise instanceof Promise) {\n\t maybePromise = maybePromise._target();\n\t bitField = maybePromise._bitField;\n\t } else {\n\t bitField = null;\n\t }\n\t\n\t if (isResolved) {\n\t if (bitField !== null) {\n\t maybePromise.suppressUnhandledRejections();\n\t }\n\t } else if (bitField !== null) {\n\t if ((bitField & 50397184) === 0) {\n\t maybePromise._proxy(this, i);\n\t this._values[i] = maybePromise;\n\t } else if ((bitField & 33554432) !== 0) {\n\t isResolved = this._promiseFulfilled(maybePromise._value(), i);\n\t } else if ((bitField & 16777216) !== 0) {\n\t isResolved = this._promiseRejected(maybePromise._reason(), i);\n\t } else {\n\t isResolved = this._promiseCancelled(i);\n\t }\n\t } else {\n\t isResolved = this._promiseFulfilled(maybePromise, i);\n\t }\n\t }\n\t if (!isResolved) result._setAsyncGuaranteed();\n\t };\n\t\n\t PromiseArray.prototype._isResolved = function () {\n\t return this._values === null;\n\t };\n\t\n\t PromiseArray.prototype._resolve = function (value) {\n\t this._values = null;\n\t this._promise._fulfill(value);\n\t };\n\t\n\t PromiseArray.prototype._cancel = function () {\n\t if (this._isResolved() || !this._promise._isCancellable()) return;\n\t this._values = null;\n\t this._promise._cancel();\n\t };\n\t\n\t PromiseArray.prototype._reject = function (reason) {\n\t this._values = null;\n\t this._promise._rejectCallback(reason, false);\n\t };\n\t\n\t PromiseArray.prototype._promiseFulfilled = function (value, index) {\n\t this._values[index] = value;\n\t var totalResolved = ++this._totalResolved;\n\t if (totalResolved >= this._length) {\n\t this._resolve(this._values);\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t PromiseArray.prototype._promiseCancelled = function () {\n\t this._cancel();\n\t return true;\n\t };\n\t\n\t PromiseArray.prototype._promiseRejected = function (reason) {\n\t this._totalResolved++;\n\t this._reject(reason);\n\t return true;\n\t };\n\t\n\t PromiseArray.prototype._resultCancelled = function () {\n\t if (this._isResolved()) return;\n\t var values = this._values;\n\t this._cancel();\n\t if (values instanceof Promise) {\n\t values.cancel();\n\t } else {\n\t for (var i = 0; i < values.length; ++i) {\n\t if (values[i] instanceof Promise) {\n\t values[i].cancel();\n\t }\n\t }\n\t }\n\t };\n\t\n\t PromiseArray.prototype.shouldCopyValues = function () {\n\t return true;\n\t };\n\t\n\t PromiseArray.prototype.getActualLength = function (len) {\n\t return len;\n\t };\n\t\n\t return PromiseArray;\n\t};\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise) {\n\t var longStackTraces = false;\n\t var contextStack = [];\n\t\n\t Promise.prototype._promiseCreated = function () {};\n\t Promise.prototype._pushContext = function () {};\n\t Promise.prototype._popContext = function () {\n\t return null;\n\t };\n\t Promise._peekContext = Promise.prototype._peekContext = function () {};\n\t\n\t function Context() {\n\t this._trace = new Context.CapturedTrace(peekContext());\n\t }\n\t Context.prototype._pushContext = function () {\n\t if (this._trace !== undefined) {\n\t this._trace._promiseCreated = null;\n\t contextStack.push(this._trace);\n\t }\n\t };\n\t\n\t Context.prototype._popContext = function () {\n\t if (this._trace !== undefined) {\n\t var trace = contextStack.pop();\n\t var ret = trace._promiseCreated;\n\t trace._promiseCreated = null;\n\t return ret;\n\t }\n\t return null;\n\t };\n\t\n\t function createContext() {\n\t if (longStackTraces) return new Context();\n\t }\n\t\n\t function peekContext() {\n\t var lastIndex = contextStack.length - 1;\n\t if (lastIndex >= 0) {\n\t return contextStack[lastIndex];\n\t }\n\t return undefined;\n\t }\n\t Context.CapturedTrace = null;\n\t Context.create = createContext;\n\t Context.deactivateLongStackTraces = function () {};\n\t Context.activateLongStackTraces = function () {\n\t var Promise_pushContext = Promise.prototype._pushContext;\n\t var Promise_popContext = Promise.prototype._popContext;\n\t var Promise_PeekContext = Promise._peekContext;\n\t var Promise_peekContext = Promise.prototype._peekContext;\n\t var Promise_promiseCreated = Promise.prototype._promiseCreated;\n\t Context.deactivateLongStackTraces = function () {\n\t Promise.prototype._pushContext = Promise_pushContext;\n\t Promise.prototype._popContext = Promise_popContext;\n\t Promise._peekContext = Promise_PeekContext;\n\t Promise.prototype._peekContext = Promise_peekContext;\n\t Promise.prototype._promiseCreated = Promise_promiseCreated;\n\t longStackTraces = false;\n\t };\n\t longStackTraces = true;\n\t Promise.prototype._pushContext = Context.prototype._pushContext;\n\t Promise.prototype._popContext = Context.prototype._popContext;\n\t Promise._peekContext = Promise.prototype._peekContext = peekContext;\n\t Promise.prototype._promiseCreated = function () {\n\t var ctx = this._peekContext();\n\t if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n\t };\n\t };\n\t return Context;\n\t};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tmodule.exports = function (Promise, Context) {\n\t var getDomain = Promise._getDomain;\n\t var async = Promise._async;\n\t var Warning = __webpack_require__(13).Warning;\n\t var util = __webpack_require__(6);\n\t var canAttachTrace = util.canAttachTrace;\n\t var unhandledRejectionHandled;\n\t var possiblyUnhandledRejection;\n\t var bluebirdFramePattern = /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\n\t var nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\n\t var parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\n\t var stackFramePattern = null;\n\t var formatStack = null;\n\t var indentStackFrames = false;\n\t var printWarning;\n\t var debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 && (false || util.env(\"BLUEBIRD_DEBUG\") || util.env(\"NODE_ENV\") === \"development\"));\n\t\n\t var warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 && (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\t\n\t var longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 && (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\t\n\t var wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 && (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\t\n\t Promise.prototype.suppressUnhandledRejections = function () {\n\t var target = this._target();\n\t target._bitField = target._bitField & ~1048576 | 524288;\n\t };\n\t\n\t Promise.prototype._ensurePossibleRejectionHandled = function () {\n\t if ((this._bitField & 524288) !== 0) return;\n\t this._setRejectionIsUnhandled();\n\t var self = this;\n\t setTimeout(function () {\n\t self._notifyUnhandledRejection();\n\t }, 1);\n\t };\n\t\n\t Promise.prototype._notifyUnhandledRejectionIsHandled = function () {\n\t fireRejectionEvent(\"rejectionHandled\", unhandledRejectionHandled, undefined, this);\n\t };\n\t\n\t Promise.prototype._setReturnedNonUndefined = function () {\n\t this._bitField = this._bitField | 268435456;\n\t };\n\t\n\t Promise.prototype._returnedNonUndefined = function () {\n\t return (this._bitField & 268435456) !== 0;\n\t };\n\t\n\t Promise.prototype._notifyUnhandledRejection = function () {\n\t if (this._isRejectionUnhandled()) {\n\t var reason = this._settledValue();\n\t this._setUnhandledRejectionIsNotified();\n\t fireRejectionEvent(\"unhandledRejection\", possiblyUnhandledRejection, reason, this);\n\t }\n\t };\n\t\n\t Promise.prototype._setUnhandledRejectionIsNotified = function () {\n\t this._bitField = this._bitField | 262144;\n\t };\n\t\n\t Promise.prototype._unsetUnhandledRejectionIsNotified = function () {\n\t this._bitField = this._bitField & ~262144;\n\t };\n\t\n\t Promise.prototype._isUnhandledRejectionNotified = function () {\n\t return (this._bitField & 262144) > 0;\n\t };\n\t\n\t Promise.prototype._setRejectionIsUnhandled = function () {\n\t this._bitField = this._bitField | 1048576;\n\t };\n\t\n\t Promise.prototype._unsetRejectionIsUnhandled = function () {\n\t this._bitField = this._bitField & ~1048576;\n\t if (this._isUnhandledRejectionNotified()) {\n\t this._unsetUnhandledRejectionIsNotified();\n\t this._notifyUnhandledRejectionIsHandled();\n\t }\n\t };\n\t\n\t Promise.prototype._isRejectionUnhandled = function () {\n\t return (this._bitField & 1048576) > 0;\n\t };\n\t\n\t Promise.prototype._warn = function (message, shouldUseOwnTrace, promise) {\n\t return warn(message, shouldUseOwnTrace, promise || this);\n\t };\n\t\n\t Promise.onPossiblyUnhandledRejection = function (fn) {\n\t var domain = getDomain();\n\t possiblyUnhandledRejection = typeof fn === \"function\" ? domain === null ? fn : util.domainBind(domain, fn) : undefined;\n\t };\n\t\n\t Promise.onUnhandledRejectionHandled = function (fn) {\n\t var domain = getDomain();\n\t unhandledRejectionHandled = typeof fn === \"function\" ? domain === null ? fn : util.domainBind(domain, fn) : undefined;\n\t };\n\t\n\t var disableLongStackTraces = function disableLongStackTraces() {};\n\t Promise.longStackTraces = function () {\n\t if (async.haveItemsQueued() && !config.longStackTraces) {\n\t throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t if (!config.longStackTraces && longStackTracesIsSupported()) {\n\t var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n\t var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n\t config.longStackTraces = true;\n\t disableLongStackTraces = function disableLongStackTraces() {\n\t if (async.haveItemsQueued() && !config.longStackTraces) {\n\t throw new Error(\"cannot enable long stack traces after promises have been created\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n\t Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n\t Context.deactivateLongStackTraces();\n\t async.enableTrampoline();\n\t config.longStackTraces = false;\n\t };\n\t Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n\t Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n\t Context.activateLongStackTraces();\n\t async.disableTrampolineIfNecessary();\n\t }\n\t };\n\t\n\t Promise.hasLongStackTraces = function () {\n\t return config.longStackTraces && longStackTracesIsSupported();\n\t };\n\t\n\t var fireDomEvent = function () {\n\t try {\n\t if (typeof CustomEvent === \"function\") {\n\t var event = new CustomEvent(\"CustomEvent\");\n\t util.global.dispatchEvent(event);\n\t return function (name, event) {\n\t var domEvent = new CustomEvent(name.toLowerCase(), {\n\t detail: event,\n\t cancelable: true\n\t });\n\t return !util.global.dispatchEvent(domEvent);\n\t };\n\t } else if (typeof Event === \"function\") {\n\t var event = new Event(\"CustomEvent\");\n\t util.global.dispatchEvent(event);\n\t return function (name, event) {\n\t var domEvent = new Event(name.toLowerCase(), {\n\t cancelable: true\n\t });\n\t domEvent.detail = event;\n\t return !util.global.dispatchEvent(domEvent);\n\t };\n\t } else {\n\t var event = document.createEvent(\"CustomEvent\");\n\t event.initCustomEvent(\"testingtheevent\", false, true, {});\n\t util.global.dispatchEvent(event);\n\t return function (name, event) {\n\t var domEvent = document.createEvent(\"CustomEvent\");\n\t domEvent.initCustomEvent(name.toLowerCase(), false, true, event);\n\t return !util.global.dispatchEvent(domEvent);\n\t };\n\t }\n\t } catch (e) {}\n\t return function () {\n\t return false;\n\t };\n\t }();\n\t\n\t var fireGlobalEvent = function () {\n\t if (util.isNode) {\n\t return function () {\n\t return process.emit.apply(process, arguments);\n\t };\n\t } else {\n\t if (!util.global) {\n\t return function () {\n\t return false;\n\t };\n\t }\n\t return function (name) {\n\t var methodName = \"on\" + name.toLowerCase();\n\t var method = util.global[methodName];\n\t if (!method) return false;\n\t method.apply(util.global, [].slice.call(arguments, 1));\n\t return true;\n\t };\n\t }\n\t }();\n\t\n\t function generatePromiseLifecycleEventObject(name, promise) {\n\t return { promise: promise };\n\t }\n\t\n\t var eventToObjectGenerator = {\n\t promiseCreated: generatePromiseLifecycleEventObject,\n\t promiseFulfilled: generatePromiseLifecycleEventObject,\n\t promiseRejected: generatePromiseLifecycleEventObject,\n\t promiseResolved: generatePromiseLifecycleEventObject,\n\t promiseCancelled: generatePromiseLifecycleEventObject,\n\t promiseChained: function promiseChained(name, promise, child) {\n\t return { promise: promise, child: child };\n\t },\n\t warning: function warning(name, _warning) {\n\t return { warning: _warning };\n\t },\n\t unhandledRejection: function unhandledRejection(name, reason, promise) {\n\t return { reason: reason, promise: promise };\n\t },\n\t rejectionHandled: generatePromiseLifecycleEventObject\n\t };\n\t\n\t var activeFireEvent = function activeFireEvent(name) {\n\t var globalEventFired = false;\n\t try {\n\t globalEventFired = fireGlobalEvent.apply(null, arguments);\n\t } catch (e) {\n\t async.throwLater(e);\n\t globalEventFired = true;\n\t }\n\t\n\t var domEventFired = false;\n\t try {\n\t domEventFired = fireDomEvent(name, eventToObjectGenerator[name].apply(null, arguments));\n\t } catch (e) {\n\t async.throwLater(e);\n\t domEventFired = true;\n\t }\n\t\n\t return domEventFired || globalEventFired;\n\t };\n\t\n\t Promise.config = function (opts) {\n\t opts = Object(opts);\n\t if (\"longStackTraces\" in opts) {\n\t if (opts.longStackTraces) {\n\t Promise.longStackTraces();\n\t } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n\t disableLongStackTraces();\n\t }\n\t }\n\t if (\"warnings\" in opts) {\n\t var warningsOption = opts.warnings;\n\t config.warnings = !!warningsOption;\n\t wForgottenReturn = config.warnings;\n\t\n\t if (util.isObject(warningsOption)) {\n\t if (\"wForgottenReturn\" in warningsOption) {\n\t wForgottenReturn = !!warningsOption.wForgottenReturn;\n\t }\n\t }\n\t }\n\t if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n\t if (async.haveItemsQueued()) {\n\t throw new Error(\"cannot enable cancellation after promises are in use\");\n\t }\n\t Promise.prototype._clearCancellationData = cancellationClearCancellationData;\n\t Promise.prototype._propagateFrom = cancellationPropagateFrom;\n\t Promise.prototype._onCancel = cancellationOnCancel;\n\t Promise.prototype._setOnCancel = cancellationSetOnCancel;\n\t Promise.prototype._attachCancellationCallback = cancellationAttachCancellationCallback;\n\t Promise.prototype._execute = cancellationExecute;\n\t _propagateFromFunction = cancellationPropagateFrom;\n\t config.cancellation = true;\n\t }\n\t if (\"monitoring\" in opts) {\n\t if (opts.monitoring && !config.monitoring) {\n\t config.monitoring = true;\n\t Promise.prototype._fireEvent = activeFireEvent;\n\t } else if (!opts.monitoring && config.monitoring) {\n\t config.monitoring = false;\n\t Promise.prototype._fireEvent = defaultFireEvent;\n\t }\n\t }\n\t return Promise;\n\t };\n\t\n\t function defaultFireEvent() {\n\t return false;\n\t }\n\t\n\t Promise.prototype._fireEvent = defaultFireEvent;\n\t Promise.prototype._execute = function (executor, resolve, reject) {\n\t try {\n\t executor(resolve, reject);\n\t } catch (e) {\n\t return e;\n\t }\n\t };\n\t Promise.prototype._onCancel = function () {};\n\t Promise.prototype._setOnCancel = function (handler) {\n\t ;\n\t };\n\t Promise.prototype._attachCancellationCallback = function (onCancel) {\n\t ;\n\t };\n\t Promise.prototype._captureStackTrace = function () {};\n\t Promise.prototype._attachExtraTrace = function () {};\n\t Promise.prototype._clearCancellationData = function () {};\n\t Promise.prototype._propagateFrom = function (parent, flags) {\n\t ;\n\t ;\n\t };\n\t\n\t function cancellationExecute(executor, resolve, reject) {\n\t var promise = this;\n\t try {\n\t executor(resolve, reject, function (onCancel) {\n\t if (typeof onCancel !== \"function\") {\n\t throw new TypeError(\"onCancel must be a function, got: \" + util.toString(onCancel));\n\t }\n\t promise._attachCancellationCallback(onCancel);\n\t });\n\t } catch (e) {\n\t return e;\n\t }\n\t }\n\t\n\t function cancellationAttachCancellationCallback(onCancel) {\n\t if (!this._isCancellable()) return this;\n\t\n\t var previousOnCancel = this._onCancel();\n\t if (previousOnCancel !== undefined) {\n\t if (util.isArray(previousOnCancel)) {\n\t previousOnCancel.push(onCancel);\n\t } else {\n\t this._setOnCancel([previousOnCancel, onCancel]);\n\t }\n\t } else {\n\t this._setOnCancel(onCancel);\n\t }\n\t }\n\t\n\t function cancellationOnCancel() {\n\t return this._onCancelField;\n\t }\n\t\n\t function cancellationSetOnCancel(onCancel) {\n\t this._onCancelField = onCancel;\n\t }\n\t\n\t function cancellationClearCancellationData() {\n\t this._cancellationParent = undefined;\n\t this._onCancelField = undefined;\n\t }\n\t\n\t function cancellationPropagateFrom(parent, flags) {\n\t if ((flags & 1) !== 0) {\n\t this._cancellationParent = parent;\n\t var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n\t if (branchesRemainingToCancel === undefined) {\n\t branchesRemainingToCancel = 0;\n\t }\n\t parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n\t }\n\t if ((flags & 2) !== 0 && parent._isBound()) {\n\t this._setBoundTo(parent._boundTo);\n\t }\n\t }\n\t\n\t function bindingPropagateFrom(parent, flags) {\n\t if ((flags & 2) !== 0 && parent._isBound()) {\n\t this._setBoundTo(parent._boundTo);\n\t }\n\t }\n\t var _propagateFromFunction = bindingPropagateFrom;\n\t\n\t function _boundValueFunction() {\n\t var ret = this._boundTo;\n\t if (ret !== undefined) {\n\t if (ret instanceof Promise) {\n\t if (ret.isFulfilled()) {\n\t return ret.value();\n\t } else {\n\t return undefined;\n\t }\n\t }\n\t }\n\t return ret;\n\t }\n\t\n\t function longStackTracesCaptureStackTrace() {\n\t this._trace = new CapturedTrace(this._peekContext());\n\t }\n\t\n\t function longStackTracesAttachExtraTrace(error, ignoreSelf) {\n\t if (canAttachTrace(error)) {\n\t var trace = this._trace;\n\t if (trace !== undefined) {\n\t if (ignoreSelf) trace = trace._parent;\n\t }\n\t if (trace !== undefined) {\n\t trace.attachExtraTrace(error);\n\t } else if (!error.__stackCleaned__) {\n\t var parsed = parseStackAndMessage(error);\n\t util.notEnumerableProp(error, \"stack\", parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n\t util.notEnumerableProp(error, \"__stackCleaned__\", true);\n\t }\n\t }\n\t }\n\t\n\t function checkForgottenReturns(returnValue, promiseCreated, name, promise, parent) {\n\t if (returnValue === undefined && promiseCreated !== null && wForgottenReturn) {\n\t if (parent !== undefined && parent._returnedNonUndefined()) return;\n\t if ((promise._bitField & 65535) === 0) return;\n\t\n\t if (name) name = name + \" \";\n\t var handlerLine = \"\";\n\t var creatorLine = \"\";\n\t if (promiseCreated._trace) {\n\t var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n\t var stack = cleanStack(traceLines);\n\t for (var i = stack.length - 1; i >= 0; --i) {\n\t var line = stack[i];\n\t if (!nodeFramePattern.test(line)) {\n\t var lineMatches = line.match(parseLinePattern);\n\t if (lineMatches) {\n\t handlerLine = \"at \" + lineMatches[1] + \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n\t }\n\t break;\n\t }\n\t }\n\t\n\t if (stack.length > 0) {\n\t var firstUserLine = stack[0];\n\t for (var i = 0; i < traceLines.length; ++i) {\n\t\n\t if (traceLines[i] === firstUserLine) {\n\t if (i > 0) {\n\t creatorLine = \"\\n\" + traceLines[i - 1];\n\t }\n\t break;\n\t }\n\t }\n\t }\n\t }\n\t var msg = \"a promise was created in a \" + name + \"handler \" + handlerLine + \"but was not returned from it, \" + \"see http://goo.gl/rRqMUw\" + creatorLine;\n\t promise._warn(msg, true, promiseCreated);\n\t }\n\t }\n\t\n\t function deprecated(name, replacement) {\n\t var message = name + \" is deprecated and will be removed in a future version.\";\n\t if (replacement) message += \" Use \" + replacement + \" instead.\";\n\t return warn(message);\n\t }\n\t\n\t function warn(message, shouldUseOwnTrace, promise) {\n\t if (!config.warnings) return;\n\t var warning = new Warning(message);\n\t var ctx;\n\t if (shouldUseOwnTrace) {\n\t promise._attachExtraTrace(warning);\n\t } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n\t ctx.attachExtraTrace(warning);\n\t } else {\n\t var parsed = parseStackAndMessage(warning);\n\t warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n\t }\n\t\n\t if (!activeFireEvent(\"warning\", warning)) {\n\t formatAndLogError(warning, \"\", true);\n\t }\n\t }\n\t\n\t function reconstructStack(message, stacks) {\n\t for (var i = 0; i < stacks.length - 1; ++i) {\n\t stacks[i].push(\"From previous event:\");\n\t stacks[i] = stacks[i].join(\"\\n\");\n\t }\n\t if (i < stacks.length) {\n\t stacks[i] = stacks[i].join(\"\\n\");\n\t }\n\t return message + \"\\n\" + stacks.join(\"\\n\");\n\t }\n\t\n\t function removeDuplicateOrEmptyJumps(stacks) {\n\t for (var i = 0; i < stacks.length; ++i) {\n\t if (stacks[i].length === 0 || i + 1 < stacks.length && stacks[i][0] === stacks[i + 1][0]) {\n\t stacks.splice(i, 1);\n\t i--;\n\t }\n\t }\n\t }\n\t\n\t function removeCommonRoots(stacks) {\n\t var current = stacks[0];\n\t for (var i = 1; i < stacks.length; ++i) {\n\t var prev = stacks[i];\n\t var currentLastIndex = current.length - 1;\n\t var currentLastLine = current[currentLastIndex];\n\t var commonRootMeetPoint = -1;\n\t\n\t for (var j = prev.length - 1; j >= 0; --j) {\n\t if (prev[j] === currentLastLine) {\n\t commonRootMeetPoint = j;\n\t break;\n\t }\n\t }\n\t\n\t for (var j = commonRootMeetPoint; j >= 0; --j) {\n\t var line = prev[j];\n\t if (current[currentLastIndex] === line) {\n\t current.pop();\n\t currentLastIndex--;\n\t } else {\n\t break;\n\t }\n\t }\n\t current = prev;\n\t }\n\t }\n\t\n\t function cleanStack(stack) {\n\t var ret = [];\n\t for (var i = 0; i < stack.length; ++i) {\n\t var line = stack[i];\n\t var isTraceLine = \" (No stack trace)\" === line || stackFramePattern.test(line);\n\t var isInternalFrame = isTraceLine && shouldIgnore(line);\n\t if (isTraceLine && !isInternalFrame) {\n\t if (indentStackFrames && line.charAt(0) !== \" \") {\n\t line = \" \" + line;\n\t }\n\t ret.push(line);\n\t }\n\t }\n\t return ret;\n\t }\n\t\n\t function stackFramesAsArray(error) {\n\t var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n\t for (var i = 0; i < stack.length; ++i) {\n\t var line = stack[i];\n\t if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n\t break;\n\t }\n\t }\n\t if (i > 0 && error.name != \"SyntaxError\") {\n\t stack = stack.slice(i);\n\t }\n\t return stack;\n\t }\n\t\n\t function parseStackAndMessage(error) {\n\t var stack = error.stack;\n\t var message = error.toString();\n\t stack = typeof stack === \"string\" && stack.length > 0 ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n\t return {\n\t message: message,\n\t stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n\t };\n\t }\n\t\n\t function formatAndLogError(error, title, isSoft) {\n\t if (typeof console !== \"undefined\") {\n\t var message;\n\t if (util.isObject(error)) {\n\t var stack = error.stack;\n\t message = title + formatStack(stack, error);\n\t } else {\n\t message = title + String(error);\n\t }\n\t if (typeof printWarning === \"function\") {\n\t printWarning(message, isSoft);\n\t } else if (typeof console.log === \"function\" || _typeof(console.log) === \"object\") {\n\t console.log(message);\n\t }\n\t }\n\t }\n\t\n\t function fireRejectionEvent(name, localHandler, reason, promise) {\n\t var localEventFired = false;\n\t try {\n\t if (typeof localHandler === \"function\") {\n\t localEventFired = true;\n\t if (name === \"rejectionHandled\") {\n\t localHandler(promise);\n\t } else {\n\t localHandler(reason, promise);\n\t }\n\t }\n\t } catch (e) {\n\t async.throwLater(e);\n\t }\n\t\n\t if (name === \"unhandledRejection\") {\n\t if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n\t formatAndLogError(reason, \"Unhandled rejection \");\n\t }\n\t } else {\n\t activeFireEvent(name, promise);\n\t }\n\t }\n\t\n\t function formatNonError(obj) {\n\t var str;\n\t if (typeof obj === \"function\") {\n\t str = \"[function \" + (obj.name || \"anonymous\") + \"]\";\n\t } else {\n\t str = obj && typeof obj.toString === \"function\" ? obj.toString() : util.toString(obj);\n\t var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n\t if (ruselessToString.test(str)) {\n\t try {\n\t var newStr = JSON.stringify(obj);\n\t str = newStr;\n\t } catch (e) {}\n\t }\n\t if (str.length === 0) {\n\t str = \"(empty array)\";\n\t }\n\t }\n\t return \"(<\" + snip(str) + \">, no stack trace)\";\n\t }\n\t\n\t function snip(str) {\n\t var maxChars = 41;\n\t if (str.length < maxChars) {\n\t return str;\n\t }\n\t return str.substr(0, maxChars - 3) + \"...\";\n\t }\n\t\n\t function longStackTracesIsSupported() {\n\t return typeof captureStackTrace === \"function\";\n\t }\n\t\n\t var shouldIgnore = function shouldIgnore() {\n\t return false;\n\t };\n\t var parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\n\t function parseLineInfo(line) {\n\t var matches = line.match(parseLineInfoRegex);\n\t if (matches) {\n\t return {\n\t fileName: matches[1],\n\t line: parseInt(matches[2], 10)\n\t };\n\t }\n\t }\n\t\n\t function setBounds(firstLineError, lastLineError) {\n\t if (!longStackTracesIsSupported()) return;\n\t var firstStackLines = firstLineError.stack.split(\"\\n\");\n\t var lastStackLines = lastLineError.stack.split(\"\\n\");\n\t var firstIndex = -1;\n\t var lastIndex = -1;\n\t var firstFileName;\n\t var lastFileName;\n\t for (var i = 0; i < firstStackLines.length; ++i) {\n\t var result = parseLineInfo(firstStackLines[i]);\n\t if (result) {\n\t firstFileName = result.fileName;\n\t firstIndex = result.line;\n\t break;\n\t }\n\t }\n\t for (var i = 0; i < lastStackLines.length; ++i) {\n\t var result = parseLineInfo(lastStackLines[i]);\n\t if (result) {\n\t lastFileName = result.fileName;\n\t lastIndex = result.line;\n\t break;\n\t }\n\t }\n\t if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || firstFileName !== lastFileName || firstIndex >= lastIndex) {\n\t return;\n\t }\n\t\n\t shouldIgnore = function shouldIgnore(line) {\n\t if (bluebirdFramePattern.test(line)) return true;\n\t var info = parseLineInfo(line);\n\t if (info) {\n\t if (info.fileName === firstFileName && firstIndex <= info.line && info.line <= lastIndex) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t }\n\t\n\t function CapturedTrace(parent) {\n\t this._parent = parent;\n\t this._promisesCreated = 0;\n\t var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n\t captureStackTrace(this, CapturedTrace);\n\t if (length > 32) this.uncycle();\n\t }\n\t util.inherits(CapturedTrace, Error);\n\t Context.CapturedTrace = CapturedTrace;\n\t\n\t CapturedTrace.prototype.uncycle = function () {\n\t var length = this._length;\n\t if (length < 2) return;\n\t var nodes = [];\n\t var stackToIndex = {};\n\t\n\t for (var i = 0, node = this; node !== undefined; ++i) {\n\t nodes.push(node);\n\t node = node._parent;\n\t }\n\t length = this._length = i;\n\t for (var i = length - 1; i >= 0; --i) {\n\t var stack = nodes[i].stack;\n\t if (stackToIndex[stack] === undefined) {\n\t stackToIndex[stack] = i;\n\t }\n\t }\n\t for (var i = 0; i < length; ++i) {\n\t var currentStack = nodes[i].stack;\n\t var index = stackToIndex[currentStack];\n\t if (index !== undefined && index !== i) {\n\t if (index > 0) {\n\t nodes[index - 1]._parent = undefined;\n\t nodes[index - 1]._length = 1;\n\t }\n\t nodes[i]._parent = undefined;\n\t nodes[i]._length = 1;\n\t var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\t\n\t if (index < length - 1) {\n\t cycleEdgeNode._parent = nodes[index + 1];\n\t cycleEdgeNode._parent.uncycle();\n\t cycleEdgeNode._length = cycleEdgeNode._parent._length + 1;\n\t } else {\n\t cycleEdgeNode._parent = undefined;\n\t cycleEdgeNode._length = 1;\n\t }\n\t var currentChildLength = cycleEdgeNode._length + 1;\n\t for (var j = i - 2; j >= 0; --j) {\n\t nodes[j]._length = currentChildLength;\n\t currentChildLength++;\n\t }\n\t return;\n\t }\n\t }\n\t };\n\t\n\t CapturedTrace.prototype.attachExtraTrace = function (error) {\n\t if (error.__stackCleaned__) return;\n\t this.uncycle();\n\t var parsed = parseStackAndMessage(error);\n\t var message = parsed.message;\n\t var stacks = [parsed.stack];\n\t\n\t var trace = this;\n\t while (trace !== undefined) {\n\t stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n\t trace = trace._parent;\n\t }\n\t removeCommonRoots(stacks);\n\t removeDuplicateOrEmptyJumps(stacks);\n\t util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n\t util.notEnumerableProp(error, \"__stackCleaned__\", true);\n\t };\n\t\n\t var captureStackTrace = function stackDetection() {\n\t var v8stackFramePattern = /^\\s*at\\s*/;\n\t var v8stackFormatter = function v8stackFormatter(stack, error) {\n\t if (typeof stack === \"string\") return stack;\n\t\n\t if (error.name !== undefined && error.message !== undefined) {\n\t return error.toString();\n\t }\n\t return formatNonError(error);\n\t };\n\t\n\t if (typeof Error.stackTraceLimit === \"number\" && typeof Error.captureStackTrace === \"function\") {\n\t Error.stackTraceLimit += 6;\n\t stackFramePattern = v8stackFramePattern;\n\t formatStack = v8stackFormatter;\n\t var captureStackTrace = Error.captureStackTrace;\n\t\n\t shouldIgnore = function shouldIgnore(line) {\n\t return bluebirdFramePattern.test(line);\n\t };\n\t return function (receiver, ignoreUntil) {\n\t Error.stackTraceLimit += 6;\n\t captureStackTrace(receiver, ignoreUntil);\n\t Error.stackTraceLimit -= 6;\n\t };\n\t }\n\t var err = new Error();\n\t\n\t if (typeof err.stack === \"string\" && err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n\t stackFramePattern = /@/;\n\t formatStack = v8stackFormatter;\n\t indentStackFrames = true;\n\t return function captureStackTrace(o) {\n\t o.stack = new Error().stack;\n\t };\n\t }\n\t\n\t var hasStackAfterThrow;\n\t try {\n\t throw new Error();\n\t } catch (e) {\n\t hasStackAfterThrow = \"stack\" in e;\n\t }\n\t if (!(\"stack\" in err) && hasStackAfterThrow && typeof Error.stackTraceLimit === \"number\") {\n\t stackFramePattern = v8stackFramePattern;\n\t formatStack = v8stackFormatter;\n\t return function captureStackTrace(o) {\n\t Error.stackTraceLimit += 6;\n\t try {\n\t throw new Error();\n\t } catch (e) {\n\t o.stack = e.stack;\n\t }\n\t Error.stackTraceLimit -= 6;\n\t };\n\t }\n\t\n\t formatStack = function formatStack(stack, error) {\n\t if (typeof stack === \"string\") return stack;\n\t\n\t if (((typeof error === \"undefined\" ? \"undefined\" : _typeof(error)) === \"object\" || typeof error === \"function\") && error.name !== undefined && error.message !== undefined) {\n\t return error.toString();\n\t }\n\t return formatNonError(error);\n\t };\n\t\n\t return null;\n\t }([]);\n\t\n\t if (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n\t printWarning = function printWarning(message) {\n\t console.warn(message);\n\t };\n\t if (util.isNode && process.stderr.isTTY) {\n\t printWarning = function printWarning(message, isSoft) {\n\t var color = isSoft ? \"\\x1B[33m\" : \"\\x1B[31m\";\n\t console.warn(color + message + \"\\x1B[0m\\n\");\n\t };\n\t } else if (!util.isNode && typeof new Error().stack === \"string\") {\n\t printWarning = function printWarning(message, isSoft) {\n\t console.warn(\"%c\" + message, isSoft ? \"color: darkorange\" : \"color: red\");\n\t };\n\t }\n\t }\n\t\n\t var config = {\n\t warnings: warnings,\n\t longStackTraces: false,\n\t cancellation: false,\n\t monitoring: false\n\t };\n\t\n\t if (longStackTraces) Promise.longStackTraces();\n\t\n\t return {\n\t longStackTraces: function longStackTraces() {\n\t return config.longStackTraces;\n\t },\n\t warnings: function warnings() {\n\t return config.warnings;\n\t },\n\t cancellation: function cancellation() {\n\t return config.cancellation;\n\t },\n\t monitoring: function monitoring() {\n\t return config.monitoring;\n\t },\n\t propagateFromFunction: function propagateFromFunction() {\n\t return _propagateFromFunction;\n\t },\n\t boundValueFunction: function boundValueFunction() {\n\t return _boundValueFunction;\n\t },\n\t checkForgottenReturns: checkForgottenReturns,\n\t setBounds: setBounds,\n\t warn: warn,\n\t deprecated: deprecated,\n\t CapturedTrace: CapturedTrace,\n\t fireDomEvent: fireDomEvent,\n\t fireGlobalEvent: fireGlobalEvent\n\t };\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, tryConvertToPromise, NEXT_FILTER) {\n\t var util = __webpack_require__(6);\n\t var CancellationError = Promise.CancellationError;\n\t var errorObj = util.errorObj;\n\t var catchFilter = __webpack_require__(19)(NEXT_FILTER);\n\t\n\t function PassThroughHandlerContext(promise, type, handler) {\n\t this.promise = promise;\n\t this.type = type;\n\t this.handler = handler;\n\t this.called = false;\n\t this.cancelPromise = null;\n\t }\n\t\n\t PassThroughHandlerContext.prototype.isFinallyHandler = function () {\n\t return this.type === 0;\n\t };\n\t\n\t function FinallyHandlerCancelReaction(finallyHandler) {\n\t this.finallyHandler = finallyHandler;\n\t }\n\t\n\t FinallyHandlerCancelReaction.prototype._resultCancelled = function () {\n\t checkCancel(this.finallyHandler);\n\t };\n\t\n\t function checkCancel(ctx, reason) {\n\t if (ctx.cancelPromise != null) {\n\t if (arguments.length > 1) {\n\t ctx.cancelPromise._reject(reason);\n\t } else {\n\t ctx.cancelPromise._cancel();\n\t }\n\t ctx.cancelPromise = null;\n\t return true;\n\t }\n\t return false;\n\t }\n\t\n\t function succeed() {\n\t return finallyHandler.call(this, this.promise._target()._settledValue());\n\t }\n\t function fail(reason) {\n\t if (checkCancel(this, reason)) return;\n\t errorObj.e = reason;\n\t return errorObj;\n\t }\n\t function finallyHandler(reasonOrValue) {\n\t var promise = this.promise;\n\t var handler = this.handler;\n\t\n\t if (!this.called) {\n\t this.called = true;\n\t var ret = this.isFinallyHandler() ? handler.call(promise._boundValue()) : handler.call(promise._boundValue(), reasonOrValue);\n\t if (ret === NEXT_FILTER) {\n\t return ret;\n\t } else if (ret !== undefined) {\n\t promise._setReturnedNonUndefined();\n\t var maybePromise = tryConvertToPromise(ret, promise);\n\t if (maybePromise instanceof Promise) {\n\t if (this.cancelPromise != null) {\n\t if (maybePromise._isCancelled()) {\n\t var reason = new CancellationError(\"late cancellation observer\");\n\t promise._attachExtraTrace(reason);\n\t errorObj.e = reason;\n\t return errorObj;\n\t } else if (maybePromise.isPending()) {\n\t maybePromise._attachCancellationCallback(new FinallyHandlerCancelReaction(this));\n\t }\n\t }\n\t return maybePromise._then(succeed, fail, undefined, this, undefined);\n\t }\n\t }\n\t }\n\t\n\t if (promise.isRejected()) {\n\t checkCancel(this);\n\t errorObj.e = reasonOrValue;\n\t return errorObj;\n\t } else {\n\t checkCancel(this);\n\t return reasonOrValue;\n\t }\n\t }\n\t\n\t Promise.prototype._passThrough = function (handler, type, success, fail) {\n\t if (typeof handler !== \"function\") return this.then();\n\t return this._then(success, fail, undefined, new PassThroughHandlerContext(this, type, handler), undefined);\n\t };\n\t\n\t Promise.prototype.lastly = Promise.prototype[\"finally\"] = function (handler) {\n\t return this._passThrough(handler, 0, finallyHandler, finallyHandler);\n\t };\n\t\n\t Promise.prototype.tap = function (handler) {\n\t return this._passThrough(handler, 1, finallyHandler);\n\t };\n\t\n\t Promise.prototype.tapCatch = function (handlerOrPredicate) {\n\t var len = arguments.length;\n\t if (len === 1) {\n\t return this._passThrough(handlerOrPredicate, 1, undefined, finallyHandler);\n\t } else {\n\t var catchInstances = new Array(len - 1),\n\t j = 0,\n\t i;\n\t for (i = 0; i < len - 1; ++i) {\n\t var item = arguments[i];\n\t if (util.isObject(item)) {\n\t catchInstances[j++] = item;\n\t } else {\n\t return Promise.reject(new TypeError(\"tapCatch statement predicate: \" + \"expecting an object but got \" + util.classString(item)));\n\t }\n\t }\n\t catchInstances.length = j;\n\t var handler = arguments[i];\n\t return this._passThrough(catchFilter(catchInstances, handler, this), 1, undefined, finallyHandler);\n\t }\n\t };\n\t\n\t return PassThroughHandlerContext;\n\t};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (NEXT_FILTER) {\n\t var util = __webpack_require__(6);\n\t var getKeys = __webpack_require__(7).keys;\n\t var tryCatch = util.tryCatch;\n\t var errorObj = util.errorObj;\n\t\n\t function catchFilter(instances, cb, promise) {\n\t return function (e) {\n\t var boundTo = promise._boundValue();\n\t predicateLoop: for (var i = 0; i < instances.length; ++i) {\n\t var item = instances[i];\n\t\n\t if (item === Error || item != null && item.prototype instanceof Error) {\n\t if (e instanceof item) {\n\t return tryCatch(cb).call(boundTo, e);\n\t }\n\t } else if (typeof item === \"function\") {\n\t var matchesPredicate = tryCatch(item).call(boundTo, e);\n\t if (matchesPredicate === errorObj) {\n\t return matchesPredicate;\n\t } else if (matchesPredicate) {\n\t return tryCatch(cb).call(boundTo, e);\n\t }\n\t } else if (util.isObject(e)) {\n\t var keys = getKeys(item);\n\t for (var j = 0; j < keys.length; ++j) {\n\t var key = keys[j];\n\t if (item[key] != e[key]) {\n\t continue predicateLoop;\n\t }\n\t }\n\t return tryCatch(cb).call(boundTo, e);\n\t }\n\t }\n\t return NEXT_FILTER;\n\t };\n\t }\n\t\n\t return catchFilter;\n\t};\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar util = __webpack_require__(6);\n\tvar maybeWrapAsError = util.maybeWrapAsError;\n\tvar errors = __webpack_require__(13);\n\tvar OperationalError = errors.OperationalError;\n\tvar es5 = __webpack_require__(7);\n\t\n\tfunction isUntypedError(obj) {\n\t return obj instanceof Error && es5.getPrototypeOf(obj) === Error.prototype;\n\t}\n\t\n\tvar rErrorKey = /^(?:name|message|stack|cause)$/;\n\tfunction wrapAsOperationalError(obj) {\n\t var ret;\n\t if (isUntypedError(obj)) {\n\t ret = new OperationalError(obj);\n\t ret.name = obj.name;\n\t ret.message = obj.message;\n\t ret.stack = obj.stack;\n\t var keys = es5.keys(obj);\n\t for (var i = 0; i < keys.length; ++i) {\n\t var key = keys[i];\n\t if (!rErrorKey.test(key)) {\n\t ret[key] = obj[key];\n\t }\n\t }\n\t return ret;\n\t }\n\t util.markAsOriginatingFromRejection(obj);\n\t return obj;\n\t}\n\t\n\tfunction nodebackForPromise(promise, multiArgs) {\n\t return function (err, value) {\n\t if (promise === null) return;\n\t if (err) {\n\t var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n\t promise._attachExtraTrace(wrapped);\n\t promise._reject(wrapped);\n\t } else if (!multiArgs) {\n\t promise._fulfill(value);\n\t } else {\n\t var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0));for (var $_i = 1; $_i < $_len; ++$_i) {\n\t args[$_i - 1] = arguments[$_i];\n\t };\n\t promise._fulfill(args);\n\t }\n\t promise = null;\n\t };\n\t}\n\t\n\tmodule.exports = nodebackForPromise;\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\n\t var util = __webpack_require__(6);\n\t var tryCatch = util.tryCatch;\n\t\n\t Promise.method = function (fn) {\n\t if (typeof fn !== \"function\") {\n\t throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t return function () {\n\t var ret = new Promise(INTERNAL);\n\t ret._captureStackTrace();\n\t ret._pushContext();\n\t var value = tryCatch(fn).apply(this, arguments);\n\t var promiseCreated = ret._popContext();\n\t debug.checkForgottenReturns(value, promiseCreated, \"Promise.method\", ret);\n\t ret._resolveFromSyncValue(value);\n\t return ret;\n\t };\n\t };\n\t\n\t Promise.attempt = Promise[\"try\"] = function (fn) {\n\t if (typeof fn !== \"function\") {\n\t return apiRejection(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t var ret = new Promise(INTERNAL);\n\t ret._captureStackTrace();\n\t ret._pushContext();\n\t var value;\n\t if (arguments.length > 1) {\n\t debug.deprecated(\"calling Promise.try with more than 1 argument\");\n\t var arg = arguments[1];\n\t var ctx = arguments[2];\n\t value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) : tryCatch(fn).call(ctx, arg);\n\t } else {\n\t value = tryCatch(fn)();\n\t }\n\t var promiseCreated = ret._popContext();\n\t debug.checkForgottenReturns(value, promiseCreated, \"Promise.try\", ret);\n\t ret._resolveFromSyncValue(value);\n\t return ret;\n\t };\n\t\n\t Promise.prototype._resolveFromSyncValue = function (value) {\n\t if (value === util.errorObj) {\n\t this._rejectCallback(value.e, false);\n\t } else {\n\t this._resolveCallback(value, true);\n\t }\n\t };\n\t};\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL, tryConvertToPromise, debug) {\n\t var calledBind = false;\n\t var rejectThis = function rejectThis(_, e) {\n\t this._reject(e);\n\t };\n\t\n\t var targetRejected = function targetRejected(e, context) {\n\t context.promiseRejectionQueued = true;\n\t context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n\t };\n\t\n\t var bindingResolved = function bindingResolved(thisArg, context) {\n\t if ((this._bitField & 50397184) === 0) {\n\t this._resolveCallback(context.target);\n\t }\n\t };\n\t\n\t var bindingRejected = function bindingRejected(e, context) {\n\t if (!context.promiseRejectionQueued) this._reject(e);\n\t };\n\t\n\t Promise.prototype.bind = function (thisArg) {\n\t if (!calledBind) {\n\t calledBind = true;\n\t Promise.prototype._propagateFrom = debug.propagateFromFunction();\n\t Promise.prototype._boundValue = debug.boundValueFunction();\n\t }\n\t var maybePromise = tryConvertToPromise(thisArg);\n\t var ret = new Promise(INTERNAL);\n\t ret._propagateFrom(this, 1);\n\t var target = this._target();\n\t ret._setBoundTo(maybePromise);\n\t if (maybePromise instanceof Promise) {\n\t var context = {\n\t promiseRejectionQueued: false,\n\t promise: ret,\n\t target: target,\n\t bindingPromise: maybePromise\n\t };\n\t target._then(INTERNAL, targetRejected, undefined, ret, context);\n\t maybePromise._then(bindingResolved, bindingRejected, undefined, ret, context);\n\t ret._setOnCancel(maybePromise);\n\t } else {\n\t ret._resolveCallback(target);\n\t }\n\t return ret;\n\t };\n\t\n\t Promise.prototype._setBoundTo = function (obj) {\n\t if (obj !== undefined) {\n\t this._bitField = this._bitField | 2097152;\n\t this._boundTo = obj;\n\t } else {\n\t this._bitField = this._bitField & ~2097152;\n\t }\n\t };\n\t\n\t Promise.prototype._isBound = function () {\n\t return (this._bitField & 2097152) === 2097152;\n\t };\n\t\n\t Promise.bind = function (thisArg, value) {\n\t return Promise.resolve(value).bind(thisArg);\n\t };\n\t};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, PromiseArray, apiRejection, debug) {\n\t var util = __webpack_require__(6);\n\t var tryCatch = util.tryCatch;\n\t var errorObj = util.errorObj;\n\t var async = Promise._async;\n\t\n\t Promise.prototype[\"break\"] = Promise.prototype.cancel = function () {\n\t if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n\t\n\t var promise = this;\n\t var child = promise;\n\t while (promise._isCancellable()) {\n\t if (!promise._cancelBy(child)) {\n\t if (child._isFollowing()) {\n\t child._followee().cancel();\n\t } else {\n\t child._cancelBranched();\n\t }\n\t break;\n\t }\n\t\n\t var parent = promise._cancellationParent;\n\t if (parent == null || !parent._isCancellable()) {\n\t if (promise._isFollowing()) {\n\t promise._followee().cancel();\n\t } else {\n\t promise._cancelBranched();\n\t }\n\t break;\n\t } else {\n\t if (promise._isFollowing()) promise._followee().cancel();\n\t promise._setWillBeCancelled();\n\t child = promise;\n\t promise = parent;\n\t }\n\t }\n\t };\n\t\n\t Promise.prototype._branchHasCancelled = function () {\n\t this._branchesRemainingToCancel--;\n\t };\n\t\n\t Promise.prototype._enoughBranchesHaveCancelled = function () {\n\t return this._branchesRemainingToCancel === undefined || this._branchesRemainingToCancel <= 0;\n\t };\n\t\n\t Promise.prototype._cancelBy = function (canceller) {\n\t if (canceller === this) {\n\t this._branchesRemainingToCancel = 0;\n\t this._invokeOnCancel();\n\t return true;\n\t } else {\n\t this._branchHasCancelled();\n\t if (this._enoughBranchesHaveCancelled()) {\n\t this._invokeOnCancel();\n\t return true;\n\t }\n\t }\n\t return false;\n\t };\n\t\n\t Promise.prototype._cancelBranched = function () {\n\t if (this._enoughBranchesHaveCancelled()) {\n\t this._cancel();\n\t }\n\t };\n\t\n\t Promise.prototype._cancel = function () {\n\t if (!this._isCancellable()) return;\n\t this._setCancelled();\n\t async.invoke(this._cancelPromises, this, undefined);\n\t };\n\t\n\t Promise.prototype._cancelPromises = function () {\n\t if (this._length() > 0) this._settlePromises();\n\t };\n\t\n\t Promise.prototype._unsetOnCancel = function () {\n\t this._onCancelField = undefined;\n\t };\n\t\n\t Promise.prototype._isCancellable = function () {\n\t return this.isPending() && !this._isCancelled();\n\t };\n\t\n\t Promise.prototype.isCancellable = function () {\n\t return this.isPending() && !this.isCancelled();\n\t };\n\t\n\t Promise.prototype._doInvokeOnCancel = function (onCancelCallback, internalOnly) {\n\t if (util.isArray(onCancelCallback)) {\n\t for (var i = 0; i < onCancelCallback.length; ++i) {\n\t this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n\t }\n\t } else if (onCancelCallback !== undefined) {\n\t if (typeof onCancelCallback === \"function\") {\n\t if (!internalOnly) {\n\t var e = tryCatch(onCancelCallback).call(this._boundValue());\n\t if (e === errorObj) {\n\t this._attachExtraTrace(e.e);\n\t async.throwLater(e.e);\n\t }\n\t }\n\t } else {\n\t onCancelCallback._resultCancelled(this);\n\t }\n\t }\n\t };\n\t\n\t Promise.prototype._invokeOnCancel = function () {\n\t var onCancelCallback = this._onCancel();\n\t this._unsetOnCancel();\n\t async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n\t };\n\t\n\t Promise.prototype._invokeInternalOnCancel = function () {\n\t if (this._isCancellable()) {\n\t this._doInvokeOnCancel(this._onCancel(), true);\n\t this._unsetOnCancel();\n\t }\n\t };\n\t\n\t Promise.prototype._resultCancelled = function () {\n\t this.cancel();\n\t };\n\t};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise) {\n\t function returner() {\n\t return this.value;\n\t }\n\t function thrower() {\n\t throw this.reason;\n\t }\n\t\n\t Promise.prototype[\"return\"] = Promise.prototype.thenReturn = function (value) {\n\t if (value instanceof Promise) value.suppressUnhandledRejections();\n\t return this._then(returner, undefined, undefined, { value: value }, undefined);\n\t };\n\t\n\t Promise.prototype[\"throw\"] = Promise.prototype.thenThrow = function (reason) {\n\t return this._then(thrower, undefined, undefined, { reason: reason }, undefined);\n\t };\n\t\n\t Promise.prototype.catchThrow = function (reason) {\n\t if (arguments.length <= 1) {\n\t return this._then(undefined, thrower, undefined, { reason: reason }, undefined);\n\t } else {\n\t var _reason = arguments[1];\n\t var handler = function handler() {\n\t throw _reason;\n\t };\n\t return this.caught(reason, handler);\n\t }\n\t };\n\t\n\t Promise.prototype.catchReturn = function (value) {\n\t if (arguments.length <= 1) {\n\t if (value instanceof Promise) value.suppressUnhandledRejections();\n\t return this._then(undefined, returner, undefined, { value: value }, undefined);\n\t } else {\n\t var _value = arguments[1];\n\t if (_value instanceof Promise) _value.suppressUnhandledRejections();\n\t var handler = function handler() {\n\t return _value;\n\t };\n\t return this.caught(value, handler);\n\t }\n\t };\n\t};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise) {\n\t function PromiseInspection(promise) {\n\t if (promise !== undefined) {\n\t promise = promise._target();\n\t this._bitField = promise._bitField;\n\t this._settledValueField = promise._isFateSealed() ? promise._settledValue() : undefined;\n\t } else {\n\t this._bitField = 0;\n\t this._settledValueField = undefined;\n\t }\n\t }\n\t\n\t PromiseInspection.prototype._settledValue = function () {\n\t return this._settledValueField;\n\t };\n\t\n\t var value = PromiseInspection.prototype.value = function () {\n\t if (!this.isFulfilled()) {\n\t throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t return this._settledValue();\n\t };\n\t\n\t var reason = PromiseInspection.prototype.error = PromiseInspection.prototype.reason = function () {\n\t if (!this.isRejected()) {\n\t throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t return this._settledValue();\n\t };\n\t\n\t var isFulfilled = PromiseInspection.prototype.isFulfilled = function () {\n\t return (this._bitField & 33554432) !== 0;\n\t };\n\t\n\t var isRejected = PromiseInspection.prototype.isRejected = function () {\n\t return (this._bitField & 16777216) !== 0;\n\t };\n\t\n\t var isPending = PromiseInspection.prototype.isPending = function () {\n\t return (this._bitField & 50397184) === 0;\n\t };\n\t\n\t var isResolved = PromiseInspection.prototype.isResolved = function () {\n\t return (this._bitField & 50331648) !== 0;\n\t };\n\t\n\t PromiseInspection.prototype.isCancelled = function () {\n\t return (this._bitField & 8454144) !== 0;\n\t };\n\t\n\t Promise.prototype.__isCancelled = function () {\n\t return (this._bitField & 65536) === 65536;\n\t };\n\t\n\t Promise.prototype._isCancelled = function () {\n\t return this._target().__isCancelled();\n\t };\n\t\n\t Promise.prototype.isCancelled = function () {\n\t return (this._target()._bitField & 8454144) !== 0;\n\t };\n\t\n\t Promise.prototype.isPending = function () {\n\t return isPending.call(this._target());\n\t };\n\t\n\t Promise.prototype.isRejected = function () {\n\t return isRejected.call(this._target());\n\t };\n\t\n\t Promise.prototype.isFulfilled = function () {\n\t return isFulfilled.call(this._target());\n\t };\n\t\n\t Promise.prototype.isResolved = function () {\n\t return isResolved.call(this._target());\n\t };\n\t\n\t Promise.prototype.value = function () {\n\t return value.call(this._target());\n\t };\n\t\n\t Promise.prototype.reason = function () {\n\t var target = this._target();\n\t target._unsetRejectionIsUnhandled();\n\t return reason.call(target);\n\t };\n\t\n\t Promise.prototype._value = function () {\n\t return this._settledValue();\n\t };\n\t\n\t Promise.prototype._reason = function () {\n\t this._unsetRejectionIsUnhandled();\n\t return this._settledValue();\n\t };\n\t\n\t Promise.PromiseInspection = PromiseInspection;\n\t};\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain) {\n\t var util = __webpack_require__(6);\n\t var canEvaluate = util.canEvaluate;\n\t var tryCatch = util.tryCatch;\n\t var errorObj = util.errorObj;\n\t var reject;\n\t\n\t if (true) {\n\t if (canEvaluate) {\n\t var thenCallback = function thenCallback(i) {\n\t return new Function(\"value\", \"holder\", \" \\n\\\n\t 'use strict'; \\n\\\n\t holder.pIndex = value; \\n\\\n\t holder.checkFulfillment(this); \\n\\\n\t \".replace(/Index/g, i));\n\t };\n\t\n\t var promiseSetter = function promiseSetter(i) {\n\t return new Function(\"promise\", \"holder\", \" \\n\\\n\t 'use strict'; \\n\\\n\t holder.pIndex = promise; \\n\\\n\t \".replace(/Index/g, i));\n\t };\n\t\n\t var generateHolderClass = function generateHolderClass(total) {\n\t var props = new Array(total);\n\t for (var i = 0; i < props.length; ++i) {\n\t props[i] = \"this.p\" + (i + 1);\n\t }\n\t var assignment = props.join(\" = \") + \" = null;\";\n\t var cancellationCode = \"var promise;\\n\" + props.map(function (prop) {\n\t return \" \\n\\\n\t promise = \" + prop + \"; \\n\\\n\t if (promise instanceof Promise) { \\n\\\n\t promise.cancel(); \\n\\\n\t } \\n\\\n\t \";\n\t }).join(\"\\n\");\n\t var passedArguments = props.join(\", \");\n\t var name = \"Holder$\" + total;\n\t\n\t var code = \"return function(tryCatch, errorObj, Promise, async) { \\n\\\n\t 'use strict'; \\n\\\n\t function [TheName](fn) { \\n\\\n\t [TheProperties] \\n\\\n\t this.fn = fn; \\n\\\n\t this.asyncNeeded = true; \\n\\\n\t this.now = 0; \\n\\\n\t } \\n\\\n\t \\n\\\n\t [TheName].prototype._callFunction = function(promise) { \\n\\\n\t promise._pushContext(); \\n\\\n\t var ret = tryCatch(this.fn)([ThePassedArguments]); \\n\\\n\t promise._popContext(); \\n\\\n\t if (ret === errorObj) { \\n\\\n\t promise._rejectCallback(ret.e, false); \\n\\\n\t } else { \\n\\\n\t promise._resolveCallback(ret); \\n\\\n\t } \\n\\\n\t }; \\n\\\n\t \\n\\\n\t [TheName].prototype.checkFulfillment = function(promise) { \\n\\\n\t var now = ++this.now; \\n\\\n\t if (now === [TheTotal]) { \\n\\\n\t if (this.asyncNeeded) { \\n\\\n\t async.invoke(this._callFunction, this, promise); \\n\\\n\t } else { \\n\\\n\t this._callFunction(promise); \\n\\\n\t } \\n\\\n\t \\n\\\n\t } \\n\\\n\t }; \\n\\\n\t \\n\\\n\t [TheName].prototype._resultCancelled = function() { \\n\\\n\t [CancellationCode] \\n\\\n\t }; \\n\\\n\t \\n\\\n\t return [TheName]; \\n\\\n\t }(tryCatch, errorObj, Promise, async); \\n\\\n\t \";\n\t\n\t code = code.replace(/\\[TheName\\]/g, name).replace(/\\[TheTotal\\]/g, total).replace(/\\[ThePassedArguments\\]/g, passedArguments).replace(/\\[TheProperties\\]/g, assignment).replace(/\\[CancellationCode\\]/g, cancellationCode);\n\t\n\t return new Function(\"tryCatch\", \"errorObj\", \"Promise\", \"async\", code)(tryCatch, errorObj, Promise, async);\n\t };\n\t\n\t var holderClasses = [];\n\t var thenCallbacks = [];\n\t var promiseSetters = [];\n\t\n\t for (var i = 0; i < 8; ++i) {\n\t holderClasses.push(generateHolderClass(i + 1));\n\t thenCallbacks.push(thenCallback(i + 1));\n\t promiseSetters.push(promiseSetter(i + 1));\n\t }\n\t\n\t reject = function reject(reason) {\n\t this._reject(reason);\n\t };\n\t }\n\t }\n\t\n\t Promise.join = function () {\n\t var last = arguments.length - 1;\n\t var fn;\n\t if (last > 0 && typeof arguments[last] === \"function\") {\n\t fn = arguments[last];\n\t if (true) {\n\t if (last <= 8 && canEvaluate) {\n\t var ret = new Promise(INTERNAL);\n\t ret._captureStackTrace();\n\t var HolderClass = holderClasses[last - 1];\n\t var holder = new HolderClass(fn);\n\t var callbacks = thenCallbacks;\n\t\n\t for (var i = 0; i < last; ++i) {\n\t var maybePromise = tryConvertToPromise(arguments[i], ret);\n\t if (maybePromise instanceof Promise) {\n\t maybePromise = maybePromise._target();\n\t var bitField = maybePromise._bitField;\n\t ;\n\t if ((bitField & 50397184) === 0) {\n\t maybePromise._then(callbacks[i], reject, undefined, ret, holder);\n\t promiseSetters[i](maybePromise, holder);\n\t holder.asyncNeeded = false;\n\t } else if ((bitField & 33554432) !== 0) {\n\t callbacks[i].call(ret, maybePromise._value(), holder);\n\t } else if ((bitField & 16777216) !== 0) {\n\t ret._reject(maybePromise._reason());\n\t } else {\n\t ret._cancel();\n\t }\n\t } else {\n\t callbacks[i].call(ret, maybePromise, holder);\n\t }\n\t }\n\t\n\t if (!ret._isFateSealed()) {\n\t if (holder.asyncNeeded) {\n\t var domain = getDomain();\n\t if (domain !== null) {\n\t holder.fn = util.domainBind(domain, holder.fn);\n\t }\n\t }\n\t ret._setAsyncGuaranteed();\n\t ret._setOnCancel(holder);\n\t }\n\t return ret;\n\t }\n\t }\n\t }\n\t var $_len = arguments.length;var args = new Array($_len);for (var $_i = 0; $_i < $_len; ++$_i) {\n\t args[$_i] = arguments[$_i];\n\t };\n\t if (fn) args.pop();\n\t var ret = new PromiseArray(args).promise();\n\t return fn !== undefined ? ret.spread(fn) : ret;\n\t };\n\t};\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tmodule.exports = function (Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) {\n\t var getDomain = Promise._getDomain;\n\t var util = __webpack_require__(6);\n\t var tryCatch = util.tryCatch;\n\t var errorObj = util.errorObj;\n\t var async = Promise._async;\n\t\n\t function MappingPromiseArray(promises, fn, limit, _filter) {\n\t this.constructor$(promises);\n\t this._promise._captureStackTrace();\n\t var domain = getDomain();\n\t this._callback = domain === null ? fn : util.domainBind(domain, fn);\n\t this._preservedValues = _filter === INTERNAL ? new Array(this.length()) : null;\n\t this._limit = limit;\n\t this._inFlight = 0;\n\t this._queue = [];\n\t async.invoke(this._asyncInit, this, undefined);\n\t }\n\t util.inherits(MappingPromiseArray, PromiseArray);\n\t\n\t MappingPromiseArray.prototype._asyncInit = function () {\n\t this._init$(undefined, -2);\n\t };\n\t\n\t MappingPromiseArray.prototype._init = function () {};\n\t\n\t MappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n\t var values = this._values;\n\t var length = this.length();\n\t var preservedValues = this._preservedValues;\n\t var limit = this._limit;\n\t\n\t if (index < 0) {\n\t index = index * -1 - 1;\n\t values[index] = value;\n\t if (limit >= 1) {\n\t this._inFlight--;\n\t this._drainQueue();\n\t if (this._isResolved()) return true;\n\t }\n\t } else {\n\t if (limit >= 1 && this._inFlight >= limit) {\n\t values[index] = value;\n\t this._queue.push(index);\n\t return false;\n\t }\n\t if (preservedValues !== null) preservedValues[index] = value;\n\t\n\t var promise = this._promise;\n\t var callback = this._callback;\n\t var receiver = promise._boundValue();\n\t promise._pushContext();\n\t var ret = tryCatch(callback).call(receiver, value, index, length);\n\t var promiseCreated = promise._popContext();\n\t debug.checkForgottenReturns(ret, promiseCreated, preservedValues !== null ? \"Promise.filter\" : \"Promise.map\", promise);\n\t if (ret === errorObj) {\n\t this._reject(ret.e);\n\t return true;\n\t }\n\t\n\t var maybePromise = tryConvertToPromise(ret, this._promise);\n\t if (maybePromise instanceof Promise) {\n\t maybePromise = maybePromise._target();\n\t var bitField = maybePromise._bitField;\n\t ;\n\t if ((bitField & 50397184) === 0) {\n\t if (limit >= 1) this._inFlight++;\n\t values[index] = maybePromise;\n\t maybePromise._proxy(this, (index + 1) * -1);\n\t return false;\n\t } else if ((bitField & 33554432) !== 0) {\n\t ret = maybePromise._value();\n\t } else if ((bitField & 16777216) !== 0) {\n\t this._reject(maybePromise._reason());\n\t return true;\n\t } else {\n\t this._cancel();\n\t return true;\n\t }\n\t }\n\t values[index] = ret;\n\t }\n\t var totalResolved = ++this._totalResolved;\n\t if (totalResolved >= length) {\n\t if (preservedValues !== null) {\n\t this._filter(values, preservedValues);\n\t } else {\n\t this._resolve(values);\n\t }\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t MappingPromiseArray.prototype._drainQueue = function () {\n\t var queue = this._queue;\n\t var limit = this._limit;\n\t var values = this._values;\n\t while (queue.length > 0 && this._inFlight < limit) {\n\t if (this._isResolved()) return;\n\t var index = queue.pop();\n\t this._promiseFulfilled(values[index], index);\n\t }\n\t };\n\t\n\t MappingPromiseArray.prototype._filter = function (booleans, values) {\n\t var len = values.length;\n\t var ret = new Array(len);\n\t var j = 0;\n\t for (var i = 0; i < len; ++i) {\n\t if (booleans[i]) ret[j++] = values[i];\n\t }\n\t ret.length = j;\n\t this._resolve(ret);\n\t };\n\t\n\t MappingPromiseArray.prototype.preservedValues = function () {\n\t return this._preservedValues;\n\t };\n\t\n\t function map(promises, fn, options, _filter) {\n\t if (typeof fn !== \"function\") {\n\t return apiRejection(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t\n\t var limit = 0;\n\t if (options !== undefined) {\n\t if ((typeof options === \"undefined\" ? \"undefined\" : _typeof(options)) === \"object\" && options !== null) {\n\t if (typeof options.concurrency !== \"number\") {\n\t return Promise.reject(new TypeError(\"'concurrency' must be a number but it is \" + util.classString(options.concurrency)));\n\t }\n\t limit = options.concurrency;\n\t } else {\n\t return Promise.reject(new TypeError(\"options argument must be an object but it is \" + util.classString(options)));\n\t }\n\t }\n\t limit = typeof limit === \"number\" && isFinite(limit) && limit >= 1 ? limit : 0;\n\t return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n\t }\n\t\n\t Promise.prototype.map = function (fn, options) {\n\t return map(this, fn, options, null);\n\t };\n\t\n\t Promise.map = function (promises, fn, options, _filter) {\n\t return map(promises, fn, options, _filter);\n\t };\n\t};\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar cr = Object.create;\n\tif (cr) {\n\t var callerCache = cr(null);\n\t var getterCache = cr(null);\n\t callerCache[\" size\"] = getterCache[\" size\"] = 0;\n\t}\n\t\n\tmodule.exports = function (Promise) {\n\t var util = __webpack_require__(6);\n\t var canEvaluate = util.canEvaluate;\n\t var isIdentifier = util.isIdentifier;\n\t\n\t var getMethodCaller;\n\t var getGetter;\n\t if (true) {\n\t var makeMethodCaller = function makeMethodCaller(methodName) {\n\t return new Function(\"ensureMethod\", \" \\n\\\n\t return function(obj) { \\n\\\n\t 'use strict' \\n\\\n\t var len = this.length; \\n\\\n\t ensureMethod(obj, 'methodName'); \\n\\\n\t switch(len) { \\n\\\n\t case 1: return obj.methodName(this[0]); \\n\\\n\t case 2: return obj.methodName(this[0], this[1]); \\n\\\n\t case 3: return obj.methodName(this[0], this[1], this[2]); \\n\\\n\t case 0: return obj.methodName(); \\n\\\n\t default: \\n\\\n\t return obj.methodName.apply(obj, this); \\n\\\n\t } \\n\\\n\t }; \\n\\\n\t \".replace(/methodName/g, methodName))(ensureMethod);\n\t };\n\t\n\t var makeGetter = function makeGetter(propertyName) {\n\t return new Function(\"obj\", \" \\n\\\n\t 'use strict'; \\n\\\n\t return obj.propertyName; \\n\\\n\t \".replace(\"propertyName\", propertyName));\n\t };\n\t\n\t var getCompiled = function getCompiled(name, compiler, cache) {\n\t var ret = cache[name];\n\t if (typeof ret !== \"function\") {\n\t if (!isIdentifier(name)) {\n\t return null;\n\t }\n\t ret = compiler(name);\n\t cache[name] = ret;\n\t cache[\" size\"]++;\n\t if (cache[\" size\"] > 512) {\n\t var keys = Object.keys(cache);\n\t for (var i = 0; i < 256; ++i) {\n\t delete cache[keys[i]];\n\t }cache[\" size\"] = keys.length - 256;\n\t }\n\t }\n\t return ret;\n\t };\n\t\n\t getMethodCaller = function getMethodCaller(name) {\n\t return getCompiled(name, makeMethodCaller, callerCache);\n\t };\n\t\n\t getGetter = function getGetter(name) {\n\t return getCompiled(name, makeGetter, getterCache);\n\t };\n\t }\n\t\n\t function ensureMethod(obj, methodName) {\n\t var fn;\n\t if (obj != null) fn = obj[methodName];\n\t if (typeof fn !== \"function\") {\n\t var message = \"Object \" + util.classString(obj) + \" has no method '\" + util.toString(methodName) + \"'\";\n\t throw new Promise.TypeError(message);\n\t }\n\t return fn;\n\t }\n\t\n\t function caller(obj) {\n\t var methodName = this.pop();\n\t var fn = ensureMethod(obj, methodName);\n\t return fn.apply(obj, this);\n\t }\n\t Promise.prototype.call = function (methodName) {\n\t var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0));for (var $_i = 1; $_i < $_len; ++$_i) {\n\t args[$_i - 1] = arguments[$_i];\n\t };\n\t if (true) {\n\t if (canEvaluate) {\n\t var maybeCaller = getMethodCaller(methodName);\n\t if (maybeCaller !== null) {\n\t return this._then(maybeCaller, undefined, undefined, args, undefined);\n\t }\n\t }\n\t }\n\t args.push(methodName);\n\t return this._then(caller, undefined, undefined, args, undefined);\n\t };\n\t\n\t function namedGetter(obj) {\n\t return obj[this];\n\t }\n\t function indexedGetter(obj) {\n\t var index = +this;\n\t if (index < 0) index = Math.max(0, index + obj.length);\n\t return obj[index];\n\t }\n\t Promise.prototype.get = function (propertyName) {\n\t var isIndex = typeof propertyName === \"number\";\n\t var getter;\n\t if (!isIndex) {\n\t if (canEvaluate) {\n\t var maybeGetter = getGetter(propertyName);\n\t getter = maybeGetter !== null ? maybeGetter : namedGetter;\n\t } else {\n\t getter = namedGetter;\n\t }\n\t } else {\n\t getter = indexedGetter;\n\t }\n\t return this._then(getter, undefined, undefined, propertyName, undefined);\n\t };\n\t};\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug) {\n\t var util = __webpack_require__(6);\n\t var TypeError = __webpack_require__(13).TypeError;\n\t var inherits = __webpack_require__(6).inherits;\n\t var errorObj = util.errorObj;\n\t var tryCatch = util.tryCatch;\n\t var NULL = {};\n\t\n\t function thrower(e) {\n\t setTimeout(function () {\n\t throw e;\n\t }, 0);\n\t }\n\t\n\t function castPreservingDisposable(thenable) {\n\t var maybePromise = tryConvertToPromise(thenable);\n\t if (maybePromise !== thenable && typeof thenable._isDisposable === \"function\" && typeof thenable._getDisposer === \"function\" && thenable._isDisposable()) {\n\t maybePromise._setDisposable(thenable._getDisposer());\n\t }\n\t return maybePromise;\n\t }\n\t function dispose(resources, inspection) {\n\t var i = 0;\n\t var len = resources.length;\n\t var ret = new Promise(INTERNAL);\n\t function iterator() {\n\t if (i >= len) return ret._fulfill();\n\t var maybePromise = castPreservingDisposable(resources[i++]);\n\t if (maybePromise instanceof Promise && maybePromise._isDisposable()) {\n\t try {\n\t maybePromise = tryConvertToPromise(maybePromise._getDisposer().tryDispose(inspection), resources.promise);\n\t } catch (e) {\n\t return thrower(e);\n\t }\n\t if (maybePromise instanceof Promise) {\n\t return maybePromise._then(iterator, thrower, null, null, null);\n\t }\n\t }\n\t iterator();\n\t }\n\t iterator();\n\t return ret;\n\t }\n\t\n\t function Disposer(data, promise, context) {\n\t this._data = data;\n\t this._promise = promise;\n\t this._context = context;\n\t }\n\t\n\t Disposer.prototype.data = function () {\n\t return this._data;\n\t };\n\t\n\t Disposer.prototype.promise = function () {\n\t return this._promise;\n\t };\n\t\n\t Disposer.prototype.resource = function () {\n\t if (this.promise().isFulfilled()) {\n\t return this.promise().value();\n\t }\n\t return NULL;\n\t };\n\t\n\t Disposer.prototype.tryDispose = function (inspection) {\n\t var resource = this.resource();\n\t var context = this._context;\n\t if (context !== undefined) context._pushContext();\n\t var ret = resource !== NULL ? this.doDispose(resource, inspection) : null;\n\t if (context !== undefined) context._popContext();\n\t this._promise._unsetDisposable();\n\t this._data = null;\n\t return ret;\n\t };\n\t\n\t Disposer.isDisposer = function (d) {\n\t return d != null && typeof d.resource === \"function\" && typeof d.tryDispose === \"function\";\n\t };\n\t\n\t function FunctionDisposer(fn, promise, context) {\n\t this.constructor$(fn, promise, context);\n\t }\n\t inherits(FunctionDisposer, Disposer);\n\t\n\t FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n\t var fn = this.data();\n\t return fn.call(resource, resource, inspection);\n\t };\n\t\n\t function maybeUnwrapDisposer(value) {\n\t if (Disposer.isDisposer(value)) {\n\t this.resources[this.index]._setDisposable(value);\n\t return value.promise();\n\t }\n\t return value;\n\t }\n\t\n\t function ResourceList(length) {\n\t this.length = length;\n\t this.promise = null;\n\t this[length - 1] = null;\n\t }\n\t\n\t ResourceList.prototype._resultCancelled = function () {\n\t var len = this.length;\n\t for (var i = 0; i < len; ++i) {\n\t var item = this[i];\n\t if (item instanceof Promise) {\n\t item.cancel();\n\t }\n\t }\n\t };\n\t\n\t Promise.using = function () {\n\t var len = arguments.length;\n\t if (len < 2) return apiRejection(\"you must pass at least 2 arguments to Promise.using\");\n\t var fn = arguments[len - 1];\n\t if (typeof fn !== \"function\") {\n\t return apiRejection(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t var input;\n\t var spreadArgs = true;\n\t if (len === 2 && Array.isArray(arguments[0])) {\n\t input = arguments[0];\n\t len = input.length;\n\t spreadArgs = false;\n\t } else {\n\t input = arguments;\n\t len--;\n\t }\n\t var resources = new ResourceList(len);\n\t for (var i = 0; i < len; ++i) {\n\t var resource = input[i];\n\t if (Disposer.isDisposer(resource)) {\n\t var disposer = resource;\n\t resource = resource.promise();\n\t resource._setDisposable(disposer);\n\t } else {\n\t var maybePromise = tryConvertToPromise(resource);\n\t if (maybePromise instanceof Promise) {\n\t resource = maybePromise._then(maybeUnwrapDisposer, null, null, {\n\t resources: resources,\n\t index: i\n\t }, undefined);\n\t }\n\t }\n\t resources[i] = resource;\n\t }\n\t\n\t var reflectedResources = new Array(resources.length);\n\t for (var i = 0; i < reflectedResources.length; ++i) {\n\t reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n\t }\n\t\n\t var resultPromise = Promise.all(reflectedResources).then(function (inspections) {\n\t for (var i = 0; i < inspections.length; ++i) {\n\t var inspection = inspections[i];\n\t if (inspection.isRejected()) {\n\t errorObj.e = inspection.error();\n\t return errorObj;\n\t } else if (!inspection.isFulfilled()) {\n\t resultPromise.cancel();\n\t return;\n\t }\n\t inspections[i] = inspection.value();\n\t }\n\t promise._pushContext();\n\t\n\t fn = tryCatch(fn);\n\t var ret = spreadArgs ? fn.apply(undefined, inspections) : fn(inspections);\n\t var promiseCreated = promise._popContext();\n\t debug.checkForgottenReturns(ret, promiseCreated, \"Promise.using\", promise);\n\t return ret;\n\t });\n\t\n\t var promise = resultPromise.lastly(function () {\n\t var inspection = new Promise.PromiseInspection(resultPromise);\n\t return dispose(resources, inspection);\n\t });\n\t resources.promise = promise;\n\t promise._setOnCancel(resources);\n\t return promise;\n\t };\n\t\n\t Promise.prototype._setDisposable = function (disposer) {\n\t this._bitField = this._bitField | 131072;\n\t this._disposer = disposer;\n\t };\n\t\n\t Promise.prototype._isDisposable = function () {\n\t return (this._bitField & 131072) > 0;\n\t };\n\t\n\t Promise.prototype._getDisposer = function () {\n\t return this._disposer;\n\t };\n\t\n\t Promise.prototype._unsetDisposable = function () {\n\t this._bitField = this._bitField & ~131072;\n\t this._disposer = undefined;\n\t };\n\t\n\t Promise.prototype.disposer = function (fn) {\n\t if (typeof fn === \"function\") {\n\t return new FunctionDisposer(fn, this, createContext());\n\t }\n\t throw new TypeError();\n\t };\n\t};\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL, debug) {\n\t var util = __webpack_require__(6);\n\t var TimeoutError = Promise.TimeoutError;\n\t\n\t function HandleWrapper(handle) {\n\t this.handle = handle;\n\t }\n\t\n\t HandleWrapper.prototype._resultCancelled = function () {\n\t clearTimeout(this.handle);\n\t };\n\t\n\t var afterValue = function afterValue(value) {\n\t return delay(+this).thenReturn(value);\n\t };\n\t var delay = Promise.delay = function (ms, value) {\n\t var ret;\n\t var handle;\n\t if (value !== undefined) {\n\t ret = Promise.resolve(value)._then(afterValue, null, null, ms, undefined);\n\t if (debug.cancellation() && value instanceof Promise) {\n\t ret._setOnCancel(value);\n\t }\n\t } else {\n\t ret = new Promise(INTERNAL);\n\t handle = setTimeout(function () {\n\t ret._fulfill();\n\t }, +ms);\n\t if (debug.cancellation()) {\n\t ret._setOnCancel(new HandleWrapper(handle));\n\t }\n\t ret._captureStackTrace();\n\t }\n\t ret._setAsyncGuaranteed();\n\t return ret;\n\t };\n\t\n\t Promise.prototype.delay = function (ms) {\n\t return delay(ms, this);\n\t };\n\t\n\t var afterTimeout = function afterTimeout(promise, message, parent) {\n\t var err;\n\t if (typeof message !== \"string\") {\n\t if (message instanceof Error) {\n\t err = message;\n\t } else {\n\t err = new TimeoutError(\"operation timed out\");\n\t }\n\t } else {\n\t err = new TimeoutError(message);\n\t }\n\t util.markAsOriginatingFromRejection(err);\n\t promise._attachExtraTrace(err);\n\t promise._reject(err);\n\t\n\t if (parent != null) {\n\t parent.cancel();\n\t }\n\t };\n\t\n\t function successClear(value) {\n\t clearTimeout(this.handle);\n\t return value;\n\t }\n\t\n\t function failureClear(reason) {\n\t clearTimeout(this.handle);\n\t throw reason;\n\t }\n\t\n\t Promise.prototype.timeout = function (ms, message) {\n\t ms = +ms;\n\t var ret, parent;\n\t\n\t var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n\t if (ret.isPending()) {\n\t afterTimeout(ret, message, parent);\n\t }\n\t }, ms));\n\t\n\t if (debug.cancellation()) {\n\t parent = this.then();\n\t ret = parent._then(successClear, failureClear, undefined, handleWrapper, undefined);\n\t ret._setOnCancel(handleWrapper);\n\t } else {\n\t ret = this._then(successClear, failureClear, undefined, handleWrapper, undefined);\n\t }\n\t\n\t return ret;\n\t };\n\t};\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug) {\n\t var errors = __webpack_require__(13);\n\t var TypeError = errors.TypeError;\n\t var util = __webpack_require__(6);\n\t var errorObj = util.errorObj;\n\t var tryCatch = util.tryCatch;\n\t var yieldHandlers = [];\n\t\n\t function promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n\t for (var i = 0; i < yieldHandlers.length; ++i) {\n\t traceParent._pushContext();\n\t var result = tryCatch(yieldHandlers[i])(value);\n\t traceParent._popContext();\n\t if (result === errorObj) {\n\t traceParent._pushContext();\n\t var ret = Promise.reject(errorObj.e);\n\t traceParent._popContext();\n\t return ret;\n\t }\n\t var maybePromise = tryConvertToPromise(result, traceParent);\n\t if (maybePromise instanceof Promise) return maybePromise;\n\t }\n\t return null;\n\t }\n\t\n\t function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n\t if (debug.cancellation()) {\n\t var internal = new Promise(INTERNAL);\n\t var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n\t this._promise = internal.lastly(function () {\n\t return _finallyPromise;\n\t });\n\t internal._captureStackTrace();\n\t internal._setOnCancel(this);\n\t } else {\n\t var promise = this._promise = new Promise(INTERNAL);\n\t promise._captureStackTrace();\n\t }\n\t this._stack = stack;\n\t this._generatorFunction = generatorFunction;\n\t this._receiver = receiver;\n\t this._generator = undefined;\n\t this._yieldHandlers = typeof yieldHandler === \"function\" ? [yieldHandler].concat(yieldHandlers) : yieldHandlers;\n\t this._yieldedPromise = null;\n\t this._cancellationPhase = false;\n\t }\n\t util.inherits(PromiseSpawn, Proxyable);\n\t\n\t PromiseSpawn.prototype._isResolved = function () {\n\t return this._promise === null;\n\t };\n\t\n\t PromiseSpawn.prototype._cleanup = function () {\n\t this._promise = this._generator = null;\n\t if (debug.cancellation() && this._finallyPromise !== null) {\n\t this._finallyPromise._fulfill();\n\t this._finallyPromise = null;\n\t }\n\t };\n\t\n\t PromiseSpawn.prototype._promiseCancelled = function () {\n\t if (this._isResolved()) return;\n\t var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n\t\n\t var result;\n\t if (!implementsReturn) {\n\t var reason = new Promise.CancellationError(\"generator .return() sentinel\");\n\t Promise.coroutine.returnSentinel = reason;\n\t this._promise._attachExtraTrace(reason);\n\t this._promise._pushContext();\n\t result = tryCatch(this._generator[\"throw\"]).call(this._generator, reason);\n\t this._promise._popContext();\n\t } else {\n\t this._promise._pushContext();\n\t result = tryCatch(this._generator[\"return\"]).call(this._generator, undefined);\n\t this._promise._popContext();\n\t }\n\t this._cancellationPhase = true;\n\t this._yieldedPromise = null;\n\t this._continue(result);\n\t };\n\t\n\t PromiseSpawn.prototype._promiseFulfilled = function (value) {\n\t this._yieldedPromise = null;\n\t this._promise._pushContext();\n\t var result = tryCatch(this._generator.next).call(this._generator, value);\n\t this._promise._popContext();\n\t this._continue(result);\n\t };\n\t\n\t PromiseSpawn.prototype._promiseRejected = function (reason) {\n\t this._yieldedPromise = null;\n\t this._promise._attachExtraTrace(reason);\n\t this._promise._pushContext();\n\t var result = tryCatch(this._generator[\"throw\"]).call(this._generator, reason);\n\t this._promise._popContext();\n\t this._continue(result);\n\t };\n\t\n\t PromiseSpawn.prototype._resultCancelled = function () {\n\t if (this._yieldedPromise instanceof Promise) {\n\t var promise = this._yieldedPromise;\n\t this._yieldedPromise = null;\n\t promise.cancel();\n\t }\n\t };\n\t\n\t PromiseSpawn.prototype.promise = function () {\n\t return this._promise;\n\t };\n\t\n\t PromiseSpawn.prototype._run = function () {\n\t this._generator = this._generatorFunction.call(this._receiver);\n\t this._receiver = this._generatorFunction = undefined;\n\t this._promiseFulfilled(undefined);\n\t };\n\t\n\t PromiseSpawn.prototype._continue = function (result) {\n\t var promise = this._promise;\n\t if (result === errorObj) {\n\t this._cleanup();\n\t if (this._cancellationPhase) {\n\t return promise.cancel();\n\t } else {\n\t return promise._rejectCallback(result.e, false);\n\t }\n\t }\n\t\n\t var value = result.value;\n\t if (result.done === true) {\n\t this._cleanup();\n\t if (this._cancellationPhase) {\n\t return promise.cancel();\n\t } else {\n\t return promise._resolveCallback(value);\n\t }\n\t } else {\n\t var maybePromise = tryConvertToPromise(value, this._promise);\n\t if (!(maybePromise instanceof Promise)) {\n\t maybePromise = promiseFromYieldHandler(maybePromise, this._yieldHandlers, this._promise);\n\t if (maybePromise === null) {\n\t this._promiseRejected(new TypeError(\"A value %s was yielded that could not be treated as a promise\\n\\n See http://goo.gl/MqrFmX\\n\\n\".replace(\"%s\", String(value)) + \"From coroutine:\\n\" + this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")));\n\t return;\n\t }\n\t }\n\t maybePromise = maybePromise._target();\n\t var bitField = maybePromise._bitField;\n\t ;\n\t if ((bitField & 50397184) === 0) {\n\t this._yieldedPromise = maybePromise;\n\t maybePromise._proxy(this, null);\n\t } else if ((bitField & 33554432) !== 0) {\n\t Promise._async.invoke(this._promiseFulfilled, this, maybePromise._value());\n\t } else if ((bitField & 16777216) !== 0) {\n\t Promise._async.invoke(this._promiseRejected, this, maybePromise._reason());\n\t } else {\n\t this._promiseCancelled();\n\t }\n\t }\n\t };\n\t\n\t Promise.coroutine = function (generatorFunction, options) {\n\t if (typeof generatorFunction !== \"function\") {\n\t throw new TypeError(\"generatorFunction must be a function\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t var yieldHandler = Object(options).yieldHandler;\n\t var PromiseSpawn$ = PromiseSpawn;\n\t var stack = new Error().stack;\n\t return function () {\n\t var generator = generatorFunction.apply(this, arguments);\n\t var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler, stack);\n\t var ret = spawn.promise();\n\t spawn._generator = generator;\n\t spawn._promiseFulfilled(undefined);\n\t return ret;\n\t };\n\t };\n\t\n\t Promise.coroutine.addYieldHandler = function (fn) {\n\t if (typeof fn !== \"function\") {\n\t throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t yieldHandlers.push(fn);\n\t };\n\t\n\t Promise.spawn = function (generatorFunction) {\n\t debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n\t if (typeof generatorFunction !== \"function\") {\n\t return apiRejection(\"generatorFunction must be a function\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t var spawn = new PromiseSpawn(generatorFunction, this);\n\t var ret = spawn.promise();\n\t spawn._run(Promise.spawn);\n\t return ret;\n\t };\n\t};\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise) {\n\t var util = __webpack_require__(6);\n\t var async = Promise._async;\n\t var tryCatch = util.tryCatch;\n\t var errorObj = util.errorObj;\n\t\n\t function spreadAdapter(val, nodeback) {\n\t var promise = this;\n\t if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n\t var ret = tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n\t if (ret === errorObj) {\n\t async.throwLater(ret.e);\n\t }\n\t }\n\t\n\t function successAdapter(val, nodeback) {\n\t var promise = this;\n\t var receiver = promise._boundValue();\n\t var ret = val === undefined ? tryCatch(nodeback).call(receiver, null) : tryCatch(nodeback).call(receiver, null, val);\n\t if (ret === errorObj) {\n\t async.throwLater(ret.e);\n\t }\n\t }\n\t function errorAdapter(reason, nodeback) {\n\t var promise = this;\n\t if (!reason) {\n\t var newReason = new Error(reason + \"\");\n\t newReason.cause = reason;\n\t reason = newReason;\n\t }\n\t var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n\t if (ret === errorObj) {\n\t async.throwLater(ret.e);\n\t }\n\t }\n\t\n\t Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, options) {\n\t if (typeof nodeback == \"function\") {\n\t var adapter = successAdapter;\n\t if (options !== undefined && Object(options).spread) {\n\t adapter = spreadAdapter;\n\t }\n\t this._then(adapter, errorAdapter, undefined, this, nodeback);\n\t }\n\t return this;\n\t };\n\t};\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tmodule.exports = function (Promise, INTERNAL) {\n\t var THIS = {};\n\t var util = __webpack_require__(6);\n\t var nodebackForPromise = __webpack_require__(20);\n\t var withAppended = util.withAppended;\n\t var maybeWrapAsError = util.maybeWrapAsError;\n\t var canEvaluate = util.canEvaluate;\n\t var TypeError = __webpack_require__(13).TypeError;\n\t var defaultSuffix = \"Async\";\n\t var defaultPromisified = { __isPromisified__: true };\n\t var noCopyProps = [\"arity\", \"length\", \"name\", \"arguments\", \"caller\", \"callee\", \"prototype\", \"__isPromisified__\"];\n\t var noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\t\n\t var defaultFilter = function defaultFilter(name) {\n\t return util.isIdentifier(name) && name.charAt(0) !== \"_\" && name !== \"constructor\";\n\t };\n\t\n\t function propsFilter(key) {\n\t return !noCopyPropsPattern.test(key);\n\t }\n\t\n\t function isPromisified(fn) {\n\t try {\n\t return fn.__isPromisified__ === true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t\n\t function hasPromisified(obj, key, suffix) {\n\t var val = util.getDataPropertyOrDefault(obj, key + suffix, defaultPromisified);\n\t return val ? isPromisified(val) : false;\n\t }\n\t function checkValid(ret, suffix, suffixRegexp) {\n\t for (var i = 0; i < ret.length; i += 2) {\n\t var key = ret[i];\n\t if (suffixRegexp.test(key)) {\n\t var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n\t for (var j = 0; j < ret.length; j += 2) {\n\t if (ret[j] === keyWithoutAsyncSuffix) {\n\t throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\n\\n See http://goo.gl/MqrFmX\\n\".replace(\"%s\", suffix));\n\t }\n\t }\n\t }\n\t }\n\t }\n\t\n\t function promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n\t var keys = util.inheritedDataKeys(obj);\n\t var ret = [];\n\t for (var i = 0; i < keys.length; ++i) {\n\t var key = keys[i];\n\t var value = obj[key];\n\t var passesDefaultFilter = filter === defaultFilter ? true : defaultFilter(key, value, obj);\n\t if (typeof value === \"function\" && !isPromisified(value) && !hasPromisified(obj, key, suffix) && filter(key, value, obj, passesDefaultFilter)) {\n\t ret.push(key, value);\n\t }\n\t }\n\t checkValid(ret, suffix, suffixRegexp);\n\t return ret;\n\t }\n\t\n\t var escapeIdentRegex = function escapeIdentRegex(str) {\n\t return str.replace(/([$])/, \"\\\\$\");\n\t };\n\t\n\t var makeNodePromisifiedEval;\n\t if (true) {\n\t var switchCaseArgumentOrder = function switchCaseArgumentOrder(likelyArgumentCount) {\n\t var ret = [likelyArgumentCount];\n\t var min = Math.max(0, likelyArgumentCount - 1 - 3);\n\t for (var i = likelyArgumentCount - 1; i >= min; --i) {\n\t ret.push(i);\n\t }\n\t for (var i = likelyArgumentCount + 1; i <= 3; ++i) {\n\t ret.push(i);\n\t }\n\t return ret;\n\t };\n\t\n\t var argumentSequence = function argumentSequence(argumentCount) {\n\t return util.filledRange(argumentCount, \"_arg\", \"\");\n\t };\n\t\n\t var parameterDeclaration = function parameterDeclaration(parameterCount) {\n\t return util.filledRange(Math.max(parameterCount, 3), \"_arg\", \"\");\n\t };\n\t\n\t var parameterCount = function parameterCount(fn) {\n\t if (typeof fn.length === \"number\") {\n\t return Math.max(Math.min(fn.length, 1023 + 1), 0);\n\t }\n\t return 0;\n\t };\n\t\n\t makeNodePromisifiedEval = function makeNodePromisifiedEval(callback, receiver, originalName, fn, _, multiArgs) {\n\t var newParameterCount = Math.max(0, parameterCount(fn) - 1);\n\t var argumentOrder = switchCaseArgumentOrder(newParameterCount);\n\t var shouldProxyThis = typeof callback === \"string\" || receiver === THIS;\n\t\n\t function generateCallForArgumentCount(count) {\n\t var args = argumentSequence(count).join(\", \");\n\t var comma = count > 0 ? \", \" : \"\";\n\t var ret;\n\t if (shouldProxyThis) {\n\t ret = \"ret = callback.call(this, {{args}}, nodeback); break;\\n\";\n\t } else {\n\t ret = receiver === undefined ? \"ret = callback({{args}}, nodeback); break;\\n\" : \"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\";\n\t }\n\t return ret.replace(\"{{args}}\", args).replace(\", \", comma);\n\t }\n\t\n\t function generateArgumentSwitchCase() {\n\t var ret = \"\";\n\t for (var i = 0; i < argumentOrder.length; ++i) {\n\t ret += \"case \" + argumentOrder[i] + \":\" + generateCallForArgumentCount(argumentOrder[i]);\n\t }\n\t\n\t ret += \" \\n\\\n\t default: \\n\\\n\t var args = new Array(len + 1); \\n\\\n\t var i = 0; \\n\\\n\t for (var i = 0; i < len; ++i) { \\n\\\n\t args[i] = arguments[i]; \\n\\\n\t } \\n\\\n\t args[i] = nodeback; \\n\\\n\t [CodeForCall] \\n\\\n\t break; \\n\\\n\t \".replace(\"[CodeForCall]\", shouldProxyThis ? \"ret = callback.apply(this, args);\\n\" : \"ret = callback.apply(receiver, args);\\n\");\n\t return ret;\n\t }\n\t\n\t var getFunctionCode = typeof callback === \"string\" ? \"this != null ? this['\" + callback + \"'] : fn\" : \"fn\";\n\t var body = \"'use strict'; \\n\\\n\t var ret = function (Parameters) { \\n\\\n\t 'use strict'; \\n\\\n\t var len = arguments.length; \\n\\\n\t var promise = new Promise(INTERNAL); \\n\\\n\t promise._captureStackTrace(); \\n\\\n\t var nodeback = nodebackForPromise(promise, \" + multiArgs + \"); \\n\\\n\t var ret; \\n\\\n\t var callback = tryCatch([GetFunctionCode]); \\n\\\n\t switch(len) { \\n\\\n\t [CodeForSwitchCase] \\n\\\n\t } \\n\\\n\t if (ret === errorObj) { \\n\\\n\t promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n\\\n\t } \\n\\\n\t if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \\n\\\n\t return promise; \\n\\\n\t }; \\n\\\n\t notEnumerableProp(ret, '__isPromisified__', true); \\n\\\n\t return ret; \\n\\\n\t \".replace(\"[CodeForSwitchCase]\", generateArgumentSwitchCase()).replace(\"[GetFunctionCode]\", getFunctionCode);\n\t body = body.replace(\"Parameters\", parameterDeclaration(newParameterCount));\n\t return new Function(\"Promise\", \"fn\", \"receiver\", \"withAppended\", \"maybeWrapAsError\", \"nodebackForPromise\", \"tryCatch\", \"errorObj\", \"notEnumerableProp\", \"INTERNAL\", body)(Promise, fn, receiver, withAppended, maybeWrapAsError, nodebackForPromise, util.tryCatch, util.errorObj, util.notEnumerableProp, INTERNAL);\n\t };\n\t }\n\t\n\t function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n\t var defaultThis = function () {\n\t return this;\n\t }();\n\t var method = callback;\n\t if (typeof method === \"string\") {\n\t callback = fn;\n\t }\n\t function promisified() {\n\t var _receiver = receiver;\n\t if (receiver === THIS) _receiver = this;\n\t var promise = new Promise(INTERNAL);\n\t promise._captureStackTrace();\n\t var cb = typeof method === \"string\" && this !== defaultThis ? this[method] : callback;\n\t var fn = nodebackForPromise(promise, multiArgs);\n\t try {\n\t cb.apply(_receiver, withAppended(arguments, fn));\n\t } catch (e) {\n\t promise._rejectCallback(maybeWrapAsError(e), true, true);\n\t }\n\t if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n\t return promise;\n\t }\n\t util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n\t return promisified;\n\t }\n\t\n\t var makeNodePromisified = canEvaluate ? makeNodePromisifiedEval : makeNodePromisifiedClosure;\n\t\n\t function promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n\t var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n\t var methods = promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\t\n\t for (var i = 0, len = methods.length; i < len; i += 2) {\n\t var key = methods[i];\n\t var fn = methods[i + 1];\n\t var promisifiedKey = key + suffix;\n\t if (promisifier === makeNodePromisified) {\n\t obj[promisifiedKey] = makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n\t } else {\n\t var promisified = promisifier(fn, function () {\n\t return makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n\t });\n\t util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n\t obj[promisifiedKey] = promisified;\n\t }\n\t }\n\t util.toFastProperties(obj);\n\t return obj;\n\t }\n\t\n\t function promisify(callback, receiver, multiArgs) {\n\t return makeNodePromisified(callback, receiver, undefined, callback, null, multiArgs);\n\t }\n\t\n\t Promise.promisify = function (fn, options) {\n\t if (typeof fn !== \"function\") {\n\t throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t if (isPromisified(fn)) {\n\t return fn;\n\t }\n\t options = Object(options);\n\t var receiver = options.context === undefined ? THIS : options.context;\n\t var multiArgs = !!options.multiArgs;\n\t var ret = promisify(fn, receiver, multiArgs);\n\t util.copyDescriptors(fn, ret, propsFilter);\n\t return ret;\n\t };\n\t\n\t Promise.promisifyAll = function (target, options) {\n\t if (typeof target !== \"function\" && (typeof target === \"undefined\" ? \"undefined\" : _typeof(target)) !== \"object\") {\n\t throw new TypeError(\"the target of promisifyAll must be an object or a function\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t options = Object(options);\n\t var multiArgs = !!options.multiArgs;\n\t var suffix = options.suffix;\n\t if (typeof suffix !== \"string\") suffix = defaultSuffix;\n\t var filter = options.filter;\n\t if (typeof filter !== \"function\") filter = defaultFilter;\n\t var promisifier = options.promisifier;\n\t if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\t\n\t if (!util.isIdentifier(suffix)) {\n\t throw new RangeError(\"suffix must be a valid identifier\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t\n\t var keys = util.inheritedDataKeys(target);\n\t for (var i = 0; i < keys.length; ++i) {\n\t var value = target[keys[i]];\n\t if (keys[i] !== \"constructor\" && util.isClass(value)) {\n\t promisifyAll(value.prototype, suffix, filter, promisifier, multiArgs);\n\t promisifyAll(value, suffix, filter, promisifier, multiArgs);\n\t }\n\t }\n\t\n\t return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n\t };\n\t};\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, PromiseArray, tryConvertToPromise, apiRejection) {\n\t var util = __webpack_require__(6);\n\t var isObject = util.isObject;\n\t var es5 = __webpack_require__(7);\n\t var Es6Map;\n\t if (typeof Map === \"function\") Es6Map = Map;\n\t\n\t var mapToEntries = function () {\n\t var index = 0;\n\t var size = 0;\n\t\n\t function extractEntry(value, key) {\n\t this[index] = value;\n\t this[index + size] = key;\n\t index++;\n\t }\n\t\n\t return function mapToEntries(map) {\n\t size = map.size;\n\t index = 0;\n\t var ret = new Array(map.size * 2);\n\t map.forEach(extractEntry, ret);\n\t return ret;\n\t };\n\t }();\n\t\n\t var entriesToMap = function entriesToMap(entries) {\n\t var ret = new Es6Map();\n\t var length = entries.length / 2 | 0;\n\t for (var i = 0; i < length; ++i) {\n\t var key = entries[length + i];\n\t var value = entries[i];\n\t ret.set(key, value);\n\t }\n\t return ret;\n\t };\n\t\n\t function PropertiesPromiseArray(obj) {\n\t var isMap = false;\n\t var entries;\n\t if (Es6Map !== undefined && obj instanceof Es6Map) {\n\t entries = mapToEntries(obj);\n\t isMap = true;\n\t } else {\n\t var keys = es5.keys(obj);\n\t var len = keys.length;\n\t entries = new Array(len * 2);\n\t for (var i = 0; i < len; ++i) {\n\t var key = keys[i];\n\t entries[i] = obj[key];\n\t entries[i + len] = key;\n\t }\n\t }\n\t this.constructor$(entries);\n\t this._isMap = isMap;\n\t this._init$(undefined, isMap ? -6 : -3);\n\t }\n\t util.inherits(PropertiesPromiseArray, PromiseArray);\n\t\n\t PropertiesPromiseArray.prototype._init = function () {};\n\t\n\t PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n\t this._values[index] = value;\n\t var totalResolved = ++this._totalResolved;\n\t if (totalResolved >= this._length) {\n\t var val;\n\t if (this._isMap) {\n\t val = entriesToMap(this._values);\n\t } else {\n\t val = {};\n\t var keyOffset = this.length();\n\t for (var i = 0, len = this.length(); i < len; ++i) {\n\t val[this._values[i + keyOffset]] = this._values[i];\n\t }\n\t }\n\t this._resolve(val);\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t PropertiesPromiseArray.prototype.shouldCopyValues = function () {\n\t return false;\n\t };\n\t\n\t PropertiesPromiseArray.prototype.getActualLength = function (len) {\n\t return len >> 1;\n\t };\n\t\n\t function props(promises) {\n\t var ret;\n\t var castValue = tryConvertToPromise(promises);\n\t\n\t if (!isObject(castValue)) {\n\t return apiRejection(\"cannot await properties of a non-object\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t } else if (castValue instanceof Promise) {\n\t ret = castValue._then(Promise.props, undefined, undefined, undefined, undefined);\n\t } else {\n\t ret = new PropertiesPromiseArray(castValue).promise();\n\t }\n\t\n\t if (castValue instanceof Promise) {\n\t ret._propagateFrom(castValue, 2);\n\t }\n\t return ret;\n\t }\n\t\n\t Promise.prototype.props = function () {\n\t return props(this);\n\t };\n\t\n\t Promise.props = function (promises) {\n\t return props(promises);\n\t };\n\t};\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection) {\n\t var util = __webpack_require__(6);\n\t\n\t var raceLater = function raceLater(promise) {\n\t return promise.then(function (array) {\n\t return race(array, promise);\n\t });\n\t };\n\t\n\t function race(promises, parent) {\n\t var maybePromise = tryConvertToPromise(promises);\n\t\n\t if (maybePromise instanceof Promise) {\n\t return raceLater(maybePromise);\n\t } else {\n\t promises = util.asArray(promises);\n\t if (promises === null) return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n\t }\n\t\n\t var ret = new Promise(INTERNAL);\n\t if (parent !== undefined) {\n\t ret._propagateFrom(parent, 3);\n\t }\n\t var fulfill = ret._fulfill;\n\t var reject = ret._reject;\n\t for (var i = 0, len = promises.length; i < len; ++i) {\n\t var val = promises[i];\n\t\n\t if (val === undefined && !(i in promises)) {\n\t continue;\n\t }\n\t\n\t Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n\t }\n\t return ret;\n\t }\n\t\n\t Promise.race = function (promises) {\n\t return race(promises, undefined);\n\t };\n\t\n\t Promise.prototype.race = function () {\n\t return race(this, undefined);\n\t };\n\t};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) {\n\t var getDomain = Promise._getDomain;\n\t var util = __webpack_require__(6);\n\t var tryCatch = util.tryCatch;\n\t\n\t function ReductionPromiseArray(promises, fn, initialValue, _each) {\n\t this.constructor$(promises);\n\t var domain = getDomain();\n\t this._fn = domain === null ? fn : util.domainBind(domain, fn);\n\t if (initialValue !== undefined) {\n\t initialValue = Promise.resolve(initialValue);\n\t initialValue._attachCancellationCallback(this);\n\t }\n\t this._initialValue = initialValue;\n\t this._currentCancellable = null;\n\t if (_each === INTERNAL) {\n\t this._eachValues = Array(this._length);\n\t } else if (_each === 0) {\n\t this._eachValues = null;\n\t } else {\n\t this._eachValues = undefined;\n\t }\n\t this._promise._captureStackTrace();\n\t this._init$(undefined, -5);\n\t }\n\t util.inherits(ReductionPromiseArray, PromiseArray);\n\t\n\t ReductionPromiseArray.prototype._gotAccum = function (accum) {\n\t if (this._eachValues !== undefined && this._eachValues !== null && accum !== INTERNAL) {\n\t this._eachValues.push(accum);\n\t }\n\t };\n\t\n\t ReductionPromiseArray.prototype._eachComplete = function (value) {\n\t if (this._eachValues !== null) {\n\t this._eachValues.push(value);\n\t }\n\t return this._eachValues;\n\t };\n\t\n\t ReductionPromiseArray.prototype._init = function () {};\n\t\n\t ReductionPromiseArray.prototype._resolveEmptyArray = function () {\n\t this._resolve(this._eachValues !== undefined ? this._eachValues : this._initialValue);\n\t };\n\t\n\t ReductionPromiseArray.prototype.shouldCopyValues = function () {\n\t return false;\n\t };\n\t\n\t ReductionPromiseArray.prototype._resolve = function (value) {\n\t this._promise._resolveCallback(value);\n\t this._values = null;\n\t };\n\t\n\t ReductionPromiseArray.prototype._resultCancelled = function (sender) {\n\t if (sender === this._initialValue) return this._cancel();\n\t if (this._isResolved()) return;\n\t this._resultCancelled$();\n\t if (this._currentCancellable instanceof Promise) {\n\t this._currentCancellable.cancel();\n\t }\n\t if (this._initialValue instanceof Promise) {\n\t this._initialValue.cancel();\n\t }\n\t };\n\t\n\t ReductionPromiseArray.prototype._iterate = function (values) {\n\t this._values = values;\n\t var value;\n\t var i;\n\t var length = values.length;\n\t if (this._initialValue !== undefined) {\n\t value = this._initialValue;\n\t i = 0;\n\t } else {\n\t value = Promise.resolve(values[0]);\n\t i = 1;\n\t }\n\t\n\t this._currentCancellable = value;\n\t\n\t if (!value.isRejected()) {\n\t for (; i < length; ++i) {\n\t var ctx = {\n\t accum: null,\n\t value: values[i],\n\t index: i,\n\t length: length,\n\t array: this\n\t };\n\t value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n\t }\n\t }\n\t\n\t if (this._eachValues !== undefined) {\n\t value = value._then(this._eachComplete, undefined, undefined, this, undefined);\n\t }\n\t value._then(completed, completed, undefined, value, this);\n\t };\n\t\n\t Promise.prototype.reduce = function (fn, initialValue) {\n\t return reduce(this, fn, initialValue, null);\n\t };\n\t\n\t Promise.reduce = function (promises, fn, initialValue, _each) {\n\t return reduce(promises, fn, initialValue, _each);\n\t };\n\t\n\t function completed(valueOrReason, array) {\n\t if (this.isFulfilled()) {\n\t array._resolve(valueOrReason);\n\t } else {\n\t array._reject(valueOrReason);\n\t }\n\t }\n\t\n\t function reduce(promises, fn, initialValue, _each) {\n\t if (typeof fn !== \"function\") {\n\t return apiRejection(\"expecting a function but got \" + util.classString(fn));\n\t }\n\t var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n\t return array.promise();\n\t }\n\t\n\t function gotAccum(accum) {\n\t this.accum = accum;\n\t this.array._gotAccum(accum);\n\t var value = tryConvertToPromise(this.value, this.array._promise);\n\t if (value instanceof Promise) {\n\t this.array._currentCancellable = value;\n\t return value._then(gotValue, undefined, undefined, this, undefined);\n\t } else {\n\t return gotValue.call(this, value);\n\t }\n\t }\n\t\n\t function gotValue(value) {\n\t var array = this.array;\n\t var promise = array._promise;\n\t var fn = tryCatch(array._fn);\n\t promise._pushContext();\n\t var ret;\n\t if (array._eachValues !== undefined) {\n\t ret = fn.call(promise._boundValue(), value, this.index, this.length);\n\t } else {\n\t ret = fn.call(promise._boundValue(), this.accum, value, this.index, this.length);\n\t }\n\t if (ret instanceof Promise) {\n\t array._currentCancellable = ret;\n\t }\n\t var promiseCreated = promise._popContext();\n\t debug.checkForgottenReturns(ret, promiseCreated, array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\", promise);\n\t return ret;\n\t }\n\t};\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, PromiseArray, debug) {\n\t var PromiseInspection = Promise.PromiseInspection;\n\t var util = __webpack_require__(6);\n\t\n\t function SettledPromiseArray(values) {\n\t this.constructor$(values);\n\t }\n\t util.inherits(SettledPromiseArray, PromiseArray);\n\t\n\t SettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n\t this._values[index] = inspection;\n\t var totalResolved = ++this._totalResolved;\n\t if (totalResolved >= this._length) {\n\t this._resolve(this._values);\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t SettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n\t var ret = new PromiseInspection();\n\t ret._bitField = 33554432;\n\t ret._settledValueField = value;\n\t return this._promiseResolved(index, ret);\n\t };\n\t SettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n\t var ret = new PromiseInspection();\n\t ret._bitField = 16777216;\n\t ret._settledValueField = reason;\n\t return this._promiseResolved(index, ret);\n\t };\n\t\n\t Promise.settle = function (promises) {\n\t debug.deprecated(\".settle()\", \".reflect()\");\n\t return new SettledPromiseArray(promises).promise();\n\t };\n\t\n\t Promise.prototype.settle = function () {\n\t return Promise.settle(this);\n\t };\n\t};\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, PromiseArray, apiRejection) {\n\t var util = __webpack_require__(6);\n\t var RangeError = __webpack_require__(13).RangeError;\n\t var AggregateError = __webpack_require__(13).AggregateError;\n\t var isArray = util.isArray;\n\t var CANCELLATION = {};\n\t\n\t function SomePromiseArray(values) {\n\t this.constructor$(values);\n\t this._howMany = 0;\n\t this._unwrap = false;\n\t this._initialized = false;\n\t }\n\t util.inherits(SomePromiseArray, PromiseArray);\n\t\n\t SomePromiseArray.prototype._init = function () {\n\t if (!this._initialized) {\n\t return;\n\t }\n\t if (this._howMany === 0) {\n\t this._resolve([]);\n\t return;\n\t }\n\t this._init$(undefined, -5);\n\t var isArrayResolved = isArray(this._values);\n\t if (!this._isResolved() && isArrayResolved && this._howMany > this._canPossiblyFulfill()) {\n\t this._reject(this._getRangeError(this.length()));\n\t }\n\t };\n\t\n\t SomePromiseArray.prototype.init = function () {\n\t this._initialized = true;\n\t this._init();\n\t };\n\t\n\t SomePromiseArray.prototype.setUnwrap = function () {\n\t this._unwrap = true;\n\t };\n\t\n\t SomePromiseArray.prototype.howMany = function () {\n\t return this._howMany;\n\t };\n\t\n\t SomePromiseArray.prototype.setHowMany = function (count) {\n\t this._howMany = count;\n\t };\n\t\n\t SomePromiseArray.prototype._promiseFulfilled = function (value) {\n\t this._addFulfilled(value);\n\t if (this._fulfilled() === this.howMany()) {\n\t this._values.length = this.howMany();\n\t if (this.howMany() === 1 && this._unwrap) {\n\t this._resolve(this._values[0]);\n\t } else {\n\t this._resolve(this._values);\n\t }\n\t return true;\n\t }\n\t return false;\n\t };\n\t SomePromiseArray.prototype._promiseRejected = function (reason) {\n\t this._addRejected(reason);\n\t return this._checkOutcome();\n\t };\n\t\n\t SomePromiseArray.prototype._promiseCancelled = function () {\n\t if (this._values instanceof Promise || this._values == null) {\n\t return this._cancel();\n\t }\n\t this._addRejected(CANCELLATION);\n\t return this._checkOutcome();\n\t };\n\t\n\t SomePromiseArray.prototype._checkOutcome = function () {\n\t if (this.howMany() > this._canPossiblyFulfill()) {\n\t var e = new AggregateError();\n\t for (var i = this.length(); i < this._values.length; ++i) {\n\t if (this._values[i] !== CANCELLATION) {\n\t e.push(this._values[i]);\n\t }\n\t }\n\t if (e.length > 0) {\n\t this._reject(e);\n\t } else {\n\t this._cancel();\n\t }\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t SomePromiseArray.prototype._fulfilled = function () {\n\t return this._totalResolved;\n\t };\n\t\n\t SomePromiseArray.prototype._rejected = function () {\n\t return this._values.length - this.length();\n\t };\n\t\n\t SomePromiseArray.prototype._addRejected = function (reason) {\n\t this._values.push(reason);\n\t };\n\t\n\t SomePromiseArray.prototype._addFulfilled = function (value) {\n\t this._values[this._totalResolved++] = value;\n\t };\n\t\n\t SomePromiseArray.prototype._canPossiblyFulfill = function () {\n\t return this.length() - this._rejected();\n\t };\n\t\n\t SomePromiseArray.prototype._getRangeError = function (count) {\n\t var message = \"Input array must contain at least \" + this._howMany + \" items but contains only \" + count + \" items\";\n\t return new RangeError(message);\n\t };\n\t\n\t SomePromiseArray.prototype._resolveEmptyArray = function () {\n\t this._reject(this._getRangeError(0));\n\t };\n\t\n\t function some(promises, howMany) {\n\t if ((howMany | 0) !== howMany || howMany < 0) {\n\t return apiRejection(\"expecting a positive integer\\n\\n See http://goo.gl/MqrFmX\\n\");\n\t }\n\t var ret = new SomePromiseArray(promises);\n\t var promise = ret.promise();\n\t ret.setHowMany(howMany);\n\t ret.init();\n\t return promise;\n\t }\n\t\n\t Promise.some = function (promises, howMany) {\n\t return some(promises, howMany);\n\t };\n\t\n\t Promise.prototype.some = function (howMany) {\n\t return some(this, howMany);\n\t };\n\t\n\t Promise._SomePromiseArray = SomePromiseArray;\n\t};\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL) {\n\t var PromiseMap = Promise.map;\n\t\n\t Promise.prototype.filter = function (fn, options) {\n\t return PromiseMap(this, fn, options, INTERNAL);\n\t };\n\t\n\t Promise.filter = function (promises, fn, options) {\n\t return PromiseMap(promises, fn, options, INTERNAL);\n\t };\n\t};\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise, INTERNAL) {\n\t var PromiseReduce = Promise.reduce;\n\t var PromiseAll = Promise.all;\n\t\n\t function promiseAllThis() {\n\t return PromiseAll(this);\n\t }\n\t\n\t function PromiseMapSeries(promises, fn) {\n\t return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n\t }\n\t\n\t Promise.prototype.each = function (fn) {\n\t return PromiseReduce(this, fn, INTERNAL, 0)._then(promiseAllThis, undefined, undefined, this, undefined);\n\t };\n\t\n\t Promise.prototype.mapSeries = function (fn) {\n\t return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n\t };\n\t\n\t Promise.each = function (promises, fn) {\n\t return PromiseReduce(promises, fn, INTERNAL, 0)._then(promiseAllThis, undefined, undefined, promises, undefined);\n\t };\n\t\n\t Promise.mapSeries = PromiseMapSeries;\n\t};\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Promise) {\n\t var SomePromiseArray = Promise._SomePromiseArray;\n\t function any(promises) {\n\t var ret = new SomePromiseArray(promises);\n\t var promise = ret.promise();\n\t ret.setHowMany(1);\n\t ret.setUnwrap();\n\t ret.init();\n\t return promise;\n\t }\n\t\n\t Promise.any = function (promises) {\n\t return any(promises);\n\t };\n\t\n\t Promise.prototype.any = function () {\n\t return any(this);\n\t };\n\t};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _each = __webpack_require__(43);\n\t\n\tvar _each2 = _interopRequireDefault(_each);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar defaultConfig = __webpack_require__(82);\n\t\n\tvar Config = function () {\n\t function Config(c) {\n\t var _this = this;\n\t\n\t _classCallCheck(this, Config);\n\t\n\t (0, _each2.default)(c, function (value, key) {\n\t _this[key] = value;\n\t });\n\t }\n\t\n\t _createClass(Config, [{\n\t key: 'get',\n\t value: function get(k) {\n\t return this[k];\n\t }\n\t }, {\n\t key: 'set',\n\t value: function set(k, v) {\n\t this[k] = v;\n\t }\n\t }]);\n\t\n\t return Config;\n\t}();\n\t\n\tmodule.exports = new Config(defaultConfig);\n\tif (typeof module.exports.Config !== 'undefined') {\n\t throw new Error(\"default config.json file may not contain a property 'Config'\");\n\t}\n\tmodule.exports.Config = Config;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(44);\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar arrayEach = __webpack_require__(45),\n\t baseEach = __webpack_require__(46),\n\t castFunction = __webpack_require__(80),\n\t isArray = __webpack_require__(62);\n\t\n\t/**\n\t * Iterates over elements of `collection` and invokes `iteratee` for each element.\n\t * The iteratee is invoked with three arguments: (value, index|key, collection).\n\t * Iteratee functions may exit iteration early by explicitly returning `false`.\n\t *\n\t * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n\t * property are iterated like arrays. To avoid this behavior use `_.forIn`\n\t * or `_.forOwn` for object iteration.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @alias each\n\t * @category Collection\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n\t * @returns {Array|Object} Returns `collection`.\n\t * @see _.forEachRight\n\t * @example\n\t *\n\t * _.forEach([1, 2], function(value) {\n\t * console.log(value);\n\t * });\n\t * // => Logs `1` then `2`.\n\t *\n\t * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n\t * console.log(key);\n\t * });\n\t * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n\t */\n\tfunction forEach(collection, iteratee) {\n\t var func = isArray(collection) ? arrayEach : baseEach;\n\t return func(collection, castFunction(iteratee));\n\t}\n\t\n\tmodule.exports = forEach;\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * A specialized version of `_.forEach` for arrays without support for\n\t * iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns `array`.\n\t */\n\tfunction arrayEach(array, iteratee) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length;\n\t\n\t while (++index < length) {\n\t if (iteratee(array[index], index, array) === false) {\n\t break;\n\t }\n\t }\n\t return array;\n\t}\n\t\n\tmodule.exports = arrayEach;\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseForOwn = __webpack_require__(47),\n\t createBaseEach = __webpack_require__(79);\n\t\n\t/**\n\t * The base implementation of `_.forEach` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Array|Object} collection The collection to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array|Object} Returns `collection`.\n\t */\n\tvar baseEach = createBaseEach(baseForOwn);\n\t\n\tmodule.exports = baseEach;\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseFor = __webpack_require__(48),\n\t keys = __webpack_require__(50);\n\t\n\t/**\n\t * The base implementation of `_.forOwn` without support for iteratee shorthands.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Object} Returns `object`.\n\t */\n\tfunction baseForOwn(object, iteratee) {\n\t return object && baseFor(object, iteratee, keys);\n\t}\n\t\n\tmodule.exports = baseForOwn;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar createBaseFor = __webpack_require__(49);\n\t\n\t/**\n\t * The base implementation of `baseForOwn` which iterates over `object`\n\t * properties returned by `keysFunc` and invokes `iteratee` for each property.\n\t * Iteratee functions may exit iteration early by explicitly returning `false`.\n\t *\n\t * @private\n\t * @param {Object} object The object to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @param {Function} keysFunc The function to get the keys of `object`.\n\t * @returns {Object} Returns `object`.\n\t */\n\tvar baseFor = createBaseFor();\n\t\n\tmodule.exports = baseFor;\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n\t *\n\t * @private\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseFor(fromRight) {\n\t return function (object, iteratee, keysFunc) {\n\t var index = -1,\n\t iterable = Object(object),\n\t props = keysFunc(object),\n\t length = props.length;\n\t\n\t while (length--) {\n\t var key = props[fromRight ? length : ++index];\n\t if (iteratee(iterable[key], key, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return object;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseFor;\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar arrayLikeKeys = __webpack_require__(51),\n\t baseKeys = __webpack_require__(72),\n\t isArrayLike = __webpack_require__(76);\n\t\n\t/**\n\t * Creates an array of the own enumerable property names of `object`.\n\t *\n\t * **Note:** Non-object values are coerced to objects. See the\n\t * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n\t * for more details.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t * @example\n\t *\n\t * function Foo() {\n\t * this.a = 1;\n\t * this.b = 2;\n\t * }\n\t *\n\t * Foo.prototype.c = 3;\n\t *\n\t * _.keys(new Foo);\n\t * // => ['a', 'b'] (iteration order is not guaranteed)\n\t *\n\t * _.keys('hi');\n\t * // => ['0', '1']\n\t */\n\tfunction keys(object) {\n\t return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n\t}\n\t\n\tmodule.exports = keys;\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseTimes = __webpack_require__(52),\n\t isArguments = __webpack_require__(53),\n\t isArray = __webpack_require__(62),\n\t isBuffer = __webpack_require__(63),\n\t isIndex = __webpack_require__(66),\n\t isTypedArray = __webpack_require__(67);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Creates an array of the enumerable property names of the array-like `value`.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @param {boolean} inherited Specify returning inherited property names.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction arrayLikeKeys(value, inherited) {\n\t var isArr = isArray(value),\n\t isArg = !isArr && isArguments(value),\n\t isBuff = !isArr && !isArg && isBuffer(value),\n\t isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n\t skipIndexes = isArr || isArg || isBuff || isType,\n\t result = skipIndexes ? baseTimes(value.length, String) : [],\n\t length = result.length;\n\t\n\t for (var key in value) {\n\t if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (\n\t // Safari 9 has enumerable `arguments.length` in strict mode.\n\t key == 'length' ||\n\t // Node.js 0.10 has enumerable non-index properties on buffers.\n\t isBuff && (key == 'offset' || key == 'parent') ||\n\t // PhantomJS 2 has enumerable non-index properties on typed arrays.\n\t isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') ||\n\t // Skip index properties.\n\t isIndex(key, length)))) {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayLikeKeys;\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * The base implementation of `_.times` without support for iteratee shorthands\n\t * or max array length checks.\n\t *\n\t * @private\n\t * @param {number} n The number of times to invoke `iteratee`.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the array of results.\n\t */\n\tfunction baseTimes(n, iteratee) {\n\t var index = -1,\n\t result = Array(n);\n\t\n\t while (++index < n) {\n\t result[index] = iteratee(index);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseTimes;\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseIsArguments = __webpack_require__(54),\n\t isObjectLike = __webpack_require__(61);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Built-in value references. */\n\tvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\t\n\t/**\n\t * Checks if `value` is likely an `arguments` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t * else `false`.\n\t * @example\n\t *\n\t * _.isArguments(function() { return arguments; }());\n\t * // => true\n\t *\n\t * _.isArguments([1, 2, 3]);\n\t * // => false\n\t */\n\tvar isArguments = baseIsArguments(function () {\n\t return arguments;\n\t}()) ? baseIsArguments : function (value) {\n\t return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');\n\t};\n\t\n\tmodule.exports = isArguments;\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseGetTag = __webpack_require__(55),\n\t isObjectLike = __webpack_require__(61);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]';\n\t\n\t/**\n\t * The base implementation of `_.isArguments`.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n\t */\n\tfunction baseIsArguments(value) {\n\t return isObjectLike(value) && baseGetTag(value) == argsTag;\n\t}\n\t\n\tmodule.exports = baseIsArguments;\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _Symbol = __webpack_require__(56),\n\t getRawTag = __webpack_require__(59),\n\t objectToString = __webpack_require__(60);\n\t\n\t/** `Object#toString` result references. */\n\tvar nullTag = '[object Null]',\n\t undefinedTag = '[object Undefined]';\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * The base implementation of `getTag` without fallbacks for buggy environments.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the `toStringTag`.\n\t */\n\tfunction baseGetTag(value) {\n\t if (value == null) {\n\t return value === undefined ? undefinedTag : nullTag;\n\t }\n\t return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);\n\t}\n\t\n\tmodule.exports = baseGetTag;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar root = __webpack_require__(57);\n\t\n\t/** Built-in value references. */\n\tvar _Symbol = root.Symbol;\n\t\n\tmodule.exports = _Symbol;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar freeGlobal = __webpack_require__(58);\n\t\n\t/** Detect free variable `self`. */\n\tvar freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self;\n\t\n\t/** Used as a reference to the global object. */\n\tvar root = freeGlobal || freeSelf || Function('return this')();\n\t\n\tmodule.exports = root;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/** Detect free variable `global` from Node.js. */\n\tvar freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global;\n\t\n\tmodule.exports = freeGlobal;\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _Symbol = __webpack_require__(56);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/** Built-in value references. */\n\tvar symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;\n\t\n\t/**\n\t * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n\t *\n\t * @private\n\t * @param {*} value The value to query.\n\t * @returns {string} Returns the raw `toStringTag`.\n\t */\n\tfunction getRawTag(value) {\n\t var isOwn = hasOwnProperty.call(value, symToStringTag),\n\t tag = value[symToStringTag];\n\t\n\t try {\n\t value[symToStringTag] = undefined;\n\t var unmasked = true;\n\t } catch (e) {}\n\t\n\t var result = nativeObjectToString.call(value);\n\t if (unmasked) {\n\t if (isOwn) {\n\t value[symToStringTag] = tag;\n\t } else {\n\t delete value[symToStringTag];\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = getRawTag;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Used to resolve the\n\t * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n\t * of values.\n\t */\n\tvar nativeObjectToString = objectProto.toString;\n\t\n\t/**\n\t * Converts `value` to a string using `Object.prototype.toString`.\n\t *\n\t * @private\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t */\n\tfunction objectToString(value) {\n\t return nativeObjectToString.call(value);\n\t}\n\t\n\tmodule.exports = objectToString;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * Checks if `value` is object-like. A value is object-like if it's not `null`\n\t * and has a `typeof` result of \"object\".\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n\t * @example\n\t *\n\t * _.isObjectLike({});\n\t * // => true\n\t *\n\t * _.isObjectLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObjectLike(_.noop);\n\t * // => false\n\t *\n\t * _.isObjectLike(null);\n\t * // => false\n\t */\n\tfunction isObjectLike(value) {\n\t return value != null && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object';\n\t}\n\t\n\tmodule.exports = isObjectLike;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Checks if `value` is classified as an `Array` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n\t * @example\n\t *\n\t * _.isArray([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArray(document.body.children);\n\t * // => false\n\t *\n\t * _.isArray('abc');\n\t * // => false\n\t *\n\t * _.isArray(_.noop);\n\t * // => false\n\t */\n\tvar isArray = Array.isArray;\n\t\n\tmodule.exports = isArray;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar root = __webpack_require__(57),\n\t stubFalse = __webpack_require__(65);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = ( false ? 'undefined' : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && ( false ? 'undefined' : _typeof(module)) == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Built-in value references. */\n\tvar Buffer = moduleExports ? root.Buffer : undefined;\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\t\n\t/**\n\t * Checks if `value` is a buffer.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.3.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n\t * @example\n\t *\n\t * _.isBuffer(new Buffer(2));\n\t * // => true\n\t *\n\t * _.isBuffer(new Uint8Array(2));\n\t * // => false\n\t */\n\tvar isBuffer = nativeIsBuffer || stubFalse;\n\t\n\tmodule.exports = isBuffer;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)(module)))\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (module) {\n\t\tif (!module.webpackPolyfill) {\n\t\t\tmodule.deprecate = function () {};\n\t\t\tmodule.paths = [];\n\t\t\t// module.parent = undefined by default\n\t\t\tmodule.children = [];\n\t\t\tmodule.webpackPolyfill = 1;\n\t\t}\n\t\treturn module;\n\t};\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * This method returns `false`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.13.0\n\t * @category Util\n\t * @returns {boolean} Returns `false`.\n\t * @example\n\t *\n\t * _.times(2, _.stubFalse);\n\t * // => [false, false]\n\t */\n\tfunction stubFalse() {\n\t return false;\n\t}\n\t\n\tmodule.exports = stubFalse;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/** Used to detect unsigned integer values. */\n\tvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like index.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n\t * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n\t */\n\tfunction isIndex(value, length) {\n\t length = length == null ? MAX_SAFE_INTEGER : length;\n\t return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;\n\t}\n\t\n\tmodule.exports = isIndex;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseIsTypedArray = __webpack_require__(68),\n\t baseUnary = __webpack_require__(70),\n\t nodeUtil = __webpack_require__(71);\n\t\n\t/* Node.js helper references. */\n\tvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\t\n\t/**\n\t * Checks if `value` is classified as a typed array.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t * @example\n\t *\n\t * _.isTypedArray(new Uint8Array);\n\t * // => true\n\t *\n\t * _.isTypedArray([]);\n\t * // => false\n\t */\n\tvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\t\n\tmodule.exports = isTypedArray;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseGetTag = __webpack_require__(55),\n\t isLength = __webpack_require__(69),\n\t isObjectLike = __webpack_require__(61);\n\t\n\t/** `Object#toString` result references. */\n\tvar argsTag = '[object Arguments]',\n\t arrayTag = '[object Array]',\n\t boolTag = '[object Boolean]',\n\t dateTag = '[object Date]',\n\t errorTag = '[object Error]',\n\t funcTag = '[object Function]',\n\t mapTag = '[object Map]',\n\t numberTag = '[object Number]',\n\t objectTag = '[object Object]',\n\t regexpTag = '[object RegExp]',\n\t setTag = '[object Set]',\n\t stringTag = '[object String]',\n\t weakMapTag = '[object WeakMap]';\n\t\n\tvar arrayBufferTag = '[object ArrayBuffer]',\n\t dataViewTag = '[object DataView]',\n\t float32Tag = '[object Float32Array]',\n\t float64Tag = '[object Float64Array]',\n\t int8Tag = '[object Int8Array]',\n\t int16Tag = '[object Int16Array]',\n\t int32Tag = '[object Int32Array]',\n\t uint8Tag = '[object Uint8Array]',\n\t uint8ClampedTag = '[object Uint8ClampedArray]',\n\t uint16Tag = '[object Uint16Array]',\n\t uint32Tag = '[object Uint32Array]';\n\t\n\t/** Used to identify `toStringTag` values of typed arrays. */\n\tvar typedArrayTags = {};\n\ttypedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;\n\ttypedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\t\n\t/**\n\t * The base implementation of `_.isTypedArray` without Node.js optimizations.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n\t */\n\tfunction baseIsTypedArray(value) {\n\t return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n\t}\n\t\n\tmodule.exports = baseIsTypedArray;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar MAX_SAFE_INTEGER = 9007199254740991;\n\t\n\t/**\n\t * Checks if `value` is a valid array-like length.\n\t *\n\t * **Note:** This method is loosely based on\n\t * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n\t * @example\n\t *\n\t * _.isLength(3);\n\t * // => true\n\t *\n\t * _.isLength(Number.MIN_VALUE);\n\t * // => false\n\t *\n\t * _.isLength(Infinity);\n\t * // => false\n\t *\n\t * _.isLength('3');\n\t * // => false\n\t */\n\tfunction isLength(value) {\n\t return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n\t}\n\t\n\tmodule.exports = isLength;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * The base implementation of `_.unary` without support for storing metadata.\n\t *\n\t * @private\n\t * @param {Function} func The function to cap arguments for.\n\t * @returns {Function} Returns the new capped function.\n\t */\n\tfunction baseUnary(func) {\n\t return function (value) {\n\t return func(value);\n\t };\n\t}\n\t\n\tmodule.exports = baseUnary;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar freeGlobal = __webpack_require__(58);\n\t\n\t/** Detect free variable `exports`. */\n\tvar freeExports = ( false ? 'undefined' : _typeof(exports)) == 'object' && exports && !exports.nodeType && exports;\n\t\n\t/** Detect free variable `module`. */\n\tvar freeModule = freeExports && ( false ? 'undefined' : _typeof(module)) == 'object' && module && !module.nodeType && module;\n\t\n\t/** Detect the popular CommonJS extension `module.exports`. */\n\tvar moduleExports = freeModule && freeModule.exports === freeExports;\n\t\n\t/** Detect free variable `process` from Node.js. */\n\tvar freeProcess = moduleExports && freeGlobal.process;\n\t\n\t/** Used to access faster Node.js helpers. */\n\tvar nodeUtil = function () {\n\t try {\n\t return freeProcess && freeProcess.binding && freeProcess.binding('util');\n\t } catch (e) {}\n\t}();\n\t\n\tmodule.exports = nodeUtil;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)(module)))\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isPrototype = __webpack_require__(73),\n\t nativeKeys = __webpack_require__(74);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @returns {Array} Returns the array of property names.\n\t */\n\tfunction baseKeys(object) {\n\t if (!isPrototype(object)) {\n\t return nativeKeys(object);\n\t }\n\t var result = [];\n\t for (var key in Object(object)) {\n\t if (hasOwnProperty.call(object, key) && key != 'constructor') {\n\t result.push(key);\n\t }\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = baseKeys;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/**\n\t * Checks if `value` is likely a prototype object.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n\t */\n\tfunction isPrototype(value) {\n\t var Ctor = value && value.constructor,\n\t proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;\n\t\n\t return value === proto;\n\t}\n\t\n\tmodule.exports = isPrototype;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar overArg = __webpack_require__(75);\n\t\n\t/* Built-in method references for those with the same name as other `lodash` methods. */\n\tvar nativeKeys = overArg(Object.keys, Object);\n\t\n\tmodule.exports = nativeKeys;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Creates a unary function that invokes `func` with its argument transformed.\n\t *\n\t * @private\n\t * @param {Function} func The function to wrap.\n\t * @param {Function} transform The argument transform.\n\t * @returns {Function} Returns the new function.\n\t */\n\tfunction overArg(func, transform) {\n\t return function (arg) {\n\t return func(transform(arg));\n\t };\n\t}\n\t\n\tmodule.exports = overArg;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isFunction = __webpack_require__(77),\n\t isLength = __webpack_require__(69);\n\t\n\t/**\n\t * Checks if `value` is array-like. A value is considered array-like if it's\n\t * not a function and has a `value.length` that's an integer greater than or\n\t * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n\t * @example\n\t *\n\t * _.isArrayLike([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isArrayLike(document.body.children);\n\t * // => true\n\t *\n\t * _.isArrayLike('abc');\n\t * // => true\n\t *\n\t * _.isArrayLike(_.noop);\n\t * // => false\n\t */\n\tfunction isArrayLike(value) {\n\t return value != null && isLength(value.length) && !isFunction(value);\n\t}\n\t\n\tmodule.exports = isArrayLike;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseGetTag = __webpack_require__(55),\n\t isObject = __webpack_require__(78);\n\t\n\t/** `Object#toString` result references. */\n\tvar asyncTag = '[object AsyncFunction]',\n\t funcTag = '[object Function]',\n\t genTag = '[object GeneratorFunction]',\n\t proxyTag = '[object Proxy]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Function` object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n\t * @example\n\t *\n\t * _.isFunction(_);\n\t * // => true\n\t *\n\t * _.isFunction(/abc/);\n\t * // => false\n\t */\n\tfunction isFunction(value) {\n\t if (!isObject(value)) {\n\t return false;\n\t }\n\t // The use of `Object#toString` avoids issues with the `typeof` operator\n\t // in Safari 9 which returns 'object' for typed arrays and other constructors.\n\t var tag = baseGetTag(value);\n\t return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n\t}\n\t\n\tmodule.exports = isFunction;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * Checks if `value` is the\n\t * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n\t * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n\t * @example\n\t *\n\t * _.isObject({});\n\t * // => true\n\t *\n\t * _.isObject([1, 2, 3]);\n\t * // => true\n\t *\n\t * _.isObject(_.noop);\n\t * // => true\n\t *\n\t * _.isObject(null);\n\t * // => false\n\t */\n\tfunction isObject(value) {\n\t var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\t return value != null && (type == 'object' || type == 'function');\n\t}\n\t\n\tmodule.exports = isObject;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isArrayLike = __webpack_require__(76);\n\t\n\t/**\n\t * Creates a `baseEach` or `baseEachRight` function.\n\t *\n\t * @private\n\t * @param {Function} eachFunc The function to iterate over a collection.\n\t * @param {boolean} [fromRight] Specify iterating from right to left.\n\t * @returns {Function} Returns the new base function.\n\t */\n\tfunction createBaseEach(eachFunc, fromRight) {\n\t return function (collection, iteratee) {\n\t if (collection == null) {\n\t return collection;\n\t }\n\t if (!isArrayLike(collection)) {\n\t return eachFunc(collection, iteratee);\n\t }\n\t var length = collection.length,\n\t index = fromRight ? length : -1,\n\t iterable = Object(collection);\n\t\n\t while (fromRight ? index-- : ++index < length) {\n\t if (iteratee(iterable[index], index, iterable) === false) {\n\t break;\n\t }\n\t }\n\t return collection;\n\t };\n\t}\n\t\n\tmodule.exports = createBaseEach;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar identity = __webpack_require__(81);\n\t\n\t/**\n\t * Casts `value` to `identity` if it's not a function.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {Function} Returns cast function.\n\t */\n\tfunction castFunction(value) {\n\t return typeof value == 'function' ? value : identity;\n\t}\n\t\n\tmodule.exports = castFunction;\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * This method returns the first argument it receives.\n\t *\n\t * @static\n\t * @since 0.1.0\n\t * @memberOf _\n\t * @category Util\n\t * @param {*} value Any value.\n\t * @returns {*} Returns `value`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t *\n\t * console.log(_.identity(object) === object);\n\t * // => true\n\t */\n\tfunction identity(value) {\n\t return value;\n\t}\n\t\n\tmodule.exports = identity;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\"transport\":\"http\",\"websocket\":\"wss://api.hive.blog:8090\",\"uri\":\"https://api.hive.blog\",\"url\":\"https://api.hive.blog\",\"dev_uri\":\"\",\"stage_uri\":\"\",\"address_prefix\":\"STM\",\"chain_id\":\"beeab0de00000000000000000000000000000000000000000000000000000000\",\"alternative_api_endpoints\":[\"https://api.hive.blog\",\"https://anyx.io\"],\"failover_threshold\":3}\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = [{\n\t \"api\": \"database_api\",\n\t \"method\": \"set_subscribe_callback\",\n\t \"params\": [\"callback\", \"clearFilter\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"set_pending_transaction_callback\",\n\t \"params\": [\"cb\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"set_block_applied_callback\",\n\t \"params\": [\"cb\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"cancel_all_subscriptions\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_trending_tags\",\n\t \"params\": [\"afterTag\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_tags_used_by_author\",\n\t \"params\": [\"author\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_post_discussions_by_payout\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_comment_discussions_by_payout\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_trending\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_trending30\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_created\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_active\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_cashout\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_payout\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_votes\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_children\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_hot\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_feed\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_blog\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_comments\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_promoted\",\n\t \"params\": [\"query\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_block_header\",\n\t \"params\": [\"blockNum\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_block\",\n\t \"params\": [\"blockNum\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_ops_in_block\",\n\t \"params\": [\"blockNum\", \"onlyVirtual\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_state\",\n\t \"params\": [\"path\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_trending_categories\",\n\t \"params\": [\"after\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_best_categories\",\n\t \"params\": [\"after\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_active_categories\",\n\t \"params\": [\"after\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_recent_categories\",\n\t \"params\": [\"after\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_config\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_dynamic_global_properties\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_chain_properties\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_feed_history\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_current_median_history_price\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_witness_schedule\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_hardfork_version\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_next_scheduled_hardfork\"\n\t}, {\n\t \"api\": \"account_by_key_api\",\n\t \"method\": \"get_key_references\",\n\t \"params\": [\"key\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_accounts\",\n\t \"params\": [\"names\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_account_references\",\n\t \"params\": [\"accountId\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"lookup_account_names\",\n\t \"params\": [\"accountNames\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"lookup_accounts\",\n\t \"params\": [\"lowerBoundName\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_account_count\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_conversion_requests\",\n\t \"params\": [\"accountName\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_account_history\",\n\t \"params\": [\"account\", \"from\", \"limit\", \"operation_filter_low\", \"operation_filter_high\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_owner_history\",\n\t \"params\": [\"account\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_recovery_request\",\n\t \"params\": [\"account\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_escrow\",\n\t \"params\": [\"from\", \"escrowId\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_withdraw_routes\",\n\t \"params\": [\"account\", \"withdrawRouteType\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_account_bandwidth\",\n\t \"params\": [\"account\", \"bandwidthType\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_savings_withdraw_from\",\n\t \"params\": [\"account\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_savings_withdraw_to\",\n\t \"params\": [\"account\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_order_book\",\n\t \"params\": [\"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_open_orders\",\n\t \"params\": [\"owner\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_liquidity_queue\",\n\t \"params\": [\"startAccount\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_transaction_hex\",\n\t \"params\": [\"trx\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_transaction\",\n\t \"params\": [\"trxId\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_required_signatures\",\n\t \"params\": [\"trx\", \"availableKeys\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_potential_signatures\",\n\t \"params\": [\"trx\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"verify_authority\",\n\t \"params\": [\"trx\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"verify_account_authority\",\n\t \"params\": [\"nameOrId\", \"signers\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_active_votes\",\n\t \"params\": [\"author\", \"permlink\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_account_votes\",\n\t \"params\": [\"voter\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_content\",\n\t \"params\": [\"author\", \"permlink\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_content_replies\",\n\t \"params\": [\"author\", \"permlink\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_discussions_by_author_before_date\",\n\t \"params\": [\"author\", \"startPermlink\", \"beforeDate\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_replies_by_last_update\",\n\t \"params\": [\"startAuthor\", \"startPermlink\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_witnesses\",\n\t \"params\": [\"witnessIds\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_witness_by_account\",\n\t \"params\": [\"accountName\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_witnesses_by_vote\",\n\t \"params\": [\"from\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"lookup_witness_accounts\",\n\t \"params\": [\"lowerBoundName\", \"limit\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_witness_count\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_active_witnesses\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_miner_queue\"\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_reward_fund\",\n\t \"params\": [\"name\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_vesting_delegations\",\n\t \"params\": [\"account\", \"from\", \"limit\"]\n\t}, {\n\t \"api\": \"login_api\",\n\t \"method\": \"login\",\n\t \"params\": [\"username\", \"password\"]\n\t}, {\n\t \"api\": \"login_api\",\n\t \"method\": \"get_api_by_name\",\n\t \"params\": [\"database_api\"]\n\t}, {\n\t \"api\": \"login_api\",\n\t \"method\": \"get_version\"\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_followers\",\n\t \"params\": [\"following\", \"startFollower\", \"followType\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_following\",\n\t \"params\": [\"follower\", \"startFollowing\", \"followType\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_follow_count\",\n\t \"params\": [\"account\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_feed_entries\",\n\t \"params\": [\"account\", \"entryId\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_feed\",\n\t \"params\": [\"account\", \"entryId\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_blog_entries\",\n\t \"params\": [\"account\", \"entryId\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_blog\",\n\t \"params\": [\"account\", \"entryId\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_account_reputations\",\n\t \"params\": [\"lowerBoundName\", \"limit\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_reblogged_by\",\n\t \"params\": [\"author\", \"permlink\"]\n\t}, {\n\t \"api\": \"follow_api\",\n\t \"method\": \"get_blog_authors\",\n\t \"params\": [\"blogAccount\"]\n\t}, {\n\t \"api\": \"network_broadcast_api\",\n\t \"method\": \"broadcast_transaction\",\n\t \"params\": [\"trx\"]\n\t}, {\n\t \"api\": \"network_broadcast_api\",\n\t \"method\": \"broadcast_transaction_with_callback\",\n\t \"params\": [\"confirmationCallback\", \"trx\"]\n\t}, {\n\t \"api\": \"network_broadcast_api\",\n\t \"method\": \"broadcast_transaction_synchronous\",\n\t \"params\": [\"trx\"]\n\t}, {\n\t \"api\": \"network_broadcast_api\",\n\t \"method\": \"broadcast_block\",\n\t \"params\": [\"b\"]\n\t}, {\n\t \"api\": \"network_broadcast_api\",\n\t \"method\": \"set_max_block_age\",\n\t \"params\": [\"maxBlockAge\"]\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_ticker\",\n\t \"params\": []\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_volume\",\n\t \"params\": []\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_order_book\",\n\t \"method_name\": \"getMarketOrderBook\",\n\t \"params\": [\"limit\"]\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_trade_history\",\n\t \"params\": [\"start\", \"end\", \"limit\"]\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_recent_trades\",\n\t \"params\": [\"limit\"]\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_market_history\",\n\t \"params\": [\"bucket_seconds\", \"start\", \"end\"]\n\t}, {\n\t \"api\": \"market_history_api\",\n\t \"method\": \"get_market_history_buckets\",\n\t \"params\": []\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"find_proposals\",\n\t \"params\": [\"id_set\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"list_proposals\",\n\t \"params\": [\"start\", \"limit\", \"order_by\", \"order_direction\", \"status\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"list_proposal_votes\",\n\t \"params\": [\"start\", \"limit\", \"order_by\", \"order_direction\", \"status\"]\n\t}, {\n\t \"api\": \"database_api\",\n\t \"method\": \"get_nai_pool\",\n\t \"params\": []\n\t}];\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _http = __webpack_require__(85);\n\t\n\tvar _http2 = _interopRequireDefault(_http);\n\t\n\tvar _ws = __webpack_require__(94);\n\t\n\tvar _ws2 = _interopRequireDefault(_ws);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t http: _http2.default,\n\t ws: _ws2.default\n\t};\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.RPCError = undefined;\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\texports.jsonRpc = jsonRpc;\n\t\n\tvar _crossFetch = __webpack_require__(86);\n\t\n\tvar _crossFetch2 = _interopRequireDefault(_crossFetch);\n\t\n\tvar _debug = __webpack_require__(87);\n\t\n\tvar _debug2 = _interopRequireDefault(_debug);\n\t\n\tvar _retry = __webpack_require__(90);\n\t\n\tvar _retry2 = _interopRequireDefault(_retry);\n\t\n\tvar _base = __webpack_require__(93);\n\t\n\tvar _base2 = _interopRequireDefault(_base);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar debug = (0, _debug2.default)('steem:http');\n\t\n\tvar RPCError = exports.RPCError = function (_Error) {\n\t _inherits(RPCError, _Error);\n\t\n\t function RPCError(rpcError) {\n\t _classCallCheck(this, RPCError);\n\t\n\t var _this = _possibleConstructorReturn(this, (RPCError.__proto__ || Object.getPrototypeOf(RPCError)).call(this, rpcError.message));\n\t\n\t _this.name = 'RPCError';\n\t _this.code = rpcError.code;\n\t _this.data = rpcError.data;\n\t return _this;\n\t }\n\t\n\t return RPCError;\n\t}(Error);\n\t\n\t/**\n\t * Makes a JSON-RPC request using `fetch` or a user-provided `fetchMethod`.\n\t *\n\t * @param {string} uri - The URI to the JSON-RPC endpoint.\n\t * @param {string} options.method - The remote JSON-RPC method to call.\n\t * @param {string} options.id - ID for the request, for matching to a response.\n\t * @param {*} options.params - The params for the remote method.\n\t * @param {function} [options.fetchMethod=fetch] - A function with the same\n\t * signature as `fetch`, which can be used to make the network request, or for\n\t * stubbing in tests.\n\t */\n\t\n\t\n\tfunction jsonRpc(uri, _ref) {\n\t var method = _ref.method,\n\t id = _ref.id,\n\t params = _ref.params,\n\t _ref$fetchMethod = _ref.fetchMethod,\n\t fetchMethod = _ref$fetchMethod === undefined ? _crossFetch2.default : _ref$fetchMethod;\n\t\n\t var payload = { id: id, jsonrpc: '2.0', method: method, params: params };\n\t return fetchMethod(uri, {\n\t body: JSON.stringify(payload),\n\t method: 'post',\n\t mode: 'cors',\n\t headers: {\n\t Accept: 'application/json, text/plain, */*',\n\t 'Content-Type': 'application/json'\n\t }\n\t }).then(function (res) {\n\t if (!res.ok) {\n\t throw new Error('HTTP ' + res.status + ': ' + res.statusText);\n\t }\n\t return res.json();\n\t }).then(function (rpcRes) {\n\t if (rpcRes.id !== id) {\n\t throw new Error('Invalid response id: ' + rpcRes.id);\n\t }\n\t if (rpcRes.error) {\n\t throw new RPCError(rpcRes.error);\n\t }\n\t return rpcRes.result;\n\t });\n\t}\n\t\n\tvar HttpTransport = function (_Transport) {\n\t _inherits(HttpTransport, _Transport);\n\t\n\t function HttpTransport() {\n\t _classCallCheck(this, HttpTransport);\n\t\n\t return _possibleConstructorReturn(this, (HttpTransport.__proto__ || Object.getPrototypeOf(HttpTransport)).apply(this, arguments));\n\t }\n\t\n\t _createClass(HttpTransport, [{\n\t key: 'send',\n\t value: function send(api, data, callback) {\n\t var _this3 = this;\n\t\n\t if (this.options.useAppbaseApi) {\n\t api = 'condenser_api';\n\t }\n\t debug('Steem::send', api, data);\n\t var id = data.id || this.id++;\n\t var params = [api, data.method, data.params];\n\t //SPECIAL CODE - can be removed after all API node operators upgrade to get the updated get_account_history api call\n\t // if (this.options.uri !== 'https://api.hive.blog' && data.method === 'get_account_history' && data.params.length >= 4)\n\t // {\n\t // //We are experimenting with a new version of get_account_history that can now take up to 5 params\n\t // //but this is only deployed on api.hive.blog nodes, so if this particular request is going to a different\n\t // //backend, just strip the extra parameters off the call to avoid breaking it. Once all API nodes have upgraded\n\t // //this code can be removed.\n\t // while (data.params.length > 3)\n\t // data.params.pop();\n\t // params = [api, data.method, data.params];\n\t // }\n\t //END SPECIAL CODE\n\t var retriable = this.retriable(api, data);\n\t var fetchMethod = this.options.fetchMethod;\n\t if (retriable) {\n\t retriable.attempt(function (currentAttempt) {\n\t jsonRpc(_this3.options.uri, { method: 'call', id: id, params: params, fetchMethod: fetchMethod }).then(function (res) {\n\t callback(null, res);\n\t }, function (err) {\n\t if (retriable.retry(err)) {\n\t return;\n\t }\n\t callback(retriable.mainError());\n\t });\n\t });\n\t } else {\n\t jsonRpc(this.options.uri, { method: 'call', id: id, params: params, fetchMethod: fetchMethod }).then(function (res) {\n\t callback(null, res);\n\t }, function (err) {\n\t callback(err);\n\t });\n\t }\n\t }\n\t }, {\n\t key: 'retriable',\n\t\n\t\n\t // An object which can be used to track retries.\n\t value: function retriable(api, data) {\n\t if (this.nonRetriableOperations.some(function (o) {\n\t return o === data.method;\n\t })) {\n\t // Do not retry if the operation is non-retriable.\n\t return null;\n\t } else if (Object(this.options.retry) === this.options.retry) {\n\t // If `this.options.retry` is a map of options, pass those to operation.\n\t return _retry2.default.operation(this.options.retry);\n\t } else if (this.options.retry) {\n\t // If `this.options.retry` is `true`, use default options.\n\t return _retry2.default.operation();\n\t } else {\n\t // Otherwise, don't retry.\n\t return null;\n\t }\n\t }\n\t }, {\n\t key: 'nonRetriableOperations',\n\t get: function get() {\n\t return this.options.nonRetriableOperations || ['broadcast_transaction', 'broadcast_transaction_with_callback', 'broadcast_transaction_synchronous', 'broadcast_block', 'get_account_history'];\n\t }\n\t }]);\n\t\n\t return HttpTransport;\n\t}(_base2.default);\n\t\n\texports.default = HttpTransport;\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar self = {};\n\t(function (self) {\n\t 'use strict';\n\t\n\t if (self.fetch) {\n\t return;\n\t }\n\t\n\t var support = {\n\t searchParams: 'URLSearchParams' in self,\n\t iterable: 'Symbol' in self && 'iterator' in Symbol,\n\t blob: 'FileReader' in self && 'Blob' in self && function () {\n\t try {\n\t new Blob();\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }(),\n\t formData: 'FormData' in self,\n\t arrayBuffer: 'ArrayBuffer' in self\n\t };\n\t\n\t if (support.arrayBuffer) {\n\t var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]'];\n\t\n\t var isDataView = function isDataView(obj) {\n\t return obj && DataView.prototype.isPrototypeOf(obj);\n\t };\n\t\n\t var isArrayBufferView = ArrayBuffer.isView || function (obj) {\n\t return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;\n\t };\n\t }\n\t\n\t function normalizeName(name) {\n\t if (typeof name !== 'string') {\n\t name = String(name);\n\t }\n\t if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n\t throw new TypeError('Invalid character in header field name');\n\t }\n\t return name.toLowerCase();\n\t }\n\t\n\t function normalizeValue(value) {\n\t if (typeof value !== 'string') {\n\t value = String(value);\n\t }\n\t return value;\n\t }\n\t\n\t // Build a destructive iterator for the value list\n\t function iteratorFor(items) {\n\t var iterator = {\n\t next: function next() {\n\t var value = items.shift();\n\t return { done: value === undefined, value: value };\n\t }\n\t };\n\t\n\t if (support.iterable) {\n\t iterator[Symbol.iterator] = function () {\n\t return iterator;\n\t };\n\t }\n\t\n\t return iterator;\n\t }\n\t\n\t function Headers(headers) {\n\t this.map = {};\n\t\n\t if (headers instanceof Headers) {\n\t headers.forEach(function (value, name) {\n\t this.append(name, value);\n\t }, this);\n\t } else if (Array.isArray(headers)) {\n\t headers.forEach(function (header) {\n\t this.append(header[0], header[1]);\n\t }, this);\n\t } else if (headers) {\n\t Object.getOwnPropertyNames(headers).forEach(function (name) {\n\t this.append(name, headers[name]);\n\t }, this);\n\t }\n\t }\n\t\n\t Headers.prototype.append = function (name, value) {\n\t name = normalizeName(name);\n\t value = normalizeValue(value);\n\t var oldValue = this.map[name];\n\t this.map[name] = oldValue ? oldValue + ',' + value : value;\n\t };\n\t\n\t Headers.prototype['delete'] = function (name) {\n\t delete this.map[normalizeName(name)];\n\t };\n\t\n\t Headers.prototype.get = function (name) {\n\t name = normalizeName(name);\n\t return this.has(name) ? this.map[name] : null;\n\t };\n\t\n\t Headers.prototype.has = function (name) {\n\t return this.map.hasOwnProperty(normalizeName(name));\n\t };\n\t\n\t Headers.prototype.set = function (name, value) {\n\t this.map[normalizeName(name)] = normalizeValue(value);\n\t };\n\t\n\t Headers.prototype.forEach = function (callback, thisArg) {\n\t for (var name in this.map) {\n\t if (this.map.hasOwnProperty(name)) {\n\t callback.call(thisArg, this.map[name], name, this);\n\t }\n\t }\n\t };\n\t\n\t Headers.prototype.keys = function () {\n\t var items = [];\n\t this.forEach(function (value, name) {\n\t items.push(name);\n\t });\n\t return iteratorFor(items);\n\t };\n\t\n\t Headers.prototype.values = function () {\n\t var items = [];\n\t this.forEach(function (value) {\n\t items.push(value);\n\t });\n\t return iteratorFor(items);\n\t };\n\t\n\t Headers.prototype.entries = function () {\n\t var items = [];\n\t this.forEach(function (value, name) {\n\t items.push([name, value]);\n\t });\n\t return iteratorFor(items);\n\t };\n\t\n\t if (support.iterable) {\n\t Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n\t }\n\t\n\t function consumed(body) {\n\t if (body.bodyUsed) {\n\t return Promise.reject(new TypeError('Already read'));\n\t }\n\t body.bodyUsed = true;\n\t }\n\t\n\t function fileReaderReady(reader) {\n\t return new Promise(function (resolve, reject) {\n\t reader.onload = function () {\n\t resolve(reader.result);\n\t };\n\t reader.onerror = function () {\n\t reject(reader.error);\n\t };\n\t });\n\t }\n\t\n\t function readBlobAsArrayBuffer(blob) {\n\t var reader = new FileReader();\n\t var promise = fileReaderReady(reader);\n\t reader.readAsArrayBuffer(blob);\n\t return promise;\n\t }\n\t\n\t function readBlobAsText(blob) {\n\t var reader = new FileReader();\n\t var promise = fileReaderReady(reader);\n\t reader.readAsText(blob);\n\t return promise;\n\t }\n\t\n\t function readArrayBufferAsText(buf) {\n\t var view = new Uint8Array(buf);\n\t var chars = new Array(view.length);\n\t\n\t for (var i = 0; i < view.length; i++) {\n\t chars[i] = String.fromCharCode(view[i]);\n\t }\n\t return chars.join('');\n\t }\n\t\n\t function bufferClone(buf) {\n\t if (buf.slice) {\n\t return buf.slice(0);\n\t } else {\n\t var view = new Uint8Array(buf.byteLength);\n\t view.set(new Uint8Array(buf));\n\t return view.buffer;\n\t }\n\t }\n\t\n\t function Body() {\n\t this.bodyUsed = false;\n\t\n\t this._initBody = function (body) {\n\t this._bodyInit = body;\n\t if (!body) {\n\t this._bodyText = '';\n\t } else if (typeof body === 'string') {\n\t this._bodyText = body;\n\t } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n\t this._bodyBlob = body;\n\t } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n\t this._bodyFormData = body;\n\t } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n\t this._bodyText = body.toString();\n\t } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n\t this._bodyArrayBuffer = bufferClone(body.buffer);\n\t // IE 10-11 can't handle a DataView body.\n\t this._bodyInit = new Blob([this._bodyArrayBuffer]);\n\t } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n\t this._bodyArrayBuffer = bufferClone(body);\n\t } else {\n\t throw new Error('unsupported BodyInit type');\n\t }\n\t\n\t if (!this.headers.get('content-type')) {\n\t if (typeof body === 'string') {\n\t this.headers.set('content-type', 'text/plain;charset=UTF-8');\n\t } else if (this._bodyBlob && this._bodyBlob.type) {\n\t this.headers.set('content-type', this._bodyBlob.type);\n\t } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n\t this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n\t }\n\t }\n\t };\n\t\n\t if (support.blob) {\n\t this.blob = function () {\n\t var rejected = consumed(this);\n\t if (rejected) {\n\t return rejected;\n\t }\n\t\n\t if (this._bodyBlob) {\n\t return Promise.resolve(this._bodyBlob);\n\t } else if (this._bodyArrayBuffer) {\n\t return Promise.resolve(new Blob([this._bodyArrayBuffer]));\n\t } else if (this._bodyFormData) {\n\t throw new Error('could not read FormData body as blob');\n\t } else {\n\t return Promise.resolve(new Blob([this._bodyText]));\n\t }\n\t };\n\t\n\t this.arrayBuffer = function () {\n\t if (this._bodyArrayBuffer) {\n\t return consumed(this) || Promise.resolve(this._bodyArrayBuffer);\n\t } else {\n\t return this.blob().then(readBlobAsArrayBuffer);\n\t }\n\t };\n\t }\n\t\n\t this.text = function () {\n\t var rejected = consumed(this);\n\t if (rejected) {\n\t return rejected;\n\t }\n\t\n\t if (this._bodyBlob) {\n\t return readBlobAsText(this._bodyBlob);\n\t } else if (this._bodyArrayBuffer) {\n\t return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));\n\t } else if (this._bodyFormData) {\n\t throw new Error('could not read FormData body as text');\n\t } else {\n\t return Promise.resolve(this._bodyText);\n\t }\n\t };\n\t\n\t if (support.formData) {\n\t this.formData = function () {\n\t return this.text().then(decode);\n\t };\n\t }\n\t\n\t this.json = function () {\n\t return this.text().then(JSON.parse);\n\t };\n\t\n\t return this;\n\t }\n\t\n\t // HTTP methods whose capitalization should be normalized\n\t var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\t\n\t function normalizeMethod(method) {\n\t var upcased = method.toUpperCase();\n\t return methods.indexOf(upcased) > -1 ? upcased : method;\n\t }\n\t\n\t function Request(input, options) {\n\t options = options || {};\n\t var body = options.body;\n\t\n\t if (input instanceof Request) {\n\t if (input.bodyUsed) {\n\t throw new TypeError('Already read');\n\t }\n\t this.url = input.url;\n\t this.credentials = input.credentials;\n\t if (!options.headers) {\n\t this.headers = new Headers(input.headers);\n\t }\n\t this.method = input.method;\n\t this.mode = input.mode;\n\t if (!body && input._bodyInit != null) {\n\t body = input._bodyInit;\n\t input.bodyUsed = true;\n\t }\n\t } else {\n\t this.url = String(input);\n\t }\n\t\n\t this.credentials = options.credentials || this.credentials || 'omit';\n\t if (options.headers || !this.headers) {\n\t this.headers = new Headers(options.headers);\n\t }\n\t this.method = normalizeMethod(options.method || this.method || 'GET');\n\t this.mode = options.mode || this.mode || null;\n\t this.referrer = null;\n\t\n\t if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n\t throw new TypeError('Body not allowed for GET or HEAD requests');\n\t }\n\t this._initBody(body);\n\t }\n\t\n\t Request.prototype.clone = function () {\n\t return new Request(this, { body: this._bodyInit });\n\t };\n\t\n\t function decode(body) {\n\t var form = new FormData();\n\t body.trim().split('&').forEach(function (bytes) {\n\t if (bytes) {\n\t var split = bytes.split('=');\n\t var name = split.shift().replace(/\\+/g, ' ');\n\t var value = split.join('=').replace(/\\+/g, ' ');\n\t form.append(decodeURIComponent(name), decodeURIComponent(value));\n\t }\n\t });\n\t return form;\n\t }\n\t\n\t function parseHeaders(rawHeaders) {\n\t var headers = new Headers();\n\t rawHeaders.split(/\\r?\\n/).forEach(function (line) {\n\t var parts = line.split(':');\n\t var key = parts.shift().trim();\n\t if (key) {\n\t var value = parts.join(':').trim();\n\t headers.append(key, value);\n\t }\n\t });\n\t return headers;\n\t }\n\t\n\t Body.call(Request.prototype);\n\t\n\t function Response(bodyInit, options) {\n\t if (!options) {\n\t options = {};\n\t }\n\t\n\t this.type = 'default';\n\t this.status = 'status' in options ? options.status : 200;\n\t this.ok = this.status >= 200 && this.status < 300;\n\t this.statusText = 'statusText' in options ? options.statusText : 'OK';\n\t this.headers = new Headers(options.headers);\n\t this.url = options.url || '';\n\t this._initBody(bodyInit);\n\t }\n\t\n\t Body.call(Response.prototype);\n\t\n\t Response.prototype.clone = function () {\n\t return new Response(this._bodyInit, {\n\t status: this.status,\n\t statusText: this.statusText,\n\t headers: new Headers(this.headers),\n\t url: this.url\n\t });\n\t };\n\t\n\t Response.error = function () {\n\t var response = new Response(null, { status: 0, statusText: '' });\n\t response.type = 'error';\n\t return response;\n\t };\n\t\n\t var redirectStatuses = [301, 302, 303, 307, 308];\n\t\n\t Response.redirect = function (url, status) {\n\t if (redirectStatuses.indexOf(status) === -1) {\n\t throw new RangeError('Invalid status code');\n\t }\n\t\n\t return new Response(null, { status: status, headers: { location: url } });\n\t };\n\t\n\t self.Headers = Headers;\n\t self.Request = Request;\n\t self.Response = Response;\n\t\n\t self.fetch = function (input, init) {\n\t return new Promise(function (resolve, reject) {\n\t var request = new Request(input, init);\n\t var xhr = new XMLHttpRequest();\n\t\n\t xhr.onload = function () {\n\t var options = {\n\t status: xhr.status,\n\t statusText: xhr.statusText,\n\t headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n\t };\n\t options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n\t var body = 'response' in xhr ? xhr.response : xhr.responseText;\n\t resolve(new Response(body, options));\n\t };\n\t\n\t xhr.onerror = function () {\n\t reject(new TypeError('Network request failed'));\n\t };\n\t\n\t xhr.ontimeout = function () {\n\t reject(new TypeError('Network request failed'));\n\t };\n\t\n\t xhr.open(request.method, request.url, true);\n\t\n\t if (request.credentials === 'include') {\n\t xhr.withCredentials = true;\n\t }\n\t\n\t if ('responseType' in xhr && support.blob) {\n\t xhr.responseType = 'blob';\n\t }\n\t\n\t request.headers.forEach(function (value, name) {\n\t xhr.setRequestHeader(name, value);\n\t });\n\t\n\t xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n\t });\n\t };\n\t self.fetch.polyfill = true;\n\t})(typeof self !== 'undefined' ? self : undefined);\n\t\n\t/*\n\t * Rollup wraps up the whatwg-fetch code on ponyfill mode in\n\t * order to prevent it from adding fetch to the global object.\n\t */\n\t\n\tvar fetch = self.fetch;\n\t\n\tfetch.fetch = fetch;\n\tfetch.Response = self.Response;\n\tfetch.Headers = self.Headers;\n\tfetch.Request = self.Request;\n\t\n\t// fetch now can be imported as the default object\n\tmodule.exports = fetch;\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * This is the web browser implementation of `debug()`.\n\t *\n\t * Expose `debug()` as the module.\n\t */\n\t\n\texports = module.exports = __webpack_require__(88);\n\texports.log = log;\n\texports.formatArgs = formatArgs;\n\texports.save = save;\n\texports.load = load;\n\texports.useColors = useColors;\n\texports.storage = 'undefined' != typeof chrome && 'undefined' != typeof chrome.storage ? chrome.storage.local : localstorage();\n\t\n\t/**\n\t * Colors.\n\t */\n\t\n\texports.colors = ['lightseagreen', 'forestgreen', 'goldenrod', 'dodgerblue', 'darkorchid', 'crimson'];\n\t\n\t/**\n\t * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n\t * and the Firebug extension (any Firefox version) are known\n\t * to support \"%c\" CSS customizations.\n\t *\n\t * TODO: add a `localStorage` variable to explicitly enable/disable colors\n\t */\n\t\n\tfunction useColors() {\n\t // NB: In an Electron preload script, document will be defined but not fully\n\t // initialized. Since we know we're in Chrome, we'll just detect this case\n\t // explicitly\n\t if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n\t return true;\n\t }\n\t\n\t // is webkit? http://stackoverflow.com/a/16459606/376773\n\t // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance ||\n\t // is firebug? http://stackoverflow.com/a/398120/376773\n\t typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) ||\n\t // is firefox >= v31?\n\t // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31 ||\n\t // double check webkit in userAgent just in case we are in a worker\n\t typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n\t}\n\t\n\t/**\n\t * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n\t */\n\t\n\texports.formatters.j = function (v) {\n\t try {\n\t return JSON.stringify(v);\n\t } catch (err) {\n\t return '[UnexpectedJSONParseError]: ' + err.message;\n\t }\n\t};\n\t\n\t/**\n\t * Colorize log arguments if enabled.\n\t *\n\t * @api public\n\t */\n\t\n\tfunction formatArgs(args) {\n\t var useColors = this.useColors;\n\t\n\t args[0] = (useColors ? '%c' : '') + this.namespace + (useColors ? ' %c' : ' ') + args[0] + (useColors ? '%c ' : ' ') + '+' + exports.humanize(this.diff);\n\t\n\t if (!useColors) return;\n\t\n\t var c = 'color: ' + this.color;\n\t args.splice(1, 0, c, 'color: inherit');\n\t\n\t // the final \"%c\" is somewhat tricky, because there could be other\n\t // arguments passed either before or after the %c, so we need to\n\t // figure out the correct index to insert the CSS into\n\t var index = 0;\n\t var lastC = 0;\n\t args[0].replace(/%[a-zA-Z%]/g, function (match) {\n\t if ('%%' === match) return;\n\t index++;\n\t if ('%c' === match) {\n\t // we only are interested in the *last* %c\n\t // (the user may have provided their own)\n\t lastC = index;\n\t }\n\t });\n\t\n\t args.splice(lastC, 0, c);\n\t}\n\t\n\t/**\n\t * Invokes `console.log()` when available.\n\t * No-op when `console.log` is not a \"function\".\n\t *\n\t * @api public\n\t */\n\t\n\tfunction log() {\n\t // this hackery is required for IE8/9, where\n\t // the `console.log` function doesn't have 'apply'\n\t return 'object' === (typeof console === 'undefined' ? 'undefined' : _typeof(console)) && console.log && Function.prototype.apply.call(console.log, console, arguments);\n\t}\n\t\n\t/**\n\t * Save `namespaces`.\n\t *\n\t * @param {String} namespaces\n\t * @api private\n\t */\n\t\n\tfunction save(namespaces) {\n\t try {\n\t if (null == namespaces) {\n\t exports.storage.removeItem('debug');\n\t } else {\n\t exports.storage.debug = namespaces;\n\t }\n\t } catch (e) {}\n\t}\n\t\n\t/**\n\t * Load `namespaces`.\n\t *\n\t * @return {String} returns the previously persisted debug modes\n\t * @api private\n\t */\n\t\n\tfunction load() {\n\t var r;\n\t try {\n\t r = exports.storage.debug;\n\t } catch (e) {}\n\t\n\t // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\t if (!r && typeof process !== 'undefined' && 'env' in process) {\n\t r = process.env.DEBUG;\n\t }\n\t\n\t return r;\n\t}\n\t\n\t/**\n\t * Enable namespaces listed in `localStorage.debug` initially.\n\t */\n\t\n\texports.enable(load());\n\t\n\t/**\n\t * Localstorage attempts to return the localstorage.\n\t *\n\t * This is necessary because safari throws\n\t * when a user disables cookies/localstorage\n\t * and you attempt to access it.\n\t *\n\t * @return {LocalStorage}\n\t * @api private\n\t */\n\t\n\tfunction localstorage() {\n\t try {\n\t return window.localStorage;\n\t } catch (e) {}\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * This is the common logic for both the Node.js and web browser\n\t * implementations of `debug()`.\n\t *\n\t * Expose `debug()` as the module.\n\t */\n\t\n\texports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\n\texports.coerce = coerce;\n\texports.disable = disable;\n\texports.enable = enable;\n\texports.enabled = enabled;\n\texports.humanize = __webpack_require__(89);\n\t\n\t/**\n\t * The currently active debug mode names, and names to skip.\n\t */\n\t\n\texports.names = [];\n\texports.skips = [];\n\t\n\t/**\n\t * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t *\n\t * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t */\n\t\n\texports.formatters = {};\n\t\n\t/**\n\t * Previous log timestamp.\n\t */\n\t\n\tvar prevTime;\n\t\n\t/**\n\t * Select a color.\n\t * @param {String} namespace\n\t * @return {Number}\n\t * @api private\n\t */\n\t\n\tfunction selectColor(namespace) {\n\t var hash = 0,\n\t i;\n\t\n\t for (i in namespace) {\n\t hash = (hash << 5) - hash + namespace.charCodeAt(i);\n\t hash |= 0; // Convert to 32bit integer\n\t }\n\t\n\t return exports.colors[Math.abs(hash) % exports.colors.length];\n\t}\n\t\n\t/**\n\t * Create a debugger with the given `namespace`.\n\t *\n\t * @param {String} namespace\n\t * @return {Function}\n\t * @api public\n\t */\n\t\n\tfunction createDebug(namespace) {\n\t\n\t function debug() {\n\t // disabled?\n\t if (!debug.enabled) return;\n\t\n\t var self = debug;\n\t\n\t // set `diff` timestamp\n\t var curr = +new Date();\n\t var ms = curr - (prevTime || curr);\n\t self.diff = ms;\n\t self.prev = prevTime;\n\t self.curr = curr;\n\t prevTime = curr;\n\t\n\t // turn the `arguments` into a proper Array\n\t var args = new Array(arguments.length);\n\t for (var i = 0; i < args.length; i++) {\n\t args[i] = arguments[i];\n\t }\n\t\n\t args[0] = exports.coerce(args[0]);\n\t\n\t if ('string' !== typeof args[0]) {\n\t // anything else let's inspect with %O\n\t args.unshift('%O');\n\t }\n\t\n\t // apply any `formatters` transformations\n\t var index = 0;\n\t args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) {\n\t // if we encounter an escaped % then don't increase the array index\n\t if (match === '%%') return match;\n\t index++;\n\t var formatter = exports.formatters[format];\n\t if ('function' === typeof formatter) {\n\t var val = args[index];\n\t match = formatter.call(self, val);\n\t\n\t // now we need to remove `args[index]` since it's inlined in the `format`\n\t args.splice(index, 1);\n\t index--;\n\t }\n\t return match;\n\t });\n\t\n\t // apply env-specific formatting (colors, etc.)\n\t exports.formatArgs.call(self, args);\n\t\n\t var logFn = debug.log || exports.log || console.log.bind(console);\n\t logFn.apply(self, args);\n\t }\n\t\n\t debug.namespace = namespace;\n\t debug.enabled = exports.enabled(namespace);\n\t debug.useColors = exports.useColors();\n\t debug.color = selectColor(namespace);\n\t\n\t // env-specific initialization logic for debug instances\n\t if ('function' === typeof exports.init) {\n\t exports.init(debug);\n\t }\n\t\n\t return debug;\n\t}\n\t\n\t/**\n\t * Enables a debug mode by namespaces. This can include modes\n\t * separated by a colon and wildcards.\n\t *\n\t * @param {String} namespaces\n\t * @api public\n\t */\n\t\n\tfunction enable(namespaces) {\n\t exports.save(namespaces);\n\t\n\t exports.names = [];\n\t exports.skips = [];\n\t\n\t var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t var len = split.length;\n\t\n\t for (var i = 0; i < len; i++) {\n\t if (!split[i]) continue; // ignore empty strings\n\t namespaces = split[i].replace(/\\*/g, '.*?');\n\t if (namespaces[0] === '-') {\n\t exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n\t } else {\n\t exports.names.push(new RegExp('^' + namespaces + '$'));\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Disable debug output.\n\t *\n\t * @api public\n\t */\n\t\n\tfunction disable() {\n\t exports.enable('');\n\t}\n\t\n\t/**\n\t * Returns true if the given mode name is enabled, false otherwise.\n\t *\n\t * @param {String} name\n\t * @return {Boolean}\n\t * @api public\n\t */\n\t\n\tfunction enabled(name) {\n\t var i, len;\n\t for (i = 0, len = exports.skips.length; i < len; i++) {\n\t if (exports.skips[i].test(name)) {\n\t return false;\n\t }\n\t }\n\t for (i = 0, len = exports.names.length; i < len; i++) {\n\t if (exports.names[i].test(name)) {\n\t return true;\n\t }\n\t }\n\t return false;\n\t}\n\t\n\t/**\n\t * Coerce `val`.\n\t *\n\t * @param {Mixed} val\n\t * @return {Mixed}\n\t * @api private\n\t */\n\t\n\tfunction coerce(val) {\n\t if (val instanceof Error) return val.stack || val.message;\n\t return val;\n\t}\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * Helpers.\n\t */\n\t\n\tvar s = 1000;\n\tvar m = s * 60;\n\tvar h = m * 60;\n\tvar d = h * 24;\n\tvar y = d * 365.25;\n\t\n\t/**\n\t * Parse or format the given `val`.\n\t *\n\t * Options:\n\t *\n\t * - `long` verbose formatting [false]\n\t *\n\t * @param {String|Number} val\n\t * @param {Object} [options]\n\t * @throws {Error} throw an error if val is not a non-empty string or a number\n\t * @return {String|Number}\n\t * @api public\n\t */\n\t\n\tmodule.exports = function (val, options) {\n\t options = options || {};\n\t var type = typeof val === 'undefined' ? 'undefined' : _typeof(val);\n\t if (type === 'string' && val.length > 0) {\n\t return parse(val);\n\t } else if (type === 'number' && isNaN(val) === false) {\n\t return options.long ? fmtLong(val) : fmtShort(val);\n\t }\n\t throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val));\n\t};\n\t\n\t/**\n\t * Parse the given `str` and return milliseconds.\n\t *\n\t * @param {String} str\n\t * @return {Number}\n\t * @api private\n\t */\n\t\n\tfunction parse(str) {\n\t str = String(str);\n\t if (str.length > 100) {\n\t return;\n\t }\n\t var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);\n\t if (!match) {\n\t return;\n\t }\n\t var n = parseFloat(match[1]);\n\t var type = (match[2] || 'ms').toLowerCase();\n\t switch (type) {\n\t case 'years':\n\t case 'year':\n\t case 'yrs':\n\t case 'yr':\n\t case 'y':\n\t return n * y;\n\t case 'days':\n\t case 'day':\n\t case 'd':\n\t return n * d;\n\t case 'hours':\n\t case 'hour':\n\t case 'hrs':\n\t case 'hr':\n\t case 'h':\n\t return n * h;\n\t case 'minutes':\n\t case 'minute':\n\t case 'mins':\n\t case 'min':\n\t case 'm':\n\t return n * m;\n\t case 'seconds':\n\t case 'second':\n\t case 'secs':\n\t case 'sec':\n\t case 's':\n\t return n * s;\n\t case 'milliseconds':\n\t case 'millisecond':\n\t case 'msecs':\n\t case 'msec':\n\t case 'ms':\n\t return n;\n\t default:\n\t return undefined;\n\t }\n\t}\n\t\n\t/**\n\t * Short format for `ms`.\n\t *\n\t * @param {Number} ms\n\t * @return {String}\n\t * @api private\n\t */\n\t\n\tfunction fmtShort(ms) {\n\t if (ms >= d) {\n\t return Math.round(ms / d) + 'd';\n\t }\n\t if (ms >= h) {\n\t return Math.round(ms / h) + 'h';\n\t }\n\t if (ms >= m) {\n\t return Math.round(ms / m) + 'm';\n\t }\n\t if (ms >= s) {\n\t return Math.round(ms / s) + 's';\n\t }\n\t return ms + 'ms';\n\t}\n\t\n\t/**\n\t * Long format for `ms`.\n\t *\n\t * @param {Number} ms\n\t * @return {String}\n\t * @api private\n\t */\n\t\n\tfunction fmtLong(ms) {\n\t return plural(ms, d, 'day') || plural(ms, h, 'hour') || plural(ms, m, 'minute') || plural(ms, s, 'second') || ms + ' ms';\n\t}\n\t\n\t/**\n\t * Pluralization helper.\n\t */\n\t\n\tfunction plural(ms, n, name) {\n\t if (ms < n) {\n\t return;\n\t }\n\t if (ms < n * 1.5) {\n\t return Math.floor(ms / n) + ' ' + name;\n\t }\n\t return Math.ceil(ms / n) + ' ' + name + 's';\n\t}\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(91);\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar RetryOperation = __webpack_require__(92);\n\t\n\texports.operation = function (options) {\n\t var timeouts = exports.timeouts(options);\n\t return new RetryOperation(timeouts, {\n\t forever: options && options.forever,\n\t unref: options && options.unref,\n\t maxRetryTime: options && options.maxRetryTime\n\t });\n\t};\n\t\n\texports.timeouts = function (options) {\n\t if (options instanceof Array) {\n\t return [].concat(options);\n\t }\n\t\n\t var opts = {\n\t retries: 10,\n\t factor: 2,\n\t minTimeout: 1 * 1000,\n\t maxTimeout: Infinity,\n\t randomize: false\n\t };\n\t for (var key in options) {\n\t opts[key] = options[key];\n\t }\n\t\n\t if (opts.minTimeout > opts.maxTimeout) {\n\t throw new Error('minTimeout is greater than maxTimeout');\n\t }\n\t\n\t var timeouts = [];\n\t for (var i = 0; i < opts.retries; i++) {\n\t timeouts.push(this.createTimeout(i, opts));\n\t }\n\t\n\t if (options && options.forever && !timeouts.length) {\n\t timeouts.push(this.createTimeout(i, opts));\n\t }\n\t\n\t // sort the array numerically ascending\n\t timeouts.sort(function (a, b) {\n\t return a - b;\n\t });\n\t\n\t return timeouts;\n\t};\n\t\n\texports.createTimeout = function (attempt, opts) {\n\t var random = opts.randomize ? Math.random() + 1 : 1;\n\t\n\t var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));\n\t timeout = Math.min(timeout, opts.maxTimeout);\n\t\n\t return timeout;\n\t};\n\t\n\texports.wrap = function (obj, options, methods) {\n\t if (options instanceof Array) {\n\t methods = options;\n\t options = null;\n\t }\n\t\n\t if (!methods) {\n\t methods = [];\n\t for (var key in obj) {\n\t if (typeof obj[key] === 'function') {\n\t methods.push(key);\n\t }\n\t }\n\t }\n\t\n\t for (var i = 0; i < methods.length; i++) {\n\t var method = methods[i];\n\t var original = obj[method];\n\t\n\t obj[method] = function retryWrapper(original) {\n\t var op = exports.operation(options);\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var callback = args.pop();\n\t\n\t args.push(function (err) {\n\t if (op.retry(err)) {\n\t return;\n\t }\n\t if (err) {\n\t arguments[0] = op.mainError();\n\t }\n\t callback.apply(this, arguments);\n\t });\n\t\n\t op.attempt(function () {\n\t original.apply(obj, args);\n\t });\n\t }.bind(obj, original);\n\t obj[method].options = options;\n\t }\n\t};\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tfunction RetryOperation(timeouts, options) {\n\t // Compatibility for the old (timeouts, retryForever) signature\n\t if (typeof options === 'boolean') {\n\t options = { forever: options };\n\t }\n\t\n\t this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n\t this._timeouts = timeouts;\n\t this._options = options || {};\n\t this._maxRetryTime = options && options.maxRetryTime || Infinity;\n\t this._fn = null;\n\t this._errors = [];\n\t this._attempts = 1;\n\t this._operationTimeout = null;\n\t this._operationTimeoutCb = null;\n\t this._timeout = null;\n\t this._operationStart = null;\n\t\n\t if (this._options.forever) {\n\t this._cachedTimeouts = this._timeouts.slice(0);\n\t }\n\t}\n\tmodule.exports = RetryOperation;\n\t\n\tRetryOperation.prototype.reset = function () {\n\t this._attempts = 1;\n\t this._timeouts = this._originalTimeouts;\n\t};\n\t\n\tRetryOperation.prototype.stop = function () {\n\t if (this._timeout) {\n\t clearTimeout(this._timeout);\n\t }\n\t\n\t this._timeouts = [];\n\t this._cachedTimeouts = null;\n\t};\n\t\n\tRetryOperation.prototype.retry = function (err) {\n\t if (this._timeout) {\n\t clearTimeout(this._timeout);\n\t }\n\t\n\t if (!err) {\n\t return false;\n\t }\n\t var currentTime = new Date().getTime();\n\t if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n\t this._errors.unshift(new Error('RetryOperation timeout occurred'));\n\t return false;\n\t }\n\t\n\t this._errors.push(err);\n\t\n\t var timeout = this._timeouts.shift();\n\t if (timeout === undefined) {\n\t if (this._cachedTimeouts) {\n\t // retry forever, only keep last error\n\t this._errors.splice(this._errors.length - 1, this._errors.length);\n\t this._timeouts = this._cachedTimeouts.slice(0);\n\t timeout = this._timeouts.shift();\n\t } else {\n\t return false;\n\t }\n\t }\n\t\n\t var self = this;\n\t var timer = setTimeout(function () {\n\t self._attempts++;\n\t\n\t if (self._operationTimeoutCb) {\n\t self._timeout = setTimeout(function () {\n\t self._operationTimeoutCb(self._attempts);\n\t }, self._operationTimeout);\n\t\n\t if (self._options.unref) {\n\t self._timeout.unref();\n\t }\n\t }\n\t\n\t self._fn(self._attempts);\n\t }, timeout);\n\t\n\t if (this._options.unref) {\n\t timer.unref();\n\t }\n\t\n\t return true;\n\t};\n\t\n\tRetryOperation.prototype.attempt = function (fn, timeoutOps) {\n\t this._fn = fn;\n\t\n\t if (timeoutOps) {\n\t if (timeoutOps.timeout) {\n\t this._operationTimeout = timeoutOps.timeout;\n\t }\n\t if (timeoutOps.cb) {\n\t this._operationTimeoutCb = timeoutOps.cb;\n\t }\n\t }\n\t\n\t var self = this;\n\t if (this._operationTimeoutCb) {\n\t this._timeout = setTimeout(function () {\n\t self._operationTimeoutCb();\n\t }, self._operationTimeout);\n\t }\n\t\n\t this._operationStart = new Date().getTime();\n\t\n\t this._fn(this._attempts);\n\t};\n\t\n\tRetryOperation.prototype.try = function (fn) {\n\t console.log('Using RetryOperation.try() is deprecated');\n\t this.attempt(fn);\n\t};\n\t\n\tRetryOperation.prototype.start = function (fn) {\n\t console.log('Using RetryOperation.start() is deprecated');\n\t this.attempt(fn);\n\t};\n\t\n\tRetryOperation.prototype.start = RetryOperation.prototype.try;\n\t\n\tRetryOperation.prototype.errors = function () {\n\t return this._errors;\n\t};\n\t\n\tRetryOperation.prototype.attempts = function () {\n\t return this._attempts;\n\t};\n\t\n\tRetryOperation.prototype.mainError = function () {\n\t if (this._errors.length === 0) {\n\t return null;\n\t }\n\t\n\t var counts = {};\n\t var mainError = null;\n\t var mainErrorCount = 0;\n\t\n\t for (var i = 0; i < this._errors.length; i++) {\n\t var error = this._errors[i];\n\t var message = error.message;\n\t var count = (counts[message] || 0) + 1;\n\t\n\t counts[message] = count;\n\t\n\t if (count >= mainErrorCount) {\n\t mainError = error;\n\t mainErrorCount = count;\n\t }\n\t }\n\t\n\t return mainError;\n\t};\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _bluebird = __webpack_require__(3);\n\t\n\tvar _bluebird2 = _interopRequireDefault(_bluebird);\n\t\n\tvar _events = __webpack_require__(2);\n\t\n\tvar _events2 = _interopRequireDefault(_events);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar Transport = function (_EventEmitter) {\n\t _inherits(Transport, _EventEmitter);\n\t\n\t function Transport() {\n\t var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t _classCallCheck(this, Transport);\n\t\n\t var _this = _possibleConstructorReturn(this, (Transport.__proto__ || Object.getPrototypeOf(Transport)).call(this, options));\n\t\n\t _this.options = options;\n\t _this.id = 0;\n\t return _this;\n\t }\n\t\n\t _createClass(Transport, [{\n\t key: 'setOptions',\n\t value: function setOptions(options) {\n\t Object.assign(this.options, options);\n\t this.stop();\n\t }\n\t }, {\n\t key: 'listenTo',\n\t value: function listenTo(target, eventName, callback) {\n\t if (target.addEventListener) target.addEventListener(eventName, callback);else target.on(eventName, callback);\n\t\n\t return function () {\n\t if (target.removeEventListener) target.removeEventListener(eventName, callback);else target.removeListener(eventName, callback);\n\t };\n\t }\n\t }, {\n\t key: 'send',\n\t value: function send() {}\n\t }, {\n\t key: 'start',\n\t value: function start() {}\n\t }, {\n\t key: 'stop',\n\t value: function stop() {}\n\t }]);\n\t\n\t return Transport;\n\t}(_events2.default);\n\t\n\texports.default = Transport;\n\t\n\t\n\t_bluebird2.default.promisifyAll(Transport.prototype);\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _bluebird = __webpack_require__(3);\n\t\n\tvar _bluebird2 = _interopRequireDefault(_bluebird);\n\t\n\tvar _detectNode = __webpack_require__(95);\n\t\n\tvar _detectNode2 = _interopRequireDefault(_detectNode);\n\t\n\tvar _debug = __webpack_require__(87);\n\t\n\tvar _debug2 = _interopRequireDefault(_debug);\n\t\n\tvar _base = __webpack_require__(93);\n\t\n\tvar _base2 = _interopRequireDefault(_base);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\t\n\tfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\t\n\tvar WebSocket = void 0;\n\tif (_detectNode2.default) {\n\t WebSocket = __webpack_require__(96); // eslint-disable-line global-require\n\t} else if (typeof window !== 'undefined') {\n\t WebSocket = window.WebSocket;\n\t} else {\n\t throw new Error(\"Couldn't decide on a `WebSocket` class\");\n\t}\n\t\n\tvar debug = (0, _debug2.default)('steem:ws');\n\t\n\tvar WsTransport = function (_Transport) {\n\t _inherits(WsTransport, _Transport);\n\t\n\t function WsTransport() {\n\t var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t\n\t _classCallCheck(this, WsTransport);\n\t\n\t var _this = _possibleConstructorReturn(this, (WsTransport.__proto__ || Object.getPrototypeOf(WsTransport)).call(this, Object.assign({ id: 0 }, options)));\n\t\n\t _this._requests = new Map();\n\t _this.inFlight = 0;\n\t _this.isOpen = false;\n\t return _this;\n\t }\n\t\n\t _createClass(WsTransport, [{\n\t key: 'start',\n\t value: function start() {\n\t var _this2 = this;\n\t\n\t if (this.startPromise) {\n\t return this.startPromise;\n\t }\n\t\n\t this.startPromise = new _bluebird2.default(function (resolve, reject) {\n\t _this2.ws = new WebSocket(_this2.options.websocket);\n\t _this2.ws.onerror = function (err) {\n\t _this2.startPromise = null;\n\t reject(err);\n\t };\n\t _this2.ws.onopen = function () {\n\t _this2.isOpen = true;\n\t _this2.ws.onerror = _this2.onError.bind(_this2);\n\t _this2.ws.onmessage = _this2.onMessage.bind(_this2);\n\t _this2.ws.onclose = _this2.onClose.bind(_this2);\n\t resolve();\n\t };\n\t });\n\t return this.startPromise;\n\t }\n\t }, {\n\t key: 'stop',\n\t value: function stop() {\n\t debug('Stopping...');\n\t\n\t this.startPromise = null;\n\t this.isOpen = false;\n\t this._requests.clear();\n\t\n\t if (this.ws) {\n\t this.ws.onerror = this.ws.onmessage = this.ws.onclose = null;\n\t this.ws.close();\n\t this.ws = null;\n\t }\n\t }\n\t }, {\n\t key: 'send',\n\t value: function send(api, data, callback) {\n\t var _this3 = this;\n\t\n\t debug('Steem::send', api, data);\n\t return this.start().then(function () {\n\t var deferral = {};\n\t new _bluebird2.default(function (resolve, reject) {\n\t deferral.resolve = function (val) {\n\t resolve(val);\n\t callback(null, val);\n\t };\n\t deferral.reject = function (val) {\n\t reject(val);\n\t callback(val);\n\t };\n\t });\n\t\n\t if (_this3.options.useAppbaseApi) {\n\t api = 'condenser_api';\n\t }\n\t\n\t var _request = {\n\t deferral: deferral,\n\t startedAt: Date.now(),\n\t message: {\n\t id: data.id || _this3.id++,\n\t method: 'call',\n\t jsonrpc: '2.0',\n\t params: [api, data.method, data.params]\n\t }\n\t };\n\t _this3.inFlight++;\n\t _this3._requests.set(_request.message.id, _request);\n\t _this3.ws.send(JSON.stringify(_request.message));\n\t return deferral;\n\t });\n\t }\n\t }, {\n\t key: 'onError',\n\t value: function onError(error) {\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = this._requests[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var _request = _step.value;\n\t\n\t _request.deferral.reject(error);\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t\n\t this.stop();\n\t }\n\t }, {\n\t key: 'onClose',\n\t value: function onClose() {\n\t var error = new Error('Connection was closed');\n\t var _iteratorNormalCompletion2 = true;\n\t var _didIteratorError2 = false;\n\t var _iteratorError2 = undefined;\n\t\n\t try {\n\t for (var _iterator2 = this._requests[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t var _request = _step2.value;\n\t\n\t _request.deferral.reject(error);\n\t }\n\t } catch (err) {\n\t _didIteratorError2 = true;\n\t _iteratorError2 = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t _iterator2.return();\n\t }\n\t } finally {\n\t if (_didIteratorError2) {\n\t throw _iteratorError2;\n\t }\n\t }\n\t }\n\t\n\t this._requests.clear();\n\t }\n\t }, {\n\t key: 'onMessage',\n\t value: function onMessage(websocketMessage) {\n\t var message = JSON.parse(websocketMessage.data);\n\t debug('-- Steem.onMessage -->', message.id);\n\t if (!this._requests.has(message.id)) {\n\t throw new Error('Panic: no request in queue for message id ' + message.id);\n\t }\n\t var _request = this._requests.get(message.id);\n\t this._requests.delete(message.id);\n\t\n\t var errorCause = message.error;\n\t if (errorCause) {\n\t var err = new Error(\n\t // eslint-disable-next-line prefer-template\n\t (errorCause.message || 'Failed to complete operation') + ' (see err.payload for the full error payload)');\n\t err.payload = message;\n\t _request.deferral.reject(err);\n\t } else {\n\t this.emit('track-performance', _request.message.method, Date.now() - _request.startedAt);\n\t _request.deferral.resolve(message.result);\n\t }\n\t }\n\t }]);\n\t\n\t return WsTransport;\n\t}(_base2.default);\n\t\n\texports.default = WsTransport;\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\tmodule.exports = false;\n\t\n\t// Only Node.JS has a process variable that is of [[Class]] process\n\ttry {\n\t module.exports = Object.prototype.toString.call(global.process) === '[object process]';\n\t} catch (e) {}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\n\t/* (ignored) */\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.camelCase = camelCase;\n\texports.validateAccountName = validateAccountName;\n\texports.buildWitnessUpdateOp = buildWitnessUpdateOp;\n\texports.autoDetectApiVersion = autoDetectApiVersion;\n\t\n\tvar _types = __webpack_require__(98);\n\t\n\tvar _types2 = _interopRequireDefault(_types);\n\t\n\tvar _serializer = __webpack_require__(199);\n\t\n\tvar _serializer2 = _interopRequireDefault(_serializer);\n\t\n\tvar _config = __webpack_require__(42);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tvar _http = __webpack_require__(85);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar ByteBuffer = __webpack_require__(153);\n\t\n\tvar uint16 = _types2.default.uint16,\n\t uint32 = _types2.default.uint32,\n\t string = _types2.default.string,\n\t public_key = _types2.default.public_key,\n\t asset = _types2.default.asset;\n\t\n\t\n\tvar snakeCaseRe = /_([a-z])/g;\n\tfunction camelCase(str) {\n\t return str.replace(snakeCaseRe, function (_m, l) {\n\t return l.toUpperCase();\n\t });\n\t}\n\t\n\tfunction validateAccountName(value) {\n\t var i = void 0,\n\t label = void 0,\n\t len = void 0,\n\t suffix = void 0;\n\t\n\t suffix = \"Account name should \";\n\t if (!value) {\n\t return suffix + \"not be empty.\";\n\t }\n\t var length = value.length;\n\t if (length < 3) {\n\t return suffix + \"be longer.\";\n\t }\n\t if (length > 16) {\n\t return suffix + \"be shorter.\";\n\t }\n\t if (/\\./.test(value)) {\n\t suffix = \"Each account segment should \";\n\t }\n\t var ref = value.split(\".\");\n\t for (i = 0, len = ref.length; i < len; i++) {\n\t label = ref[i];\n\t if (!/^[a-z]/.test(label)) {\n\t return suffix + \"start with a letter.\";\n\t }\n\t if (!/^[a-z0-9-]*$/.test(label)) {\n\t return suffix + \"have only letters, digits, or dashes.\";\n\t }\n\t if (/--/.test(label)) {\n\t return suffix + \"have only one dash in a row.\";\n\t }\n\t if (!/[a-z0-9]$/.test(label)) {\n\t return suffix + \"end with a letter or digit.\";\n\t }\n\t if (!(label.length >= 3)) {\n\t return suffix + \"be longer\";\n\t }\n\t }\n\t return null;\n\t}\n\t\n\t// Hack to be able to generate a valid witness_set_properties op\n\t// Can hopefully be removed when hived's JSON representation is fixed\n\tvar price = new _serializer2.default(\"price\", {\n\t base: asset,\n\t quote: asset\n\t});\n\t\n\tfunction serialize(serializer, data) {\n\t var buffer = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n\t serializer.appendByteBuffer(buffer, data);\n\t buffer.flip();\n\t return buffer.toString('hex');\n\t}\n\tfunction buildWitnessUpdateOp(owner, props) {\n\t var data = {\n\t extensions: [],\n\t owner: owner,\n\t props: []\n\t };\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = Object.keys(props)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var key = _step.value;\n\t\n\t var type = void 0;\n\t switch (key) {\n\t case \"key\":\n\t case \"new_signing_key\":\n\t type = public_key;\n\t break;\n\t case \"account_subsidy_budget\":\n\t case \"account_subsidy_decay\":\n\t case \"maximum_block_size\":\n\t type = uint32;\n\t break;\n\t case \"hbd_interest_rate\":\n\t type = uint16;\n\t break;\n\t case \"url\":\n\t type = string;\n\t break;\n\t case \"hbd_exchange_rate\":\n\t type = price;\n\t break;\n\t case \"account_creation_fee\":\n\t type = asset;\n\t break;\n\t default:\n\t throw new Error(\"Unknown witness prop: \" + key);\n\t }\n\t data.props.push([key, serialize(type, props[key])]);\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t\n\t data.props.sort(function (a, b) {\n\t return a[0].localeCompare(b[0]);\n\t });\n\t return [\"witness_set_properties\", data];\n\t}\n\t\n\tfunction autoDetectApiVersion() {\n\t console.log('Warning: call to autoDetectApiVersion() is deprecated and can safely be removed');\n\t}\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process, Buffer) {'use strict';\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _ecc = __webpack_require__(103);\n\t\n\tvar _number_utils = __webpack_require__(194);\n\t\n\tvar _config = __webpack_require__(42);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t// Low-level types that make up operations\n\t\n\tvar v = __webpack_require__(195);\n\tvar ObjectId = __webpack_require__(197);\n\tvar fp = __webpack_require__(198);\n\tvar chain_types = __webpack_require__(196);\n\t//const BigInt = require('BigInt')\n\t\n\tvar Types = {};\n\tmodule.exports = Types;\n\t\n\tvar HEX_DUMP = process.env.npm_config__graphene_serializer_hex_dump;\n\t\n\t// Highly optimized implementation of Damm algorithm\n\t// https://en.wikipedia.org/wiki/Damm_algorithm\n\tfunction damm_checksum_8digit(value) {\n\t if (value >= 100000000) throw new Error(\"Expected value less than 100000000, instead got \" + value);\n\t\n\t var t = [0, 30, 10, 70, 50, 90, 80, 60, 40, 20, 70, 0, 90, 20, 10, 50, 40, 80, 60, 30, 40, 20, 0, 60, 80, 70, 10, 30, 50, 90, 10, 70, 50, 0, 90, 80, 30, 40, 20, 60, 60, 10, 20, 30, 0, 40, 50, 90, 70, 80, 30, 60, 70, 40, 20, 0, 90, 50, 80, 10, 50, 80, 60, 90, 70, 20, 0, 10, 30, 40, 80, 90, 40, 50, 30, 60, 20, 0, 10, 70, 90, 40, 30, 80, 60, 10, 70, 20, 0, 50, 20, 50, 80, 10, 40, 30, 60, 70, 90, 0];\n\t\n\t var q0 = value / 10;\n\t var d0 = value % 10;\n\t var q1 = q0 / 10;\n\t var d1 = q0 % 10;\n\t var q2 = q1 / 10;\n\t var d2 = q1 % 10;\n\t var q3 = q2 / 10;\n\t var d3 = q2 % 10;\n\t var q4 = q3 / 10;\n\t var d4 = q3 % 10;\n\t var q5 = q4 / 10;\n\t var d5 = q4 % 10;\n\t var d6 = q5 % 10;\n\t var d7 = q5 / 10;\n\t\n\t var x = t[d7];\n\t x = t[x + d6];\n\t x = t[x + d5];\n\t x = t[x + d4];\n\t x = t[x + d3];\n\t x = t[x + d2];\n\t x = t[x + d1];\n\t x = t[x + d0];\n\t\n\t return x / 10;\n\t}\n\t\n\t/**\n\t* Asset symbols contain the following information\n\t*\n\t* 4 bit PRECISION\n\t* 4 bit RESERVED\n\t* CHAR[6] up to 6 upper case alpha numeric ascii characters,\n\t* char = \\0 null terminated\n\t*\n\t* It is treated as a uint64_t for all internal operations, but\n\t* is easily converted to something that can be displayed.\n\t*\n\t* Legacy serialization of assets\n\t* 0000pppp aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff 00000000\n\t* Symbol = abcdef\n\t*\n\t* NAI serialization of assets\n\t* aaa1pppp bbbbbbbb cccccccc dddddddd\n\t* NAI = (MSB to LSB) dddddddd cccccccc bbbbbbbb aaa\n\t*\n\t* NAI internal storage of legacy assets\n\t*/\n\tTypes.asset = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var amount = b.readInt64();\n\t var precision = b.readUint8();\n\t var amount_string = \"\";\n\t var symbol = \"\";\n\t\n\t if (precision >= 16) {\n\t // NAI Case\n\t var b_copy = b.copy(b.offset - 1, b.offset + 3);\n\t var nai = new Buffer(b_copy.toBinary(), \"binary\").readInt32();\n\t nai = nai / 32;\n\t symbol = \"@@\" + nai.toString().padStart(8, '0') + damm_checksum_8digit(nai).to_String();\n\t precision = precision % 16;\n\t b.skip(3);\n\t amount_string = (0, _number_utils.fromImpliedDecimal)(amount, precision);\n\t } else {\n\t // Legacy Case\n\t var _b_copy = b.copy(b.offset, b.offset + 7);\n\t symbol = new Buffer(_b_copy.toBinary(), \"binary\").toString().replace(/\\x00/g, \"\");\n\t b.skip(7);\n\t // \"1.000 HIVE\" always written with full precision\n\t amount_string = (0, _number_utils.fromImpliedDecimal)(amount, precision);\n\t }\n\t\n\t return amount_string + \" \" + symbol;\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t var amount = \"\";\n\t var symbol = \"\";\n\t var nai = 0;\n\t var precision = 0;\n\t\n\t if (object[\"nai\"]) {\n\t symbol = object[\"nai\"];\n\t nai = parseInt(symbol.slice(2));\n\t var checksum = nai % 10;\n\t nai = Math.floor(nai / 10);\n\t var expected_checksum = damm_checksum_8digit(nai);\n\t\n\t switch (object[\"nai\"]) {\n\t case \"@@000000021\":\n\t precision = 3;\n\t symbol = _config2.default.get(\"address_prefix\") == \"STM\" ? \"STEEM\" : \"TESTS\";\n\t break;\n\t case \"@@000000013\":\n\t precision = 3;\n\t symbol = _config2.default.get(\"address_prefix\") == \"STM\" ? \"SBD\" : \"TBD\";\n\t break;\n\t case \"@@000000037\":\n\t precision = 6;\n\t symbol = \"VESTS\";\n\t break;\n\t }\n\t\n\t precision = parseInt(object[\"precision\"]);\n\t b.writeInt64(v.to_long(parseInt(object[\"amount\"])));\n\t } else {\n\t object = object.trim();\n\t if (!/^[0-9]+\\.?[0-9]* [A-Za-z0-9@]+$/.test(object)) throw new Error(\"Expecting amount like '99.000 SYMBOL', instead got '\" + object + \"'\");\n\t\n\t var res = object.split(\" \");\n\t amount = res[0];\n\t symbol = res[1];\n\t\n\t // Hive workaround for now\n\t symbol = symbol == \"HIVE\" ? \"STEEM\" : symbol == \"HBD\" ? \"SBD\" : symbol;\n\t\n\t if (symbol.startsWith(\"@@\")) {\n\t // NAI Case\n\t nai = parseInt(symbol.slice(2));\n\t var _checksum = nai % 10;\n\t nai = Math.floor(nai / 10);\n\t var _expected_checksum = damm_checksum_8digit(nai);\n\t } else if (symbol.length > 6) throw new Error(\"Symbols are not longer than 6 characters \" + symbol + \"-\" + symbol.length);\n\t\n\t b.writeInt64(v.to_long(amount.replace(\".\", \"\")));\n\t var dot = amount.indexOf(\".\"); // 0.000\n\t precision = dot === -1 ? 0 : amount.length - dot - 1;\n\t }\n\t\n\t if (symbol.startsWith(\"@@\")) {\n\t nai = (nai << 5) + 16 + precision;\n\t b.writeUint32(nai);\n\t } else {\n\t b.writeUint8(precision);\n\t b.append(symbol.toUpperCase(), 'binary');\n\t for (var i = 0; i < 7 - symbol.length; i++) {\n\t b.writeUint8(0);\n\t }\n\t }\n\t\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"0.000 HIVE\";\n\t }\n\t return object;\n\t }\n\t};\n\t\n\tTypes.asset_symbol = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var precision = b.readUint8();\n\t var amount_string = \"\";\n\t var nai_string = \"\";\n\t\n\t if (precision >= 16) {\n\t // NAI Case\n\t var b_copy = b.copy(b.offset - 1, b.offset + 3);\n\t var nai = new Buffer(b_copy.toBinary(), \"binary\").readInt32();\n\t nai = nai / 32;\n\t nai_string = \"@@\" + nai.toString().padStart(8, '0') + damm_checksum_8digit(nai).to_String();\n\t precision = precision % 16;\n\t b.skip(3);\n\t } else {\n\t // Legacy Case\n\t var _b_copy2 = b.copy(b.offset, b.offset + 7);\n\t var symbol = new Buffer(_b_copy2.toBinary(), \"binary\").toString().replace(/\\x00/g, \"\");\n\t if (symbol == \"STEEM\" || symbol == \"TESTS\") nai_string = \"@@000000021\";else if (symbol == \"SBD\" || symbol == \"TBD\") nai_string = \"@@000000013\";else if (symbol == \"VESTS\") nai_string = \"@@000000037\";else throw new Error(\"Expecting non-smt core asset symbol, instead got '\" + symbol + \"'\");\n\t b.skip(7);\n\t }\n\t\n\t return { \"nai\": nai_string, \"precision\": precision };\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t\n\t var nai = 0;\n\t if (!object[\"nai\"].startsWith(\"@@\")) throw new Error(\"Asset Symbols NAIs must be prefixed with '@@'. Was \" + object[\"nai\"]);\n\t\n\t nai = parseInt(object[\"nai\"].slice(2));\n\t var checksum = nai % 10;\n\t nai = Math.floor(nai / 10);\n\t var expected_checksum = damm_checksum_8digit(nai);\n\t\n\t var precision = 0;\n\t var symbol = \"\";\n\t switch (object[\"nai\"]) {\n\t case \"@@000000021\":\n\t precision = 3;\n\t symbol = _config2.default.get(\"address_prefix\") == \"STM\" ? \"STEEM\" : \"TESTS\";\n\t break;\n\t case \"@@000000013\":\n\t precision = 3;\n\t symbol = _config2.default.get(\"address_prefix\") == \"STM\" ? \"SBD\" : \"TBD\";\n\t break;\n\t case \"@@000000037\":\n\t precision = 6;\n\t symbol = \"VESTS\";\n\t break;\n\t }\n\t\n\t if (precision > 0) {\n\t //Core Symbol Case\n\t b.writeUint8(precision);\n\t b.append(symbol, 'binary');\n\t for (var i = 0; i < 7 - symbol.length; i++) {\n\t b.writeUint8(0);\n\t }\n\t } else {\n\t nai = (nai << 5) + 16 + object[\"precision\"];\n\t b.writeUint32(nai);\n\t }\n\t\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"STEEM\";\n\t }\n\t return object;\n\t }\n\t};\n\t\n\tTypes.uint8 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readUint8();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.require_range(0, 0xFF, object, 'uint8 ' + object);\n\t b.writeUint8(object);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.require_range(0, 0xFF, object, 'uint8 ' + object);\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return 0;\n\t }\n\t v.require_range(0, 0xFF, object, 'uint8 ' + object);\n\t return parseInt(object);\n\t }\n\t};\n\t\n\tTypes.uint16 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readUint16();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.require_range(0, 0xFFFF, object, 'uint16 ' + object);\n\t b.writeUint16(object);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.require_range(0, 0xFFFF, object, 'uint16 ' + object);\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return 0;\n\t }\n\t v.require_range(0, 0xFFFF, object, 'uint16 ' + object);\n\t return parseInt(object);\n\t }\n\t};\n\t\n\tTypes.uint32 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readUint32();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.require_range(0, 0xFFFFFFFF, object, 'uint32 ' + object);\n\t b.writeUint32(object);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.require_range(0, 0xFFFFFFFF, object, 'uint32 ' + object);\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return 0;\n\t }\n\t v.require_range(0, 0xFFFFFFFF, object, 'uint32 ' + object);\n\t return parseInt(object);\n\t }\n\t};\n\t\n\tvar MIN_SIGNED_32 = -1 * Math.pow(2, 31);\n\tvar MAX_SIGNED_32 = Math.pow(2, 31) - 1;\n\t\n\tTypes.varint32 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readVarint32();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.require_range(MIN_SIGNED_32, MAX_SIGNED_32, object, 'uint32 ' + object);\n\t b.writeVarint32(object);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.require_range(MIN_SIGNED_32, MAX_SIGNED_32, object, 'uint32 ' + object);\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return 0;\n\t }\n\t v.require_range(MIN_SIGNED_32, MAX_SIGNED_32, object, 'uint32 ' + object);\n\t return parseInt(object);\n\t }\n\t};\n\t\n\tTypes.int16 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readInt16();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t b.writeInt16(object);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return object;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return 0;\n\t }\n\t return parseInt(object);\n\t }\n\t};\n\t\n\tTypes.int64 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readInt64();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t b.writeInt64(v.to_long(object));\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t return v.to_long(object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"0\";\n\t }\n\t v.required(object);\n\t return v.to_long(object).toString();\n\t }\n\t};\n\t\n\tTypes.uint64 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readUint64();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t b.writeUint64(v.to_long(v.unsigned(object)));\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return v.to_long(v.unsigned(object));\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"0\";\n\t }\n\t return v.to_long(object).toString();\n\t }\n\t};\n\t\n\tTypes.uint128 = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t b.readBigInt64();\n\t return b.readBigInt64();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t b.writeUint64(v.to_long(v.unsigned(0)));\n\t b.writeUint64(v.to_long(v.unsigned(object)));\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return v.to_long(v.unsigned(object));\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"0\";\n\t }\n\t return v.to_long(object).toString();\n\t }\n\t};\n\t\n\tTypes.string = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return new Buffer(b.readVString(), 'utf8');\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t b.writeVString(object.toString());\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t return new Buffer(object, 'utf8');\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"\";\n\t }\n\t return object.toString('utf8');\n\t }\n\t};\n\t\n\tTypes.string_binary = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var b_copy;\n\t var len = b.readVarint32();\n\t b_copy = b.copy(b.offset, b.offset + len), b.skip(len);\n\t return new Buffer(b_copy.toBinary(), 'binary');\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t b.writeVarint32(object.length);\n\t b.append(object.toString('binary'), 'binary');\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t return new Buffer(object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"\";\n\t }\n\t return object.toString();\n\t }\n\t};\n\t\n\tTypes.bytes = function (size) {\n\t return {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t if (size === undefined) {\n\t var b_copy;\n\t var len = b.readVarint32();\n\t b_copy = b.copy(b.offset, b.offset + len), b.skip(len);\n\t return new Buffer(b_copy.toBinary(), 'binary');\n\t } else {\n\t b_copy = b.copy(b.offset, b.offset + size), b.skip(size);\n\t return new Buffer(b_copy.toBinary(), 'binary');\n\t }\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t if (typeof object === \"string\") object = new Buffer(object, \"hex\");\n\t\n\t if (size === undefined) {\n\t b.writeVarint32(object.length);\n\t }\n\t b.append(object.toString('binary'), 'binary');\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t if (Buffer.isBuffer(object)) return object;\n\t\n\t return new Buffer(object, 'hex');\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t var zeros = function zeros(num) {\n\t return new Array(num).join(\"00\");\n\t };\n\t return zeros(size);\n\t }\n\t v.required(object);\n\t return object.toString('hex');\n\t }\n\t };\n\t};\n\t\n\tTypes.bool = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readUint8() === 1;\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t // supports boolean or integer\n\t b.writeUint8(JSON.parse(object) ? 1 : 0);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return JSON.parse(object) ? true : false;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return false;\n\t }\n\t return JSON.parse(object) ? true : false;\n\t }\n\t};\n\t\n\tTypes.void = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t throw new Error(\"(void) undefined type\");\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t throw new Error(\"(void) undefined type\");\n\t },\n\t fromObject: function fromObject(object) {\n\t throw new Error(\"(void) undefined type\");\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return undefined;\n\t }\n\t throw new Error(\"(void) undefined type\");\n\t }\n\t};\n\t\n\tTypes.array = function (st_operation) {\n\t return {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var size = b.readVarint32();\n\t if (HEX_DUMP) {\n\t console.log(\"varint32 size = \" + size.toString(16));\n\t }\n\t var result = [];\n\t for (var i = 0; 0 < size ? i < size : i > size; 0 < size ? i++ : i++) {\n\t result.push(st_operation.fromByteBuffer(b));\n\t }\n\t return sortOperation(result, st_operation);\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t object = sortOperation(object, st_operation);\n\t b.writeVarint32(object.length);\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t st_operation.appendByteBuffer(b, o);\n\t }\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t object = sortOperation(object, st_operation);\n\t var result = [];\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t result.push(st_operation.fromObject(o));\n\t }\n\t return result;\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return [st_operation.toObject(object, debug)];\n\t }\n\t v.required(object);\n\t object = sortOperation(object, st_operation);\n\t\n\t var result = [];\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t result.push(st_operation.toObject(o, debug));\n\t }\n\t return result;\n\t }\n\t };\n\t};\n\t\n\tTypes.time_point_sec = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readUint32();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t if (typeof object !== \"number\") object = Types.time_point_sec.fromObject(object);\n\t\n\t b.writeUint32(object);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t\n\t if (typeof object === \"number\") return object;\n\t\n\t if (object.getTime) return Math.floor(object.getTime() / 1000);\n\t\n\t if (typeof object !== \"string\") throw new Error(\"Unknown date type: \" + object);\n\t\n\t if (typeof object === \"string\" && !/Z$/.test(object)) object = object + \"Z\";\n\t\n\t return Math.floor(new Date(object).getTime() / 1000);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) return new Date(0).toISOString().split('.')[0];\n\t\n\t v.required(object);\n\t\n\t if (typeof object === \"string\") return object;\n\t\n\t if (object.getTime) return object.toISOString().split('.')[0];\n\t\n\t var int = parseInt(object);\n\t v.require_range(0, 0xFFFFFFFF, int, 'uint32 ' + object);\n\t return new Date(int * 1000).toISOString().split('.')[0];\n\t }\n\t};\n\t\n\tTypes.set = function (st_operation) {\n\t return {\n\t validate: function validate(array) {\n\t var dup_map = {};\n\t for (var i = 0, o; i < array.length; i++) {\n\t o = array[i];\n\t var ref;\n\t if (ref = typeof o === 'undefined' ? 'undefined' : _typeof(o), ['string', 'number'].indexOf(ref) >= 0) {\n\t if (dup_map[o] !== undefined) {\n\t throw new Error(\"duplicate (set)\");\n\t }\n\t dup_map[o] = true;\n\t }\n\t }\n\t return sortOperation(array, st_operation);\n\t },\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var size = b.readVarint32();\n\t if (HEX_DUMP) {\n\t console.log(\"varint32 size = \" + size.toString(16));\n\t }\n\t return this.validate(function () {\n\t var result = [];\n\t for (var i = 0; 0 < size ? i < size : i > size; 0 < size ? i++ : i++) {\n\t result.push(st_operation.fromByteBuffer(b));\n\t }\n\t return result;\n\t }());\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t if (!object) {\n\t object = [];\n\t }\n\t b.writeVarint32(object.length);\n\t var iterable = this.validate(object);\n\t for (var i = 0, o; i < iterable.length; i++) {\n\t o = iterable[i];\n\t st_operation.appendByteBuffer(b, o);\n\t }\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t if (!object) {\n\t object = [];\n\t }\n\t return this.validate(function () {\n\t var result = [];\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t result.push(st_operation.fromObject(o));\n\t }\n\t return result;\n\t }());\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return [st_operation.toObject(object, debug)];\n\t }\n\t if (!object) {\n\t object = [];\n\t }\n\t return this.validate(function () {\n\t var result = [];\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t result.push(st_operation.toObject(o, debug));\n\t }\n\t return result;\n\t }());\n\t }\n\t };\n\t};\n\t\n\t// global_parameters_update_operation current_fees\n\tTypes.fixed_array = function (count, st_operation) {\n\t return {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var i, j, ref, results;\n\t results = [];\n\t for (i = j = 0, ref = count; j < ref; i = j += 1) {\n\t results.push(st_operation.fromByteBuffer(b));\n\t }\n\t return sortOperation(results, st_operation);\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t var i, j, ref;\n\t if (count !== 0) {\n\t v.required(object);\n\t object = sortOperation(object, st_operation);\n\t }\n\t for (i = j = 0, ref = count; j < ref; i = j += 1) {\n\t st_operation.appendByteBuffer(b, object[i]);\n\t }\n\t },\n\t fromObject: function fromObject(object) {\n\t var i, j, ref, results;\n\t if (count !== 0) {\n\t v.required(object);\n\t }\n\t results = [];\n\t for (i = j = 0, ref = count; j < ref; i = j += 1) {\n\t results.push(st_operation.fromObject(object[i]));\n\t }\n\t return results;\n\t },\n\t toObject: function toObject(object, debug) {\n\t var i, j, k, ref, ref1, results, results1;\n\t if (debug == null) {\n\t debug = {};\n\t }\n\t if (debug.use_default && object === void 0) {\n\t results = [];\n\t for (i = j = 0, ref = count; j < ref; i = j += 1) {\n\t results.push(st_operation.toObject(void 0, debug));\n\t }\n\t return results;\n\t }\n\t if (count !== 0) {\n\t v.required(object);\n\t }\n\t results1 = [];\n\t for (i = k = 0, ref1 = count; k < ref1; i = k += 1) {\n\t results1.push(st_operation.toObject(object[i], debug));\n\t }\n\t return results1;\n\t }\n\t };\n\t};\n\t\n\t/* Supports instance numbers (11) or object types (1.2.11). Object type\n\tvalidation is enforced when an object type is used. */\n\tvar id_type = function id_type(reserved_spaces, object_type) {\n\t v.required(reserved_spaces, \"reserved_spaces\");\n\t v.required(object_type, \"object_type\");\n\t return {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return b.readVarint32();\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t // convert 1.2.n into just n\n\t if (/^[0-9]+\\.[0-9]+\\.[0-9]+$/.test(object)) {\n\t object = v.get_instance(reserved_spaces, object_type, object);\n\t }\n\t b.writeVarint32(v.to_number(object));\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t if (v.is_digits(object)) {\n\t return v.to_number(object);\n\t }\n\t return v.get_instance(reserved_spaces, object_type, object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t var object_type_id = chain_types.object_type[object_type];\n\t if (debug.use_default && object === undefined) {\n\t return reserved_spaces + '.' + object_type_id + '.0';\n\t }\n\t v.required(object);\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t if (/^[0-9]+\\.[0-9]+\\.[0-9]+$/.test(object)) {\n\t object = v.get_instance(reserved_spaces, object_type, object);\n\t }\n\t\n\t return reserved_spaces + '.' + object_type_id + '.' + object;\n\t }\n\t };\n\t};\n\t\n\tTypes.protocol_id_type = function (name) {\n\t v.required(name, \"name\");\n\t return id_type(chain_types.reserved_spaces.protocol_ids, name);\n\t};\n\t\n\tTypes.object_id_type = {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return ObjectId.fromByteBuffer(b);\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t object = ObjectId.fromString(object);\n\t object.appendByteBuffer(b);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t return ObjectId.fromString(object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"0.0.0\";\n\t }\n\t v.required(object);\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t object = ObjectId.fromString(object);\n\t return object.toString();\n\t }\n\t};\n\t\n\tTypes.vote_id = { TYPE: 0x000000FF,\n\t ID: 0xFFFFFF00,\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var value = b.readUint32();\n\t return {\n\t type: value & this.TYPE,\n\t id: value & this.ID\n\t };\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t if (object === \"string\") object = Types.vote_id.fromObject(object);\n\t\n\t var value = object.id << 8 | object.type;\n\t b.writeUint32(value);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object, \"(type vote_id)\");\n\t if ((typeof object === 'undefined' ? 'undefined' : _typeof(object)) === \"object\") {\n\t v.required(object.type, \"type\");\n\t v.required(object.id, \"id\");\n\t return object;\n\t }\n\t v.require_test(/^[0-9]+:[0-9]+$/, object, 'vote_id format ' + object);\n\t\n\t var _object$split = object.split(':'),\n\t _object$split2 = _slicedToArray(_object$split, 2),\n\t type = _object$split2[0],\n\t id = _object$split2[1];\n\t\n\t v.require_range(0, 0xff, type, 'vote type ' + object);\n\t v.require_range(0, 0xffffff, id, 'vote id ' + object);\n\t return { type: type, id: id };\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return \"0:0\";\n\t }\n\t v.required(object);\n\t if (typeof object === \"string\") object = Types.vote_id.fromObject(object);\n\t\n\t return object.type + \":\" + object.id;\n\t },\n\t compare: function compare(a, b) {\n\t if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) !== \"object\") a = Types.vote_id.fromObject(a);\n\t if ((typeof b === 'undefined' ? 'undefined' : _typeof(b)) !== \"object\") b = Types.vote_id.fromObject(b);\n\t return parseInt(a.id) - parseInt(b.id);\n\t }\n\t};\n\t\n\tTypes.optional = function (st_operation) {\n\t v.required(st_operation, \"st_operation\");\n\t return {\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t if (!(b.readUint8() === 1)) {\n\t return undefined;\n\t }\n\t return st_operation.fromByteBuffer(b);\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t if (object !== null && object !== undefined) {\n\t b.writeUint8(1);\n\t st_operation.appendByteBuffer(b, object);\n\t } else {\n\t b.writeUint8(0);\n\t }\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t if (object === undefined) {\n\t return undefined;\n\t }\n\t return st_operation.fromObject(object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t // toObject is only null save if use_default is true\n\t var result_object = function () {\n\t if (!debug.use_default && object === undefined) {\n\t return undefined;\n\t } else {\n\t return st_operation.toObject(object, debug);\n\t }\n\t }();\n\t\n\t if (debug.annotate) {\n\t if ((typeof result_object === 'undefined' ? 'undefined' : _typeof(result_object)) === \"object\") {\n\t result_object.__optional = \"parent is optional\";\n\t } else {\n\t result_object = { __optional: result_object };\n\t }\n\t }\n\t return result_object;\n\t }\n\t };\n\t};\n\t\n\tTypes.static_variant = function (_st_operations) {\n\t return {\n\t nosort: true,\n\t st_operations: _st_operations,\n\t opTypeId: function opTypeId(value) {\n\t var pos = 0,\n\t type_id = void 0;\n\t if (typeof value === \"number\") type_id = value;else {\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = this.st_operations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var op = _step.value;\n\t\n\t if (op.operation_name === value) {\n\t type_id = pos;\n\t break;\n\t }\n\t pos++;\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t }\n\t return type_id;\n\t },\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var type_id = b.readVarint32();\n\t var st_operation = this.st_operations[type_id];\n\t if (HEX_DUMP) {\n\t console.error('static_variant id 0x' + type_id.toString(16) + ' (' + type_id + ')');\n\t }\n\t v.required(st_operation, 'operation ' + type_id);\n\t return [type_id, st_operation.fromByteBuffer(b)];\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t var type_id = this.opTypeId(object[0]);\n\t var st_operation = this.st_operations[type_id];\n\t v.required(st_operation, 'operation ' + type_id);\n\t b.writeVarint32(type_id);\n\t st_operation.appendByteBuffer(b, object[1]);\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t var type_id = this.opTypeId(object[0]);\n\t var st_operation = this.st_operations[type_id];\n\t v.required(st_operation, 'operation ' + type_id);\n\t return [type_id, st_operation.fromObject(object[1])];\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return [this.st_operations[0].operation_name, this.st_operations[0].toObject(undefined, debug)];\n\t }\n\t v.required(object);\n\t var type_id = this.opTypeId(object[0]);\n\t var st_operation = this.st_operations[type_id];\n\t v.required(st_operation, 'operation ' + type_id);\n\t return [st_operation.operation_name, st_operation.toObject(object[1], debug)];\n\t },\n\t compare: function compare(a, b) {\n\t return strCmp(this.opTypeId(a[0]), this.opTypeId(b[0]));\n\t }\n\t };\n\t};\n\t\n\tTypes.map = function (key_st_operation, value_st_operation) {\n\t return {\n\t validate: function validate(array) {\n\t if (!Array.isArray(array)) {\n\t throw new Error(\"expecting array\");\n\t }\n\t var dup_map = {};\n\t for (var i = 0, o; i < array.length; i++) {\n\t o = array[i];\n\t var ref;\n\t if (!(o.length === 2)) {\n\t throw new Error(\"expecting two elements\");\n\t }\n\t if (ref = _typeof(o[0]), ['number', 'string'].indexOf(ref) >= 0) {\n\t if (dup_map[o[0]] !== undefined) {\n\t throw new Error(\"duplicate (map)\");\n\t }\n\t dup_map[o[0]] = true;\n\t }\n\t }\n\t return sortOperation(array, key_st_operation);\n\t },\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t var result = [];\n\t var end = b.readVarint32();\n\t for (var i = 0; 0 < end ? i < end : i > end; 0 < end ? i++ : i++) {\n\t result.push([key_st_operation.fromByteBuffer(b), value_st_operation.fromByteBuffer(b)]);\n\t }\n\t return this.validate(result);\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t this.validate(object);\n\t b.writeVarint32(object.length);\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t key_st_operation.appendByteBuffer(b, o[0]);\n\t value_st_operation.appendByteBuffer(b, o[1]);\n\t }\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t var result = [];\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t result.push([key_st_operation.fromObject(o[0]), value_st_operation.fromObject(o[1])]);\n\t }\n\t return this.validate(result);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return [[key_st_operation.toObject(undefined, debug), value_st_operation.toObject(undefined, debug)]];\n\t }\n\t v.required(object);\n\t object = this.validate(object);\n\t var result = [];\n\t for (var i = 0, o; i < object.length; i++) {\n\t o = object[i];\n\t result.push([key_st_operation.toObject(o[0], debug), value_st_operation.toObject(o[1], debug)]);\n\t }\n\t return result;\n\t }\n\t };\n\t};\n\t\n\tTypes.public_key = {\n\t toPublic: function toPublic(object) {\n\t if (object.resolve !== undefined) {\n\t object = object.resolve;\n\t }\n\t return object == null ? object : object.Q ? object : _ecc.PublicKey.fromStringOrThrow(object);\n\t },\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return fp.public_key(b);\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t v.required(object);\n\t fp.public_key(b, Types.public_key.toPublic(object));\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t v.required(object);\n\t if (object.Q) {\n\t return object;\n\t }\n\t return Types.public_key.toPublic(object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return _ecc.ecc_config.get('address_prefix') + \"859gxfnXyUriMgUeThh1fWv3oqcpLFyHa3TfFYC4PK2HqhToVM\";\n\t }\n\t v.required(object);\n\t return object.toString();\n\t },\n\t compare: function compare(a, b) {\n\t // sort ascending\n\t return 1 * strCmp(a.toString(), b.toString());\n\t }\n\t};\n\t\n\tTypes.address = {\n\t _to_address: function _to_address(object) {\n\t v.required(object);\n\t if (object.addy) {\n\t return object;\n\t }\n\t return _ecc.Address.fromString(object);\n\t },\n\t fromByteBuffer: function fromByteBuffer(b) {\n\t return new _ecc.Address(fp.ripemd160(b));\n\t },\n\t appendByteBuffer: function appendByteBuffer(b, object) {\n\t fp.ripemd160(b, Types.address._to_address(object).toBuffer());\n\t return;\n\t },\n\t fromObject: function fromObject(object) {\n\t return Types.address._to_address(object);\n\t },\n\t toObject: function toObject(object) {\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\t\n\t if (debug.use_default && object === undefined) {\n\t return _ecc.ecc_config.get('address_prefix') + \"664KmHxSuQyDsfwo4WEJvWpzg1QKdg67S\";\n\t }\n\t return Types.address._to_address(object).toString();\n\t },\n\t compare: function compare(a, b) {\n\t // sort decending\n\t return -1 * strCmp(a.toString(), b.toString());\n\t }\n\t};\n\t\n\tvar strCmp = function strCmp(a, b) {\n\t return a > b ? 1 : a < b ? -1 : 0;\n\t};\n\tvar firstEl = function firstEl(el) {\n\t return Array.isArray(el) ? el[0] : el;\n\t};\n\tvar sortOperation = function sortOperation(array, st_operation) {\n\t // console.log('operation.nosort', st_operation.nosort)\n\t return st_operation.nosort ? array : st_operation.compare ? array.sort(function (a, b) {\n\t return st_operation.compare(firstEl(a), firstEl(b));\n\t }) : // custom compare operation\n\t array.sort(function (a, b) {\n\t return typeof firstEl(a) === \"number\" && typeof firstEl(b) === \"number\" ? firstEl(a) - firstEl(b) :\n\t // A binary string compare does not work. Performanance is very good so HEX is used.. localeCompare is another option.\n\t Buffer.isBuffer(firstEl(a)) && Buffer.isBuffer(firstEl(b)) ? strCmp(firstEl(a).toString(\"hex\"), firstEl(b).toString(\"hex\")) : strCmp(firstEl(a).toString(), firstEl(b).toString());\n\t });\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5), __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {/*!\n\t * The buffer module from node.js, for the browser.\n\t *\n\t * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n\t * @license MIT\n\t */\n\t/* eslint-disable no-proto */\n\t\n\t'use strict';\n\t\n\tvar base64 = __webpack_require__(100);\n\tvar ieee754 = __webpack_require__(101);\n\tvar isArray = __webpack_require__(102);\n\t\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\t\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Use Object implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * Due to various browser bugs, sometimes the Object implementation will be used even\n\t * when the browser supports typed arrays.\n\t *\n\t * Note:\n\t *\n\t * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n\t * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n\t *\n\t * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n\t *\n\t * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n\t * incorrect length in some situations.\n\t\n\t * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n\t * get the Object implementation, which is slower but behaves correctly.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined ? global.TYPED_ARRAY_SUPPORT : typedArraySupport();\n\t\n\t/*\n\t * Export kMaxLength after typed array support is determined.\n\t */\n\texports.kMaxLength = kMaxLength();\n\t\n\tfunction typedArraySupport() {\n\t try {\n\t var arr = new Uint8Array(1);\n\t arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function foo() {\n\t return 42;\n\t } };\n\t return arr.foo() === 42 && // typed array instances can be augmented\n\t typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n\t arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n\t } catch (e) {\n\t return false;\n\t }\n\t}\n\t\n\tfunction kMaxLength() {\n\t return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n\t}\n\t\n\tfunction createBuffer(that, length) {\n\t if (kMaxLength() < length) {\n\t throw new RangeError('Invalid typed array length');\n\t }\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t // Return an augmented `Uint8Array` instance, for best performance\n\t that = new Uint8Array(length);\n\t that.__proto__ = Buffer.prototype;\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t if (that === null) {\n\t that = new Buffer(length);\n\t }\n\t that.length = length;\n\t }\n\t\n\t return that;\n\t}\n\t\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\t\n\tfunction Buffer(arg, encodingOrOffset, length) {\n\t if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n\t return new Buffer(arg, encodingOrOffset, length);\n\t }\n\t\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new Error('If encoding is specified then the first argument must be a string');\n\t }\n\t return allocUnsafe(this, arg);\n\t }\n\t return from(this, arg, encodingOrOffset, length);\n\t}\n\t\n\tBuffer.poolSize = 8192; // not used by this implementation\n\t\n\t// TODO: Legacy, not needed anymore. Remove in next major version.\n\tBuffer._augment = function (arr) {\n\t arr.__proto__ = Buffer.prototype;\n\t return arr;\n\t};\n\t\n\tfunction from(that, value, encodingOrOffset, length) {\n\t if (typeof value === 'number') {\n\t throw new TypeError('\"value\" argument must not be a number');\n\t }\n\t\n\t if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n\t return fromArrayBuffer(that, value, encodingOrOffset, length);\n\t }\n\t\n\t if (typeof value === 'string') {\n\t return fromString(that, value, encodingOrOffset);\n\t }\n\t\n\t return fromObject(that, value);\n\t}\n\t\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(null, value, encodingOrOffset, length);\n\t};\n\t\n\tif (Buffer.TYPED_ARRAY_SUPPORT) {\n\t Buffer.prototype.__proto__ = Uint8Array.prototype;\n\t Buffer.__proto__ = Uint8Array;\n\t if (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n\t // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true\n\t });\n\t }\n\t}\n\t\n\tfunction assertSize(size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be a number');\n\t } else if (size < 0) {\n\t throw new RangeError('\"size\" argument must not be negative');\n\t }\n\t}\n\t\n\tfunction alloc(that, size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(that, size);\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpretted as a start offset.\n\t return typeof encoding === 'string' ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill);\n\t }\n\t return createBuffer(that, size);\n\t}\n\t\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(null, size, fill, encoding);\n\t};\n\t\n\tfunction allocUnsafe(that, size) {\n\t assertSize(size);\n\t that = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) {\n\t for (var i = 0; i < size; ++i) {\n\t that[i] = 0;\n\t }\n\t }\n\t return that;\n\t}\n\t\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(null, size);\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(null, size);\n\t};\n\t\n\tfunction fromString(that, string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\t\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('\"encoding\" must be a valid string encoding');\n\t }\n\t\n\t var length = byteLength(string, encoding) | 0;\n\t that = createBuffer(that, length);\n\t\n\t var actual = that.write(string, encoding);\n\t\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t that = that.slice(0, actual);\n\t }\n\t\n\t return that;\n\t}\n\t\n\tfunction fromArrayLike(that, array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t that = createBuffer(that, length);\n\t for (var i = 0; i < length; i += 1) {\n\t that[i] = array[i] & 255;\n\t }\n\t return that;\n\t}\n\t\n\tfunction fromArrayBuffer(that, array, byteOffset, length) {\n\t array.byteLength; // this throws if `array` is not a valid ArrayBuffer\n\t\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\\'offset\\' is out of bounds');\n\t }\n\t\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\\'length\\' is out of bounds');\n\t }\n\t\n\t if (byteOffset === undefined && length === undefined) {\n\t array = new Uint8Array(array);\n\t } else if (length === undefined) {\n\t array = new Uint8Array(array, byteOffset);\n\t } else {\n\t array = new Uint8Array(array, byteOffset, length);\n\t }\n\t\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t // Return an augmented `Uint8Array` instance, for best performance\n\t that = array;\n\t that.__proto__ = Buffer.prototype;\n\t } else {\n\t // Fallback: Return an object instance of the Buffer class\n\t that = fromArrayLike(that, array);\n\t }\n\t return that;\n\t}\n\t\n\tfunction fromObject(that, obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0;\n\t that = createBuffer(that, len);\n\t\n\t if (that.length === 0) {\n\t return that;\n\t }\n\t\n\t obj.copy(that, 0, 0, len);\n\t return that;\n\t }\n\t\n\t if (obj) {\n\t if (typeof ArrayBuffer !== 'undefined' && obj.buffer instanceof ArrayBuffer || 'length' in obj) {\n\t if (typeof obj.length !== 'number' || isnan(obj.length)) {\n\t return createBuffer(that, 0);\n\t }\n\t return fromArrayLike(that, obj);\n\t }\n\t\n\t if (obj.type === 'Buffer' && isArray(obj.data)) {\n\t return fromArrayLike(that, obj.data);\n\t }\n\t }\n\t\n\t throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n\t}\n\t\n\tfunction checked(length) {\n\t // Note: cannot use `length < kMaxLength()` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= kMaxLength()) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + kMaxLength().toString(16) + ' bytes');\n\t }\n\t return length | 0;\n\t}\n\t\n\tfunction SlowBuffer(length) {\n\t if (+length != length) {\n\t // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length);\n\t}\n\t\n\tBuffer.isBuffer = function isBuffer(b) {\n\t return !!(b != null && b._isBuffer);\n\t};\n\t\n\tBuffer.compare = function compare(a, b) {\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError('Arguments must be Buffers');\n\t }\n\t\n\t if (a === b) return 0;\n\t\n\t var x = a.length;\n\t var y = b.length;\n\t\n\t for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break;\n\t }\n\t }\n\t\n\t if (x < y) return -1;\n\t if (y < x) return 1;\n\t return 0;\n\t};\n\t\n\tBuffer.isEncoding = function isEncoding(encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t};\n\t\n\tBuffer.concat = function concat(list, length) {\n\t if (!isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers');\n\t }\n\t\n\t if (list.length === 0) {\n\t return Buffer.alloc(0);\n\t }\n\t\n\t var i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\t\n\t var buffer = Buffer.allocUnsafe(length);\n\t var pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i];\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers');\n\t }\n\t buf.copy(buffer, pos);\n\t pos += buf.length;\n\t }\n\t return buffer;\n\t};\n\t\n\tfunction byteLength(string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length;\n\t }\n\t if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n\t return string.byteLength;\n\t }\n\t if (typeof string !== 'string') {\n\t string = '' + string;\n\t }\n\t\n\t var len = string.length;\n\t if (len === 0) return 0;\n\t\n\t // Use a for loop to avoid recursion\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len;\n\t case 'utf8':\n\t case 'utf-8':\n\t case undefined:\n\t return utf8ToBytes(string).length;\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2;\n\t case 'hex':\n\t return len >>> 1;\n\t case 'base64':\n\t return base64ToBytes(string).length;\n\t default:\n\t if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\t\n\tfunction slowToString(encoding, start, end) {\n\t var loweredCase = false;\n\t\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\t\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return '';\n\t }\n\t\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\t\n\t if (end <= 0) {\n\t return '';\n\t }\n\t\n\t // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\t\n\t if (end <= start) {\n\t return '';\n\t }\n\t\n\t if (!encoding) encoding = 'utf8';\n\t\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end);\n\t\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end);\n\t\n\t case 'ascii':\n\t return asciiSlice(this, start, end);\n\t\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end);\n\t\n\t case 'base64':\n\t return base64Slice(this, start, end);\n\t\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end);\n\t\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\t\n\t// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n\t// Buffer instances.\n\tBuffer.prototype._isBuffer = true;\n\t\n\tfunction swap(b, n, m) {\n\t var i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\t\n\tBuffer.prototype.swap16 = function swap16() {\n\t var len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits');\n\t }\n\t for (var i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this;\n\t};\n\t\n\tBuffer.prototype.swap32 = function swap32() {\n\t var len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits');\n\t }\n\t for (var i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this;\n\t};\n\t\n\tBuffer.prototype.swap64 = function swap64() {\n\t var len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits');\n\t }\n\t for (var i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this;\n\t};\n\t\n\tBuffer.prototype.toString = function toString() {\n\t var length = this.length | 0;\n\t if (length === 0) return '';\n\t if (arguments.length === 0) return utf8Slice(this, 0, length);\n\t return slowToString.apply(this, arguments);\n\t};\n\t\n\tBuffer.prototype.equals = function equals(b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n\t if (this === b) return true;\n\t return Buffer.compare(this, b) === 0;\n\t};\n\t\n\tBuffer.prototype.inspect = function inspect() {\n\t var str = '';\n\t var max = exports.INSPECT_MAX_BYTES;\n\t if (this.length > 0) {\n\t str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n\t if (this.length > max) str += ' ... ';\n\t }\n\t return '<Buffer ' + str + '>';\n\t};\n\t\n\tBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError('Argument must be a Buffer');\n\t }\n\t\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\t\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index');\n\t }\n\t\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0;\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1;\n\t }\n\t if (start >= end) {\n\t return 1;\n\t }\n\t\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\t\n\t if (this === target) return 0;\n\t\n\t var x = thisEnd - thisStart;\n\t var y = end - start;\n\t var len = Math.min(x, y);\n\t\n\t var thisCopy = this.slice(thisStart, thisEnd);\n\t var targetCopy = target.slice(start, end);\n\t\n\t for (var i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break;\n\t }\n\t }\n\t\n\t if (x < y) return -1;\n\t if (y < x) return 1;\n\t return 0;\n\t};\n\t\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1;\n\t\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (isNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : buffer.length - 1;\n\t }\n\t\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1;else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;else return -1;\n\t }\n\t\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\t\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1;\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (Buffer.TYPED_ARRAY_SUPPORT && typeof Uint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n\t } else {\n\t return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n\t }\n\t\n\t throw new TypeError('val must be string, number or Buffer');\n\t}\n\t\n\tfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n\t var indexSize = 1;\n\t var arrLength = arr.length;\n\t var valLength = val.length;\n\t\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1;\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\t\n\t function read(buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i];\n\t } else {\n\t return buf.readUInt16BE(i * indexSize);\n\t }\n\t }\n\t\n\t var i;\n\t if (dir) {\n\t var foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t var found = true;\n\t for (var j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break;\n\t }\n\t }\n\t if (found) return i;\n\t }\n\t }\n\t\n\t return -1;\n\t}\n\t\n\tBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1;\n\t};\n\t\n\tBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n\t};\n\t\n\tBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n\t};\n\t\n\tfunction hexWrite(buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t var remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\t\n\t // must be an even number of digits\n\t var strLen = string.length;\n\t if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n\t\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t for (var i = 0; i < length; ++i) {\n\t var parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (isNaN(parsed)) return i;\n\t buf[offset + i] = parsed;\n\t }\n\t return i;\n\t}\n\t\n\tfunction utf8Write(buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n\t}\n\t\n\tfunction asciiWrite(buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length);\n\t}\n\t\n\tfunction latin1Write(buf, string, offset, length) {\n\t return asciiWrite(buf, string, offset, length);\n\t}\n\t\n\tfunction base64Write(buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length);\n\t}\n\t\n\tfunction ucs2Write(buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n\t}\n\t\n\tBuffer.prototype.write = function write(string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset | 0;\n\t if (isFinite(length)) {\n\t length = length | 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t // legacy write(string, encoding, offset, length) - remove in v0.13\n\t } else {\n\t throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n\t }\n\t\n\t var remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\t\n\t if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds');\n\t }\n\t\n\t if (!encoding) encoding = 'utf8';\n\t\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length);\n\t\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length);\n\t\n\t case 'ascii':\n\t return asciiWrite(this, string, offset, length);\n\t\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Write(this, string, offset, length);\n\t\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length);\n\t\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length);\n\t\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\t\n\tBuffer.prototype.toJSON = function toJSON() {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t };\n\t};\n\t\n\tfunction base64Slice(buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf);\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end));\n\t }\n\t}\n\t\n\tfunction utf8Slice(buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t var res = [];\n\t\n\t var i = start;\n\t while (i < end) {\n\t var firstByte = buf[i];\n\t var codePoint = null;\n\t var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n\t\n\t if (i + bytesPerSequence <= end) {\n\t var secondByte, thirdByte, fourthByte, tempCodePoint;\n\t\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break;\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break;\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break;\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\t\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\t\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\t\n\t return decodeCodePointsArray(res);\n\t}\n\t\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\t\n\tfunction decodeCodePointsArray(codePoints) {\n\t var len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n\t }\n\t\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t var res = '';\n\t var i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n\t }\n\t return res;\n\t}\n\t\n\tfunction asciiSlice(buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\t\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret;\n\t}\n\t\n\tfunction latin1Slice(buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\t\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret;\n\t}\n\t\n\tfunction hexSlice(buf, start, end) {\n\t var len = buf.length;\n\t\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\t\n\t var out = '';\n\t for (var i = start; i < end; ++i) {\n\t out += toHex(buf[i]);\n\t }\n\t return out;\n\t}\n\t\n\tfunction utf16leSlice(buf, start, end) {\n\t var bytes = buf.slice(start, end);\n\t var res = '';\n\t for (var i = 0; i < bytes.length; i += 2) {\n\t res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n\t }\n\t return res;\n\t}\n\t\n\tBuffer.prototype.slice = function slice(start, end) {\n\t var len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\t\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\t\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\t\n\t if (end < start) end = start;\n\t\n\t var newBuf;\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t newBuf = this.subarray(start, end);\n\t newBuf.__proto__ = Buffer.prototype;\n\t } else {\n\t var sliceLen = end - start;\n\t newBuf = new Buffer(sliceLen, undefined);\n\t for (var i = 0; i < sliceLen; ++i) {\n\t newBuf[i] = this[i + start];\n\t }\n\t }\n\t\n\t return newBuf;\n\t};\n\t\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset(offset, ext, length) {\n\t if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n\t}\n\t\n\tBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n\t offset = offset | 0;\n\t byteLength = byteLength | 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\t\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n\t offset = offset | 0;\n\t byteLength = byteLength | 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\t\n\t var val = this[offset + --byteLength];\n\t var mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset];\n\t};\n\t\n\tBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | this[offset + 1] << 8;\n\t};\n\t\n\tBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] << 8 | this[offset + 1];\n\t};\n\t\n\tBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n\t};\n\t\n\tBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n\t};\n\t\n\tBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n\t offset = offset | 0;\n\t byteLength = byteLength | 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\t\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\t\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n\t offset = offset | 0;\n\t byteLength = byteLength | 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\t\n\t var i = byteLength;\n\t var mul = 1;\n\t var val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\t\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return this[offset];\n\t return (0xff - this[offset] + 1) * -1;\n\t};\n\t\n\tBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset] | this[offset + 1] << 8;\n\t return val & 0x8000 ? val | 0xFFFF0000 : val;\n\t};\n\t\n\tBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset + 1] | this[offset] << 8;\n\t return val & 0x8000 ? val | 0xFFFF0000 : val;\n\t};\n\t\n\tBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n\t};\n\t\n\tBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n\t};\n\t\n\tBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, true, 23, 4);\n\t};\n\t\n\tBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, false, 23, 4);\n\t};\n\t\n\tBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, true, 52, 8);\n\t};\n\t\n\tBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, false, 52, 8);\n\t};\n\t\n\tfunction checkInt(buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range');\n\t}\n\t\n\tBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t byteLength = byteLength | 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\t\n\t var mul = 1;\n\t var i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = value / mul & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t byteLength = byteLength | 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\t\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = value / mul & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n\t this[offset] = value & 0xff;\n\t return offset + 1;\n\t};\n\t\n\tfunction objectWriteUInt16(buf, value, offset, littleEndian) {\n\t if (value < 0) value = 0xffff + value + 1;\n\t for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n\t buf[offset + i] = (value & 0xff << 8 * (littleEndian ? i : 1 - i)) >>> (littleEndian ? i : 1 - i) * 8;\n\t }\n\t}\n\t\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value & 0xff;\n\t this[offset + 1] = value >>> 8;\n\t } else {\n\t objectWriteUInt16(this, value, offset, true);\n\t }\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value >>> 8;\n\t this[offset + 1] = value & 0xff;\n\t } else {\n\t objectWriteUInt16(this, value, offset, false);\n\t }\n\t return offset + 2;\n\t};\n\t\n\tfunction objectWriteUInt32(buf, value, offset, littleEndian) {\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n\t buf[offset + i] = value >>> (littleEndian ? i : 3 - i) * 8 & 0xff;\n\t }\n\t}\n\t\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset + 3] = value >>> 24;\n\t this[offset + 2] = value >>> 16;\n\t this[offset + 1] = value >>> 8;\n\t this[offset] = value & 0xff;\n\t } else {\n\t objectWriteUInt32(this, value, offset, true);\n\t }\n\t return offset + 4;\n\t};\n\t\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value >>> 24;\n\t this[offset + 1] = value >>> 16;\n\t this[offset + 2] = value >>> 8;\n\t this[offset + 3] = value & 0xff;\n\t } else {\n\t objectWriteUInt32(this, value, offset, false);\n\t }\n\t return offset + 4;\n\t};\n\t\n\tBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, 8 * byteLength - 1);\n\t\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\t\n\t var i = 0;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, 8 * byteLength - 1);\n\t\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\t\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = value & 0xff;\n\t return offset + 1;\n\t};\n\t\n\tBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value & 0xff;\n\t this[offset + 1] = value >>> 8;\n\t } else {\n\t objectWriteUInt16(this, value, offset, true);\n\t }\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value >>> 8;\n\t this[offset + 1] = value & 0xff;\n\t } else {\n\t objectWriteUInt16(this, value, offset, false);\n\t }\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value & 0xff;\n\t this[offset + 1] = value >>> 8;\n\t this[offset + 2] = value >>> 16;\n\t this[offset + 3] = value >>> 24;\n\t } else {\n\t objectWriteUInt32(this, value, offset, true);\n\t }\n\t return offset + 4;\n\t};\n\t\n\tBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset | 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t if (Buffer.TYPED_ARRAY_SUPPORT) {\n\t this[offset] = value >>> 24;\n\t this[offset + 1] = value >>> 16;\n\t this[offset + 2] = value >>> 8;\n\t this[offset + 3] = value & 0xff;\n\t } else {\n\t objectWriteUInt32(this, value, offset, false);\n\t }\n\t return offset + 4;\n\t};\n\t\n\tfunction checkIEEE754(buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range');\n\t if (offset < 0) throw new RangeError('Index out of range');\n\t}\n\t\n\tfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4;\n\t}\n\t\n\tBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert);\n\t};\n\t\n\tBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert);\n\t};\n\t\n\tfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8;\n\t}\n\t\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert);\n\t};\n\t\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert);\n\t};\n\t\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\t\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0;\n\t if (target.length === 0 || this.length === 0) return 0;\n\t\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds');\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\t\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\t\n\t var len = end - start;\n\t var i;\n\t\n\t if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n\t // ascending copy from start\n\t for (i = 0; i < len; ++i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n\t }\n\t\n\t return len;\n\t};\n\t\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill(val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0);\n\t if (code < 256) {\n\t val = code;\n\t }\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string');\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding);\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t }\n\t\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index');\n\t }\n\t\n\t if (end <= start) {\n\t return this;\n\t }\n\t\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\t\n\t if (!val) val = 0;\n\t\n\t var i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString());\n\t var len = bytes.length;\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\t// HELPER FUNCTIONS\n\t// ================\n\t\n\tvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g;\n\t\n\tfunction base64clean(str) {\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = stringtrim(str).replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return '';\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str;\n\t}\n\t\n\tfunction stringtrim(str) {\n\t if (str.trim) return str.trim();\n\t return str.replace(/^\\s+|\\s+$/g, '');\n\t}\n\t\n\tfunction toHex(n) {\n\t if (n < 16) return '0' + n.toString(16);\n\t return n.toString(16);\n\t}\n\t\n\tfunction utf8ToBytes(string, units) {\n\t units = units || Infinity;\n\t var codePoint;\n\t var length = string.length;\n\t var leadSurrogate = null;\n\t var bytes = [];\n\t\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\t\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue;\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue;\n\t }\n\t\n\t // valid lead\n\t leadSurrogate = codePoint;\n\t\n\t continue;\n\t }\n\t\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue;\n\t }\n\t\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\t\n\t leadSurrogate = null;\n\t\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break;\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break;\n\t bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break;\n\t bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break;\n\t bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n\t } else {\n\t throw new Error('Invalid code point');\n\t }\n\t }\n\t\n\t return bytes;\n\t}\n\t\n\tfunction asciiToBytes(str) {\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray;\n\t}\n\t\n\tfunction utf16leToBytes(str, units) {\n\t var c, hi, lo;\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break;\n\t\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\t\n\t return byteArray;\n\t}\n\t\n\tfunction base64ToBytes(str) {\n\t return base64.toByteArray(base64clean(str));\n\t}\n\t\n\tfunction blitBuffer(src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if (i + offset >= dst.length || i >= src.length) break;\n\t dst[i + offset] = src[i];\n\t }\n\t return i;\n\t}\n\t\n\tfunction isnan(val) {\n\t return val !== val; // eslint-disable-line no-self-compare\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\texports.byteLength = byteLength;\n\texports.toByteArray = toByteArray;\n\texports.fromByteArray = fromByteArray;\n\t\n\tvar lookup = [];\n\tvar revLookup = [];\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\t\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t lookup[i] = code[i];\n\t revLookup[code.charCodeAt(i)] = i;\n\t}\n\t\n\trevLookup['-'.charCodeAt(0)] = 62;\n\trevLookup['_'.charCodeAt(0)] = 63;\n\t\n\tfunction placeHoldersCount(b64) {\n\t var len = b64.length;\n\t if (len % 4 > 0) {\n\t throw new Error('Invalid string. Length must be a multiple of 4');\n\t }\n\t\n\t // the number of equal signs (place holders)\n\t // if there are two placeholders, than the two characters before it\n\t // represent one byte\n\t // if there is only one, then the three characters before it represent 2 bytes\n\t // this is just a cheap hack to not do indexOf twice\n\t return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0;\n\t}\n\t\n\tfunction byteLength(b64) {\n\t // base64 is 4/3 + up to two characters of the original data\n\t return b64.length * 3 / 4 - placeHoldersCount(b64);\n\t}\n\t\n\tfunction toByteArray(b64) {\n\t var i, l, tmp, placeHolders, arr;\n\t var len = b64.length;\n\t placeHolders = placeHoldersCount(b64);\n\t\n\t arr = new Arr(len * 3 / 4 - placeHolders);\n\t\n\t // if there are placeholders, only get up to the last complete 4 chars\n\t l = placeHolders > 0 ? len - 4 : len;\n\t\n\t var L = 0;\n\t\n\t for (i = 0; i < l; i += 4) {\n\t tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n\t arr[L++] = tmp >> 16 & 0xFF;\n\t arr[L++] = tmp >> 8 & 0xFF;\n\t arr[L++] = tmp & 0xFF;\n\t }\n\t\n\t if (placeHolders === 2) {\n\t tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n\t arr[L++] = tmp & 0xFF;\n\t } else if (placeHolders === 1) {\n\t tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n\t arr[L++] = tmp >> 8 & 0xFF;\n\t arr[L++] = tmp & 0xFF;\n\t }\n\t\n\t return arr;\n\t}\n\t\n\tfunction tripletToBase64(num) {\n\t return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n\t}\n\t\n\tfunction encodeChunk(uint8, start, end) {\n\t var tmp;\n\t var output = [];\n\t for (var i = start; i < end; i += 3) {\n\t tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2];\n\t output.push(tripletToBase64(tmp));\n\t }\n\t return output.join('');\n\t}\n\t\n\tfunction fromByteArray(uint8) {\n\t var tmp;\n\t var len = uint8.length;\n\t var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n\t var output = '';\n\t var parts = [];\n\t var maxChunkLength = 16383; // must be multiple of 3\n\t\n\t // go through the array every three bytes, we'll deal with trailing stuff later\n\t for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n\t }\n\t\n\t // pad the end with zeros, but make sure to not forget the extra bytes\n\t if (extraBytes === 1) {\n\t tmp = uint8[len - 1];\n\t output += lookup[tmp >> 2];\n\t output += lookup[tmp << 4 & 0x3F];\n\t output += '==';\n\t } else if (extraBytes === 2) {\n\t tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n\t output += lookup[tmp >> 10];\n\t output += lookup[tmp >> 4 & 0x3F];\n\t output += lookup[tmp << 2 & 0x3F];\n\t output += '=';\n\t }\n\t\n\t parts.push(output);\n\t\n\t return parts.join('');\n\t}\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.read = function (buffer, offset, isLE, mLen, nBytes) {\n\t var e, m;\n\t var eLen = nBytes * 8 - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var nBits = -7;\n\t var i = isLE ? nBytes - 1 : 0;\n\t var d = isLE ? -1 : 1;\n\t var s = buffer[offset + i];\n\t\n\t i += d;\n\t\n\t e = s & (1 << -nBits) - 1;\n\t s >>= -nBits;\n\t nBits += eLen;\n\t for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\t\n\t m = e & (1 << -nBits) - 1;\n\t e >>= -nBits;\n\t nBits += mLen;\n\t for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\t\n\t if (e === 0) {\n\t e = 1 - eBias;\n\t } else if (e === eMax) {\n\t return m ? NaN : (s ? -1 : 1) * Infinity;\n\t } else {\n\t m = m + Math.pow(2, mLen);\n\t e = e - eBias;\n\t }\n\t return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n\t};\n\t\n\texports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n\t var e, m, c;\n\t var eLen = nBytes * 8 - mLen - 1;\n\t var eMax = (1 << eLen) - 1;\n\t var eBias = eMax >> 1;\n\t var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n\t var i = isLE ? 0 : nBytes - 1;\n\t var d = isLE ? 1 : -1;\n\t var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n\t\n\t value = Math.abs(value);\n\t\n\t if (isNaN(value) || value === Infinity) {\n\t m = isNaN(value) ? 1 : 0;\n\t e = eMax;\n\t } else {\n\t e = Math.floor(Math.log(value) / Math.LN2);\n\t if (value * (c = Math.pow(2, -e)) < 1) {\n\t e--;\n\t c *= 2;\n\t }\n\t if (e + eBias >= 1) {\n\t value += rt / c;\n\t } else {\n\t value += rt * Math.pow(2, 1 - eBias);\n\t }\n\t if (value * c >= 2) {\n\t e++;\n\t c /= 2;\n\t }\n\t\n\t if (e + eBias >= eMax) {\n\t m = 0;\n\t e = eMax;\n\t } else if (e + eBias >= 1) {\n\t m = (value * c - 1) * Math.pow(2, mLen);\n\t e = e + eBias;\n\t } else {\n\t m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n\t e = 0;\n\t }\n\t }\n\t\n\t for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\t\n\t e = e << mLen | m;\n\t eLen += mLen;\n\t for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\t\n\t buffer[offset + i - d] |= s * 128;\n\t};\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = Array.isArray || function (arr) {\n\t return toString.call(arr) == '[object Array]';\n\t};\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = {\n\t Address: __webpack_require__(104),\n\t Aes: __webpack_require__(150),\n\t PrivateKey: __webpack_require__(187),\n\t PublicKey: __webpack_require__(177),\n\t Signature: __webpack_require__(188),\n\t brainKey: __webpack_require__(192),\n\t key_utils: __webpack_require__(193),\n\t hash: __webpack_require__(109),\n\t ecc_config: __webpack_require__(42)\n\t};\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar assert = __webpack_require__(105);\n\tvar config = __webpack_require__(42);\n\tvar hash = __webpack_require__(109);\n\tvar base58 = __webpack_require__(148);\n\t\n\t/** Addresses are shortened non-reversable hashes of a public key. The full PublicKey is preferred.\n\t @deprecated\n\t*/\n\t\n\tvar Address = function () {\n\t function Address(addy) {\n\t _classCallCheck(this, Address);\n\t\n\t this.addy = addy;\n\t }\n\t\n\t _createClass(Address, [{\n\t key: 'toBuffer',\n\t value: function toBuffer() {\n\t return this.addy;\n\t }\n\t }, {\n\t key: 'toString',\n\t value: function toString() {\n\t var address_prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : config.get('address_prefix');\n\t\n\t var checksum = hash.ripemd160(this.addy);\n\t var addy = Buffer.concat([this.addy, checksum.slice(0, 4)]);\n\t return address_prefix + base58.encode(addy);\n\t }\n\t }], [{\n\t key: 'fromBuffer',\n\t value: function fromBuffer(buffer) {\n\t var _hash = hash.sha512(buffer);\n\t var addy = hash.ripemd160(_hash);\n\t return new Address(addy);\n\t }\n\t }, {\n\t key: 'fromString',\n\t value: function fromString(string) {\n\t var address_prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : config.get('address_prefix');\n\t\n\t var prefix = string.slice(0, address_prefix.length);\n\t assert.equal(address_prefix, prefix, 'Expecting key to begin with ' + address_prefix + ', instead got ' + prefix);\n\t var addy = string.slice(address_prefix.length);\n\t addy = new Buffer(base58.decode(addy), 'binary');\n\t var checksum = addy.slice(-4);\n\t addy = addy.slice(0, -4);\n\t var new_checksum = hash.ripemd160(addy);\n\t new_checksum = new_checksum.slice(0, 4);\n\t assert.deepEqual(checksum, new_checksum, 'Checksum did not match');\n\t return new Address(addy);\n\t }\n\t\n\t /** @return Address - Compressed PTS format (by default) */\n\t\n\t }, {\n\t key: 'fromPublic',\n\t value: function fromPublic(public_key) {\n\t var compressed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\t var version = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 56;\n\t\n\t var sha2 = hash.sha256(public_key.toBuffer(compressed));\n\t var rep = hash.ripemd160(sha2);\n\t var versionBuffer = new Buffer(1);\n\t versionBuffer.writeUInt8(0xFF & version, 0);\n\t var addr = Buffer.concat([versionBuffer, rep]);\n\t var check = hash.sha256(addr);\n\t check = hash.sha256(check);\n\t var buffer = Buffer.concat([addr, check.slice(0, 4)]);\n\t return new Address(hash.ripemd160(buffer));\n\t }\n\t }]);\n\t\n\t return Address;\n\t}();\n\t\n\tmodule.exports = Address;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\t// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n\t// original notice:\n\t\n\t/*!\n\t * The buffer module from node.js, for the browser.\n\t *\n\t * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n\t * @license MIT\n\t */\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tfunction compare(a, b) {\n\t if (a === b) {\n\t return 0;\n\t }\n\t\n\t var x = a.length;\n\t var y = b.length;\n\t\n\t for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break;\n\t }\n\t }\n\t\n\t if (x < y) {\n\t return -1;\n\t }\n\t if (y < x) {\n\t return 1;\n\t }\n\t return 0;\n\t}\n\tfunction isBuffer(b) {\n\t if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n\t return global.Buffer.isBuffer(b);\n\t }\n\t return !!(b != null && b._isBuffer);\n\t}\n\t\n\t// based on node assert, original notice:\n\t\n\t// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n\t//\n\t// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n\t//\n\t// Originally from narwhal.js (http://narwhaljs.org)\n\t// Copyright (c) 2009 Thomas Robinson <280north.com>\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a copy\n\t// of this software and associated documentation files (the 'Software'), to\n\t// deal in the Software without restriction, including without limitation the\n\t// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n\t// sell copies of the Software, and to permit persons to whom the Software is\n\t// furnished to do so, subject to the following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included in\n\t// all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\t// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\t// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\t// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n\t// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n\t// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tvar util = __webpack_require__(106);\n\tvar hasOwn = Object.prototype.hasOwnProperty;\n\tvar pSlice = Array.prototype.slice;\n\tvar functionsHaveNames = function () {\n\t return function foo() {}.name === 'foo';\n\t}();\n\tfunction pToString(obj) {\n\t return Object.prototype.toString.call(obj);\n\t}\n\tfunction isView(arrbuf) {\n\t if (isBuffer(arrbuf)) {\n\t return false;\n\t }\n\t if (typeof global.ArrayBuffer !== 'function') {\n\t return false;\n\t }\n\t if (typeof ArrayBuffer.isView === 'function') {\n\t return ArrayBuffer.isView(arrbuf);\n\t }\n\t if (!arrbuf) {\n\t return false;\n\t }\n\t if (arrbuf instanceof DataView) {\n\t return true;\n\t }\n\t if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n\t return true;\n\t }\n\t return false;\n\t}\n\t// 1. The assert module provides functions that throw\n\t// AssertionError's when particular conditions are not met. The\n\t// assert module must conform to the following interface.\n\t\n\tvar assert = module.exports = ok;\n\t\n\t// 2. The AssertionError is defined in assert.\n\t// new assert.AssertionError({ message: message,\n\t// actual: actual,\n\t// expected: expected })\n\t\n\tvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n\t// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\n\tfunction getName(func) {\n\t if (!util.isFunction(func)) {\n\t return;\n\t }\n\t if (functionsHaveNames) {\n\t return func.name;\n\t }\n\t var str = func.toString();\n\t var match = str.match(regex);\n\t return match && match[1];\n\t}\n\tassert.AssertionError = function AssertionError(options) {\n\t this.name = 'AssertionError';\n\t this.actual = options.actual;\n\t this.expected = options.expected;\n\t this.operator = options.operator;\n\t if (options.message) {\n\t this.message = options.message;\n\t this.generatedMessage = false;\n\t } else {\n\t this.message = getMessage(this);\n\t this.generatedMessage = true;\n\t }\n\t var stackStartFunction = options.stackStartFunction || fail;\n\t if (Error.captureStackTrace) {\n\t Error.captureStackTrace(this, stackStartFunction);\n\t } else {\n\t // non v8 browsers so we can have a stacktrace\n\t var err = new Error();\n\t if (err.stack) {\n\t var out = err.stack;\n\t\n\t // try to strip useless frames\n\t var fn_name = getName(stackStartFunction);\n\t var idx = out.indexOf('\\n' + fn_name);\n\t if (idx >= 0) {\n\t // once we have located the function frame\n\t // we need to strip out everything before it (and its line)\n\t var next_line = out.indexOf('\\n', idx + 1);\n\t out = out.substring(next_line + 1);\n\t }\n\t\n\t this.stack = out;\n\t }\n\t }\n\t};\n\t\n\t// assert.AssertionError instanceof Error\n\tutil.inherits(assert.AssertionError, Error);\n\t\n\tfunction truncate(s, n) {\n\t if (typeof s === 'string') {\n\t return s.length < n ? s : s.slice(0, n);\n\t } else {\n\t return s;\n\t }\n\t}\n\tfunction inspect(something) {\n\t if (functionsHaveNames || !util.isFunction(something)) {\n\t return util.inspect(something);\n\t }\n\t var rawname = getName(something);\n\t var name = rawname ? ': ' + rawname : '';\n\t return '[Function' + name + ']';\n\t}\n\tfunction getMessage(self) {\n\t return truncate(inspect(self.actual), 128) + ' ' + self.operator + ' ' + truncate(inspect(self.expected), 128);\n\t}\n\t\n\t// At present only the three keys mentioned above are used and\n\t// understood by the spec. Implementations or sub modules can pass\n\t// other keys to the AssertionError's constructor - they will be\n\t// ignored.\n\t\n\t// 3. All of the following functions must throw an AssertionError\n\t// when a corresponding condition is not met, with a message that\n\t// may be undefined if not provided. All assertion methods provide\n\t// both the actual and expected values to the assertion error for\n\t// display purposes.\n\t\n\tfunction fail(actual, expected, message, operator, stackStartFunction) {\n\t throw new assert.AssertionError({\n\t message: message,\n\t actual: actual,\n\t expected: expected,\n\t operator: operator,\n\t stackStartFunction: stackStartFunction\n\t });\n\t}\n\t\n\t// EXTENSION! allows for well behaved errors defined elsewhere.\n\tassert.fail = fail;\n\t\n\t// 4. Pure assertion tests whether a value is truthy, as determined\n\t// by !!guard.\n\t// assert.ok(guard, message_opt);\n\t// This statement is equivalent to assert.equal(true, !!guard,\n\t// message_opt);. To test strictly for the value true, use\n\t// assert.strictEqual(true, guard, message_opt);.\n\t\n\tfunction ok(value, message) {\n\t if (!value) fail(value, true, message, '==', assert.ok);\n\t}\n\tassert.ok = ok;\n\t\n\t// 5. The equality assertion tests shallow, coercive equality with\n\t// ==.\n\t// assert.equal(actual, expected, message_opt);\n\t\n\tassert.equal = function equal(actual, expected, message) {\n\t if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n\t};\n\t\n\t// 6. The non-equality assertion tests for whether two objects are not equal\n\t// with != assert.notEqual(actual, expected, message_opt);\n\t\n\tassert.notEqual = function notEqual(actual, expected, message) {\n\t if (actual == expected) {\n\t fail(actual, expected, message, '!=', assert.notEqual);\n\t }\n\t};\n\t\n\t// 7. The equivalence assertion tests a deep equality relation.\n\t// assert.deepEqual(actual, expected, message_opt);\n\t\n\tassert.deepEqual = function deepEqual(actual, expected, message) {\n\t if (!_deepEqual(actual, expected, false)) {\n\t fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n\t }\n\t};\n\t\n\tassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n\t if (!_deepEqual(actual, expected, true)) {\n\t fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n\t }\n\t};\n\t\n\tfunction _deepEqual(actual, expected, strict, memos) {\n\t // 7.1. All identical values are equivalent, as determined by ===.\n\t if (actual === expected) {\n\t return true;\n\t } else if (isBuffer(actual) && isBuffer(expected)) {\n\t return compare(actual, expected) === 0;\n\t\n\t // 7.2. If the expected value is a Date object, the actual value is\n\t // equivalent if it is also a Date object that refers to the same time.\n\t } else if (util.isDate(actual) && util.isDate(expected)) {\n\t return actual.getTime() === expected.getTime();\n\t\n\t // 7.3 If the expected value is a RegExp object, the actual value is\n\t // equivalent if it is also a RegExp object with the same source and\n\t // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n\t } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n\t return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase;\n\t\n\t // 7.4. Other pairs that do not both pass typeof value == 'object',\n\t // equivalence is determined by ==.\n\t } else if ((actual === null || (typeof actual === 'undefined' ? 'undefined' : _typeof(actual)) !== 'object') && (expected === null || (typeof expected === 'undefined' ? 'undefined' : _typeof(expected)) !== 'object')) {\n\t return strict ? actual === expected : actual == expected;\n\t\n\t // If both values are instances of typed arrays, wrap their underlying\n\t // ArrayBuffers in a Buffer each to increase performance\n\t // This optimization requires the arrays to have the same type as checked by\n\t // Object.prototype.toString (aka pToString). Never perform binary\n\t // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n\t // bit patterns are not identical.\n\t } else if (isView(actual) && isView(expected) && pToString(actual) === pToString(expected) && !(actual instanceof Float32Array || actual instanceof Float64Array)) {\n\t return compare(new Uint8Array(actual.buffer), new Uint8Array(expected.buffer)) === 0;\n\t\n\t // 7.5 For all other Object pairs, including Array objects, equivalence is\n\t // determined by having the same number of owned properties (as verified\n\t // with Object.prototype.hasOwnProperty.call), the same set of keys\n\t // (although not necessarily the same order), equivalent values for every\n\t // corresponding key, and an identical 'prototype' property. Note: this\n\t // accounts for both named and indexed properties on Arrays.\n\t } else if (isBuffer(actual) !== isBuffer(expected)) {\n\t return false;\n\t } else {\n\t memos = memos || { actual: [], expected: [] };\n\t\n\t var actualIndex = memos.actual.indexOf(actual);\n\t if (actualIndex !== -1) {\n\t if (actualIndex === memos.expected.indexOf(expected)) {\n\t return true;\n\t }\n\t }\n\t\n\t memos.actual.push(actual);\n\t memos.expected.push(expected);\n\t\n\t return objEquiv(actual, expected, strict, memos);\n\t }\n\t}\n\t\n\tfunction isArguments(object) {\n\t return Object.prototype.toString.call(object) == '[object Arguments]';\n\t}\n\t\n\tfunction objEquiv(a, b, strict, actualVisitedObjects) {\n\t if (a === null || a === undefined || b === null || b === undefined) return false;\n\t // if one is a primitive, the other must be same\n\t if (util.isPrimitive(a) || util.isPrimitive(b)) return a === b;\n\t if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false;\n\t var aIsArgs = isArguments(a);\n\t var bIsArgs = isArguments(b);\n\t if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false;\n\t if (aIsArgs) {\n\t a = pSlice.call(a);\n\t b = pSlice.call(b);\n\t return _deepEqual(a, b, strict);\n\t }\n\t var ka = objectKeys(a);\n\t var kb = objectKeys(b);\n\t var key, i;\n\t // having the same number of owned properties (keys incorporates\n\t // hasOwnProperty)\n\t if (ka.length !== kb.length) return false;\n\t //the same set of keys (although not necessarily the same order),\n\t ka.sort();\n\t kb.sort();\n\t //~~~cheap key test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t if (ka[i] !== kb[i]) return false;\n\t }\n\t //equivalent values for every corresponding key, and\n\t //~~~possibly expensive deep test\n\t for (i = ka.length - 1; i >= 0; i--) {\n\t key = ka[i];\n\t if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) return false;\n\t }\n\t return true;\n\t}\n\t\n\t// 8. The non-equivalence assertion tests for any deep inequality.\n\t// assert.notDeepEqual(actual, expected, message_opt);\n\t\n\tassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n\t if (_deepEqual(actual, expected, false)) {\n\t fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n\t }\n\t};\n\t\n\tassert.notDeepStrictEqual = notDeepStrictEqual;\n\tfunction notDeepStrictEqual(actual, expected, message) {\n\t if (_deepEqual(actual, expected, true)) {\n\t fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n\t }\n\t}\n\t\n\t// 9. The strict equality assertion tests strict equality, as determined by ===.\n\t// assert.strictEqual(actual, expected, message_opt);\n\t\n\tassert.strictEqual = function strictEqual(actual, expected, message) {\n\t if (actual !== expected) {\n\t fail(actual, expected, message, '===', assert.strictEqual);\n\t }\n\t};\n\t\n\t// 10. The strict non-equality assertion tests for strict inequality, as\n\t// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\t\n\tassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n\t if (actual === expected) {\n\t fail(actual, expected, message, '!==', assert.notStrictEqual);\n\t }\n\t};\n\t\n\tfunction expectedException(actual, expected) {\n\t if (!actual || !expected) {\n\t return false;\n\t }\n\t\n\t if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n\t return expected.test(actual);\n\t }\n\t\n\t try {\n\t if (actual instanceof expected) {\n\t return true;\n\t }\n\t } catch (e) {\n\t // Ignore. The instanceof check doesn't work for arrow functions.\n\t }\n\t\n\t if (Error.isPrototypeOf(expected)) {\n\t return false;\n\t }\n\t\n\t return expected.call({}, actual) === true;\n\t}\n\t\n\tfunction _tryBlock(block) {\n\t var error;\n\t try {\n\t block();\n\t } catch (e) {\n\t error = e;\n\t }\n\t return error;\n\t}\n\t\n\tfunction _throws(shouldThrow, block, expected, message) {\n\t var actual;\n\t\n\t if (typeof block !== 'function') {\n\t throw new TypeError('\"block\" argument must be a function');\n\t }\n\t\n\t if (typeof expected === 'string') {\n\t message = expected;\n\t expected = null;\n\t }\n\t\n\t actual = _tryBlock(block);\n\t\n\t message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + (message ? ' ' + message : '.');\n\t\n\t if (shouldThrow && !actual) {\n\t fail(actual, expected, 'Missing expected exception' + message);\n\t }\n\t\n\t var userProvidedMessage = typeof message === 'string';\n\t var isUnwantedException = !shouldThrow && util.isError(actual);\n\t var isUnexpectedException = !shouldThrow && actual && !expected;\n\t\n\t if (isUnwantedException && userProvidedMessage && expectedException(actual, expected) || isUnexpectedException) {\n\t fail(actual, expected, 'Got unwanted exception' + message);\n\t }\n\t\n\t if (shouldThrow && actual && expected && !expectedException(actual, expected) || !shouldThrow && actual) {\n\t throw actual;\n\t }\n\t}\n\t\n\t// 11. Expected to throw an error:\n\t// assert.throws(block, Error_opt, message_opt);\n\t\n\tassert.throws = function (block, /*optional*/error, /*optional*/message) {\n\t _throws(true, block, error, message);\n\t};\n\t\n\t// EXTENSION! This is annoying to write outside this module.\n\tassert.doesNotThrow = function (block, /*optional*/error, /*optional*/message) {\n\t _throws(false, block, error, message);\n\t};\n\t\n\tassert.ifError = function (err) {\n\t if (err) throw err;\n\t};\n\t\n\tvar objectKeys = Object.keys || function (obj) {\n\t var keys = [];\n\t for (var key in obj) {\n\t if (hasOwn.call(obj, key)) keys.push(key);\n\t }\n\t return keys;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, process) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tvar formatRegExp = /%[sdj%]/g;\n\texports.format = function (f) {\n\t if (!isString(f)) {\n\t var objects = [];\n\t for (var i = 0; i < arguments.length; i++) {\n\t objects.push(inspect(arguments[i]));\n\t }\n\t return objects.join(' ');\n\t }\n\t\n\t var i = 1;\n\t var args = arguments;\n\t var len = args.length;\n\t var str = String(f).replace(formatRegExp, function (x) {\n\t if (x === '%%') return '%';\n\t if (i >= len) return x;\n\t switch (x) {\n\t case '%s':\n\t return String(args[i++]);\n\t case '%d':\n\t return Number(args[i++]);\n\t case '%j':\n\t try {\n\t return JSON.stringify(args[i++]);\n\t } catch (_) {\n\t return '[Circular]';\n\t }\n\t default:\n\t return x;\n\t }\n\t });\n\t for (var x = args[i]; i < len; x = args[++i]) {\n\t if (isNull(x) || !isObject(x)) {\n\t str += ' ' + x;\n\t } else {\n\t str += ' ' + inspect(x);\n\t }\n\t }\n\t return str;\n\t};\n\t\n\t// Mark that a method should not be used.\n\t// Returns a modified function which warns once by default.\n\t// If --no-deprecation is set, then it is a no-op.\n\texports.deprecate = function (fn, msg) {\n\t // Allow for deprecating things in the process of starting up.\n\t if (isUndefined(global.process)) {\n\t return function () {\n\t return exports.deprecate(fn, msg).apply(this, arguments);\n\t };\n\t }\n\t\n\t if (process.noDeprecation === true) {\n\t return fn;\n\t }\n\t\n\t var warned = false;\n\t function deprecated() {\n\t if (!warned) {\n\t if (process.throwDeprecation) {\n\t throw new Error(msg);\n\t } else if (process.traceDeprecation) {\n\t console.trace(msg);\n\t } else {\n\t console.error(msg);\n\t }\n\t warned = true;\n\t }\n\t return fn.apply(this, arguments);\n\t }\n\t\n\t return deprecated;\n\t};\n\t\n\tvar debugs = {};\n\tvar debugEnviron;\n\texports.debuglog = function (set) {\n\t if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || '';\n\t set = set.toUpperCase();\n\t if (!debugs[set]) {\n\t if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n\t var pid = process.pid;\n\t debugs[set] = function () {\n\t var msg = exports.format.apply(exports, arguments);\n\t console.error('%s %d: %s', set, pid, msg);\n\t };\n\t } else {\n\t debugs[set] = function () {};\n\t }\n\t }\n\t return debugs[set];\n\t};\n\t\n\t/**\n\t * Echos the value of a value. Trys to print the value out\n\t * in the best way possible given the different types.\n\t *\n\t * @param {Object} obj The object to print out.\n\t * @param {Object} opts Optional options object that alters the output.\n\t */\n\t/* legacy: obj, showHidden, depth, colors*/\n\tfunction inspect(obj, opts) {\n\t // default options\n\t var ctx = {\n\t seen: [],\n\t stylize: stylizeNoColor\n\t };\n\t // legacy...\n\t if (arguments.length >= 3) ctx.depth = arguments[2];\n\t if (arguments.length >= 4) ctx.colors = arguments[3];\n\t if (isBoolean(opts)) {\n\t // legacy...\n\t ctx.showHidden = opts;\n\t } else if (opts) {\n\t // got an \"options\" object\n\t exports._extend(ctx, opts);\n\t }\n\t // set default options\n\t if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n\t if (isUndefined(ctx.depth)) ctx.depth = 2;\n\t if (isUndefined(ctx.colors)) ctx.colors = false;\n\t if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n\t if (ctx.colors) ctx.stylize = stylizeWithColor;\n\t return formatValue(ctx, obj, ctx.depth);\n\t}\n\texports.inspect = inspect;\n\t\n\t// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\n\tinspect.colors = {\n\t 'bold': [1, 22],\n\t 'italic': [3, 23],\n\t 'underline': [4, 24],\n\t 'inverse': [7, 27],\n\t 'white': [37, 39],\n\t 'grey': [90, 39],\n\t 'black': [30, 39],\n\t 'blue': [34, 39],\n\t 'cyan': [36, 39],\n\t 'green': [32, 39],\n\t 'magenta': [35, 39],\n\t 'red': [31, 39],\n\t 'yellow': [33, 39]\n\t};\n\t\n\t// Don't use 'blue' not visible on cmd.exe\n\tinspect.styles = {\n\t 'special': 'cyan',\n\t 'number': 'yellow',\n\t 'boolean': 'yellow',\n\t 'undefined': 'grey',\n\t 'null': 'bold',\n\t 'string': 'green',\n\t 'date': 'magenta',\n\t // \"name\": intentionally not styling\n\t 'regexp': 'red'\n\t};\n\t\n\tfunction stylizeWithColor(str, styleType) {\n\t var style = inspect.styles[styleType];\n\t\n\t if (style) {\n\t return '\\x1B[' + inspect.colors[style][0] + 'm' + str + '\\x1B[' + inspect.colors[style][1] + 'm';\n\t } else {\n\t return str;\n\t }\n\t}\n\t\n\tfunction stylizeNoColor(str, styleType) {\n\t return str;\n\t}\n\t\n\tfunction arrayToHash(array) {\n\t var hash = {};\n\t\n\t array.forEach(function (val, idx) {\n\t hash[val] = true;\n\t });\n\t\n\t return hash;\n\t}\n\t\n\tfunction formatValue(ctx, value, recurseTimes) {\n\t // Provide a hook for user-specified inspect functions.\n\t // Check that value is an object with an inspect function on it\n\t if (ctx.customInspect && value && isFunction(value.inspect) &&\n\t // Filter out the util module, it's inspect function is special\n\t value.inspect !== exports.inspect &&\n\t // Also filter out any prototype objects using the circular check.\n\t !(value.constructor && value.constructor.prototype === value)) {\n\t var ret = value.inspect(recurseTimes, ctx);\n\t if (!isString(ret)) {\n\t ret = formatValue(ctx, ret, recurseTimes);\n\t }\n\t return ret;\n\t }\n\t\n\t // Primitive types cannot have properties\n\t var primitive = formatPrimitive(ctx, value);\n\t if (primitive) {\n\t return primitive;\n\t }\n\t\n\t // Look up the keys of the object.\n\t var keys = Object.keys(value);\n\t var visibleKeys = arrayToHash(keys);\n\t\n\t if (ctx.showHidden) {\n\t keys = Object.getOwnPropertyNames(value);\n\t }\n\t\n\t // IE doesn't make error fields non-enumerable\n\t // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n\t if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n\t return formatError(value);\n\t }\n\t\n\t // Some type of object without properties can be shortcutted.\n\t if (keys.length === 0) {\n\t if (isFunction(value)) {\n\t var name = value.name ? ': ' + value.name : '';\n\t return ctx.stylize('[Function' + name + ']', 'special');\n\t }\n\t if (isRegExp(value)) {\n\t return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n\t }\n\t if (isDate(value)) {\n\t return ctx.stylize(Date.prototype.toString.call(value), 'date');\n\t }\n\t if (isError(value)) {\n\t return formatError(value);\n\t }\n\t }\n\t\n\t var base = '',\n\t array = false,\n\t braces = ['{', '}'];\n\t\n\t // Make Array say that they are Array\n\t if (isArray(value)) {\n\t array = true;\n\t braces = ['[', ']'];\n\t }\n\t\n\t // Make functions say that they are functions\n\t if (isFunction(value)) {\n\t var n = value.name ? ': ' + value.name : '';\n\t base = ' [Function' + n + ']';\n\t }\n\t\n\t // Make RegExps say that they are RegExps\n\t if (isRegExp(value)) {\n\t base = ' ' + RegExp.prototype.toString.call(value);\n\t }\n\t\n\t // Make dates with properties first say the date\n\t if (isDate(value)) {\n\t base = ' ' + Date.prototype.toUTCString.call(value);\n\t }\n\t\n\t // Make error with message first say the error\n\t if (isError(value)) {\n\t base = ' ' + formatError(value);\n\t }\n\t\n\t if (keys.length === 0 && (!array || value.length == 0)) {\n\t return braces[0] + base + braces[1];\n\t }\n\t\n\t if (recurseTimes < 0) {\n\t if (isRegExp(value)) {\n\t return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n\t } else {\n\t return ctx.stylize('[Object]', 'special');\n\t }\n\t }\n\t\n\t ctx.seen.push(value);\n\t\n\t var output;\n\t if (array) {\n\t output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n\t } else {\n\t output = keys.map(function (key) {\n\t return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n\t });\n\t }\n\t\n\t ctx.seen.pop();\n\t\n\t return reduceToSingleString(output, base, braces);\n\t}\n\t\n\tfunction formatPrimitive(ctx, value) {\n\t if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n\t if (isString(value)) {\n\t var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '').replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + '\\'';\n\t return ctx.stylize(simple, 'string');\n\t }\n\t if (isNumber(value)) return ctx.stylize('' + value, 'number');\n\t if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n\t // For some reason typeof null is \"object\", so special case here.\n\t if (isNull(value)) return ctx.stylize('null', 'null');\n\t}\n\t\n\tfunction formatError(value) {\n\t return '[' + Error.prototype.toString.call(value) + ']';\n\t}\n\t\n\tfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n\t var output = [];\n\t for (var i = 0, l = value.length; i < l; ++i) {\n\t if (hasOwnProperty(value, String(i))) {\n\t output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n\t } else {\n\t output.push('');\n\t }\n\t }\n\t keys.forEach(function (key) {\n\t if (!key.match(/^\\d+$/)) {\n\t output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n\t }\n\t });\n\t return output;\n\t}\n\t\n\tfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n\t var name, str, desc;\n\t desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n\t if (desc.get) {\n\t if (desc.set) {\n\t str = ctx.stylize('[Getter/Setter]', 'special');\n\t } else {\n\t str = ctx.stylize('[Getter]', 'special');\n\t }\n\t } else {\n\t if (desc.set) {\n\t str = ctx.stylize('[Setter]', 'special');\n\t }\n\t }\n\t if (!hasOwnProperty(visibleKeys, key)) {\n\t name = '[' + key + ']';\n\t }\n\t if (!str) {\n\t if (ctx.seen.indexOf(desc.value) < 0) {\n\t if (isNull(recurseTimes)) {\n\t str = formatValue(ctx, desc.value, null);\n\t } else {\n\t str = formatValue(ctx, desc.value, recurseTimes - 1);\n\t }\n\t if (str.indexOf('\\n') > -1) {\n\t if (array) {\n\t str = str.split('\\n').map(function (line) {\n\t return ' ' + line;\n\t }).join('\\n').substr(2);\n\t } else {\n\t str = '\\n' + str.split('\\n').map(function (line) {\n\t return ' ' + line;\n\t }).join('\\n');\n\t }\n\t }\n\t } else {\n\t str = ctx.stylize('[Circular]', 'special');\n\t }\n\t }\n\t if (isUndefined(name)) {\n\t if (array && key.match(/^\\d+$/)) {\n\t return str;\n\t }\n\t name = JSON.stringify('' + key);\n\t if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n\t name = name.substr(1, name.length - 2);\n\t name = ctx.stylize(name, 'name');\n\t } else {\n\t name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n\t name = ctx.stylize(name, 'string');\n\t }\n\t }\n\t\n\t return name + ': ' + str;\n\t}\n\t\n\tfunction reduceToSingleString(output, base, braces) {\n\t var numLinesEst = 0;\n\t var length = output.reduce(function (prev, cur) {\n\t numLinesEst++;\n\t if (cur.indexOf('\\n') >= 0) numLinesEst++;\n\t return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n\t }, 0);\n\t\n\t if (length > 60) {\n\t return braces[0] + (base === '' ? '' : base + '\\n ') + ' ' + output.join(',\\n ') + ' ' + braces[1];\n\t }\n\t\n\t return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n\t}\n\t\n\t// NOTE: These type checking functions intentionally don't use `instanceof`\n\t// because it is fragile and can be easily faked with `Object.create()`.\n\tfunction isArray(ar) {\n\t return Array.isArray(ar);\n\t}\n\texports.isArray = isArray;\n\t\n\tfunction isBoolean(arg) {\n\t return typeof arg === 'boolean';\n\t}\n\texports.isBoolean = isBoolean;\n\t\n\tfunction isNull(arg) {\n\t return arg === null;\n\t}\n\texports.isNull = isNull;\n\t\n\tfunction isNullOrUndefined(arg) {\n\t return arg == null;\n\t}\n\texports.isNullOrUndefined = isNullOrUndefined;\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\texports.isNumber = isNumber;\n\t\n\tfunction isString(arg) {\n\t return typeof arg === 'string';\n\t}\n\texports.isString = isString;\n\t\n\tfunction isSymbol(arg) {\n\t return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol';\n\t}\n\texports.isSymbol = isSymbol;\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\texports.isUndefined = isUndefined;\n\t\n\tfunction isRegExp(re) {\n\t return isObject(re) && objectToString(re) === '[object RegExp]';\n\t}\n\texports.isRegExp = isRegExp;\n\t\n\tfunction isObject(arg) {\n\t return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && arg !== null;\n\t}\n\texports.isObject = isObject;\n\t\n\tfunction isDate(d) {\n\t return isObject(d) && objectToString(d) === '[object Date]';\n\t}\n\texports.isDate = isDate;\n\t\n\tfunction isError(e) {\n\t return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);\n\t}\n\texports.isError = isError;\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\texports.isFunction = isFunction;\n\t\n\tfunction isPrimitive(arg) {\n\t return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol' || // ES6 symbol\n\t typeof arg === 'undefined';\n\t}\n\texports.isPrimitive = isPrimitive;\n\t\n\texports.isBuffer = __webpack_require__(107);\n\t\n\tfunction objectToString(o) {\n\t return Object.prototype.toString.call(o);\n\t}\n\t\n\tfunction pad(n) {\n\t return n < 10 ? '0' + n.toString(10) : n.toString(10);\n\t}\n\t\n\tvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\t\n\t// 26 Feb 16:19:34\n\tfunction timestamp() {\n\t var d = new Date();\n\t var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':');\n\t return [d.getDate(), months[d.getMonth()], time].join(' ');\n\t}\n\t\n\t// log is just a thin wrapper to console.log that prepends a timestamp\n\texports.log = function () {\n\t console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n\t};\n\t\n\t/**\n\t * Inherit the prototype methods from one constructor into another.\n\t *\n\t * The Function.prototype.inherits from lang.js rewritten as a standalone\n\t * function (not on Function.prototype). NOTE: If this file is to be loaded\n\t * during bootstrapping this function needs to be rewritten using some native\n\t * functions as prototype setup using normal JavaScript does not work as\n\t * expected during bootstrapping (see mirror.js in r114903).\n\t *\n\t * @param {function} ctor Constructor function which needs to inherit the\n\t * prototype.\n\t * @param {function} superCtor Constructor function to inherit prototype from.\n\t */\n\texports.inherits = __webpack_require__(108);\n\t\n\texports._extend = function (origin, add) {\n\t // Don't do anything if add isn't an object\n\t if (!add || !isObject(add)) return origin;\n\t\n\t var keys = Object.keys(add);\n\t var i = keys.length;\n\t while (i--) {\n\t origin[keys[i]] = add[keys[i]];\n\t }\n\t return origin;\n\t};\n\t\n\tfunction hasOwnProperty(obj, prop) {\n\t return Object.prototype.hasOwnProperty.call(obj, prop);\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(5)))\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tmodule.exports = function isBuffer(arg) {\n\t return arg && (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function';\n\t};\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tif (typeof Object.create === 'function') {\n\t // implementation from standard node.js 'util' module\n\t module.exports = function inherits(ctor, superCtor) {\n\t ctor.super_ = superCtor;\n\t ctor.prototype = Object.create(superCtor.prototype, {\n\t constructor: {\n\t value: ctor,\n\t enumerable: false,\n\t writable: true,\n\t configurable: true\n\t }\n\t });\n\t };\n\t} else {\n\t // old school shim for old browsers\n\t module.exports = function inherits(ctor, superCtor) {\n\t ctor.super_ = superCtor;\n\t var TempCtor = function TempCtor() {};\n\t TempCtor.prototype = superCtor.prototype;\n\t ctor.prototype = new TempCtor();\n\t ctor.prototype.constructor = ctor;\n\t };\n\t}\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _createHash = __webpack_require__(110);\n\t\n\tvar _createHash2 = _interopRequireDefault(_createHash);\n\t\n\tvar _createHmac = __webpack_require__(146);\n\t\n\tvar _createHmac2 = _interopRequireDefault(_createHmac);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/** @arg {string|Buffer} data\n\t @arg {string} [digest = null] - 'hex', 'binary' or 'base64'\n\t @return {string|Buffer} - Buffer when digest is null, or string\n\t*/\n\tfunction sha1(data, encoding) {\n\t return (0, _createHash2.default)('sha1').update(data).digest(encoding);\n\t}\n\t\n\t/** @arg {string|Buffer} data\n\t @arg {string} [digest = null] - 'hex', 'binary' or 'base64'\n\t @return {string|Buffer} - Buffer when digest is null, or string\n\t*/\n\tfunction sha256(data, encoding) {\n\t return (0, _createHash2.default)('sha256').update(data).digest(encoding);\n\t}\n\t\n\t/** @arg {string|Buffer} data\n\t @arg {string} [digest = null] - 'hex', 'binary' or 'base64'\n\t @return {string|Buffer} - Buffer when digest is null, or string\n\t*/\n\tfunction sha512(data, encoding) {\n\t return (0, _createHash2.default)('sha512').update(data).digest(encoding);\n\t}\n\t\n\tfunction HmacSHA256(buffer, secret) {\n\t return (0, _createHmac2.default)('sha256', secret).update(buffer).digest();\n\t}\n\t\n\tfunction ripemd160(data) {\n\t return (0, _createHash2.default)('rmd160').update(data).digest();\n\t}\n\t\n\t// function hash160(buffer) {\n\t// return ripemd160(sha256(buffer))\n\t// }\n\t// \n\t// function hash256(buffer) {\n\t// return sha256(sha256(buffer))\n\t// }\n\t\n\t// \n\t// function HmacSHA512(buffer, secret) {\n\t// return crypto.createHmac('sha512', secret).update(buffer).digest()\n\t// }\n\t\n\tmodule.exports = {\n\t sha1: sha1,\n\t sha256: sha256,\n\t sha512: sha512,\n\t HmacSHA256: HmacSHA256,\n\t ripemd160: ripemd160\n\t // hash160: hash160,\n\t // hash256: hash256,\n\t // HmacSHA512: HmacSHA512\n\t};\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar md5 = __webpack_require__(112);\n\tvar RIPEMD160 = __webpack_require__(114);\n\tvar sha = __webpack_require__(137);\n\t\n\tvar Base = __webpack_require__(145);\n\t\n\tfunction HashNoConstructor(hash) {\n\t Base.call(this, 'digest');\n\t\n\t this._hash = hash;\n\t this.buffers = [];\n\t}\n\t\n\tinherits(HashNoConstructor, Base);\n\t\n\tHashNoConstructor.prototype._update = function (data) {\n\t this.buffers.push(data);\n\t};\n\t\n\tHashNoConstructor.prototype._final = function () {\n\t var buf = Buffer.concat(this.buffers);\n\t var r = this._hash(buf);\n\t this.buffers = null;\n\t\n\t return r;\n\t};\n\t\n\tfunction Hash(hash) {\n\t Base.call(this, 'digest');\n\t\n\t this._hash = hash;\n\t}\n\t\n\tinherits(Hash, Base);\n\t\n\tHash.prototype._update = function (data) {\n\t this._hash.update(data);\n\t};\n\t\n\tHash.prototype._final = function () {\n\t return this._hash.digest();\n\t};\n\t\n\tmodule.exports = function createHash(alg) {\n\t alg = alg.toLowerCase();\n\t if (alg === 'md5') return new HashNoConstructor(md5);\n\t if (alg === 'rmd160' || alg === 'ripemd160') return new Hash(new RIPEMD160());\n\t\n\t return new Hash(sha(alg));\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 111 */\n108,\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t/*\n\t * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n\t * Digest Algorithm, as defined in RFC 1321.\n\t * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t * Distributed under the BSD License\n\t * See http://pajhome.org.uk/crypt/md5 for more info.\n\t */\n\t\n\tvar makeHash = __webpack_require__(113);\n\t\n\t/*\n\t * Calculate the MD5 of an array of little-endian words, and a bit length\n\t */\n\tfunction core_md5(x, len) {\n\t /* append padding */\n\t x[len >> 5] |= 0x80 << len % 32;\n\t x[(len + 64 >>> 9 << 4) + 14] = len;\n\t\n\t var a = 1732584193;\n\t var b = -271733879;\n\t var c = -1732584194;\n\t var d = 271733878;\n\t\n\t for (var i = 0; i < x.length; i += 16) {\n\t var olda = a;\n\t var oldb = b;\n\t var oldc = c;\n\t var oldd = d;\n\t\n\t a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);\n\t d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);\n\t c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);\n\t b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);\n\t a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);\n\t d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);\n\t c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);\n\t b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);\n\t a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);\n\t d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);\n\t c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n\t b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n\t a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);\n\t d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n\t c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n\t b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);\n\t\n\t a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);\n\t d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);\n\t c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);\n\t b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);\n\t a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);\n\t d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);\n\t c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n\t b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);\n\t a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);\n\t d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);\n\t c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);\n\t b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);\n\t a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);\n\t d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);\n\t c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);\n\t b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n\t\n\t a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);\n\t d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);\n\t c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);\n\t b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n\t a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);\n\t d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);\n\t c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);\n\t b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n\t a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);\n\t d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);\n\t c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);\n\t b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);\n\t a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);\n\t d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n\t c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);\n\t b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);\n\t\n\t a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);\n\t d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);\n\t c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n\t b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);\n\t a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);\n\t d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);\n\t c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n\t b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);\n\t a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);\n\t d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n\t c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);\n\t b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);\n\t a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);\n\t d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n\t c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);\n\t b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);\n\t\n\t a = safe_add(a, olda);\n\t b = safe_add(b, oldb);\n\t c = safe_add(c, oldc);\n\t d = safe_add(d, oldd);\n\t }\n\t\n\t return [a, b, c, d];\n\t}\n\t\n\t/*\n\t * These functions implement the four basic operations the algorithm uses.\n\t */\n\tfunction md5_cmn(q, a, b, x, s, t) {\n\t return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);\n\t}\n\t\n\tfunction md5_ff(a, b, c, d, x, s, t) {\n\t return md5_cmn(b & c | ~b & d, a, b, x, s, t);\n\t}\n\t\n\tfunction md5_gg(a, b, c, d, x, s, t) {\n\t return md5_cmn(b & d | c & ~d, a, b, x, s, t);\n\t}\n\t\n\tfunction md5_hh(a, b, c, d, x, s, t) {\n\t return md5_cmn(b ^ c ^ d, a, b, x, s, t);\n\t}\n\t\n\tfunction md5_ii(a, b, c, d, x, s, t) {\n\t return md5_cmn(c ^ (b | ~d), a, b, x, s, t);\n\t}\n\t\n\t/*\n\t * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n\t * to work around bugs in some JS interpreters.\n\t */\n\tfunction safe_add(x, y) {\n\t var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n\t var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n\t return msw << 16 | lsw & 0xFFFF;\n\t}\n\t\n\t/*\n\t * Bitwise rotate a 32-bit number to the left.\n\t */\n\tfunction bit_rol(num, cnt) {\n\t return num << cnt | num >>> 32 - cnt;\n\t}\n\t\n\tmodule.exports = function md5(buf) {\n\t return makeHash(buf, core_md5);\n\t};\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar intSize = 4;\n\tvar zeroBuffer = new Buffer(intSize);\n\tzeroBuffer.fill(0);\n\t\n\tvar charSize = 8;\n\tvar hashSize = 16;\n\t\n\tfunction toArray(buf) {\n\t if (buf.length % intSize !== 0) {\n\t var len = buf.length + (intSize - buf.length % intSize);\n\t buf = Buffer.concat([buf, zeroBuffer], len);\n\t }\n\t\n\t var arr = new Array(buf.length >>> 2);\n\t for (var i = 0, j = 0; i < buf.length; i += intSize, j++) {\n\t arr[j] = buf.readInt32LE(i);\n\t }\n\t\n\t return arr;\n\t}\n\t\n\tmodule.exports = function hash(buf, fn) {\n\t var arr = fn(toArray(buf), buf.length * charSize);\n\t buf = new Buffer(hashSize);\n\t for (var i = 0; i < arr.length; i++) {\n\t buf.writeInt32LE(arr[i], i << 2, true);\n\t }\n\t return buf;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar HashBase = __webpack_require__(115);\n\t\n\tfunction RIPEMD160() {\n\t HashBase.call(this, 64);\n\t\n\t // state\n\t this._a = 0x67452301;\n\t this._b = 0xefcdab89;\n\t this._c = 0x98badcfe;\n\t this._d = 0x10325476;\n\t this._e = 0xc3d2e1f0;\n\t}\n\t\n\tinherits(RIPEMD160, HashBase);\n\t\n\tRIPEMD160.prototype._update = function () {\n\t var m = new Array(16);\n\t for (var i = 0; i < 16; ++i) {\n\t m[i] = this._block.readInt32LE(i * 4);\n\t }var al = this._a;\n\t var bl = this._b;\n\t var cl = this._c;\n\t var dl = this._d;\n\t var el = this._e;\n\t\n\t // Mj = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\n\t // K = 0x00000000\n\t // Sj = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8\n\t al = fn1(al, bl, cl, dl, el, m[0], 0x00000000, 11);cl = rotl(cl, 10);\n\t el = fn1(el, al, bl, cl, dl, m[1], 0x00000000, 14);bl = rotl(bl, 10);\n\t dl = fn1(dl, el, al, bl, cl, m[2], 0x00000000, 15);al = rotl(al, 10);\n\t cl = fn1(cl, dl, el, al, bl, m[3], 0x00000000, 12);el = rotl(el, 10);\n\t bl = fn1(bl, cl, dl, el, al, m[4], 0x00000000, 5);dl = rotl(dl, 10);\n\t al = fn1(al, bl, cl, dl, el, m[5], 0x00000000, 8);cl = rotl(cl, 10);\n\t el = fn1(el, al, bl, cl, dl, m[6], 0x00000000, 7);bl = rotl(bl, 10);\n\t dl = fn1(dl, el, al, bl, cl, m[7], 0x00000000, 9);al = rotl(al, 10);\n\t cl = fn1(cl, dl, el, al, bl, m[8], 0x00000000, 11);el = rotl(el, 10);\n\t bl = fn1(bl, cl, dl, el, al, m[9], 0x00000000, 13);dl = rotl(dl, 10);\n\t al = fn1(al, bl, cl, dl, el, m[10], 0x00000000, 14);cl = rotl(cl, 10);\n\t el = fn1(el, al, bl, cl, dl, m[11], 0x00000000, 15);bl = rotl(bl, 10);\n\t dl = fn1(dl, el, al, bl, cl, m[12], 0x00000000, 6);al = rotl(al, 10);\n\t cl = fn1(cl, dl, el, al, bl, m[13], 0x00000000, 7);el = rotl(el, 10);\n\t bl = fn1(bl, cl, dl, el, al, m[14], 0x00000000, 9);dl = rotl(dl, 10);\n\t al = fn1(al, bl, cl, dl, el, m[15], 0x00000000, 8);cl = rotl(cl, 10);\n\t\n\t // Mj = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8\n\t // K = 0x5a827999\n\t // Sj = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12\n\t el = fn2(el, al, bl, cl, dl, m[7], 0x5a827999, 7);bl = rotl(bl, 10);\n\t dl = fn2(dl, el, al, bl, cl, m[4], 0x5a827999, 6);al = rotl(al, 10);\n\t cl = fn2(cl, dl, el, al, bl, m[13], 0x5a827999, 8);el = rotl(el, 10);\n\t bl = fn2(bl, cl, dl, el, al, m[1], 0x5a827999, 13);dl = rotl(dl, 10);\n\t al = fn2(al, bl, cl, dl, el, m[10], 0x5a827999, 11);cl = rotl(cl, 10);\n\t el = fn2(el, al, bl, cl, dl, m[6], 0x5a827999, 9);bl = rotl(bl, 10);\n\t dl = fn2(dl, el, al, bl, cl, m[15], 0x5a827999, 7);al = rotl(al, 10);\n\t cl = fn2(cl, dl, el, al, bl, m[3], 0x5a827999, 15);el = rotl(el, 10);\n\t bl = fn2(bl, cl, dl, el, al, m[12], 0x5a827999, 7);dl = rotl(dl, 10);\n\t al = fn2(al, bl, cl, dl, el, m[0], 0x5a827999, 12);cl = rotl(cl, 10);\n\t el = fn2(el, al, bl, cl, dl, m[9], 0x5a827999, 15);bl = rotl(bl, 10);\n\t dl = fn2(dl, el, al, bl, cl, m[5], 0x5a827999, 9);al = rotl(al, 10);\n\t cl = fn2(cl, dl, el, al, bl, m[2], 0x5a827999, 11);el = rotl(el, 10);\n\t bl = fn2(bl, cl, dl, el, al, m[14], 0x5a827999, 7);dl = rotl(dl, 10);\n\t al = fn2(al, bl, cl, dl, el, m[11], 0x5a827999, 13);cl = rotl(cl, 10);\n\t el = fn2(el, al, bl, cl, dl, m[8], 0x5a827999, 12);bl = rotl(bl, 10);\n\t\n\t // Mj = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12\n\t // K = 0x6ed9eba1\n\t // Sj = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5\n\t dl = fn3(dl, el, al, bl, cl, m[3], 0x6ed9eba1, 11);al = rotl(al, 10);\n\t cl = fn3(cl, dl, el, al, bl, m[10], 0x6ed9eba1, 13);el = rotl(el, 10);\n\t bl = fn3(bl, cl, dl, el, al, m[14], 0x6ed9eba1, 6);dl = rotl(dl, 10);\n\t al = fn3(al, bl, cl, dl, el, m[4], 0x6ed9eba1, 7);cl = rotl(cl, 10);\n\t el = fn3(el, al, bl, cl, dl, m[9], 0x6ed9eba1, 14);bl = rotl(bl, 10);\n\t dl = fn3(dl, el, al, bl, cl, m[15], 0x6ed9eba1, 9);al = rotl(al, 10);\n\t cl = fn3(cl, dl, el, al, bl, m[8], 0x6ed9eba1, 13);el = rotl(el, 10);\n\t bl = fn3(bl, cl, dl, el, al, m[1], 0x6ed9eba1, 15);dl = rotl(dl, 10);\n\t al = fn3(al, bl, cl, dl, el, m[2], 0x6ed9eba1, 14);cl = rotl(cl, 10);\n\t el = fn3(el, al, bl, cl, dl, m[7], 0x6ed9eba1, 8);bl = rotl(bl, 10);\n\t dl = fn3(dl, el, al, bl, cl, m[0], 0x6ed9eba1, 13);al = rotl(al, 10);\n\t cl = fn3(cl, dl, el, al, bl, m[6], 0x6ed9eba1, 6);el = rotl(el, 10);\n\t bl = fn3(bl, cl, dl, el, al, m[13], 0x6ed9eba1, 5);dl = rotl(dl, 10);\n\t al = fn3(al, bl, cl, dl, el, m[11], 0x6ed9eba1, 12);cl = rotl(cl, 10);\n\t el = fn3(el, al, bl, cl, dl, m[5], 0x6ed9eba1, 7);bl = rotl(bl, 10);\n\t dl = fn3(dl, el, al, bl, cl, m[12], 0x6ed9eba1, 5);al = rotl(al, 10);\n\t\n\t // Mj = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2\n\t // K = 0x8f1bbcdc\n\t // Sj = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12\n\t cl = fn4(cl, dl, el, al, bl, m[1], 0x8f1bbcdc, 11);el = rotl(el, 10);\n\t bl = fn4(bl, cl, dl, el, al, m[9], 0x8f1bbcdc, 12);dl = rotl(dl, 10);\n\t al = fn4(al, bl, cl, dl, el, m[11], 0x8f1bbcdc, 14);cl = rotl(cl, 10);\n\t el = fn4(el, al, bl, cl, dl, m[10], 0x8f1bbcdc, 15);bl = rotl(bl, 10);\n\t dl = fn4(dl, el, al, bl, cl, m[0], 0x8f1bbcdc, 14);al = rotl(al, 10);\n\t cl = fn4(cl, dl, el, al, bl, m[8], 0x8f1bbcdc, 15);el = rotl(el, 10);\n\t bl = fn4(bl, cl, dl, el, al, m[12], 0x8f1bbcdc, 9);dl = rotl(dl, 10);\n\t al = fn4(al, bl, cl, dl, el, m[4], 0x8f1bbcdc, 8);cl = rotl(cl, 10);\n\t el = fn4(el, al, bl, cl, dl, m[13], 0x8f1bbcdc, 9);bl = rotl(bl, 10);\n\t dl = fn4(dl, el, al, bl, cl, m[3], 0x8f1bbcdc, 14);al = rotl(al, 10);\n\t cl = fn4(cl, dl, el, al, bl, m[7], 0x8f1bbcdc, 5);el = rotl(el, 10);\n\t bl = fn4(bl, cl, dl, el, al, m[15], 0x8f1bbcdc, 6);dl = rotl(dl, 10);\n\t al = fn4(al, bl, cl, dl, el, m[14], 0x8f1bbcdc, 8);cl = rotl(cl, 10);\n\t el = fn4(el, al, bl, cl, dl, m[5], 0x8f1bbcdc, 6);bl = rotl(bl, 10);\n\t dl = fn4(dl, el, al, bl, cl, m[6], 0x8f1bbcdc, 5);al = rotl(al, 10);\n\t cl = fn4(cl, dl, el, al, bl, m[2], 0x8f1bbcdc, 12);el = rotl(el, 10);\n\t\n\t // Mj = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n\t // K = 0xa953fd4e\n\t // Sj = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n\t bl = fn5(bl, cl, dl, el, al, m[4], 0xa953fd4e, 9);dl = rotl(dl, 10);\n\t al = fn5(al, bl, cl, dl, el, m[0], 0xa953fd4e, 15);cl = rotl(cl, 10);\n\t el = fn5(el, al, bl, cl, dl, m[5], 0xa953fd4e, 5);bl = rotl(bl, 10);\n\t dl = fn5(dl, el, al, bl, cl, m[9], 0xa953fd4e, 11);al = rotl(al, 10);\n\t cl = fn5(cl, dl, el, al, bl, m[7], 0xa953fd4e, 6);el = rotl(el, 10);\n\t bl = fn5(bl, cl, dl, el, al, m[12], 0xa953fd4e, 8);dl = rotl(dl, 10);\n\t al = fn5(al, bl, cl, dl, el, m[2], 0xa953fd4e, 13);cl = rotl(cl, 10);\n\t el = fn5(el, al, bl, cl, dl, m[10], 0xa953fd4e, 12);bl = rotl(bl, 10);\n\t dl = fn5(dl, el, al, bl, cl, m[14], 0xa953fd4e, 5);al = rotl(al, 10);\n\t cl = fn5(cl, dl, el, al, bl, m[1], 0xa953fd4e, 12);el = rotl(el, 10);\n\t bl = fn5(bl, cl, dl, el, al, m[3], 0xa953fd4e, 13);dl = rotl(dl, 10);\n\t al = fn5(al, bl, cl, dl, el, m[8], 0xa953fd4e, 14);cl = rotl(cl, 10);\n\t el = fn5(el, al, bl, cl, dl, m[11], 0xa953fd4e, 11);bl = rotl(bl, 10);\n\t dl = fn5(dl, el, al, bl, cl, m[6], 0xa953fd4e, 8);al = rotl(al, 10);\n\t cl = fn5(cl, dl, el, al, bl, m[15], 0xa953fd4e, 5);el = rotl(el, 10);\n\t bl = fn5(bl, cl, dl, el, al, m[13], 0xa953fd4e, 6);dl = rotl(dl, 10);\n\t\n\t var ar = this._a;\n\t var br = this._b;\n\t var cr = this._c;\n\t var dr = this._d;\n\t var er = this._e;\n\t\n\t // M'j = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12\n\t // K' = 0x50a28be6\n\t // S'j = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6\n\t ar = fn5(ar, br, cr, dr, er, m[5], 0x50a28be6, 8);cr = rotl(cr, 10);\n\t er = fn5(er, ar, br, cr, dr, m[14], 0x50a28be6, 9);br = rotl(br, 10);\n\t dr = fn5(dr, er, ar, br, cr, m[7], 0x50a28be6, 9);ar = rotl(ar, 10);\n\t cr = fn5(cr, dr, er, ar, br, m[0], 0x50a28be6, 11);er = rotl(er, 10);\n\t br = fn5(br, cr, dr, er, ar, m[9], 0x50a28be6, 13);dr = rotl(dr, 10);\n\t ar = fn5(ar, br, cr, dr, er, m[2], 0x50a28be6, 15);cr = rotl(cr, 10);\n\t er = fn5(er, ar, br, cr, dr, m[11], 0x50a28be6, 15);br = rotl(br, 10);\n\t dr = fn5(dr, er, ar, br, cr, m[4], 0x50a28be6, 5);ar = rotl(ar, 10);\n\t cr = fn5(cr, dr, er, ar, br, m[13], 0x50a28be6, 7);er = rotl(er, 10);\n\t br = fn5(br, cr, dr, er, ar, m[6], 0x50a28be6, 7);dr = rotl(dr, 10);\n\t ar = fn5(ar, br, cr, dr, er, m[15], 0x50a28be6, 8);cr = rotl(cr, 10);\n\t er = fn5(er, ar, br, cr, dr, m[8], 0x50a28be6, 11);br = rotl(br, 10);\n\t dr = fn5(dr, er, ar, br, cr, m[1], 0x50a28be6, 14);ar = rotl(ar, 10);\n\t cr = fn5(cr, dr, er, ar, br, m[10], 0x50a28be6, 14);er = rotl(er, 10);\n\t br = fn5(br, cr, dr, er, ar, m[3], 0x50a28be6, 12);dr = rotl(dr, 10);\n\t ar = fn5(ar, br, cr, dr, er, m[12], 0x50a28be6, 6);cr = rotl(cr, 10);\n\t\n\t // M'j = 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2\n\t // K' = 0x5c4dd124\n\t // S'j = 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11\n\t er = fn4(er, ar, br, cr, dr, m[6], 0x5c4dd124, 9);br = rotl(br, 10);\n\t dr = fn4(dr, er, ar, br, cr, m[11], 0x5c4dd124, 13);ar = rotl(ar, 10);\n\t cr = fn4(cr, dr, er, ar, br, m[3], 0x5c4dd124, 15);er = rotl(er, 10);\n\t br = fn4(br, cr, dr, er, ar, m[7], 0x5c4dd124, 7);dr = rotl(dr, 10);\n\t ar = fn4(ar, br, cr, dr, er, m[0], 0x5c4dd124, 12);cr = rotl(cr, 10);\n\t er = fn4(er, ar, br, cr, dr, m[13], 0x5c4dd124, 8);br = rotl(br, 10);\n\t dr = fn4(dr, er, ar, br, cr, m[5], 0x5c4dd124, 9);ar = rotl(ar, 10);\n\t cr = fn4(cr, dr, er, ar, br, m[10], 0x5c4dd124, 11);er = rotl(er, 10);\n\t br = fn4(br, cr, dr, er, ar, m[14], 0x5c4dd124, 7);dr = rotl(dr, 10);\n\t ar = fn4(ar, br, cr, dr, er, m[15], 0x5c4dd124, 7);cr = rotl(cr, 10);\n\t er = fn4(er, ar, br, cr, dr, m[8], 0x5c4dd124, 12);br = rotl(br, 10);\n\t dr = fn4(dr, er, ar, br, cr, m[12], 0x5c4dd124, 7);ar = rotl(ar, 10);\n\t cr = fn4(cr, dr, er, ar, br, m[4], 0x5c4dd124, 6);er = rotl(er, 10);\n\t br = fn4(br, cr, dr, er, ar, m[9], 0x5c4dd124, 15);dr = rotl(dr, 10);\n\t ar = fn4(ar, br, cr, dr, er, m[1], 0x5c4dd124, 13);cr = rotl(cr, 10);\n\t er = fn4(er, ar, br, cr, dr, m[2], 0x5c4dd124, 11);br = rotl(br, 10);\n\t\n\t // M'j = 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13\n\t // K' = 0x6d703ef3\n\t // S'j = 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5\n\t dr = fn3(dr, er, ar, br, cr, m[15], 0x6d703ef3, 9);ar = rotl(ar, 10);\n\t cr = fn3(cr, dr, er, ar, br, m[5], 0x6d703ef3, 7);er = rotl(er, 10);\n\t br = fn3(br, cr, dr, er, ar, m[1], 0x6d703ef3, 15);dr = rotl(dr, 10);\n\t ar = fn3(ar, br, cr, dr, er, m[3], 0x6d703ef3, 11);cr = rotl(cr, 10);\n\t er = fn3(er, ar, br, cr, dr, m[7], 0x6d703ef3, 8);br = rotl(br, 10);\n\t dr = fn3(dr, er, ar, br, cr, m[14], 0x6d703ef3, 6);ar = rotl(ar, 10);\n\t cr = fn3(cr, dr, er, ar, br, m[6], 0x6d703ef3, 6);er = rotl(er, 10);\n\t br = fn3(br, cr, dr, er, ar, m[9], 0x6d703ef3, 14);dr = rotl(dr, 10);\n\t ar = fn3(ar, br, cr, dr, er, m[11], 0x6d703ef3, 12);cr = rotl(cr, 10);\n\t er = fn3(er, ar, br, cr, dr, m[8], 0x6d703ef3, 13);br = rotl(br, 10);\n\t dr = fn3(dr, er, ar, br, cr, m[12], 0x6d703ef3, 5);ar = rotl(ar, 10);\n\t cr = fn3(cr, dr, er, ar, br, m[2], 0x6d703ef3, 14);er = rotl(er, 10);\n\t br = fn3(br, cr, dr, er, ar, m[10], 0x6d703ef3, 13);dr = rotl(dr, 10);\n\t ar = fn3(ar, br, cr, dr, er, m[0], 0x6d703ef3, 13);cr = rotl(cr, 10);\n\t er = fn3(er, ar, br, cr, dr, m[4], 0x6d703ef3, 7);br = rotl(br, 10);\n\t dr = fn3(dr, er, ar, br, cr, m[13], 0x6d703ef3, 5);ar = rotl(ar, 10);\n\t\n\t // M'j = 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14\n\t // K' = 0x7a6d76e9\n\t // S'j = 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8\n\t cr = fn2(cr, dr, er, ar, br, m[8], 0x7a6d76e9, 15);er = rotl(er, 10);\n\t br = fn2(br, cr, dr, er, ar, m[6], 0x7a6d76e9, 5);dr = rotl(dr, 10);\n\t ar = fn2(ar, br, cr, dr, er, m[4], 0x7a6d76e9, 8);cr = rotl(cr, 10);\n\t er = fn2(er, ar, br, cr, dr, m[1], 0x7a6d76e9, 11);br = rotl(br, 10);\n\t dr = fn2(dr, er, ar, br, cr, m[3], 0x7a6d76e9, 14);ar = rotl(ar, 10);\n\t cr = fn2(cr, dr, er, ar, br, m[11], 0x7a6d76e9, 14);er = rotl(er, 10);\n\t br = fn2(br, cr, dr, er, ar, m[15], 0x7a6d76e9, 6);dr = rotl(dr, 10);\n\t ar = fn2(ar, br, cr, dr, er, m[0], 0x7a6d76e9, 14);cr = rotl(cr, 10);\n\t er = fn2(er, ar, br, cr, dr, m[5], 0x7a6d76e9, 6);br = rotl(br, 10);\n\t dr = fn2(dr, er, ar, br, cr, m[12], 0x7a6d76e9, 9);ar = rotl(ar, 10);\n\t cr = fn2(cr, dr, er, ar, br, m[2], 0x7a6d76e9, 12);er = rotl(er, 10);\n\t br = fn2(br, cr, dr, er, ar, m[13], 0x7a6d76e9, 9);dr = rotl(dr, 10);\n\t ar = fn2(ar, br, cr, dr, er, m[9], 0x7a6d76e9, 12);cr = rotl(cr, 10);\n\t er = fn2(er, ar, br, cr, dr, m[7], 0x7a6d76e9, 5);br = rotl(br, 10);\n\t dr = fn2(dr, er, ar, br, cr, m[10], 0x7a6d76e9, 15);ar = rotl(ar, 10);\n\t cr = fn2(cr, dr, er, ar, br, m[14], 0x7a6d76e9, 8);er = rotl(er, 10);\n\t\n\t // M'j = 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n\t // K' = 0x00000000\n\t // S'j = 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n\t br = fn1(br, cr, dr, er, ar, m[12], 0x00000000, 8);dr = rotl(dr, 10);\n\t ar = fn1(ar, br, cr, dr, er, m[15], 0x00000000, 5);cr = rotl(cr, 10);\n\t er = fn1(er, ar, br, cr, dr, m[10], 0x00000000, 12);br = rotl(br, 10);\n\t dr = fn1(dr, er, ar, br, cr, m[4], 0x00000000, 9);ar = rotl(ar, 10);\n\t cr = fn1(cr, dr, er, ar, br, m[1], 0x00000000, 12);er = rotl(er, 10);\n\t br = fn1(br, cr, dr, er, ar, m[5], 0x00000000, 5);dr = rotl(dr, 10);\n\t ar = fn1(ar, br, cr, dr, er, m[8], 0x00000000, 14);cr = rotl(cr, 10);\n\t er = fn1(er, ar, br, cr, dr, m[7], 0x00000000, 6);br = rotl(br, 10);\n\t dr = fn1(dr, er, ar, br, cr, m[6], 0x00000000, 8);ar = rotl(ar, 10);\n\t cr = fn1(cr, dr, er, ar, br, m[2], 0x00000000, 13);er = rotl(er, 10);\n\t br = fn1(br, cr, dr, er, ar, m[13], 0x00000000, 6);dr = rotl(dr, 10);\n\t ar = fn1(ar, br, cr, dr, er, m[14], 0x00000000, 5);cr = rotl(cr, 10);\n\t er = fn1(er, ar, br, cr, dr, m[0], 0x00000000, 15);br = rotl(br, 10);\n\t dr = fn1(dr, er, ar, br, cr, m[3], 0x00000000, 13);ar = rotl(ar, 10);\n\t cr = fn1(cr, dr, er, ar, br, m[9], 0x00000000, 11);er = rotl(er, 10);\n\t br = fn1(br, cr, dr, er, ar, m[11], 0x00000000, 11);dr = rotl(dr, 10);\n\t\n\t // change state\n\t var t = this._b + cl + dr | 0;\n\t this._b = this._c + dl + er | 0;\n\t this._c = this._d + el + ar | 0;\n\t this._d = this._e + al + br | 0;\n\t this._e = this._a + bl + cr | 0;\n\t this._a = t;\n\t};\n\t\n\tRIPEMD160.prototype._digest = function () {\n\t // create padding and handle blocks\n\t this._block[this._blockOffset++] = 0x80;\n\t if (this._blockOffset > 56) {\n\t this._block.fill(0, this._blockOffset, 64);\n\t this._update();\n\t this._blockOffset = 0;\n\t }\n\t\n\t this._block.fill(0, this._blockOffset, 56);\n\t this._block.writeUInt32LE(this._length[0], 56);\n\t this._block.writeUInt32LE(this._length[1], 60);\n\t this._update();\n\t\n\t // produce result\n\t var buffer = new Buffer(20);\n\t buffer.writeInt32LE(this._a, 0);\n\t buffer.writeInt32LE(this._b, 4);\n\t buffer.writeInt32LE(this._c, 8);\n\t buffer.writeInt32LE(this._d, 12);\n\t buffer.writeInt32LE(this._e, 16);\n\t return buffer;\n\t};\n\t\n\tfunction rotl(x, n) {\n\t return x << n | x >>> 32 - n;\n\t}\n\t\n\tfunction fn1(a, b, c, d, e, m, k, s) {\n\t return rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n\t}\n\t\n\tfunction fn2(a, b, c, d, e, m, k, s) {\n\t return rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n\t}\n\t\n\tfunction fn3(a, b, c, d, e, m, k, s) {\n\t return rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n\t}\n\t\n\tfunction fn4(a, b, c, d, e, m, k, s) {\n\t return rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n\t}\n\t\n\tfunction fn5(a, b, c, d, e, m, k, s) {\n\t return rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n\t}\n\t\n\tmodule.exports = RIPEMD160;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar Transform = __webpack_require__(116).Transform;\n\tvar inherits = __webpack_require__(111);\n\t\n\tfunction HashBase(blockSize) {\n\t Transform.call(this);\n\t\n\t this._block = new Buffer(blockSize);\n\t this._blockSize = blockSize;\n\t this._blockOffset = 0;\n\t this._length = [0, 0, 0, 0];\n\t\n\t this._finalized = false;\n\t}\n\t\n\tinherits(HashBase, Transform);\n\t\n\tHashBase.prototype._transform = function (chunk, encoding, callback) {\n\t var error = null;\n\t try {\n\t if (encoding !== 'buffer') chunk = new Buffer(chunk, encoding);\n\t this.update(chunk);\n\t } catch (err) {\n\t error = err;\n\t }\n\t\n\t callback(error);\n\t};\n\t\n\tHashBase.prototype._flush = function (callback) {\n\t var error = null;\n\t try {\n\t this.push(this._digest());\n\t } catch (err) {\n\t error = err;\n\t }\n\t\n\t callback(error);\n\t};\n\t\n\tHashBase.prototype.update = function (data, encoding) {\n\t if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer');\n\t if (this._finalized) throw new Error('Digest already called');\n\t if (!Buffer.isBuffer(data)) data = new Buffer(data, encoding || 'binary');\n\t\n\t // consume data\n\t var block = this._block;\n\t var offset = 0;\n\t while (this._blockOffset + data.length - offset >= this._blockSize) {\n\t for (var i = this._blockOffset; i < this._blockSize;) {\n\t block[i++] = data[offset++];\n\t }this._update();\n\t this._blockOffset = 0;\n\t }\n\t while (offset < data.length) {\n\t block[this._blockOffset++] = data[offset++];\n\t } // update length\n\t for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n\t this._length[j] += carry;\n\t carry = this._length[j] / 0x0100000000 | 0;\n\t if (carry > 0) this._length[j] -= 0x0100000000 * carry;\n\t }\n\t\n\t return this;\n\t};\n\t\n\tHashBase.prototype._update = function (data) {\n\t throw new Error('_update is not implemented');\n\t};\n\t\n\tHashBase.prototype.digest = function (encoding) {\n\t if (this._finalized) throw new Error('Digest already called');\n\t this._finalized = true;\n\t\n\t var digest = this._digest();\n\t if (encoding !== undefined) digest = digest.toString(encoding);\n\t return digest;\n\t};\n\t\n\tHashBase.prototype._digest = function () {\n\t throw new Error('_digest is not implemented');\n\t};\n\t\n\tmodule.exports = HashBase;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\tmodule.exports = Stream;\n\t\n\tvar EE = __webpack_require__(2).EventEmitter;\n\tvar inherits = __webpack_require__(111);\n\t\n\tinherits(Stream, EE);\n\tStream.Readable = __webpack_require__(117);\n\tStream.Writable = __webpack_require__(133);\n\tStream.Duplex = __webpack_require__(134);\n\tStream.Transform = __webpack_require__(135);\n\tStream.PassThrough = __webpack_require__(136);\n\t\n\t// Backwards-compat with node 0.4.x\n\tStream.Stream = Stream;\n\t\n\t// old-style streams. Note that the pipe method (the only relevant\n\t// part of this class) is overridden in the Readable class.\n\t\n\tfunction Stream() {\n\t EE.call(this);\n\t}\n\t\n\tStream.prototype.pipe = function (dest, options) {\n\t var source = this;\n\t\n\t function ondata(chunk) {\n\t if (dest.writable) {\n\t if (false === dest.write(chunk) && source.pause) {\n\t source.pause();\n\t }\n\t }\n\t }\n\t\n\t source.on('data', ondata);\n\t\n\t function ondrain() {\n\t if (source.readable && source.resume) {\n\t source.resume();\n\t }\n\t }\n\t\n\t dest.on('drain', ondrain);\n\t\n\t // If the 'end' option is not supplied, dest.end() will be called when\n\t // source gets the 'end' or 'close' events. Only dest.end() once.\n\t if (!dest._isStdio && (!options || options.end !== false)) {\n\t source.on('end', onend);\n\t source.on('close', onclose);\n\t }\n\t\n\t var didOnEnd = false;\n\t function onend() {\n\t if (didOnEnd) return;\n\t didOnEnd = true;\n\t\n\t dest.end();\n\t }\n\t\n\t function onclose() {\n\t if (didOnEnd) return;\n\t didOnEnd = true;\n\t\n\t if (typeof dest.destroy === 'function') dest.destroy();\n\t }\n\t\n\t // don't leave dangling pipes when there are errors.\n\t function onerror(er) {\n\t cleanup();\n\t if (EE.listenerCount(this, 'error') === 0) {\n\t throw er; // Unhandled stream error in pipe.\n\t }\n\t }\n\t\n\t source.on('error', onerror);\n\t dest.on('error', onerror);\n\t\n\t // remove all the event listeners that were added.\n\t function cleanup() {\n\t source.removeListener('data', ondata);\n\t dest.removeListener('drain', ondrain);\n\t\n\t source.removeListener('end', onend);\n\t source.removeListener('close', onclose);\n\t\n\t source.removeListener('error', onerror);\n\t dest.removeListener('error', onerror);\n\t\n\t source.removeListener('end', cleanup);\n\t source.removeListener('close', cleanup);\n\t\n\t dest.removeListener('close', cleanup);\n\t }\n\t\n\t source.on('end', cleanup);\n\t source.on('close', cleanup);\n\t\n\t dest.on('close', cleanup);\n\t\n\t dest.emit('pipe', source);\n\t\n\t // Allow for unix-like usage: A.pipe(B).pipe(C)\n\t return dest;\n\t};\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\texports = module.exports = __webpack_require__(118);\n\texports.Stream = exports;\n\texports.Readable = exports;\n\texports.Writable = __webpack_require__(128);\n\texports.Duplex = __webpack_require__(127);\n\texports.Transform = __webpack_require__(131);\n\texports.PassThrough = __webpack_require__(132);\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\t'use strict';\n\t\n\t/*<replacement>*/\n\t\n\tvar processNextTick = __webpack_require__(119);\n\t/*</replacement>*/\n\t\n\tmodule.exports = Readable;\n\t\n\t/*<replacement>*/\n\tvar isArray = __webpack_require__(102);\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar Duplex;\n\t/*</replacement>*/\n\t\n\tReadable.ReadableState = ReadableState;\n\t\n\t/*<replacement>*/\n\tvar EE = __webpack_require__(2).EventEmitter;\n\t\n\tvar EElistenerCount = function EElistenerCount(emitter, type) {\n\t return emitter.listeners(type).length;\n\t};\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar Stream = __webpack_require__(120);\n\t/*</replacement>*/\n\t\n\t// TODO(bmeurer): Change this back to const once hole checks are\n\t// properly optimized away early in Ignition+TurboFan.\n\t/*<replacement>*/\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar OurUint8Array = global.Uint8Array || function () {};\n\tfunction _uint8ArrayToBuffer(chunk) {\n\t return Buffer.from(chunk);\n\t}\n\tfunction _isUint8Array(obj) {\n\t return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n\t}\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar util = __webpack_require__(123);\n\tutil.inherits = __webpack_require__(111);\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar debugUtil = __webpack_require__(124);\n\tvar debug = void 0;\n\tif (debugUtil && debugUtil.debuglog) {\n\t debug = debugUtil.debuglog('stream');\n\t} else {\n\t debug = function debug() {};\n\t}\n\t/*</replacement>*/\n\t\n\tvar BufferList = __webpack_require__(125);\n\tvar destroyImpl = __webpack_require__(126);\n\tvar StringDecoder;\n\t\n\tutil.inherits(Readable, Stream);\n\t\n\tvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\t\n\tfunction prependListener(emitter, event, fn) {\n\t // Sadly this is not cacheable as some libraries bundle their own\n\t // event emitter implementation with them.\n\t if (typeof emitter.prependListener === 'function') {\n\t return emitter.prependListener(event, fn);\n\t } else {\n\t // This is a hack to make sure that our error handler is attached before any\n\t // userland ones. NEVER DO THIS. This is here only because this code needs\n\t // to continue to work with older versions of Node.js that do not include\n\t // the prependListener() method. The goal is to eventually remove this hack.\n\t if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n\t }\n\t}\n\t\n\tfunction ReadableState(options, stream) {\n\t Duplex = Duplex || __webpack_require__(127);\n\t\n\t options = options || {};\n\t\n\t // object stream flag. Used to make read(n) ignore n and to\n\t // make all the buffer merging and length checks go away\n\t this.objectMode = !!options.objectMode;\n\t\n\t if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\t\n\t // the point at which it stops calling _read() to fill the buffer\n\t // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\t var hwm = options.highWaterMark;\n\t var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\t this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\t\n\t // cast to ints.\n\t this.highWaterMark = Math.floor(this.highWaterMark);\n\t\n\t // A linked list is used to store data chunks instead of an array because the\n\t // linked list can remove elements from the beginning faster than\n\t // array.shift()\n\t this.buffer = new BufferList();\n\t this.length = 0;\n\t this.pipes = null;\n\t this.pipesCount = 0;\n\t this.flowing = null;\n\t this.ended = false;\n\t this.endEmitted = false;\n\t this.reading = false;\n\t\n\t // a flag to be able to tell if the event 'readable'/'data' is emitted\n\t // immediately, or on a later tick. We set this to true at first, because\n\t // any actions that shouldn't happen until \"later\" should generally also\n\t // not happen before the first read call.\n\t this.sync = true;\n\t\n\t // whenever we return null, then we set a flag to say\n\t // that we're awaiting a 'readable' event emission.\n\t this.needReadable = false;\n\t this.emittedReadable = false;\n\t this.readableListening = false;\n\t this.resumeScheduled = false;\n\t\n\t // has it been destroyed\n\t this.destroyed = false;\n\t\n\t // Crypto is kind of old and crusty. Historically, its default string\n\t // encoding is 'binary' so we have to make this configurable.\n\t // Everything else in the universe uses 'utf8', though.\n\t this.defaultEncoding = options.defaultEncoding || 'utf8';\n\t\n\t // the number of writers that are awaiting a drain event in .pipe()s\n\t this.awaitDrain = 0;\n\t\n\t // if true, a maybeReadMore has been scheduled\n\t this.readingMore = false;\n\t\n\t this.decoder = null;\n\t this.encoding = null;\n\t if (options.encoding) {\n\t if (!StringDecoder) StringDecoder = __webpack_require__(130).StringDecoder;\n\t this.decoder = new StringDecoder(options.encoding);\n\t this.encoding = options.encoding;\n\t }\n\t}\n\t\n\tfunction Readable(options) {\n\t Duplex = Duplex || __webpack_require__(127);\n\t\n\t if (!(this instanceof Readable)) return new Readable(options);\n\t\n\t this._readableState = new ReadableState(options, this);\n\t\n\t // legacy\n\t this.readable = true;\n\t\n\t if (options) {\n\t if (typeof options.read === 'function') this._read = options.read;\n\t\n\t if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\t }\n\t\n\t Stream.call(this);\n\t}\n\t\n\tObject.defineProperty(Readable.prototype, 'destroyed', {\n\t get: function get() {\n\t if (this._readableState === undefined) {\n\t return false;\n\t }\n\t return this._readableState.destroyed;\n\t },\n\t set: function set(value) {\n\t // we ignore the value if the stream\n\t // has not been initialized yet\n\t if (!this._readableState) {\n\t return;\n\t }\n\t\n\t // backward compatibility, the user is explicitly\n\t // managing destroyed\n\t this._readableState.destroyed = value;\n\t }\n\t});\n\t\n\tReadable.prototype.destroy = destroyImpl.destroy;\n\tReadable.prototype._undestroy = destroyImpl.undestroy;\n\tReadable.prototype._destroy = function (err, cb) {\n\t this.push(null);\n\t cb(err);\n\t};\n\t\n\t// Manually shove something into the read() buffer.\n\t// This returns true if the highWaterMark has not been hit yet,\n\t// similar to how Writable.write() returns true if you should\n\t// write() some more.\n\tReadable.prototype.push = function (chunk, encoding) {\n\t var state = this._readableState;\n\t var skipChunkCheck;\n\t\n\t if (!state.objectMode) {\n\t if (typeof chunk === 'string') {\n\t encoding = encoding || state.defaultEncoding;\n\t if (encoding !== state.encoding) {\n\t chunk = Buffer.from(chunk, encoding);\n\t encoding = '';\n\t }\n\t skipChunkCheck = true;\n\t }\n\t } else {\n\t skipChunkCheck = true;\n\t }\n\t\n\t return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n\t};\n\t\n\t// Unshift should *always* be something directly out of read()\n\tReadable.prototype.unshift = function (chunk) {\n\t return readableAddChunk(this, chunk, null, true, false);\n\t};\n\t\n\tfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n\t var state = stream._readableState;\n\t if (chunk === null) {\n\t state.reading = false;\n\t onEofChunk(stream, state);\n\t } else {\n\t var er;\n\t if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\t if (er) {\n\t stream.emit('error', er);\n\t } else if (state.objectMode || chunk && chunk.length > 0) {\n\t if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n\t chunk = _uint8ArrayToBuffer(chunk);\n\t }\n\t\n\t if (addToFront) {\n\t if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n\t } else if (state.ended) {\n\t stream.emit('error', new Error('stream.push() after EOF'));\n\t } else {\n\t state.reading = false;\n\t if (state.decoder && !encoding) {\n\t chunk = state.decoder.write(chunk);\n\t if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n\t } else {\n\t addChunk(stream, state, chunk, false);\n\t }\n\t }\n\t } else if (!addToFront) {\n\t state.reading = false;\n\t }\n\t }\n\t\n\t return needMoreData(state);\n\t}\n\t\n\tfunction addChunk(stream, state, chunk, addToFront) {\n\t if (state.flowing && state.length === 0 && !state.sync) {\n\t stream.emit('data', chunk);\n\t stream.read(0);\n\t } else {\n\t // update the buffer info.\n\t state.length += state.objectMode ? 1 : chunk.length;\n\t if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\t\n\t if (state.needReadable) emitReadable(stream);\n\t }\n\t maybeReadMore(stream, state);\n\t}\n\t\n\tfunction chunkInvalid(state, chunk) {\n\t var er;\n\t if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n\t er = new TypeError('Invalid non-string/buffer chunk');\n\t }\n\t return er;\n\t}\n\t\n\t// if it's past the high water mark, we can push in some more.\n\t// Also, if we have no data yet, we can stand some\n\t// more bytes. This is to work around cases where hwm=0,\n\t// such as the repl. Also, if the push() triggered a\n\t// readable event, and the user called read(largeNumber) such that\n\t// needReadable was set, then we ought to push more, so that another\n\t// 'readable' event will be triggered.\n\tfunction needMoreData(state) {\n\t return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n\t}\n\t\n\tReadable.prototype.isPaused = function () {\n\t return this._readableState.flowing === false;\n\t};\n\t\n\t// backwards compatibility.\n\tReadable.prototype.setEncoding = function (enc) {\n\t if (!StringDecoder) StringDecoder = __webpack_require__(130).StringDecoder;\n\t this._readableState.decoder = new StringDecoder(enc);\n\t this._readableState.encoding = enc;\n\t return this;\n\t};\n\t\n\t// Don't raise the hwm > 8MB\n\tvar MAX_HWM = 0x800000;\n\tfunction computeNewHighWaterMark(n) {\n\t if (n >= MAX_HWM) {\n\t n = MAX_HWM;\n\t } else {\n\t // Get the next highest power of 2 to prevent increasing hwm excessively in\n\t // tiny amounts\n\t n--;\n\t n |= n >>> 1;\n\t n |= n >>> 2;\n\t n |= n >>> 4;\n\t n |= n >>> 8;\n\t n |= n >>> 16;\n\t n++;\n\t }\n\t return n;\n\t}\n\t\n\t// This function is designed to be inlinable, so please take care when making\n\t// changes to the function body.\n\tfunction howMuchToRead(n, state) {\n\t if (n <= 0 || state.length === 0 && state.ended) return 0;\n\t if (state.objectMode) return 1;\n\t if (n !== n) {\n\t // Only flow one buffer at a time\n\t if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n\t }\n\t // If we're asking for more than the current hwm, then raise the hwm.\n\t if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n\t if (n <= state.length) return n;\n\t // Don't have enough\n\t if (!state.ended) {\n\t state.needReadable = true;\n\t return 0;\n\t }\n\t return state.length;\n\t}\n\t\n\t// you can override either this method, or the async _read(n) below.\n\tReadable.prototype.read = function (n) {\n\t debug('read', n);\n\t n = parseInt(n, 10);\n\t var state = this._readableState;\n\t var nOrig = n;\n\t\n\t if (n !== 0) state.emittedReadable = false;\n\t\n\t // if we're doing read(0) to trigger a readable event, but we\n\t // already have a bunch of data in the buffer, then just trigger\n\t // the 'readable' event and move on.\n\t if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n\t debug('read: emitReadable', state.length, state.ended);\n\t if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n\t return null;\n\t }\n\t\n\t n = howMuchToRead(n, state);\n\t\n\t // if we've ended, and we're now clear, then finish it up.\n\t if (n === 0 && state.ended) {\n\t if (state.length === 0) endReadable(this);\n\t return null;\n\t }\n\t\n\t // All the actual chunk generation logic needs to be\n\t // *below* the call to _read. The reason is that in certain\n\t // synthetic stream cases, such as passthrough streams, _read\n\t // may be a completely synchronous operation which may change\n\t // the state of the read buffer, providing enough data when\n\t // before there was *not* enough.\n\t //\n\t // So, the steps are:\n\t // 1. Figure out what the state of things will be after we do\n\t // a read from the buffer.\n\t //\n\t // 2. If that resulting state will trigger a _read, then call _read.\n\t // Note that this may be asynchronous, or synchronous. Yes, it is\n\t // deeply ugly to write APIs this way, but that still doesn't mean\n\t // that the Readable class should behave improperly, as streams are\n\t // designed to be sync/async agnostic.\n\t // Take note if the _read call is sync or async (ie, if the read call\n\t // has returned yet), so that we know whether or not it's safe to emit\n\t // 'readable' etc.\n\t //\n\t // 3. Actually pull the requested chunks out of the buffer and return.\n\t\n\t // if we need a readable event, then we need to do some reading.\n\t var doRead = state.needReadable;\n\t debug('need readable', doRead);\n\t\n\t // if we currently have less than the highWaterMark, then also read some\n\t if (state.length === 0 || state.length - n < state.highWaterMark) {\n\t doRead = true;\n\t debug('length less than watermark', doRead);\n\t }\n\t\n\t // however, if we've ended, then there's no point, and if we're already\n\t // reading, then it's unnecessary.\n\t if (state.ended || state.reading) {\n\t doRead = false;\n\t debug('reading or ended', doRead);\n\t } else if (doRead) {\n\t debug('do read');\n\t state.reading = true;\n\t state.sync = true;\n\t // if the length is currently zero, then we *need* a readable event.\n\t if (state.length === 0) state.needReadable = true;\n\t // call internal read method\n\t this._read(state.highWaterMark);\n\t state.sync = false;\n\t // If _read pushed data synchronously, then `reading` will be false,\n\t // and we need to re-evaluate how much data we can return to the user.\n\t if (!state.reading) n = howMuchToRead(nOrig, state);\n\t }\n\t\n\t var ret;\n\t if (n > 0) ret = fromList(n, state);else ret = null;\n\t\n\t if (ret === null) {\n\t state.needReadable = true;\n\t n = 0;\n\t } else {\n\t state.length -= n;\n\t }\n\t\n\t if (state.length === 0) {\n\t // If we have nothing in the buffer, then we want to know\n\t // as soon as we *do* get something into the buffer.\n\t if (!state.ended) state.needReadable = true;\n\t\n\t // If we tried to read() past the EOF, then emit end on the next tick.\n\t if (nOrig !== n && state.ended) endReadable(this);\n\t }\n\t\n\t if (ret !== null) this.emit('data', ret);\n\t\n\t return ret;\n\t};\n\t\n\tfunction onEofChunk(stream, state) {\n\t if (state.ended) return;\n\t if (state.decoder) {\n\t var chunk = state.decoder.end();\n\t if (chunk && chunk.length) {\n\t state.buffer.push(chunk);\n\t state.length += state.objectMode ? 1 : chunk.length;\n\t }\n\t }\n\t state.ended = true;\n\t\n\t // emit 'readable' now to make sure it gets picked up.\n\t emitReadable(stream);\n\t}\n\t\n\t// Don't emit readable right away in sync mode, because this can trigger\n\t// another read() call => stack overflow. This way, it might trigger\n\t// a nextTick recursion warning, but that's not so bad.\n\tfunction emitReadable(stream) {\n\t var state = stream._readableState;\n\t state.needReadable = false;\n\t if (!state.emittedReadable) {\n\t debug('emitReadable', state.flowing);\n\t state.emittedReadable = true;\n\t if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);\n\t }\n\t}\n\t\n\tfunction emitReadable_(stream) {\n\t debug('emit readable');\n\t stream.emit('readable');\n\t flow(stream);\n\t}\n\t\n\t// at this point, the user has presumably seen the 'readable' event,\n\t// and called read() to consume some data. that may have triggered\n\t// in turn another _read(n) call, in which case reading = true if\n\t// it's in progress.\n\t// However, if we're not ended, or reading, and the length < hwm,\n\t// then go ahead and try to read some more preemptively.\n\tfunction maybeReadMore(stream, state) {\n\t if (!state.readingMore) {\n\t state.readingMore = true;\n\t processNextTick(maybeReadMore_, stream, state);\n\t }\n\t}\n\t\n\tfunction maybeReadMore_(stream, state) {\n\t var len = state.length;\n\t while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n\t debug('maybeReadMore read 0');\n\t stream.read(0);\n\t if (len === state.length)\n\t // didn't get any data, stop spinning.\n\t break;else len = state.length;\n\t }\n\t state.readingMore = false;\n\t}\n\t\n\t// abstract method. to be overridden in specific implementation classes.\n\t// call cb(er, data) where data is <= n in length.\n\t// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n\t// arbitrary, and perhaps not very meaningful.\n\tReadable.prototype._read = function (n) {\n\t this.emit('error', new Error('_read() is not implemented'));\n\t};\n\t\n\tReadable.prototype.pipe = function (dest, pipeOpts) {\n\t var src = this;\n\t var state = this._readableState;\n\t\n\t switch (state.pipesCount) {\n\t case 0:\n\t state.pipes = dest;\n\t break;\n\t case 1:\n\t state.pipes = [state.pipes, dest];\n\t break;\n\t default:\n\t state.pipes.push(dest);\n\t break;\n\t }\n\t state.pipesCount += 1;\n\t debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\t\n\t var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\t\n\t var endFn = doEnd ? onend : unpipe;\n\t if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);\n\t\n\t dest.on('unpipe', onunpipe);\n\t function onunpipe(readable, unpipeInfo) {\n\t debug('onunpipe');\n\t if (readable === src) {\n\t if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n\t unpipeInfo.hasUnpiped = true;\n\t cleanup();\n\t }\n\t }\n\t }\n\t\n\t function onend() {\n\t debug('onend');\n\t dest.end();\n\t }\n\t\n\t // when the dest drains, it reduces the awaitDrain counter\n\t // on the source. This would be more elegant with a .once()\n\t // handler in flow(), but adding and removing repeatedly is\n\t // too slow.\n\t var ondrain = pipeOnDrain(src);\n\t dest.on('drain', ondrain);\n\t\n\t var cleanedUp = false;\n\t function cleanup() {\n\t debug('cleanup');\n\t // cleanup event handlers once the pipe is broken\n\t dest.removeListener('close', onclose);\n\t dest.removeListener('finish', onfinish);\n\t dest.removeListener('drain', ondrain);\n\t dest.removeListener('error', onerror);\n\t dest.removeListener('unpipe', onunpipe);\n\t src.removeListener('end', onend);\n\t src.removeListener('end', unpipe);\n\t src.removeListener('data', ondata);\n\t\n\t cleanedUp = true;\n\t\n\t // if the reader is waiting for a drain event from this\n\t // specific writer, then it would cause it to never start\n\t // flowing again.\n\t // So, if this is awaiting a drain, then we just call it now.\n\t // If we don't know, then assume that we are waiting for one.\n\t if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n\t }\n\t\n\t // If the user pushes more data while we're writing to dest then we'll end up\n\t // in ondata again. However, we only want to increase awaitDrain once because\n\t // dest will only emit one 'drain' event for the multiple writes.\n\t // => Introduce a guard on increasing awaitDrain.\n\t var increasedAwaitDrain = false;\n\t src.on('data', ondata);\n\t function ondata(chunk) {\n\t debug('ondata');\n\t increasedAwaitDrain = false;\n\t var ret = dest.write(chunk);\n\t if (false === ret && !increasedAwaitDrain) {\n\t // If the user unpiped during `dest.write()`, it is possible\n\t // to get stuck in a permanently paused state if that write\n\t // also returned false.\n\t // => Check whether `dest` is still a piping destination.\n\t if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n\t debug('false write response, pause', src._readableState.awaitDrain);\n\t src._readableState.awaitDrain++;\n\t increasedAwaitDrain = true;\n\t }\n\t src.pause();\n\t }\n\t }\n\t\n\t // if the dest has an error, then stop piping into it.\n\t // however, don't suppress the throwing behavior for this.\n\t function onerror(er) {\n\t debug('onerror', er);\n\t unpipe();\n\t dest.removeListener('error', onerror);\n\t if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n\t }\n\t\n\t // Make sure our error handler is attached before userland ones.\n\t prependListener(dest, 'error', onerror);\n\t\n\t // Both close and finish should trigger unpipe, but only once.\n\t function onclose() {\n\t dest.removeListener('finish', onfinish);\n\t unpipe();\n\t }\n\t dest.once('close', onclose);\n\t function onfinish() {\n\t debug('onfinish');\n\t dest.removeListener('close', onclose);\n\t unpipe();\n\t }\n\t dest.once('finish', onfinish);\n\t\n\t function unpipe() {\n\t debug('unpipe');\n\t src.unpipe(dest);\n\t }\n\t\n\t // tell the dest that it's being piped to\n\t dest.emit('pipe', src);\n\t\n\t // start the flow if it hasn't been started already.\n\t if (!state.flowing) {\n\t debug('pipe resume');\n\t src.resume();\n\t }\n\t\n\t return dest;\n\t};\n\t\n\tfunction pipeOnDrain(src) {\n\t return function () {\n\t var state = src._readableState;\n\t debug('pipeOnDrain', state.awaitDrain);\n\t if (state.awaitDrain) state.awaitDrain--;\n\t if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n\t state.flowing = true;\n\t flow(src);\n\t }\n\t };\n\t}\n\t\n\tReadable.prototype.unpipe = function (dest) {\n\t var state = this._readableState;\n\t var unpipeInfo = { hasUnpiped: false };\n\t\n\t // if we're not piping anywhere, then do nothing.\n\t if (state.pipesCount === 0) return this;\n\t\n\t // just one destination. most common case.\n\t if (state.pipesCount === 1) {\n\t // passed in one, but it's not the right one.\n\t if (dest && dest !== state.pipes) return this;\n\t\n\t if (!dest) dest = state.pipes;\n\t\n\t // got a match.\n\t state.pipes = null;\n\t state.pipesCount = 0;\n\t state.flowing = false;\n\t if (dest) dest.emit('unpipe', this, unpipeInfo);\n\t return this;\n\t }\n\t\n\t // slow case. multiple pipe destinations.\n\t\n\t if (!dest) {\n\t // remove all.\n\t var dests = state.pipes;\n\t var len = state.pipesCount;\n\t state.pipes = null;\n\t state.pipesCount = 0;\n\t state.flowing = false;\n\t\n\t for (var i = 0; i < len; i++) {\n\t dests[i].emit('unpipe', this, unpipeInfo);\n\t }return this;\n\t }\n\t\n\t // try to find the right one.\n\t var index = indexOf(state.pipes, dest);\n\t if (index === -1) return this;\n\t\n\t state.pipes.splice(index, 1);\n\t state.pipesCount -= 1;\n\t if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\t\n\t dest.emit('unpipe', this, unpipeInfo);\n\t\n\t return this;\n\t};\n\t\n\t// set up data events if they are asked for\n\t// Ensure readable listeners eventually get something\n\tReadable.prototype.on = function (ev, fn) {\n\t var res = Stream.prototype.on.call(this, ev, fn);\n\t\n\t if (ev === 'data') {\n\t // Start flowing on next tick if stream isn't explicitly paused\n\t if (this._readableState.flowing !== false) this.resume();\n\t } else if (ev === 'readable') {\n\t var state = this._readableState;\n\t if (!state.endEmitted && !state.readableListening) {\n\t state.readableListening = state.needReadable = true;\n\t state.emittedReadable = false;\n\t if (!state.reading) {\n\t processNextTick(nReadingNextTick, this);\n\t } else if (state.length) {\n\t emitReadable(this);\n\t }\n\t }\n\t }\n\t\n\t return res;\n\t};\n\tReadable.prototype.addListener = Readable.prototype.on;\n\t\n\tfunction nReadingNextTick(self) {\n\t debug('readable nexttick read 0');\n\t self.read(0);\n\t}\n\t\n\t// pause() and resume() are remnants of the legacy readable stream API\n\t// If the user uses them, then switch into old mode.\n\tReadable.prototype.resume = function () {\n\t var state = this._readableState;\n\t if (!state.flowing) {\n\t debug('resume');\n\t state.flowing = true;\n\t resume(this, state);\n\t }\n\t return this;\n\t};\n\t\n\tfunction resume(stream, state) {\n\t if (!state.resumeScheduled) {\n\t state.resumeScheduled = true;\n\t processNextTick(resume_, stream, state);\n\t }\n\t}\n\t\n\tfunction resume_(stream, state) {\n\t if (!state.reading) {\n\t debug('resume read 0');\n\t stream.read(0);\n\t }\n\t\n\t state.resumeScheduled = false;\n\t state.awaitDrain = 0;\n\t stream.emit('resume');\n\t flow(stream);\n\t if (state.flowing && !state.reading) stream.read(0);\n\t}\n\t\n\tReadable.prototype.pause = function () {\n\t debug('call pause flowing=%j', this._readableState.flowing);\n\t if (false !== this._readableState.flowing) {\n\t debug('pause');\n\t this._readableState.flowing = false;\n\t this.emit('pause');\n\t }\n\t return this;\n\t};\n\t\n\tfunction flow(stream) {\n\t var state = stream._readableState;\n\t debug('flow', state.flowing);\n\t while (state.flowing && stream.read() !== null) {}\n\t}\n\t\n\t// wrap an old-style stream as the async data source.\n\t// This is *not* part of the readable stream interface.\n\t// It is an ugly unfortunate mess of history.\n\tReadable.prototype.wrap = function (stream) {\n\t var state = this._readableState;\n\t var paused = false;\n\t\n\t var self = this;\n\t stream.on('end', function () {\n\t debug('wrapped end');\n\t if (state.decoder && !state.ended) {\n\t var chunk = state.decoder.end();\n\t if (chunk && chunk.length) self.push(chunk);\n\t }\n\t\n\t self.push(null);\n\t });\n\t\n\t stream.on('data', function (chunk) {\n\t debug('wrapped data');\n\t if (state.decoder) chunk = state.decoder.write(chunk);\n\t\n\t // don't skip over falsy values in objectMode\n\t if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\t\n\t var ret = self.push(chunk);\n\t if (!ret) {\n\t paused = true;\n\t stream.pause();\n\t }\n\t });\n\t\n\t // proxy all the other methods.\n\t // important when wrapping filters and duplexes.\n\t for (var i in stream) {\n\t if (this[i] === undefined && typeof stream[i] === 'function') {\n\t this[i] = function (method) {\n\t return function () {\n\t return stream[method].apply(stream, arguments);\n\t };\n\t }(i);\n\t }\n\t }\n\t\n\t // proxy certain important events.\n\t for (var n = 0; n < kProxyEvents.length; n++) {\n\t stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));\n\t }\n\t\n\t // when we try to consume some more bytes, simply unpause the\n\t // underlying stream.\n\t self._read = function (n) {\n\t debug('wrapped _read', n);\n\t if (paused) {\n\t paused = false;\n\t stream.resume();\n\t }\n\t };\n\t\n\t return self;\n\t};\n\t\n\t// exposed for testing purposes only.\n\tReadable._fromList = fromList;\n\t\n\t// Pluck off n bytes from an array of buffers.\n\t// Length is the combined lengths of all the buffers in the list.\n\t// This function is designed to be inlinable, so please take care when making\n\t// changes to the function body.\n\tfunction fromList(n, state) {\n\t // nothing buffered\n\t if (state.length === 0) return null;\n\t\n\t var ret;\n\t if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n\t // read it all, truncate the list\n\t if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n\t state.buffer.clear();\n\t } else {\n\t // read part of list\n\t ret = fromListPartial(n, state.buffer, state.decoder);\n\t }\n\t\n\t return ret;\n\t}\n\t\n\t// Extracts only enough buffered data to satisfy the amount requested.\n\t// This function is designed to be inlinable, so please take care when making\n\t// changes to the function body.\n\tfunction fromListPartial(n, list, hasStrings) {\n\t var ret;\n\t if (n < list.head.data.length) {\n\t // slice is the same for buffers and strings\n\t ret = list.head.data.slice(0, n);\n\t list.head.data = list.head.data.slice(n);\n\t } else if (n === list.head.data.length) {\n\t // first chunk is a perfect match\n\t ret = list.shift();\n\t } else {\n\t // result spans more than one buffer\n\t ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n\t }\n\t return ret;\n\t}\n\t\n\t// Copies a specified amount of characters from the list of buffered data\n\t// chunks.\n\t// This function is designed to be inlinable, so please take care when making\n\t// changes to the function body.\n\tfunction copyFromBufferString(n, list) {\n\t var p = list.head;\n\t var c = 1;\n\t var ret = p.data;\n\t n -= ret.length;\n\t while (p = p.next) {\n\t var str = p.data;\n\t var nb = n > str.length ? str.length : n;\n\t if (nb === str.length) ret += str;else ret += str.slice(0, n);\n\t n -= nb;\n\t if (n === 0) {\n\t if (nb === str.length) {\n\t ++c;\n\t if (p.next) list.head = p.next;else list.head = list.tail = null;\n\t } else {\n\t list.head = p;\n\t p.data = str.slice(nb);\n\t }\n\t break;\n\t }\n\t ++c;\n\t }\n\t list.length -= c;\n\t return ret;\n\t}\n\t\n\t// Copies a specified amount of bytes from the list of buffered data chunks.\n\t// This function is designed to be inlinable, so please take care when making\n\t// changes to the function body.\n\tfunction copyFromBuffer(n, list) {\n\t var ret = Buffer.allocUnsafe(n);\n\t var p = list.head;\n\t var c = 1;\n\t p.data.copy(ret);\n\t n -= p.data.length;\n\t while (p = p.next) {\n\t var buf = p.data;\n\t var nb = n > buf.length ? buf.length : n;\n\t buf.copy(ret, ret.length - n, 0, nb);\n\t n -= nb;\n\t if (n === 0) {\n\t if (nb === buf.length) {\n\t ++c;\n\t if (p.next) list.head = p.next;else list.head = list.tail = null;\n\t } else {\n\t list.head = p;\n\t p.data = buf.slice(nb);\n\t }\n\t break;\n\t }\n\t ++c;\n\t }\n\t list.length -= c;\n\t return ret;\n\t}\n\t\n\tfunction endReadable(stream) {\n\t var state = stream._readableState;\n\t\n\t // If we get here before consuming all the bytes, then that is a\n\t // bug in node. Should never happen.\n\t if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\t\n\t if (!state.endEmitted) {\n\t state.ended = true;\n\t processNextTick(endReadableNT, state, stream);\n\t }\n\t}\n\t\n\tfunction endReadableNT(state, stream) {\n\t // Check that we didn't get one last unshift.\n\t if (!state.endEmitted && state.length === 0) {\n\t state.endEmitted = true;\n\t stream.readable = false;\n\t stream.emit('end');\n\t }\n\t}\n\t\n\tfunction forEach(xs, f) {\n\t for (var i = 0, l = xs.length; i < l; i++) {\n\t f(xs[i], i);\n\t }\n\t}\n\t\n\tfunction indexOf(xs, x) {\n\t for (var i = 0, l = xs.length; i < l; i++) {\n\t if (xs[i] === x) return i;\n\t }\n\t return -1;\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(5)))\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process) {'use strict';\n\t\n\tif (!process.version || process.version.indexOf('v0.') === 0 || process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n\t module.exports = nextTick;\n\t} else {\n\t module.exports = process.nextTick;\n\t}\n\t\n\tfunction nextTick(fn, arg1, arg2, arg3) {\n\t if (typeof fn !== 'function') {\n\t throw new TypeError('\"callback\" argument must be a function');\n\t }\n\t var len = arguments.length;\n\t var args, i;\n\t switch (len) {\n\t case 0:\n\t case 1:\n\t return process.nextTick(fn);\n\t case 2:\n\t return process.nextTick(function afterTickOne() {\n\t fn.call(null, arg1);\n\t });\n\t case 3:\n\t return process.nextTick(function afterTickTwo() {\n\t fn.call(null, arg1, arg2);\n\t });\n\t case 4:\n\t return process.nextTick(function afterTickThree() {\n\t fn.call(null, arg1, arg2, arg3);\n\t });\n\t default:\n\t args = new Array(len - 1);\n\t i = 0;\n\t while (i < args.length) {\n\t args[i++] = arguments[i];\n\t }\n\t return process.nextTick(function afterTick() {\n\t fn.apply(null, args);\n\t });\n\t }\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5)))\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(2).EventEmitter;\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/* eslint-disable node/no-deprecated-api */\n\tvar buffer = __webpack_require__(122);\n\tvar Buffer = buffer.Buffer;\n\t\n\t// alternative to using Object.keys for old browsers\n\tfunction copyProps(src, dst) {\n\t for (var key in src) {\n\t dst[key] = src[key];\n\t }\n\t}\n\tif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n\t module.exports = buffer;\n\t} else {\n\t // Copy properties from require('buffer')\n\t copyProps(buffer, exports);\n\t exports.Buffer = SafeBuffer;\n\t}\n\t\n\tfunction SafeBuffer(arg, encodingOrOffset, length) {\n\t return Buffer(arg, encodingOrOffset, length);\n\t}\n\t\n\t// Copy static methods from Buffer\n\tcopyProps(Buffer, SafeBuffer);\n\t\n\tSafeBuffer.from = function (arg, encodingOrOffset, length) {\n\t if (typeof arg === 'number') {\n\t throw new TypeError('Argument must not be a number');\n\t }\n\t return Buffer(arg, encodingOrOffset, length);\n\t};\n\t\n\tSafeBuffer.alloc = function (size, fill, encoding) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('Argument must be a number');\n\t }\n\t var buf = Buffer(size);\n\t if (fill !== undefined) {\n\t if (typeof encoding === 'string') {\n\t buf.fill(fill, encoding);\n\t } else {\n\t buf.fill(fill);\n\t }\n\t } else {\n\t buf.fill(0);\n\t }\n\t return buf;\n\t};\n\t\n\tSafeBuffer.allocUnsafe = function (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('Argument must be a number');\n\t }\n\t return Buffer(size);\n\t};\n\t\n\tSafeBuffer.allocUnsafeSlow = function (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('Argument must be a number');\n\t }\n\t return buffer.SlowBuffer(size);\n\t};\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {/*!\n\t * The buffer module from node.js, for the browser.\n\t *\n\t * @author Feross Aboukhadijeh <https://feross.org>\n\t * @license MIT\n\t */\n\t/* eslint-disable no-proto */\n\t\n\t'use strict';\n\t\n\tvar base64 = __webpack_require__(100);\n\tvar ieee754 = __webpack_require__(101);\n\t\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\t\n\tvar K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\t\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\t\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') {\n\t console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.');\n\t}\n\t\n\tfunction typedArraySupport() {\n\t // Can typed array instances can be augmented?\n\t try {\n\t var arr = new Uint8Array(1);\n\t arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function foo() {\n\t return 42;\n\t } };\n\t return arr.foo() === 42;\n\t } catch (e) {\n\t return false;\n\t }\n\t}\n\t\n\tfunction createBuffer(length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('Invalid typed array length');\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t var buf = new Uint8Array(length);\n\t buf.__proto__ = Buffer.prototype;\n\t return buf;\n\t}\n\t\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\t\n\tfunction Buffer(arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new Error('If encoding is specified then the first argument must be a string');\n\t }\n\t return allocUnsafe(arg);\n\t }\n\t return from(arg, encodingOrOffset, length);\n\t}\n\t\n\t// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n\tif (typeof Symbol !== 'undefined' && Symbol.species && Buffer[Symbol.species] === Buffer) {\n\t Object.defineProperty(Buffer, Symbol.species, {\n\t value: null,\n\t configurable: true,\n\t enumerable: false,\n\t writable: false\n\t });\n\t}\n\t\n\tBuffer.poolSize = 8192; // not used by this implementation\n\t\n\tfunction from(value, encodingOrOffset, length) {\n\t if (typeof value === 'number') {\n\t throw new TypeError('\"value\" argument must not be a number');\n\t }\n\t\n\t if (isArrayBuffer(value)) {\n\t return fromArrayBuffer(value, encodingOrOffset, length);\n\t }\n\t\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset);\n\t }\n\t\n\t return fromObject(value);\n\t}\n\t\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length);\n\t};\n\t\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tBuffer.prototype.__proto__ = Uint8Array.prototype;\n\tBuffer.__proto__ = Uint8Array;\n\t\n\tfunction assertSize(size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be a number');\n\t } else if (size < 0) {\n\t throw new RangeError('\"size\" argument must not be negative');\n\t }\n\t}\n\t\n\tfunction alloc(size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size);\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpretted as a start offset.\n\t return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);\n\t }\n\t return createBuffer(size);\n\t}\n\t\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding);\n\t};\n\t\n\tfunction allocUnsafe(size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0);\n\t}\n\t\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size);\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size);\n\t};\n\t\n\tfunction fromString(string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\t\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('\"encoding\" must be a valid string encoding');\n\t }\n\t\n\t var length = byteLength(string, encoding) | 0;\n\t var buf = createBuffer(length);\n\t\n\t var actual = buf.write(string, encoding);\n\t\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\t\n\t return buf;\n\t}\n\t\n\tfunction fromArrayLike(array) {\n\t var length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t var buf = createBuffer(length);\n\t for (var i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf;\n\t}\n\t\n\tfunction fromArrayBuffer(array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\\'offset\\' is out of bounds');\n\t }\n\t\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\\'length\\' is out of bounds');\n\t }\n\t\n\t var buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new Uint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new Uint8Array(array, byteOffset);\n\t } else {\n\t buf = new Uint8Array(array, byteOffset, length);\n\t }\n\t\n\t // Return an augmented `Uint8Array` instance\n\t buf.__proto__ = Buffer.prototype;\n\t return buf;\n\t}\n\t\n\tfunction fromObject(obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t var len = checked(obj.length) | 0;\n\t var buf = createBuffer(len);\n\t\n\t if (buf.length === 0) {\n\t return buf;\n\t }\n\t\n\t obj.copy(buf, 0, 0, len);\n\t return buf;\n\t }\n\t\n\t if (obj) {\n\t if (isArrayBufferView(obj) || 'length' in obj) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0);\n\t }\n\t return fromArrayLike(obj);\n\t }\n\t\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data);\n\t }\n\t }\n\t\n\t throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');\n\t}\n\t\n\tfunction checked(length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes');\n\t }\n\t return length | 0;\n\t}\n\t\n\tfunction SlowBuffer(length) {\n\t if (+length != length) {\n\t // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length);\n\t}\n\t\n\tBuffer.isBuffer = function isBuffer(b) {\n\t return b != null && b._isBuffer === true;\n\t};\n\t\n\tBuffer.compare = function compare(a, b) {\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError('Arguments must be Buffers');\n\t }\n\t\n\t if (a === b) return 0;\n\t\n\t var x = a.length;\n\t var y = b.length;\n\t\n\t for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break;\n\t }\n\t }\n\t\n\t if (x < y) return -1;\n\t if (y < x) return 1;\n\t return 0;\n\t};\n\t\n\tBuffer.isEncoding = function isEncoding(encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t};\n\t\n\tBuffer.concat = function concat(list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers');\n\t }\n\t\n\t if (list.length === 0) {\n\t return Buffer.alloc(0);\n\t }\n\t\n\t var i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\t\n\t var buffer = Buffer.allocUnsafe(length);\n\t var pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t var buf = list[i];\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers');\n\t }\n\t buf.copy(buffer, pos);\n\t pos += buf.length;\n\t }\n\t return buffer;\n\t};\n\t\n\tfunction byteLength(string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length;\n\t }\n\t if (isArrayBufferView(string) || isArrayBuffer(string)) {\n\t return string.byteLength;\n\t }\n\t if (typeof string !== 'string') {\n\t string = '' + string;\n\t }\n\t\n\t var len = string.length;\n\t if (len === 0) return 0;\n\t\n\t // Use a for loop to avoid recursion\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len;\n\t case 'utf8':\n\t case 'utf-8':\n\t case undefined:\n\t return utf8ToBytes(string).length;\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2;\n\t case 'hex':\n\t return len >>> 1;\n\t case 'base64':\n\t return base64ToBytes(string).length;\n\t default:\n\t if (loweredCase) return utf8ToBytes(string).length; // assume utf8\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\t\n\tfunction slowToString(encoding, start, end) {\n\t var loweredCase = false;\n\t\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\t\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return '';\n\t }\n\t\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\t\n\t if (end <= 0) {\n\t return '';\n\t }\n\t\n\t // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\t\n\t if (end <= start) {\n\t return '';\n\t }\n\t\n\t if (!encoding) encoding = 'utf8';\n\t\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end);\n\t\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end);\n\t\n\t case 'ascii':\n\t return asciiSlice(this, start, end);\n\t\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end);\n\t\n\t case 'base64':\n\t return base64Slice(this, start, end);\n\t\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end);\n\t\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\t\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\t\n\tfunction swap(b, n, m) {\n\t var i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\t\n\tBuffer.prototype.swap16 = function swap16() {\n\t var len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits');\n\t }\n\t for (var i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this;\n\t};\n\t\n\tBuffer.prototype.swap32 = function swap32() {\n\t var len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits');\n\t }\n\t for (var i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this;\n\t};\n\t\n\tBuffer.prototype.swap64 = function swap64() {\n\t var len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits');\n\t }\n\t for (var i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this;\n\t};\n\t\n\tBuffer.prototype.toString = function toString() {\n\t var length = this.length;\n\t if (length === 0) return '';\n\t if (arguments.length === 0) return utf8Slice(this, 0, length);\n\t return slowToString.apply(this, arguments);\n\t};\n\t\n\tBuffer.prototype.equals = function equals(b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n\t if (this === b) return true;\n\t return Buffer.compare(this, b) === 0;\n\t};\n\t\n\tBuffer.prototype.inspect = function inspect() {\n\t var str = '';\n\t var max = exports.INSPECT_MAX_BYTES;\n\t if (this.length > 0) {\n\t str = this.toString('hex', 0, max).match(/.{2}/g).join(' ');\n\t if (this.length > max) str += ' ... ';\n\t }\n\t return '<Buffer ' + str + '>';\n\t};\n\t\n\tBuffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError('Argument must be a Buffer');\n\t }\n\t\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\t\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index');\n\t }\n\t\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0;\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1;\n\t }\n\t if (start >= end) {\n\t return 1;\n\t }\n\t\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\t\n\t if (this === target) return 0;\n\t\n\t var x = thisEnd - thisStart;\n\t var y = end - start;\n\t var len = Math.min(x, y);\n\t\n\t var thisCopy = this.slice(thisStart, thisEnd);\n\t var targetCopy = target.slice(start, end);\n\t\n\t for (var i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break;\n\t }\n\t }\n\t\n\t if (x < y) return -1;\n\t if (y < x) return 1;\n\t return 0;\n\t};\n\t\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1;\n\t\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : buffer.length - 1;\n\t }\n\t\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1;else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;else return -1;\n\t }\n\t\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\t\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1;\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof Uint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n\t } else {\n\t return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n\t }\n\t\n\t throw new TypeError('val must be string, number or Buffer');\n\t}\n\t\n\tfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n\t var indexSize = 1;\n\t var arrLength = arr.length;\n\t var valLength = val.length;\n\t\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1;\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\t\n\t function read(buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i];\n\t } else {\n\t return buf.readUInt16BE(i * indexSize);\n\t }\n\t }\n\t\n\t var i;\n\t if (dir) {\n\t var foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t var found = true;\n\t for (var j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break;\n\t }\n\t }\n\t if (found) return i;\n\t }\n\t }\n\t\n\t return -1;\n\t}\n\t\n\tBuffer.prototype.includes = function includes(val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1;\n\t};\n\t\n\tBuffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n\t};\n\t\n\tBuffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n\t};\n\t\n\tfunction hexWrite(buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t var remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\t\n\t // must be an even number of digits\n\t var strLen = string.length;\n\t if (strLen % 2 !== 0) throw new TypeError('Invalid hex string');\n\t\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t for (var i = 0; i < length; ++i) {\n\t var parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i;\n\t buf[offset + i] = parsed;\n\t }\n\t return i;\n\t}\n\t\n\tfunction utf8Write(buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n\t}\n\t\n\tfunction asciiWrite(buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length);\n\t}\n\t\n\tfunction latin1Write(buf, string, offset, length) {\n\t return asciiWrite(buf, string, offset, length);\n\t}\n\t\n\tfunction base64Write(buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length);\n\t}\n\t\n\tfunction ucs2Write(buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n\t}\n\t\n\tBuffer.prototype.write = function write(string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n\t }\n\t\n\t var remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\t\n\t if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds');\n\t }\n\t\n\t if (!encoding) encoding = 'utf8';\n\t\n\t var loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length);\n\t\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length);\n\t\n\t case 'ascii':\n\t return asciiWrite(this, string, offset, length);\n\t\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Write(this, string, offset, length);\n\t\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length);\n\t\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length);\n\t\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\t\n\tBuffer.prototype.toJSON = function toJSON() {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t };\n\t};\n\t\n\tfunction base64Slice(buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf);\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end));\n\t }\n\t}\n\t\n\tfunction utf8Slice(buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t var res = [];\n\t\n\t var i = start;\n\t while (i < end) {\n\t var firstByte = buf[i];\n\t var codePoint = null;\n\t var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n\t\n\t if (i + bytesPerSequence <= end) {\n\t var secondByte, thirdByte, fourthByte, tempCodePoint;\n\t\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break;\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break;\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break;\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\t\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\t\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\t\n\t return decodeCodePointsArray(res);\n\t}\n\t\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tvar MAX_ARGUMENTS_LENGTH = 0x1000;\n\t\n\tfunction decodeCodePointsArray(codePoints) {\n\t var len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n\t }\n\t\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t var res = '';\n\t var i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));\n\t }\n\t return res;\n\t}\n\t\n\tfunction asciiSlice(buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\t\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret;\n\t}\n\t\n\tfunction latin1Slice(buf, start, end) {\n\t var ret = '';\n\t end = Math.min(buf.length, end);\n\t\n\t for (var i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret;\n\t}\n\t\n\tfunction hexSlice(buf, start, end) {\n\t var len = buf.length;\n\t\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\t\n\t var out = '';\n\t for (var i = start; i < end; ++i) {\n\t out += toHex(buf[i]);\n\t }\n\t return out;\n\t}\n\t\n\tfunction utf16leSlice(buf, start, end) {\n\t var bytes = buf.slice(start, end);\n\t var res = '';\n\t for (var i = 0; i < bytes.length; i += 2) {\n\t res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n\t }\n\t return res;\n\t}\n\t\n\tBuffer.prototype.slice = function slice(start, end) {\n\t var len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\t\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\t\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\t\n\t if (end < start) end = start;\n\t\n\t var newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t newBuf.__proto__ = Buffer.prototype;\n\t return newBuf;\n\t};\n\t\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset(offset, ext, length) {\n\t if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n\t}\n\t\n\tBuffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\t\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\t\n\t var val = this[offset + --byteLength];\n\t var mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset];\n\t};\n\t\n\tBuffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | this[offset + 1] << 8;\n\t};\n\t\n\tBuffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] << 8 | this[offset + 1];\n\t};\n\t\n\tBuffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n\t};\n\t\n\tBuffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n\t};\n\t\n\tBuffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\t\n\t var val = this[offset];\n\t var mul = 1;\n\t var i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\t\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\t\n\t var i = byteLength;\n\t var mul = 1;\n\t var val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\t\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\t\n\t return val;\n\t};\n\t\n\tBuffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return this[offset];\n\t return (0xff - this[offset] + 1) * -1;\n\t};\n\t\n\tBuffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset] | this[offset + 1] << 8;\n\t return val & 0x8000 ? val | 0xFFFF0000 : val;\n\t};\n\t\n\tBuffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t var val = this[offset + 1] | this[offset] << 8;\n\t return val & 0x8000 ? val | 0xFFFF0000 : val;\n\t};\n\t\n\tBuffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n\t};\n\t\n\tBuffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t\n\t return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n\t};\n\t\n\tBuffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, true, 23, 4);\n\t};\n\t\n\tBuffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754.read(this, offset, false, 23, 4);\n\t};\n\t\n\tBuffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, true, 52, 8);\n\t};\n\t\n\tBuffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754.read(this, offset, false, 52, 8);\n\t};\n\t\n\tfunction checkInt(buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range');\n\t}\n\t\n\tBuffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\t\n\t var mul = 1;\n\t var i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = value / mul & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\t\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = value / mul & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = value & 0xff;\n\t return offset + 1;\n\t};\n\t\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = value & 0xff;\n\t this[offset + 1] = value >>> 8;\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = value >>> 8;\n\t this[offset + 1] = value & 0xff;\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = value >>> 24;\n\t this[offset + 2] = value >>> 16;\n\t this[offset + 1] = value >>> 8;\n\t this[offset] = value & 0xff;\n\t return offset + 4;\n\t};\n\t\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = value >>> 24;\n\t this[offset + 1] = value >>> 16;\n\t this[offset + 2] = value >>> 8;\n\t this[offset + 3] = value & 0xff;\n\t return offset + 4;\n\t};\n\t\n\tBuffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, 8 * byteLength - 1);\n\t\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\t\n\t var i = 0;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t var limit = Math.pow(2, 8 * byteLength - 1);\n\t\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\t\n\t var i = byteLength - 1;\n\t var mul = 1;\n\t var sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n\t }\n\t\n\t return offset + byteLength;\n\t};\n\t\n\tBuffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = value & 0xff;\n\t return offset + 1;\n\t};\n\t\n\tBuffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = value & 0xff;\n\t this[offset + 1] = value >>> 8;\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = value >>> 8;\n\t this[offset + 1] = value & 0xff;\n\t return offset + 2;\n\t};\n\t\n\tBuffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = value & 0xff;\n\t this[offset + 1] = value >>> 8;\n\t this[offset + 2] = value >>> 16;\n\t this[offset + 3] = value >>> 24;\n\t return offset + 4;\n\t};\n\t\n\tBuffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = value >>> 24;\n\t this[offset + 1] = value >>> 16;\n\t this[offset + 2] = value >>> 8;\n\t this[offset + 3] = value & 0xff;\n\t return offset + 4;\n\t};\n\t\n\tfunction checkIEEE754(buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range');\n\t if (offset < 0) throw new RangeError('Index out of range');\n\t}\n\t\n\tfunction writeFloat(buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4;\n\t}\n\t\n\tBuffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert);\n\t};\n\t\n\tBuffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert);\n\t};\n\t\n\tfunction writeDouble(buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308);\n\t }\n\t ieee754.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8;\n\t}\n\t\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert);\n\t};\n\t\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert);\n\t};\n\t\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy(target, targetStart, start, end) {\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\t\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0;\n\t if (target.length === 0 || this.length === 0) return 0;\n\t\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds');\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds');\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\t\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\t\n\t var len = end - start;\n\t var i;\n\t\n\t if (this === target && start < targetStart && targetStart < end) {\n\t // descending copy from end\n\t for (i = len - 1; i >= 0; --i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else if (len < 1000) {\n\t // ascending copy from start\n\t for (i = 0; i < len; ++i) {\n\t target[i + targetStart] = this[i + start];\n\t }\n\t } else {\n\t Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart);\n\t }\n\t\n\t return len;\n\t};\n\t\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill(val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (val.length === 1) {\n\t var code = val.charCodeAt(0);\n\t if (code < 256) {\n\t val = code;\n\t }\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string');\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding);\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t }\n\t\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index');\n\t }\n\t\n\t if (end <= start) {\n\t return this;\n\t }\n\t\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\t\n\t if (!val) val = 0;\n\t\n\t var i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t var bytes = Buffer.isBuffer(val) ? val : new Buffer(val, encoding);\n\t var len = bytes.length;\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\t\n\t return this;\n\t};\n\t\n\t// HELPER FUNCTIONS\n\t// ================\n\t\n\tvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\t\n\tfunction base64clean(str) {\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return '';\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str;\n\t}\n\t\n\tfunction toHex(n) {\n\t if (n < 16) return '0' + n.toString(16);\n\t return n.toString(16);\n\t}\n\t\n\tfunction utf8ToBytes(string, units) {\n\t units = units || Infinity;\n\t var codePoint;\n\t var length = string.length;\n\t var leadSurrogate = null;\n\t var bytes = [];\n\t\n\t for (var i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\t\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue;\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue;\n\t }\n\t\n\t // valid lead\n\t leadSurrogate = codePoint;\n\t\n\t continue;\n\t }\n\t\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue;\n\t }\n\t\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\t\n\t leadSurrogate = null;\n\t\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break;\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break;\n\t bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break;\n\t bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break;\n\t bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n\t } else {\n\t throw new Error('Invalid code point');\n\t }\n\t }\n\t\n\t return bytes;\n\t}\n\t\n\tfunction asciiToBytes(str) {\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray;\n\t}\n\t\n\tfunction utf16leToBytes(str, units) {\n\t var c, hi, lo;\n\t var byteArray = [];\n\t for (var i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break;\n\t\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\t\n\t return byteArray;\n\t}\n\t\n\tfunction base64ToBytes(str) {\n\t return base64.toByteArray(base64clean(str));\n\t}\n\t\n\tfunction blitBuffer(src, dst, offset, length) {\n\t for (var i = 0; i < length; ++i) {\n\t if (i + offset >= dst.length || i >= src.length) break;\n\t dst[i + offset] = src[i];\n\t }\n\t return i;\n\t}\n\t\n\t// ArrayBuffers from another context (i.e. an iframe) do not pass the `instanceof` check\n\t// but they should be treated as valid. See: https://github.com/feross/buffer/issues/166\n\tfunction isArrayBuffer(obj) {\n\t return obj instanceof ArrayBuffer || obj != null && obj.constructor != null && obj.constructor.name === 'ArrayBuffer' && typeof obj.byteLength === 'number';\n\t}\n\t\n\t// Node 0.10 supports `ArrayBuffer` but lacks `ArrayBuffer.isView`\n\tfunction isArrayBufferView(obj) {\n\t return typeof ArrayBuffer.isView === 'function' && ArrayBuffer.isView(obj);\n\t}\n\t\n\tfunction numberIsNaN(obj) {\n\t return obj !== obj; // eslint-disable-line no-self-compare\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\t// NOTE: These type checking functions intentionally don't use `instanceof`\n\t// because it is fragile and can be easily faked with `Object.create()`.\n\t\n\tfunction isArray(arg) {\n\t if (Array.isArray) {\n\t return Array.isArray(arg);\n\t }\n\t return objectToString(arg) === '[object Array]';\n\t}\n\texports.isArray = isArray;\n\t\n\tfunction isBoolean(arg) {\n\t return typeof arg === 'boolean';\n\t}\n\texports.isBoolean = isBoolean;\n\t\n\tfunction isNull(arg) {\n\t return arg === null;\n\t}\n\texports.isNull = isNull;\n\t\n\tfunction isNullOrUndefined(arg) {\n\t return arg == null;\n\t}\n\texports.isNullOrUndefined = isNullOrUndefined;\n\t\n\tfunction isNumber(arg) {\n\t return typeof arg === 'number';\n\t}\n\texports.isNumber = isNumber;\n\t\n\tfunction isString(arg) {\n\t return typeof arg === 'string';\n\t}\n\texports.isString = isString;\n\t\n\tfunction isSymbol(arg) {\n\t return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol';\n\t}\n\texports.isSymbol = isSymbol;\n\t\n\tfunction isUndefined(arg) {\n\t return arg === void 0;\n\t}\n\texports.isUndefined = isUndefined;\n\t\n\tfunction isRegExp(re) {\n\t return objectToString(re) === '[object RegExp]';\n\t}\n\texports.isRegExp = isRegExp;\n\t\n\tfunction isObject(arg) {\n\t return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && arg !== null;\n\t}\n\texports.isObject = isObject;\n\t\n\tfunction isDate(d) {\n\t return objectToString(d) === '[object Date]';\n\t}\n\texports.isDate = isDate;\n\t\n\tfunction isError(e) {\n\t return objectToString(e) === '[object Error]' || e instanceof Error;\n\t}\n\texports.isError = isError;\n\t\n\tfunction isFunction(arg) {\n\t return typeof arg === 'function';\n\t}\n\texports.isFunction = isFunction;\n\t\n\tfunction isPrimitive(arg) {\n\t return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol' || // ES6 symbol\n\t typeof arg === 'undefined';\n\t}\n\texports.isPrimitive = isPrimitive;\n\t\n\texports.isBuffer = Buffer.isBuffer;\n\t\n\tfunction objectToString(o) {\n\t return Object.prototype.toString.call(o);\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 124 */\n96,\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*<replacement>*/\n\t\n\tfunction _classCallCheck(instance, Constructor) {\n\t if (!(instance instanceof Constructor)) {\n\t throw new TypeError(\"Cannot call a class as a function\");\n\t }\n\t}\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t/*</replacement>*/\n\t\n\tfunction copyBuffer(src, target, offset) {\n\t src.copy(target, offset);\n\t}\n\t\n\tmodule.exports = function () {\n\t function BufferList() {\n\t _classCallCheck(this, BufferList);\n\t\n\t this.head = null;\n\t this.tail = null;\n\t this.length = 0;\n\t }\n\t\n\t BufferList.prototype.push = function push(v) {\n\t var entry = { data: v, next: null };\n\t if (this.length > 0) this.tail.next = entry;else this.head = entry;\n\t this.tail = entry;\n\t ++this.length;\n\t };\n\t\n\t BufferList.prototype.unshift = function unshift(v) {\n\t var entry = { data: v, next: this.head };\n\t if (this.length === 0) this.tail = entry;\n\t this.head = entry;\n\t ++this.length;\n\t };\n\t\n\t BufferList.prototype.shift = function shift() {\n\t if (this.length === 0) return;\n\t var ret = this.head.data;\n\t if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n\t --this.length;\n\t return ret;\n\t };\n\t\n\t BufferList.prototype.clear = function clear() {\n\t this.head = this.tail = null;\n\t this.length = 0;\n\t };\n\t\n\t BufferList.prototype.join = function join(s) {\n\t if (this.length === 0) return '';\n\t var p = this.head;\n\t var ret = '' + p.data;\n\t while (p = p.next) {\n\t ret += s + p.data;\n\t }return ret;\n\t };\n\t\n\t BufferList.prototype.concat = function concat(n) {\n\t if (this.length === 0) return Buffer.alloc(0);\n\t if (this.length === 1) return this.head.data;\n\t var ret = Buffer.allocUnsafe(n >>> 0);\n\t var p = this.head;\n\t var i = 0;\n\t while (p) {\n\t copyBuffer(p.data, ret, i);\n\t i += p.data.length;\n\t p = p.next;\n\t }\n\t return ret;\n\t };\n\t\n\t return BufferList;\n\t}();\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*<replacement>*/\n\t\n\tvar processNextTick = __webpack_require__(119);\n\t/*</replacement>*/\n\t\n\t// undocumented cb() API, needed for core, not for public API\n\tfunction destroy(err, cb) {\n\t var _this = this;\n\t\n\t var readableDestroyed = this._readableState && this._readableState.destroyed;\n\t var writableDestroyed = this._writableState && this._writableState.destroyed;\n\t\n\t if (readableDestroyed || writableDestroyed) {\n\t if (cb) {\n\t cb(err);\n\t } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n\t processNextTick(emitErrorNT, this, err);\n\t }\n\t return;\n\t }\n\t\n\t // we set destroyed to true before firing error callbacks in order\n\t // to make it re-entrance safe in case destroy() is called within callbacks\n\t\n\t if (this._readableState) {\n\t this._readableState.destroyed = true;\n\t }\n\t\n\t // if this is a duplex stream mark the writable part as destroyed as well\n\t if (this._writableState) {\n\t this._writableState.destroyed = true;\n\t }\n\t\n\t this._destroy(err || null, function (err) {\n\t if (!cb && err) {\n\t processNextTick(emitErrorNT, _this, err);\n\t if (_this._writableState) {\n\t _this._writableState.errorEmitted = true;\n\t }\n\t } else if (cb) {\n\t cb(err);\n\t }\n\t });\n\t}\n\t\n\tfunction undestroy() {\n\t if (this._readableState) {\n\t this._readableState.destroyed = false;\n\t this._readableState.reading = false;\n\t this._readableState.ended = false;\n\t this._readableState.endEmitted = false;\n\t }\n\t\n\t if (this._writableState) {\n\t this._writableState.destroyed = false;\n\t this._writableState.ended = false;\n\t this._writableState.ending = false;\n\t this._writableState.finished = false;\n\t this._writableState.errorEmitted = false;\n\t }\n\t}\n\t\n\tfunction emitErrorNT(self, err) {\n\t self.emit('error', err);\n\t}\n\t\n\tmodule.exports = {\n\t destroy: destroy,\n\t undestroy: undestroy\n\t};\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\t// a duplex stream is just a stream that is both readable and writable.\n\t// Since JS doesn't have multiple prototypal inheritance, this class\n\t// prototypally inherits from Readable, and then parasitically from\n\t// Writable.\n\t\n\t'use strict';\n\t\n\t/*<replacement>*/\n\t\n\tvar processNextTick = __webpack_require__(119);\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar objectKeys = Object.keys || function (obj) {\n\t var keys = [];\n\t for (var key in obj) {\n\t keys.push(key);\n\t }return keys;\n\t};\n\t/*</replacement>*/\n\t\n\tmodule.exports = Duplex;\n\t\n\t/*<replacement>*/\n\tvar util = __webpack_require__(123);\n\tutil.inherits = __webpack_require__(111);\n\t/*</replacement>*/\n\t\n\tvar Readable = __webpack_require__(118);\n\tvar Writable = __webpack_require__(128);\n\t\n\tutil.inherits(Duplex, Readable);\n\t\n\tvar keys = objectKeys(Writable.prototype);\n\tfor (var v = 0; v < keys.length; v++) {\n\t var method = keys[v];\n\t if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n\t}\n\t\n\tfunction Duplex(options) {\n\t if (!(this instanceof Duplex)) return new Duplex(options);\n\t\n\t Readable.call(this, options);\n\t Writable.call(this, options);\n\t\n\t if (options && options.readable === false) this.readable = false;\n\t\n\t if (options && options.writable === false) this.writable = false;\n\t\n\t this.allowHalfOpen = true;\n\t if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\t\n\t this.once('end', onend);\n\t}\n\t\n\t// the no-half-open enforcer\n\tfunction onend() {\n\t // if we allow half-open state, or if the writable side ended,\n\t // then we're ok.\n\t if (this.allowHalfOpen || this._writableState.ended) return;\n\t\n\t // no more data can be written.\n\t // But allow more writes to happen in this tick.\n\t processNextTick(onEndNT, this);\n\t}\n\t\n\tfunction onEndNT(self) {\n\t self.end();\n\t}\n\t\n\tObject.defineProperty(Duplex.prototype, 'destroyed', {\n\t get: function get() {\n\t if (this._readableState === undefined || this._writableState === undefined) {\n\t return false;\n\t }\n\t return this._readableState.destroyed && this._writableState.destroyed;\n\t },\n\t set: function set(value) {\n\t // we ignore the value if the stream\n\t // has not been initialized yet\n\t if (this._readableState === undefined || this._writableState === undefined) {\n\t return;\n\t }\n\t\n\t // backward compatibility, the user is explicitly\n\t // managing destroyed\n\t this._readableState.destroyed = value;\n\t this._writableState.destroyed = value;\n\t }\n\t});\n\t\n\tDuplex.prototype._destroy = function (err, cb) {\n\t this.push(null);\n\t this.end();\n\t\n\t processNextTick(cb, err);\n\t};\n\t\n\tfunction forEach(xs, f) {\n\t for (var i = 0, l = xs.length; i < l; i++) {\n\t f(xs[i], i);\n\t }\n\t}\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\t// A bit simpler than readable streams.\n\t// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n\t// the drain event emission and buffering.\n\t\n\t'use strict';\n\t\n\t/*<replacement>*/\n\t\n\tvar processNextTick = __webpack_require__(119);\n\t/*</replacement>*/\n\t\n\tmodule.exports = Writable;\n\t\n\t/* <replacement> */\n\tfunction WriteReq(chunk, encoding, cb) {\n\t this.chunk = chunk;\n\t this.encoding = encoding;\n\t this.callback = cb;\n\t this.next = null;\n\t}\n\t\n\t// It seems a linked list but it is not\n\t// there will be only 2 of these for each stream\n\tfunction CorkedRequest(state) {\n\t var _this = this;\n\t\n\t this.next = null;\n\t this.entry = null;\n\t this.finish = function () {\n\t onCorkedFinish(_this, state);\n\t };\n\t}\n\t/* </replacement> */\n\t\n\t/*<replacement>*/\n\tvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar Duplex;\n\t/*</replacement>*/\n\t\n\tWritable.WritableState = WritableState;\n\t\n\t/*<replacement>*/\n\tvar util = __webpack_require__(123);\n\tutil.inherits = __webpack_require__(111);\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar internalUtil = {\n\t deprecate: __webpack_require__(129)\n\t};\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar Stream = __webpack_require__(120);\n\t/*</replacement>*/\n\t\n\t/*<replacement>*/\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar OurUint8Array = global.Uint8Array || function () {};\n\tfunction _uint8ArrayToBuffer(chunk) {\n\t return Buffer.from(chunk);\n\t}\n\tfunction _isUint8Array(obj) {\n\t return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n\t}\n\t/*</replacement>*/\n\t\n\tvar destroyImpl = __webpack_require__(126);\n\t\n\tutil.inherits(Writable, Stream);\n\t\n\tfunction nop() {}\n\t\n\tfunction WritableState(options, stream) {\n\t Duplex = Duplex || __webpack_require__(127);\n\t\n\t options = options || {};\n\t\n\t // object stream flag to indicate whether or not this stream\n\t // contains buffers or objects.\n\t this.objectMode = !!options.objectMode;\n\t\n\t if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\t\n\t // the point at which write() starts returning false\n\t // Note: 0 is a valid value, means that we always return false if\n\t // the entire buffer is not flushed immediately on write()\n\t var hwm = options.highWaterMark;\n\t var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n\t this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\t\n\t // cast to ints.\n\t this.highWaterMark = Math.floor(this.highWaterMark);\n\t\n\t // if _final has been called\n\t this.finalCalled = false;\n\t\n\t // drain event flag.\n\t this.needDrain = false;\n\t // at the start of calling end()\n\t this.ending = false;\n\t // when end() has been called, and returned\n\t this.ended = false;\n\t // when 'finish' is emitted\n\t this.finished = false;\n\t\n\t // has it been destroyed\n\t this.destroyed = false;\n\t\n\t // should we decode strings into buffers before passing to _write?\n\t // this is here so that some node-core streams can optimize string\n\t // handling at a lower level.\n\t var noDecode = options.decodeStrings === false;\n\t this.decodeStrings = !noDecode;\n\t\n\t // Crypto is kind of old and crusty. Historically, its default string\n\t // encoding is 'binary' so we have to make this configurable.\n\t // Everything else in the universe uses 'utf8', though.\n\t this.defaultEncoding = options.defaultEncoding || 'utf8';\n\t\n\t // not an actual buffer we keep track of, but a measurement\n\t // of how much we're waiting to get pushed to some underlying\n\t // socket or file.\n\t this.length = 0;\n\t\n\t // a flag to see when we're in the middle of a write.\n\t this.writing = false;\n\t\n\t // when true all writes will be buffered until .uncork() call\n\t this.corked = 0;\n\t\n\t // a flag to be able to tell if the onwrite cb is called immediately,\n\t // or on a later tick. We set this to true at first, because any\n\t // actions that shouldn't happen until \"later\" should generally also\n\t // not happen before the first write call.\n\t this.sync = true;\n\t\n\t // a flag to know if we're processing previously buffered items, which\n\t // may call the _write() callback in the same tick, so that we don't\n\t // end up in an overlapped onwrite situation.\n\t this.bufferProcessing = false;\n\t\n\t // the callback that's passed to _write(chunk,cb)\n\t this.onwrite = function (er) {\n\t onwrite(stream, er);\n\t };\n\t\n\t // the callback that the user supplies to write(chunk,encoding,cb)\n\t this.writecb = null;\n\t\n\t // the amount that is being written when _write is called.\n\t this.writelen = 0;\n\t\n\t this.bufferedRequest = null;\n\t this.lastBufferedRequest = null;\n\t\n\t // number of pending user-supplied write callbacks\n\t // this must be 0 before 'finish' can be emitted\n\t this.pendingcb = 0;\n\t\n\t // emit prefinish if the only thing we're waiting for is _write cbs\n\t // This is relevant for synchronous Transform streams\n\t this.prefinished = false;\n\t\n\t // True if the error was already emitted and should not be thrown again\n\t this.errorEmitted = false;\n\t\n\t // count buffered requests\n\t this.bufferedRequestCount = 0;\n\t\n\t // allocate the first CorkedRequest, there is always\n\t // one allocated and free to use, and we maintain at most two\n\t this.corkedRequestsFree = new CorkedRequest(this);\n\t}\n\t\n\tWritableState.prototype.getBuffer = function getBuffer() {\n\t var current = this.bufferedRequest;\n\t var out = [];\n\t while (current) {\n\t out.push(current);\n\t current = current.next;\n\t }\n\t return out;\n\t};\n\t\n\t(function () {\n\t try {\n\t Object.defineProperty(WritableState.prototype, 'buffer', {\n\t get: internalUtil.deprecate(function () {\n\t return this.getBuffer();\n\t }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n\t });\n\t } catch (_) {}\n\t})();\n\t\n\t// Test _writableState for inheritance to account for Duplex streams,\n\t// whose prototype chain only points to Readable.\n\tvar realHasInstance;\n\tif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n\t realHasInstance = Function.prototype[Symbol.hasInstance];\n\t Object.defineProperty(Writable, Symbol.hasInstance, {\n\t value: function value(object) {\n\t if (realHasInstance.call(this, object)) return true;\n\t\n\t return object && object._writableState instanceof WritableState;\n\t }\n\t });\n\t} else {\n\t realHasInstance = function realHasInstance(object) {\n\t return object instanceof this;\n\t };\n\t}\n\t\n\tfunction Writable(options) {\n\t Duplex = Duplex || __webpack_require__(127);\n\t\n\t // Writable ctor is applied to Duplexes, too.\n\t // `realHasInstance` is necessary because using plain `instanceof`\n\t // would return false, as no `_writableState` property is attached.\n\t\n\t // Trying to use the custom `instanceof` for Writable here will also break the\n\t // Node.js LazyTransform implementation, which has a non-trivial getter for\n\t // `_writableState` that would lead to infinite recursion.\n\t if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n\t return new Writable(options);\n\t }\n\t\n\t this._writableState = new WritableState(options, this);\n\t\n\t // legacy.\n\t this.writable = true;\n\t\n\t if (options) {\n\t if (typeof options.write === 'function') this._write = options.write;\n\t\n\t if (typeof options.writev === 'function') this._writev = options.writev;\n\t\n\t if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\t\n\t if (typeof options.final === 'function') this._final = options.final;\n\t }\n\t\n\t Stream.call(this);\n\t}\n\t\n\t// Otherwise people can pipe Writable streams, which is just wrong.\n\tWritable.prototype.pipe = function () {\n\t this.emit('error', new Error('Cannot pipe, not readable'));\n\t};\n\t\n\tfunction writeAfterEnd(stream, cb) {\n\t var er = new Error('write after end');\n\t // TODO: defer error events consistently everywhere, not just the cb\n\t stream.emit('error', er);\n\t processNextTick(cb, er);\n\t}\n\t\n\t// Checks that a user-supplied chunk is valid, especially for the particular\n\t// mode the stream is in. Currently this means that `null` is never accepted\n\t// and undefined/non-string values are only allowed in object mode.\n\tfunction validChunk(stream, state, chunk, cb) {\n\t var valid = true;\n\t var er = false;\n\t\n\t if (chunk === null) {\n\t er = new TypeError('May not write null values to stream');\n\t } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n\t er = new TypeError('Invalid non-string/buffer chunk');\n\t }\n\t if (er) {\n\t stream.emit('error', er);\n\t processNextTick(cb, er);\n\t valid = false;\n\t }\n\t return valid;\n\t}\n\t\n\tWritable.prototype.write = function (chunk, encoding, cb) {\n\t var state = this._writableState;\n\t var ret = false;\n\t var isBuf = _isUint8Array(chunk) && !state.objectMode;\n\t\n\t if (isBuf && !Buffer.isBuffer(chunk)) {\n\t chunk = _uint8ArrayToBuffer(chunk);\n\t }\n\t\n\t if (typeof encoding === 'function') {\n\t cb = encoding;\n\t encoding = null;\n\t }\n\t\n\t if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\t\n\t if (typeof cb !== 'function') cb = nop;\n\t\n\t if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n\t state.pendingcb++;\n\t ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n\t }\n\t\n\t return ret;\n\t};\n\t\n\tWritable.prototype.cork = function () {\n\t var state = this._writableState;\n\t\n\t state.corked++;\n\t};\n\t\n\tWritable.prototype.uncork = function () {\n\t var state = this._writableState;\n\t\n\t if (state.corked) {\n\t state.corked--;\n\t\n\t if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n\t }\n\t};\n\t\n\tWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n\t // node::ParseEncoding() requires lower case.\n\t if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n\t if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n\t this._writableState.defaultEncoding = encoding;\n\t return this;\n\t};\n\t\n\tfunction decodeChunk(state, chunk, encoding) {\n\t if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n\t chunk = Buffer.from(chunk, encoding);\n\t }\n\t return chunk;\n\t}\n\t\n\t// if we're already writing something, then just put this\n\t// in the queue, and wait our turn. Otherwise, call _write\n\t// If we return false, then we need a drain event, so set that flag.\n\tfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n\t if (!isBuf) {\n\t var newChunk = decodeChunk(state, chunk, encoding);\n\t if (chunk !== newChunk) {\n\t isBuf = true;\n\t encoding = 'buffer';\n\t chunk = newChunk;\n\t }\n\t }\n\t var len = state.objectMode ? 1 : chunk.length;\n\t\n\t state.length += len;\n\t\n\t var ret = state.length < state.highWaterMark;\n\t // we must ensure that previous needDrain will not be reset to false.\n\t if (!ret) state.needDrain = true;\n\t\n\t if (state.writing || state.corked) {\n\t var last = state.lastBufferedRequest;\n\t state.lastBufferedRequest = {\n\t chunk: chunk,\n\t encoding: encoding,\n\t isBuf: isBuf,\n\t callback: cb,\n\t next: null\n\t };\n\t if (last) {\n\t last.next = state.lastBufferedRequest;\n\t } else {\n\t state.bufferedRequest = state.lastBufferedRequest;\n\t }\n\t state.bufferedRequestCount += 1;\n\t } else {\n\t doWrite(stream, state, false, len, chunk, encoding, cb);\n\t }\n\t\n\t return ret;\n\t}\n\t\n\tfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n\t state.writelen = len;\n\t state.writecb = cb;\n\t state.writing = true;\n\t state.sync = true;\n\t if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n\t state.sync = false;\n\t}\n\t\n\tfunction onwriteError(stream, state, sync, er, cb) {\n\t --state.pendingcb;\n\t\n\t if (sync) {\n\t // defer the callback if we are being called synchronously\n\t // to avoid piling up things on the stack\n\t processNextTick(cb, er);\n\t // this can emit finish, and it will always happen\n\t // after error\n\t processNextTick(finishMaybe, stream, state);\n\t stream._writableState.errorEmitted = true;\n\t stream.emit('error', er);\n\t } else {\n\t // the caller expect this to happen before if\n\t // it is async\n\t cb(er);\n\t stream._writableState.errorEmitted = true;\n\t stream.emit('error', er);\n\t // this can emit finish, but finish must\n\t // always follow error\n\t finishMaybe(stream, state);\n\t }\n\t}\n\t\n\tfunction onwriteStateUpdate(state) {\n\t state.writing = false;\n\t state.writecb = null;\n\t state.length -= state.writelen;\n\t state.writelen = 0;\n\t}\n\t\n\tfunction onwrite(stream, er) {\n\t var state = stream._writableState;\n\t var sync = state.sync;\n\t var cb = state.writecb;\n\t\n\t onwriteStateUpdate(state);\n\t\n\t if (er) onwriteError(stream, state, sync, er, cb);else {\n\t // Check if we're actually ready to finish, but don't emit yet\n\t var finished = needFinish(state);\n\t\n\t if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n\t clearBuffer(stream, state);\n\t }\n\t\n\t if (sync) {\n\t /*<replacement>*/\n\t asyncWrite(afterWrite, stream, state, finished, cb);\n\t /*</replacement>*/\n\t } else {\n\t afterWrite(stream, state, finished, cb);\n\t }\n\t }\n\t}\n\t\n\tfunction afterWrite(stream, state, finished, cb) {\n\t if (!finished) onwriteDrain(stream, state);\n\t state.pendingcb--;\n\t cb();\n\t finishMaybe(stream, state);\n\t}\n\t\n\t// Must force callback to be called on nextTick, so that we don't\n\t// emit 'drain' before the write() consumer gets the 'false' return\n\t// value, and has a chance to attach a 'drain' listener.\n\tfunction onwriteDrain(stream, state) {\n\t if (state.length === 0 && state.needDrain) {\n\t state.needDrain = false;\n\t stream.emit('drain');\n\t }\n\t}\n\t\n\t// if there's something in the buffer waiting, then process it\n\tfunction clearBuffer(stream, state) {\n\t state.bufferProcessing = true;\n\t var entry = state.bufferedRequest;\n\t\n\t if (stream._writev && entry && entry.next) {\n\t // Fast case, write everything using _writev()\n\t var l = state.bufferedRequestCount;\n\t var buffer = new Array(l);\n\t var holder = state.corkedRequestsFree;\n\t holder.entry = entry;\n\t\n\t var count = 0;\n\t var allBuffers = true;\n\t while (entry) {\n\t buffer[count] = entry;\n\t if (!entry.isBuf) allBuffers = false;\n\t entry = entry.next;\n\t count += 1;\n\t }\n\t buffer.allBuffers = allBuffers;\n\t\n\t doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\t\n\t // doWrite is almost always async, defer these to save a bit of time\n\t // as the hot path ends with doWrite\n\t state.pendingcb++;\n\t state.lastBufferedRequest = null;\n\t if (holder.next) {\n\t state.corkedRequestsFree = holder.next;\n\t holder.next = null;\n\t } else {\n\t state.corkedRequestsFree = new CorkedRequest(state);\n\t }\n\t } else {\n\t // Slow case, write chunks one-by-one\n\t while (entry) {\n\t var chunk = entry.chunk;\n\t var encoding = entry.encoding;\n\t var cb = entry.callback;\n\t var len = state.objectMode ? 1 : chunk.length;\n\t\n\t doWrite(stream, state, false, len, chunk, encoding, cb);\n\t entry = entry.next;\n\t // if we didn't call the onwrite immediately, then\n\t // it means that we need to wait until it does.\n\t // also, that means that the chunk and cb are currently\n\t // being processed, so move the buffer counter past them.\n\t if (state.writing) {\n\t break;\n\t }\n\t }\n\t\n\t if (entry === null) state.lastBufferedRequest = null;\n\t }\n\t\n\t state.bufferedRequestCount = 0;\n\t state.bufferedRequest = entry;\n\t state.bufferProcessing = false;\n\t}\n\t\n\tWritable.prototype._write = function (chunk, encoding, cb) {\n\t cb(new Error('_write() is not implemented'));\n\t};\n\t\n\tWritable.prototype._writev = null;\n\t\n\tWritable.prototype.end = function (chunk, encoding, cb) {\n\t var state = this._writableState;\n\t\n\t if (typeof chunk === 'function') {\n\t cb = chunk;\n\t chunk = null;\n\t encoding = null;\n\t } else if (typeof encoding === 'function') {\n\t cb = encoding;\n\t encoding = null;\n\t }\n\t\n\t if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\t\n\t // .end() fully uncorks\n\t if (state.corked) {\n\t state.corked = 1;\n\t this.uncork();\n\t }\n\t\n\t // ignore unnecessary end() calls.\n\t if (!state.ending && !state.finished) endWritable(this, state, cb);\n\t};\n\t\n\tfunction needFinish(state) {\n\t return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n\t}\n\tfunction callFinal(stream, state) {\n\t stream._final(function (err) {\n\t state.pendingcb--;\n\t if (err) {\n\t stream.emit('error', err);\n\t }\n\t state.prefinished = true;\n\t stream.emit('prefinish');\n\t finishMaybe(stream, state);\n\t });\n\t}\n\tfunction prefinish(stream, state) {\n\t if (!state.prefinished && !state.finalCalled) {\n\t if (typeof stream._final === 'function') {\n\t state.pendingcb++;\n\t state.finalCalled = true;\n\t processNextTick(callFinal, stream, state);\n\t } else {\n\t state.prefinished = true;\n\t stream.emit('prefinish');\n\t }\n\t }\n\t}\n\t\n\tfunction finishMaybe(stream, state) {\n\t var need = needFinish(state);\n\t if (need) {\n\t prefinish(stream, state);\n\t if (state.pendingcb === 0) {\n\t state.finished = true;\n\t stream.emit('finish');\n\t }\n\t }\n\t return need;\n\t}\n\t\n\tfunction endWritable(stream, state, cb) {\n\t state.ending = true;\n\t finishMaybe(stream, state);\n\t if (cb) {\n\t if (state.finished) processNextTick(cb);else stream.once('finish', cb);\n\t }\n\t state.ended = true;\n\t stream.writable = false;\n\t}\n\t\n\tfunction onCorkedFinish(corkReq, state, err) {\n\t var entry = corkReq.entry;\n\t corkReq.entry = null;\n\t while (entry) {\n\t var cb = entry.callback;\n\t state.pendingcb--;\n\t cb(err);\n\t entry = entry.next;\n\t }\n\t if (state.corkedRequestsFree) {\n\t state.corkedRequestsFree.next = corkReq;\n\t } else {\n\t state.corkedRequestsFree = corkReq;\n\t }\n\t}\n\t\n\tObject.defineProperty(Writable.prototype, 'destroyed', {\n\t get: function get() {\n\t if (this._writableState === undefined) {\n\t return false;\n\t }\n\t return this._writableState.destroyed;\n\t },\n\t set: function set(value) {\n\t // we ignore the value if the stream\n\t // has not been initialized yet\n\t if (!this._writableState) {\n\t return;\n\t }\n\t\n\t // backward compatibility, the user is explicitly\n\t // managing destroyed\n\t this._writableState.destroyed = value;\n\t }\n\t});\n\t\n\tWritable.prototype.destroy = destroyImpl.destroy;\n\tWritable.prototype._undestroy = destroyImpl.undestroy;\n\tWritable.prototype._destroy = function (err, cb) {\n\t this.end();\n\t cb(err);\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5), __webpack_require__(10).setImmediate, (function() { return this; }())))\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\t\n\t/**\n\t * Module exports.\n\t */\n\t\n\tmodule.exports = deprecate;\n\t\n\t/**\n\t * Mark that a method should not be used.\n\t * Returns a modified function which warns once by default.\n\t *\n\t * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n\t *\n\t * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n\t * will throw an Error when invoked.\n\t *\n\t * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n\t * will invoke `console.trace()` instead of `console.error()`.\n\t *\n\t * @param {Function} fn - the function to deprecate\n\t * @param {String} msg - the string to print to the console when `fn` is invoked\n\t * @returns {Function} a new \"deprecated\" version of `fn`\n\t * @api public\n\t */\n\t\n\tfunction deprecate(fn, msg) {\n\t if (config('noDeprecation')) {\n\t return fn;\n\t }\n\t\n\t var warned = false;\n\t function deprecated() {\n\t if (!warned) {\n\t if (config('throwDeprecation')) {\n\t throw new Error(msg);\n\t } else if (config('traceDeprecation')) {\n\t console.trace(msg);\n\t } else {\n\t console.warn(msg);\n\t }\n\t warned = true;\n\t }\n\t return fn.apply(this, arguments);\n\t }\n\t\n\t return deprecated;\n\t}\n\t\n\t/**\n\t * Checks `localStorage` for boolean values for the given `name`.\n\t *\n\t * @param {String} name\n\t * @returns {Boolean}\n\t * @api private\n\t */\n\t\n\tfunction config(name) {\n\t // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n\t try {\n\t if (!global.localStorage) return false;\n\t } catch (_) {\n\t return false;\n\t }\n\t var val = global.localStorage[name];\n\t if (null == val) return false;\n\t return String(val).toLowerCase() === 'true';\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar isEncoding = Buffer.isEncoding || function (encoding) {\n\t encoding = '' + encoding;\n\t switch (encoding && encoding.toLowerCase()) {\n\t case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n\t return true;\n\t default:\n\t return false;\n\t }\n\t};\n\t\n\tfunction _normalizeEncoding(enc) {\n\t if (!enc) return 'utf8';\n\t var retried;\n\t while (true) {\n\t switch (enc) {\n\t case 'utf8':\n\t case 'utf-8':\n\t return 'utf8';\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return 'utf16le';\n\t case 'latin1':\n\t case 'binary':\n\t return 'latin1';\n\t case 'base64':\n\t case 'ascii':\n\t case 'hex':\n\t return enc;\n\t default:\n\t if (retried) return; // undefined\n\t enc = ('' + enc).toLowerCase();\n\t retried = true;\n\t }\n\t }\n\t};\n\t\n\t// Do not cache `Buffer.isEncoding` when checking encoding names as some\n\t// modules monkey-patch it to support additional encodings\n\tfunction normalizeEncoding(enc) {\n\t var nenc = _normalizeEncoding(enc);\n\t if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n\t return nenc || enc;\n\t}\n\t\n\t// StringDecoder provides an interface for efficiently splitting a series of\n\t// buffers into a series of JS strings without breaking apart multi-byte\n\t// characters.\n\texports.StringDecoder = StringDecoder;\n\tfunction StringDecoder(encoding) {\n\t this.encoding = normalizeEncoding(encoding);\n\t var nb;\n\t switch (this.encoding) {\n\t case 'utf16le':\n\t this.text = utf16Text;\n\t this.end = utf16End;\n\t nb = 4;\n\t break;\n\t case 'utf8':\n\t this.fillLast = utf8FillLast;\n\t nb = 4;\n\t break;\n\t case 'base64':\n\t this.text = base64Text;\n\t this.end = base64End;\n\t nb = 3;\n\t break;\n\t default:\n\t this.write = simpleWrite;\n\t this.end = simpleEnd;\n\t return;\n\t }\n\t this.lastNeed = 0;\n\t this.lastTotal = 0;\n\t this.lastChar = Buffer.allocUnsafe(nb);\n\t}\n\t\n\tStringDecoder.prototype.write = function (buf) {\n\t if (buf.length === 0) return '';\n\t var r;\n\t var i;\n\t if (this.lastNeed) {\n\t r = this.fillLast(buf);\n\t if (r === undefined) return '';\n\t i = this.lastNeed;\n\t this.lastNeed = 0;\n\t } else {\n\t i = 0;\n\t }\n\t if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n\t return r || '';\n\t};\n\t\n\tStringDecoder.prototype.end = utf8End;\n\t\n\t// Returns only complete characters in a Buffer\n\tStringDecoder.prototype.text = utf8Text;\n\t\n\t// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\n\tStringDecoder.prototype.fillLast = function (buf) {\n\t if (this.lastNeed <= buf.length) {\n\t buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n\t return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n\t }\n\t buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n\t this.lastNeed -= buf.length;\n\t};\n\t\n\t// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n\t// continuation byte.\n\tfunction utf8CheckByte(byte) {\n\t if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n\t return -1;\n\t}\n\t\n\t// Checks at most 3 bytes at the end of a Buffer in order to detect an\n\t// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n\t// needed to complete the UTF-8 character (if applicable) are returned.\n\tfunction utf8CheckIncomplete(self, buf, i) {\n\t var j = buf.length - 1;\n\t if (j < i) return 0;\n\t var nb = utf8CheckByte(buf[j]);\n\t if (nb >= 0) {\n\t if (nb > 0) self.lastNeed = nb - 1;\n\t return nb;\n\t }\n\t if (--j < i) return 0;\n\t nb = utf8CheckByte(buf[j]);\n\t if (nb >= 0) {\n\t if (nb > 0) self.lastNeed = nb - 2;\n\t return nb;\n\t }\n\t if (--j < i) return 0;\n\t nb = utf8CheckByte(buf[j]);\n\t if (nb >= 0) {\n\t if (nb > 0) {\n\t if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n\t }\n\t return nb;\n\t }\n\t return 0;\n\t}\n\t\n\t// Validates as many continuation bytes for a multi-byte UTF-8 character as\n\t// needed or are available. If we see a non-continuation byte where we expect\n\t// one, we \"replace\" the validated continuation bytes we've seen so far with\n\t// UTF-8 replacement characters ('\\ufffd'), to match v8's UTF-8 decoding\n\t// behavior. The continuation byte check is included three times in the case\n\t// where all of the continuation bytes for a character exist in the same buffer.\n\t// It is also done this way as a slight performance increase instead of using a\n\t// loop.\n\tfunction utf8CheckExtraBytes(self, buf, p) {\n\t if ((buf[0] & 0xC0) !== 0x80) {\n\t self.lastNeed = 0;\n\t return '\\uFFFD'.repeat(p);\n\t }\n\t if (self.lastNeed > 1 && buf.length > 1) {\n\t if ((buf[1] & 0xC0) !== 0x80) {\n\t self.lastNeed = 1;\n\t return '\\uFFFD'.repeat(p + 1);\n\t }\n\t if (self.lastNeed > 2 && buf.length > 2) {\n\t if ((buf[2] & 0xC0) !== 0x80) {\n\t self.lastNeed = 2;\n\t return '\\uFFFD'.repeat(p + 2);\n\t }\n\t }\n\t }\n\t}\n\t\n\t// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\n\tfunction utf8FillLast(buf) {\n\t var p = this.lastTotal - this.lastNeed;\n\t var r = utf8CheckExtraBytes(this, buf, p);\n\t if (r !== undefined) return r;\n\t if (this.lastNeed <= buf.length) {\n\t buf.copy(this.lastChar, p, 0, this.lastNeed);\n\t return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n\t }\n\t buf.copy(this.lastChar, p, 0, buf.length);\n\t this.lastNeed -= buf.length;\n\t}\n\t\n\t// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n\t// partial character, the character's bytes are buffered until the required\n\t// number of bytes are available.\n\tfunction utf8Text(buf, i) {\n\t var total = utf8CheckIncomplete(this, buf, i);\n\t if (!this.lastNeed) return buf.toString('utf8', i);\n\t this.lastTotal = total;\n\t var end = buf.length - (total - this.lastNeed);\n\t buf.copy(this.lastChar, 0, end);\n\t return buf.toString('utf8', i, end);\n\t}\n\t\n\t// For UTF-8, a replacement character for each buffered byte of a (partial)\n\t// character needs to be added to the output.\n\tfunction utf8End(buf) {\n\t var r = buf && buf.length ? this.write(buf) : '';\n\t if (this.lastNeed) return r + '\\uFFFD'.repeat(this.lastTotal - this.lastNeed);\n\t return r;\n\t}\n\t\n\t// UTF-16LE typically needs two bytes per character, but even if we have an even\n\t// number of bytes available, we need to check if we end on a leading/high\n\t// surrogate. In that case, we need to wait for the next two bytes in order to\n\t// decode the last character properly.\n\tfunction utf16Text(buf, i) {\n\t if ((buf.length - i) % 2 === 0) {\n\t var r = buf.toString('utf16le', i);\n\t if (r) {\n\t var c = r.charCodeAt(r.length - 1);\n\t if (c >= 0xD800 && c <= 0xDBFF) {\n\t this.lastNeed = 2;\n\t this.lastTotal = 4;\n\t this.lastChar[0] = buf[buf.length - 2];\n\t this.lastChar[1] = buf[buf.length - 1];\n\t return r.slice(0, -1);\n\t }\n\t }\n\t return r;\n\t }\n\t this.lastNeed = 1;\n\t this.lastTotal = 2;\n\t this.lastChar[0] = buf[buf.length - 1];\n\t return buf.toString('utf16le', i, buf.length - 1);\n\t}\n\t\n\t// For UTF-16LE we do not explicitly append special replacement characters if we\n\t// end on a partial character, we simply let v8 handle that.\n\tfunction utf16End(buf) {\n\t var r = buf && buf.length ? this.write(buf) : '';\n\t if (this.lastNeed) {\n\t var end = this.lastTotal - this.lastNeed;\n\t return r + this.lastChar.toString('utf16le', 0, end);\n\t }\n\t return r;\n\t}\n\t\n\tfunction base64Text(buf, i) {\n\t var n = (buf.length - i) % 3;\n\t if (n === 0) return buf.toString('base64', i);\n\t this.lastNeed = 3 - n;\n\t this.lastTotal = 3;\n\t if (n === 1) {\n\t this.lastChar[0] = buf[buf.length - 1];\n\t } else {\n\t this.lastChar[0] = buf[buf.length - 2];\n\t this.lastChar[1] = buf[buf.length - 1];\n\t }\n\t return buf.toString('base64', i, buf.length - n);\n\t}\n\t\n\tfunction base64End(buf) {\n\t var r = buf && buf.length ? this.write(buf) : '';\n\t if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n\t return r;\n\t}\n\t\n\t// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\n\tfunction simpleWrite(buf) {\n\t return buf.toString(this.encoding);\n\t}\n\t\n\tfunction simpleEnd(buf) {\n\t return buf && buf.length ? this.write(buf) : '';\n\t}\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\t// a transform stream is a readable/writable stream where you do\n\t// something with the data. Sometimes it's called a \"filter\",\n\t// but that's not a great name for it, since that implies a thing where\n\t// some bits pass through, and others are simply ignored. (That would\n\t// be a valid example of a transform, of course.)\n\t//\n\t// While the output is causally related to the input, it's not a\n\t// necessarily symmetric or synchronous transformation. For example,\n\t// a zlib stream might take multiple plain-text writes(), and then\n\t// emit a single compressed chunk some time in the future.\n\t//\n\t// Here's how this works:\n\t//\n\t// The Transform stream has all the aspects of the readable and writable\n\t// stream classes. When you write(chunk), that calls _write(chunk,cb)\n\t// internally, and returns false if there's a lot of pending writes\n\t// buffered up. When you call read(), that calls _read(n) until\n\t// there's enough pending readable data buffered up.\n\t//\n\t// In a transform stream, the written data is placed in a buffer. When\n\t// _read(n) is called, it transforms the queued up data, calling the\n\t// buffered _write cb's as it consumes chunks. If consuming a single\n\t// written chunk would result in multiple output chunks, then the first\n\t// outputted bit calls the readcb, and subsequent chunks just go into\n\t// the read buffer, and will cause it to emit 'readable' if necessary.\n\t//\n\t// This way, back-pressure is actually determined by the reading side,\n\t// since _read has to be called to start processing a new chunk. However,\n\t// a pathological inflate type of transform can cause excessive buffering\n\t// here. For example, imagine a stream where every byte of input is\n\t// interpreted as an integer from 0-255, and then results in that many\n\t// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n\t// 1kb of data being output. In this case, you could write a very small\n\t// amount of input, and end up with a very large amount of output. In\n\t// such a pathological inflating mechanism, there'd be no way to tell\n\t// the system to stop doing the transform. A single 4MB write could\n\t// cause the system to run out of memory.\n\t//\n\t// However, even in such a pathological case, only a single written chunk\n\t// would be consumed, and then the rest would wait (un-transformed) until\n\t// the results of the previous transformed chunk were consumed.\n\t\n\t'use strict';\n\t\n\tmodule.exports = Transform;\n\t\n\tvar Duplex = __webpack_require__(127);\n\t\n\t/*<replacement>*/\n\tvar util = __webpack_require__(123);\n\tutil.inherits = __webpack_require__(111);\n\t/*</replacement>*/\n\t\n\tutil.inherits(Transform, Duplex);\n\t\n\tfunction TransformState(stream) {\n\t this.afterTransform = function (er, data) {\n\t return afterTransform(stream, er, data);\n\t };\n\t\n\t this.needTransform = false;\n\t this.transforming = false;\n\t this.writecb = null;\n\t this.writechunk = null;\n\t this.writeencoding = null;\n\t}\n\t\n\tfunction afterTransform(stream, er, data) {\n\t var ts = stream._transformState;\n\t ts.transforming = false;\n\t\n\t var cb = ts.writecb;\n\t\n\t if (!cb) {\n\t return stream.emit('error', new Error('write callback called multiple times'));\n\t }\n\t\n\t ts.writechunk = null;\n\t ts.writecb = null;\n\t\n\t if (data !== null && data !== undefined) stream.push(data);\n\t\n\t cb(er);\n\t\n\t var rs = stream._readableState;\n\t rs.reading = false;\n\t if (rs.needReadable || rs.length < rs.highWaterMark) {\n\t stream._read(rs.highWaterMark);\n\t }\n\t}\n\t\n\tfunction Transform(options) {\n\t if (!(this instanceof Transform)) return new Transform(options);\n\t\n\t Duplex.call(this, options);\n\t\n\t this._transformState = new TransformState(this);\n\t\n\t var stream = this;\n\t\n\t // start out asking for a readable event once data is transformed.\n\t this._readableState.needReadable = true;\n\t\n\t // we have implemented the _read method, and done the other things\n\t // that Readable wants before the first _read call, so unset the\n\t // sync guard flag.\n\t this._readableState.sync = false;\n\t\n\t if (options) {\n\t if (typeof options.transform === 'function') this._transform = options.transform;\n\t\n\t if (typeof options.flush === 'function') this._flush = options.flush;\n\t }\n\t\n\t // When the writable side finishes, then flush out anything remaining.\n\t this.once('prefinish', function () {\n\t if (typeof this._flush === 'function') this._flush(function (er, data) {\n\t done(stream, er, data);\n\t });else done(stream);\n\t });\n\t}\n\t\n\tTransform.prototype.push = function (chunk, encoding) {\n\t this._transformState.needTransform = false;\n\t return Duplex.prototype.push.call(this, chunk, encoding);\n\t};\n\t\n\t// This is the part where you do stuff!\n\t// override this function in implementation classes.\n\t// 'chunk' is an input chunk.\n\t//\n\t// Call `push(newChunk)` to pass along transformed output\n\t// to the readable side. You may call 'push' zero or more times.\n\t//\n\t// Call `cb(err)` when you are done with this chunk. If you pass\n\t// an error, then that'll put the hurt on the whole operation. If you\n\t// never call cb(), then you'll never get another chunk.\n\tTransform.prototype._transform = function (chunk, encoding, cb) {\n\t throw new Error('_transform() is not implemented');\n\t};\n\t\n\tTransform.prototype._write = function (chunk, encoding, cb) {\n\t var ts = this._transformState;\n\t ts.writecb = cb;\n\t ts.writechunk = chunk;\n\t ts.writeencoding = encoding;\n\t if (!ts.transforming) {\n\t var rs = this._readableState;\n\t if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n\t }\n\t};\n\t\n\t// Doesn't matter what the args are here.\n\t// _transform does all the work.\n\t// That we got here means that the readable side wants more data.\n\tTransform.prototype._read = function (n) {\n\t var ts = this._transformState;\n\t\n\t if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n\t ts.transforming = true;\n\t this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n\t } else {\n\t // mark that we need a transform, so that any data that comes in\n\t // will get processed, now that we've asked for it.\n\t ts.needTransform = true;\n\t }\n\t};\n\t\n\tTransform.prototype._destroy = function (err, cb) {\n\t var _this = this;\n\t\n\t Duplex.prototype._destroy.call(this, err, function (err2) {\n\t cb(err2);\n\t _this.emit('close');\n\t });\n\t};\n\t\n\tfunction done(stream, er, data) {\n\t if (er) return stream.emit('error', er);\n\t\n\t if (data !== null && data !== undefined) stream.push(data);\n\t\n\t // if there's nothing in the write buffer, then that means\n\t // that nothing more will ever be provided\n\t var ws = stream._writableState;\n\t var ts = stream._transformState;\n\t\n\t if (ws.length) throw new Error('Calling transform done when ws.length != 0');\n\t\n\t if (ts.transforming) throw new Error('Calling transform done when still transforming');\n\t\n\t return stream.push(null);\n\t}\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// Copyright Joyent, Inc. and other Node contributors.\n\t//\n\t// Permission is hereby granted, free of charge, to any person obtaining a\n\t// copy of this software and associated documentation files (the\n\t// \"Software\"), to deal in the Software without restriction, including\n\t// without limitation the rights to use, copy, modify, merge, publish,\n\t// distribute, sublicense, and/or sell copies of the Software, and to permit\n\t// persons to whom the Software is furnished to do so, subject to the\n\t// following conditions:\n\t//\n\t// The above copyright notice and this permission notice shall be included\n\t// in all copies or substantial portions of the Software.\n\t//\n\t// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n\t// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n\t// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n\t// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n\t// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n\t// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n\t// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\t\n\t// a passthrough stream.\n\t// basically just the most minimal sort of Transform stream.\n\t// Every written chunk gets output as-is.\n\t\n\t'use strict';\n\t\n\tmodule.exports = PassThrough;\n\t\n\tvar Transform = __webpack_require__(131);\n\t\n\t/*<replacement>*/\n\tvar util = __webpack_require__(123);\n\tutil.inherits = __webpack_require__(111);\n\t/*</replacement>*/\n\t\n\tutil.inherits(PassThrough, Transform);\n\t\n\tfunction PassThrough(options) {\n\t if (!(this instanceof PassThrough)) return new PassThrough(options);\n\t\n\t Transform.call(this, options);\n\t}\n\t\n\tPassThrough.prototype._transform = function (chunk, encoding, cb) {\n\t cb(null, chunk);\n\t};\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(128);\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(127);\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(117).Transform;\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = __webpack_require__(117).PassThrough;\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _exports = module.exports = function SHA(algorithm) {\n\t algorithm = algorithm.toLowerCase();\n\t\n\t var Algorithm = _exports[algorithm];\n\t if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)');\n\t\n\t return new Algorithm();\n\t};\n\t\n\t_exports.sha = __webpack_require__(138);\n\t_exports.sha1 = __webpack_require__(140);\n\t_exports.sha224 = __webpack_require__(141);\n\t_exports.sha256 = __webpack_require__(142);\n\t_exports.sha384 = __webpack_require__(143);\n\t_exports.sha512 = __webpack_require__(144);\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*\n\t * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n\t * in FIPS PUB 180-1\n\t * This source code is derived from sha1.js of the same repository.\n\t * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n\t * operation was added.\n\t */\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Hash = __webpack_require__(139);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];\n\t\n\tvar W = new Array(80);\n\t\n\tfunction Sha() {\n\t this.init();\n\t this._w = W;\n\t\n\t Hash.call(this, 64, 56);\n\t}\n\t\n\tinherits(Sha, Hash);\n\t\n\tSha.prototype.init = function () {\n\t this._a = 0x67452301;\n\t this._b = 0xefcdab89;\n\t this._c = 0x98badcfe;\n\t this._d = 0x10325476;\n\t this._e = 0xc3d2e1f0;\n\t\n\t return this;\n\t};\n\t\n\tfunction rotl5(num) {\n\t return num << 5 | num >>> 27;\n\t}\n\t\n\tfunction rotl30(num) {\n\t return num << 30 | num >>> 2;\n\t}\n\t\n\tfunction ft(s, b, c, d) {\n\t if (s === 0) return b & c | ~b & d;\n\t if (s === 2) return b & c | b & d | c & d;\n\t return b ^ c ^ d;\n\t}\n\t\n\tSha.prototype._update = function (M) {\n\t var W = this._w;\n\t\n\t var a = this._a | 0;\n\t var b = this._b | 0;\n\t var c = this._c | 0;\n\t var d = this._d | 0;\n\t var e = this._e | 0;\n\t\n\t for (var i = 0; i < 16; ++i) {\n\t W[i] = M.readInt32BE(i * 4);\n\t }for (; i < 80; ++i) {\n\t W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t }for (var j = 0; j < 80; ++j) {\n\t var s = ~~(j / 20);\n\t var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0;\n\t\n\t e = d;\n\t d = c;\n\t c = rotl30(b);\n\t b = a;\n\t a = t;\n\t }\n\t\n\t this._a = a + this._a | 0;\n\t this._b = b + this._b | 0;\n\t this._c = c + this._c | 0;\n\t this._d = d + this._d | 0;\n\t this._e = e + this._e | 0;\n\t};\n\t\n\tSha.prototype._hash = function () {\n\t var H = Buffer.allocUnsafe(20);\n\t\n\t H.writeInt32BE(this._a | 0, 0);\n\t H.writeInt32BE(this._b | 0, 4);\n\t H.writeInt32BE(this._c | 0, 8);\n\t H.writeInt32BE(this._d | 0, 12);\n\t H.writeInt32BE(this._e | 0, 16);\n\t\n\t return H;\n\t};\n\t\n\tmodule.exports = Sha;\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\t// prototype class for hash functions\n\tfunction Hash(blockSize, finalSize) {\n\t this._block = Buffer.alloc(blockSize);\n\t this._finalSize = finalSize;\n\t this._blockSize = blockSize;\n\t this._len = 0;\n\t}\n\t\n\tHash.prototype.update = function (data, enc) {\n\t if (typeof data === 'string') {\n\t enc = enc || 'utf8';\n\t data = Buffer.from(data, enc);\n\t }\n\t\n\t var block = this._block;\n\t var blockSize = this._blockSize;\n\t var length = data.length;\n\t var accum = this._len;\n\t\n\t for (var offset = 0; offset < length;) {\n\t var assigned = accum % blockSize;\n\t var remainder = Math.min(length - offset, blockSize - assigned);\n\t\n\t for (var i = 0; i < remainder; i++) {\n\t block[assigned + i] = data[offset + i];\n\t }\n\t\n\t accum += remainder;\n\t offset += remainder;\n\t\n\t if (accum % blockSize === 0) {\n\t this._update(block);\n\t }\n\t }\n\t\n\t this._len += length;\n\t return this;\n\t};\n\t\n\tHash.prototype.digest = function (enc) {\n\t var rem = this._len % this._blockSize;\n\t\n\t this._block[rem] = 0x80;\n\t\n\t // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n\t // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n\t this._block.fill(0, rem + 1);\n\t\n\t if (rem >= this._finalSize) {\n\t this._update(this._block);\n\t this._block.fill(0);\n\t }\n\t\n\t var bits = this._len * 8;\n\t\n\t // uint32\n\t if (bits <= 0xffffffff) {\n\t this._block.writeUInt32BE(bits, this._blockSize - 4);\n\t\n\t // uint64\n\t } else {\n\t var lowBits = bits & 0xffffffff;\n\t var highBits = (bits - lowBits) / 0x100000000;\n\t\n\t this._block.writeUInt32BE(highBits, this._blockSize - 8);\n\t this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n\t }\n\t\n\t this._update(this._block);\n\t var hash = this._hash();\n\t\n\t return enc ? hash.toString(enc) : hash;\n\t};\n\t\n\tHash.prototype._update = function () {\n\t throw new Error('_update must be implemented by subclass');\n\t};\n\t\n\tmodule.exports = Hash;\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*\n\t * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n\t * in FIPS PUB 180-1\n\t * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t * Distributed under the BSD License\n\t * See http://pajhome.org.uk/crypt/md5 for details.\n\t */\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Hash = __webpack_require__(139);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];\n\t\n\tvar W = new Array(80);\n\t\n\tfunction Sha1() {\n\t this.init();\n\t this._w = W;\n\t\n\t Hash.call(this, 64, 56);\n\t}\n\t\n\tinherits(Sha1, Hash);\n\t\n\tSha1.prototype.init = function () {\n\t this._a = 0x67452301;\n\t this._b = 0xefcdab89;\n\t this._c = 0x98badcfe;\n\t this._d = 0x10325476;\n\t this._e = 0xc3d2e1f0;\n\t\n\t return this;\n\t};\n\t\n\tfunction rotl1(num) {\n\t return num << 1 | num >>> 31;\n\t}\n\t\n\tfunction rotl5(num) {\n\t return num << 5 | num >>> 27;\n\t}\n\t\n\tfunction rotl30(num) {\n\t return num << 30 | num >>> 2;\n\t}\n\t\n\tfunction ft(s, b, c, d) {\n\t if (s === 0) return b & c | ~b & d;\n\t if (s === 2) return b & c | b & d | c & d;\n\t return b ^ c ^ d;\n\t}\n\t\n\tSha1.prototype._update = function (M) {\n\t var W = this._w;\n\t\n\t var a = this._a | 0;\n\t var b = this._b | 0;\n\t var c = this._c | 0;\n\t var d = this._d | 0;\n\t var e = this._e | 0;\n\t\n\t for (var i = 0; i < 16; ++i) {\n\t W[i] = M.readInt32BE(i * 4);\n\t }for (; i < 80; ++i) {\n\t W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]);\n\t }for (var j = 0; j < 80; ++j) {\n\t var s = ~~(j / 20);\n\t var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0;\n\t\n\t e = d;\n\t d = c;\n\t c = rotl30(b);\n\t b = a;\n\t a = t;\n\t }\n\t\n\t this._a = a + this._a | 0;\n\t this._b = b + this._b | 0;\n\t this._c = c + this._c | 0;\n\t this._d = d + this._d | 0;\n\t this._e = e + this._e | 0;\n\t};\n\t\n\tSha1.prototype._hash = function () {\n\t var H = Buffer.allocUnsafe(20);\n\t\n\t H.writeInt32BE(this._a | 0, 0);\n\t H.writeInt32BE(this._b | 0, 4);\n\t H.writeInt32BE(this._c | 0, 8);\n\t H.writeInt32BE(this._d | 0, 12);\n\t H.writeInt32BE(this._e | 0, 16);\n\t\n\t return H;\n\t};\n\t\n\tmodule.exports = Sha1;\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n\t * in FIPS 180-2\n\t * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t *\n\t */\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Sha256 = __webpack_require__(142);\n\tvar Hash = __webpack_require__(139);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar W = new Array(64);\n\t\n\tfunction Sha224() {\n\t this.init();\n\t\n\t this._w = W; // new Array(64)\n\t\n\t Hash.call(this, 64, 56);\n\t}\n\t\n\tinherits(Sha224, Sha256);\n\t\n\tSha224.prototype.init = function () {\n\t this._a = 0xc1059ed8;\n\t this._b = 0x367cd507;\n\t this._c = 0x3070dd17;\n\t this._d = 0xf70e5939;\n\t this._e = 0xffc00b31;\n\t this._f = 0x68581511;\n\t this._g = 0x64f98fa7;\n\t this._h = 0xbefa4fa4;\n\t\n\t return this;\n\t};\n\t\n\tSha224.prototype._hash = function () {\n\t var H = Buffer.allocUnsafe(28);\n\t\n\t H.writeInt32BE(this._a, 0);\n\t H.writeInt32BE(this._b, 4);\n\t H.writeInt32BE(this._c, 8);\n\t H.writeInt32BE(this._d, 12);\n\t H.writeInt32BE(this._e, 16);\n\t H.writeInt32BE(this._f, 20);\n\t H.writeInt32BE(this._g, 24);\n\t\n\t return H;\n\t};\n\t\n\tmodule.exports = Sha224;\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n\t * in FIPS 180-2\n\t * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t *\n\t */\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Hash = __webpack_require__(139);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2];\n\t\n\tvar W = new Array(64);\n\t\n\tfunction Sha256() {\n\t this.init();\n\t\n\t this._w = W; // new Array(64)\n\t\n\t Hash.call(this, 64, 56);\n\t}\n\t\n\tinherits(Sha256, Hash);\n\t\n\tSha256.prototype.init = function () {\n\t this._a = 0x6a09e667;\n\t this._b = 0xbb67ae85;\n\t this._c = 0x3c6ef372;\n\t this._d = 0xa54ff53a;\n\t this._e = 0x510e527f;\n\t this._f = 0x9b05688c;\n\t this._g = 0x1f83d9ab;\n\t this._h = 0x5be0cd19;\n\t\n\t return this;\n\t};\n\t\n\tfunction ch(x, y, z) {\n\t return z ^ x & (y ^ z);\n\t}\n\t\n\tfunction maj(x, y, z) {\n\t return x & y | z & (x | y);\n\t}\n\t\n\tfunction sigma0(x) {\n\t return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n\t}\n\t\n\tfunction sigma1(x) {\n\t return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n\t}\n\t\n\tfunction gamma0(x) {\n\t return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n\t}\n\t\n\tfunction gamma1(x) {\n\t return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n\t}\n\t\n\tSha256.prototype._update = function (M) {\n\t var W = this._w;\n\t\n\t var a = this._a | 0;\n\t var b = this._b | 0;\n\t var c = this._c | 0;\n\t var d = this._d | 0;\n\t var e = this._e | 0;\n\t var f = this._f | 0;\n\t var g = this._g | 0;\n\t var h = this._h | 0;\n\t\n\t for (var i = 0; i < 16; ++i) {\n\t W[i] = M.readInt32BE(i * 4);\n\t }for (; i < 64; ++i) {\n\t W[i] = gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16] | 0;\n\t }for (var j = 0; j < 64; ++j) {\n\t var T1 = h + sigma1(e) + ch(e, f, g) + K[j] + W[j] | 0;\n\t var T2 = sigma0(a) + maj(a, b, c) | 0;\n\t\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = d + T1 | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = T1 + T2 | 0;\n\t }\n\t\n\t this._a = a + this._a | 0;\n\t this._b = b + this._b | 0;\n\t this._c = c + this._c | 0;\n\t this._d = d + this._d | 0;\n\t this._e = e + this._e | 0;\n\t this._f = f + this._f | 0;\n\t this._g = g + this._g | 0;\n\t this._h = h + this._h | 0;\n\t};\n\t\n\tSha256.prototype._hash = function () {\n\t var H = Buffer.allocUnsafe(32);\n\t\n\t H.writeInt32BE(this._a, 0);\n\t H.writeInt32BE(this._b, 4);\n\t H.writeInt32BE(this._c, 8);\n\t H.writeInt32BE(this._d, 12);\n\t H.writeInt32BE(this._e, 16);\n\t H.writeInt32BE(this._f, 20);\n\t H.writeInt32BE(this._g, 24);\n\t H.writeInt32BE(this._h, 28);\n\t\n\t return H;\n\t};\n\t\n\tmodule.exports = Sha256;\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar SHA512 = __webpack_require__(144);\n\tvar Hash = __webpack_require__(139);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar W = new Array(160);\n\t\n\tfunction Sha384() {\n\t this.init();\n\t this._w = W;\n\t\n\t Hash.call(this, 128, 112);\n\t}\n\t\n\tinherits(Sha384, SHA512);\n\t\n\tSha384.prototype.init = function () {\n\t this._ah = 0xcbbb9d5d;\n\t this._bh = 0x629a292a;\n\t this._ch = 0x9159015a;\n\t this._dh = 0x152fecd8;\n\t this._eh = 0x67332667;\n\t this._fh = 0x8eb44a87;\n\t this._gh = 0xdb0c2e0d;\n\t this._hh = 0x47b5481d;\n\t\n\t this._al = 0xc1059ed8;\n\t this._bl = 0x367cd507;\n\t this._cl = 0x3070dd17;\n\t this._dl = 0xf70e5939;\n\t this._el = 0xffc00b31;\n\t this._fl = 0x68581511;\n\t this._gl = 0x64f98fa7;\n\t this._hl = 0xbefa4fa4;\n\t\n\t return this;\n\t};\n\t\n\tSha384.prototype._hash = function () {\n\t var H = Buffer.allocUnsafe(48);\n\t\n\t function writeInt64BE(h, l, offset) {\n\t H.writeInt32BE(h, offset);\n\t H.writeInt32BE(l, offset + 4);\n\t }\n\t\n\t writeInt64BE(this._ah, this._al, 0);\n\t writeInt64BE(this._bh, this._bl, 8);\n\t writeInt64BE(this._ch, this._cl, 16);\n\t writeInt64BE(this._dh, this._dl, 24);\n\t writeInt64BE(this._eh, this._el, 32);\n\t writeInt64BE(this._fh, this._fl, 40);\n\t\n\t return H;\n\t};\n\t\n\tmodule.exports = Sha384;\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Hash = __webpack_require__(139);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817];\n\t\n\tvar W = new Array(160);\n\t\n\tfunction Sha512() {\n\t this.init();\n\t this._w = W;\n\t\n\t Hash.call(this, 128, 112);\n\t}\n\t\n\tinherits(Sha512, Hash);\n\t\n\tSha512.prototype.init = function () {\n\t this._ah = 0x6a09e667;\n\t this._bh = 0xbb67ae85;\n\t this._ch = 0x3c6ef372;\n\t this._dh = 0xa54ff53a;\n\t this._eh = 0x510e527f;\n\t this._fh = 0x9b05688c;\n\t this._gh = 0x1f83d9ab;\n\t this._hh = 0x5be0cd19;\n\t\n\t this._al = 0xf3bcc908;\n\t this._bl = 0x84caa73b;\n\t this._cl = 0xfe94f82b;\n\t this._dl = 0x5f1d36f1;\n\t this._el = 0xade682d1;\n\t this._fl = 0x2b3e6c1f;\n\t this._gl = 0xfb41bd6b;\n\t this._hl = 0x137e2179;\n\t\n\t return this;\n\t};\n\t\n\tfunction Ch(x, y, z) {\n\t return z ^ x & (y ^ z);\n\t}\n\t\n\tfunction maj(x, y, z) {\n\t return x & y | z & (x | y);\n\t}\n\t\n\tfunction sigma0(x, xl) {\n\t return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n\t}\n\t\n\tfunction sigma1(x, xl) {\n\t return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n\t}\n\t\n\tfunction Gamma0(x, xl) {\n\t return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n\t}\n\t\n\tfunction Gamma0l(x, xl) {\n\t return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n\t}\n\t\n\tfunction Gamma1(x, xl) {\n\t return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n\t}\n\t\n\tfunction Gamma1l(x, xl) {\n\t return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n\t}\n\t\n\tfunction getCarry(a, b) {\n\t return a >>> 0 < b >>> 0 ? 1 : 0;\n\t}\n\t\n\tSha512.prototype._update = function (M) {\n\t var W = this._w;\n\t\n\t var ah = this._ah | 0;\n\t var bh = this._bh | 0;\n\t var ch = this._ch | 0;\n\t var dh = this._dh | 0;\n\t var eh = this._eh | 0;\n\t var fh = this._fh | 0;\n\t var gh = this._gh | 0;\n\t var hh = this._hh | 0;\n\t\n\t var al = this._al | 0;\n\t var bl = this._bl | 0;\n\t var cl = this._cl | 0;\n\t var dl = this._dl | 0;\n\t var el = this._el | 0;\n\t var fl = this._fl | 0;\n\t var gl = this._gl | 0;\n\t var hl = this._hl | 0;\n\t\n\t for (var i = 0; i < 32; i += 2) {\n\t W[i] = M.readInt32BE(i * 4);\n\t W[i + 1] = M.readInt32BE(i * 4 + 4);\n\t }\n\t for (; i < 160; i += 2) {\n\t var xh = W[i - 15 * 2];\n\t var xl = W[i - 15 * 2 + 1];\n\t var gamma0 = Gamma0(xh, xl);\n\t var gamma0l = Gamma0l(xl, xh);\n\t\n\t xh = W[i - 2 * 2];\n\t xl = W[i - 2 * 2 + 1];\n\t var gamma1 = Gamma1(xh, xl);\n\t var gamma1l = Gamma1l(xl, xh);\n\t\n\t // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n\t var Wi7h = W[i - 7 * 2];\n\t var Wi7l = W[i - 7 * 2 + 1];\n\t\n\t var Wi16h = W[i - 16 * 2];\n\t var Wi16l = W[i - 16 * 2 + 1];\n\t\n\t var Wil = gamma0l + Wi7l | 0;\n\t var Wih = gamma0 + Wi7h + getCarry(Wil, gamma0l) | 0;\n\t Wil = Wil + gamma1l | 0;\n\t Wih = Wih + gamma1 + getCarry(Wil, gamma1l) | 0;\n\t Wil = Wil + Wi16l | 0;\n\t Wih = Wih + Wi16h + getCarry(Wil, Wi16l) | 0;\n\t\n\t W[i] = Wih;\n\t W[i + 1] = Wil;\n\t }\n\t\n\t for (var j = 0; j < 160; j += 2) {\n\t Wih = W[j];\n\t Wil = W[j + 1];\n\t\n\t var majh = maj(ah, bh, ch);\n\t var majl = maj(al, bl, cl);\n\t\n\t var sigma0h = sigma0(ah, al);\n\t var sigma0l = sigma0(al, ah);\n\t var sigma1h = sigma1(eh, el);\n\t var sigma1l = sigma1(el, eh);\n\t\n\t // t1 = h + sigma1 + ch + K[j] + W[j]\n\t var Kih = K[j];\n\t var Kil = K[j + 1];\n\t\n\t var chh = Ch(eh, fh, gh);\n\t var chl = Ch(el, fl, gl);\n\t\n\t var t1l = hl + sigma1l | 0;\n\t var t1h = hh + sigma1h + getCarry(t1l, hl) | 0;\n\t t1l = t1l + chl | 0;\n\t t1h = t1h + chh + getCarry(t1l, chl) | 0;\n\t t1l = t1l + Kil | 0;\n\t t1h = t1h + Kih + getCarry(t1l, Kil) | 0;\n\t t1l = t1l + Wil | 0;\n\t t1h = t1h + Wih + getCarry(t1l, Wil) | 0;\n\t\n\t // t2 = sigma0 + maj\n\t var t2l = sigma0l + majl | 0;\n\t var t2h = sigma0h + majh + getCarry(t2l, sigma0l) | 0;\n\t\n\t hh = gh;\n\t hl = gl;\n\t gh = fh;\n\t gl = fl;\n\t fh = eh;\n\t fl = el;\n\t el = dl + t1l | 0;\n\t eh = dh + t1h + getCarry(el, dl) | 0;\n\t dh = ch;\n\t dl = cl;\n\t ch = bh;\n\t cl = bl;\n\t bh = ah;\n\t bl = al;\n\t al = t1l + t2l | 0;\n\t ah = t1h + t2h + getCarry(al, t1l) | 0;\n\t }\n\t\n\t this._al = this._al + al | 0;\n\t this._bl = this._bl + bl | 0;\n\t this._cl = this._cl + cl | 0;\n\t this._dl = this._dl + dl | 0;\n\t this._el = this._el + el | 0;\n\t this._fl = this._fl + fl | 0;\n\t this._gl = this._gl + gl | 0;\n\t this._hl = this._hl + hl | 0;\n\t\n\t this._ah = this._ah + ah + getCarry(this._al, al) | 0;\n\t this._bh = this._bh + bh + getCarry(this._bl, bl) | 0;\n\t this._ch = this._ch + ch + getCarry(this._cl, cl) | 0;\n\t this._dh = this._dh + dh + getCarry(this._dl, dl) | 0;\n\t this._eh = this._eh + eh + getCarry(this._el, el) | 0;\n\t this._fh = this._fh + fh + getCarry(this._fl, fl) | 0;\n\t this._gh = this._gh + gh + getCarry(this._gl, gl) | 0;\n\t this._hh = this._hh + hh + getCarry(this._hl, hl) | 0;\n\t};\n\t\n\tSha512.prototype._hash = function () {\n\t var H = Buffer.allocUnsafe(64);\n\t\n\t function writeInt64BE(h, l, offset) {\n\t H.writeInt32BE(h, offset);\n\t H.writeInt32BE(l, offset + 4);\n\t }\n\t\n\t writeInt64BE(this._ah, this._al, 0);\n\t writeInt64BE(this._bh, this._bl, 8);\n\t writeInt64BE(this._ch, this._cl, 16);\n\t writeInt64BE(this._dh, this._dl, 24);\n\t writeInt64BE(this._eh, this._el, 32);\n\t writeInt64BE(this._fh, this._fl, 40);\n\t writeInt64BE(this._gh, this._gl, 48);\n\t writeInt64BE(this._hh, this._hl, 56);\n\t\n\t return H;\n\t};\n\t\n\tmodule.exports = Sha512;\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar Transform = __webpack_require__(116).Transform;\n\tvar StringDecoder = __webpack_require__(130).StringDecoder;\n\tvar inherits = __webpack_require__(111);\n\t\n\tfunction CipherBase(hashMode) {\n\t Transform.call(this);\n\t this.hashMode = typeof hashMode === 'string';\n\t if (this.hashMode) {\n\t this[hashMode] = this._finalOrDigest;\n\t } else {\n\t this.final = this._finalOrDigest;\n\t }\n\t if (this._final) {\n\t this.__final = this._final;\n\t this._final = null;\n\t }\n\t this._decoder = null;\n\t this._encoding = null;\n\t}\n\tinherits(CipherBase, Transform);\n\t\n\tCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n\t if (typeof data === 'string') {\n\t data = Buffer.from(data, inputEnc);\n\t }\n\t\n\t var outData = this._update(data);\n\t if (this.hashMode) return this;\n\t\n\t if (outputEnc) {\n\t outData = this._toString(outData, outputEnc);\n\t }\n\t\n\t return outData;\n\t};\n\t\n\tCipherBase.prototype.setAutoPadding = function () {};\n\tCipherBase.prototype.getAuthTag = function () {\n\t throw new Error('trying to get auth tag in unsupported state');\n\t};\n\t\n\tCipherBase.prototype.setAuthTag = function () {\n\t throw new Error('trying to set auth tag in unsupported state');\n\t};\n\t\n\tCipherBase.prototype.setAAD = function () {\n\t throw new Error('trying to set aad in unsupported state');\n\t};\n\t\n\tCipherBase.prototype._transform = function (data, _, next) {\n\t var err;\n\t try {\n\t if (this.hashMode) {\n\t this._update(data);\n\t } else {\n\t this.push(this._update(data));\n\t }\n\t } catch (e) {\n\t err = e;\n\t } finally {\n\t next(err);\n\t }\n\t};\n\tCipherBase.prototype._flush = function (done) {\n\t var err;\n\t try {\n\t this.push(this.__final());\n\t } catch (e) {\n\t err = e;\n\t }\n\t\n\t done(err);\n\t};\n\tCipherBase.prototype._finalOrDigest = function (outputEnc) {\n\t var outData = this.__final() || Buffer.alloc(0);\n\t if (outputEnc) {\n\t outData = this._toString(outData, outputEnc, true);\n\t }\n\t return outData;\n\t};\n\t\n\tCipherBase.prototype._toString = function (value, enc, fin) {\n\t if (!this._decoder) {\n\t this._decoder = new StringDecoder(enc);\n\t this._encoding = enc;\n\t }\n\t\n\t if (this._encoding !== enc) throw new Error('can\\'t switch encodings');\n\t\n\t var out = this._decoder.write(value);\n\t if (fin) {\n\t out += this._decoder.end();\n\t }\n\t\n\t return out;\n\t};\n\t\n\tmodule.exports = CipherBase;\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Legacy = __webpack_require__(147);\n\tvar Base = __webpack_require__(145);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar md5 = __webpack_require__(112);\n\tvar RIPEMD160 = __webpack_require__(114);\n\t\n\tvar sha = __webpack_require__(137);\n\t\n\tvar ZEROS = Buffer.alloc(128);\n\t\n\tfunction Hmac(alg, key) {\n\t Base.call(this, 'digest');\n\t if (typeof key === 'string') {\n\t key = Buffer.from(key);\n\t }\n\t\n\t var blocksize = alg === 'sha512' || alg === 'sha384' ? 128 : 64;\n\t\n\t this._alg = alg;\n\t this._key = key;\n\t if (key.length > blocksize) {\n\t var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg);\n\t key = hash.update(key).digest();\n\t } else if (key.length < blocksize) {\n\t key = Buffer.concat([key, ZEROS], blocksize);\n\t }\n\t\n\t var ipad = this._ipad = Buffer.allocUnsafe(blocksize);\n\t var opad = this._opad = Buffer.allocUnsafe(blocksize);\n\t\n\t for (var i = 0; i < blocksize; i++) {\n\t ipad[i] = key[i] ^ 0x36;\n\t opad[i] = key[i] ^ 0x5C;\n\t }\n\t this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg);\n\t this._hash.update(ipad);\n\t}\n\t\n\tinherits(Hmac, Base);\n\t\n\tHmac.prototype._update = function (data) {\n\t this._hash.update(data);\n\t};\n\t\n\tHmac.prototype._final = function () {\n\t var h = this._hash.digest();\n\t var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg);\n\t return hash.update(this._opad).update(h).digest();\n\t};\n\t\n\tmodule.exports = function createHmac(alg, key) {\n\t alg = alg.toLowerCase();\n\t if (alg === 'rmd160' || alg === 'ripemd160') {\n\t return new Hmac('rmd160', key);\n\t }\n\t if (alg === 'md5') {\n\t return new Legacy(md5, key);\n\t }\n\t return new Hmac(alg, key);\n\t};\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tvar Base = __webpack_require__(145);\n\t\n\tvar ZEROS = Buffer.alloc(128);\n\tvar blocksize = 64;\n\t\n\tfunction Hmac(alg, key) {\n\t Base.call(this, 'digest');\n\t if (typeof key === 'string') {\n\t key = Buffer.from(key);\n\t }\n\t\n\t this._alg = alg;\n\t this._key = key;\n\t\n\t if (key.length > blocksize) {\n\t key = alg(key);\n\t } else if (key.length < blocksize) {\n\t key = Buffer.concat([key, ZEROS], blocksize);\n\t }\n\t\n\t var ipad = this._ipad = Buffer.allocUnsafe(blocksize);\n\t var opad = this._opad = Buffer.allocUnsafe(blocksize);\n\t\n\t for (var i = 0; i < blocksize; i++) {\n\t ipad[i] = key[i] ^ 0x36;\n\t opad[i] = key[i] ^ 0x5C;\n\t }\n\t\n\t this._hash = [ipad];\n\t}\n\t\n\tinherits(Hmac, Base);\n\t\n\tHmac.prototype._update = function (data) {\n\t this._hash.push(data);\n\t};\n\t\n\tHmac.prototype._final = function () {\n\t var h = this._alg(Buffer.concat(this._hash));\n\t return this._alg(Buffer.concat([this._opad, h]));\n\t};\n\tmodule.exports = Hmac;\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar basex = __webpack_require__(149);\n\tvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';\n\t\n\tmodule.exports = basex(ALPHABET);\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t// base-x encoding\n\t// Forked from https://github.com/cryptocoinjs/bs58\n\t// Originally written by Mike Hearn for BitcoinJ\n\t// Copyright (c) 2011 Google Inc\n\t// Ported to JavaScript by Stefan Thomas\n\t// Merged Buffer refactorings from base58-native by Stephen Pair\n\t// Copyright (c) 2013 BitPay Inc\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tmodule.exports = function base(ALPHABET) {\n\t var ALPHABET_MAP = {};\n\t var BASE = ALPHABET.length;\n\t var LEADER = ALPHABET.charAt(0);\n\t\n\t // pre-compute lookup table\n\t for (var z = 0; z < ALPHABET.length; z++) {\n\t var x = ALPHABET.charAt(z);\n\t\n\t if (ALPHABET_MAP[x] !== undefined) throw new TypeError(x + ' is ambiguous');\n\t ALPHABET_MAP[x] = z;\n\t }\n\t\n\t function encode(source) {\n\t if (source.length === 0) return '';\n\t\n\t var digits = [0];\n\t for (var i = 0; i < source.length; ++i) {\n\t for (var j = 0, carry = source[i]; j < digits.length; ++j) {\n\t carry += digits[j] << 8;\n\t digits[j] = carry % BASE;\n\t carry = carry / BASE | 0;\n\t }\n\t\n\t while (carry > 0) {\n\t digits.push(carry % BASE);\n\t carry = carry / BASE | 0;\n\t }\n\t }\n\t\n\t var string = '';\n\t\n\t // deal with leading zeros\n\t for (var k = 0; source[k] === 0 && k < source.length - 1; ++k) {\n\t string += ALPHABET[0];\n\t } // convert digits to a string\n\t for (var q = digits.length - 1; q >= 0; --q) {\n\t string += ALPHABET[digits[q]];\n\t }return string;\n\t }\n\t\n\t function decodeUnsafe(string) {\n\t if (typeof string !== 'string') throw new TypeError('Expected String');\n\t if (string.length === 0) return Buffer.allocUnsafe(0);\n\t\n\t var bytes = [0];\n\t for (var i = 0; i < string.length; i++) {\n\t var value = ALPHABET_MAP[string[i]];\n\t if (value === undefined) return;\n\t\n\t for (var j = 0, carry = value; j < bytes.length; ++j) {\n\t carry += bytes[j] * BASE;\n\t bytes[j] = carry & 0xff;\n\t carry >>= 8;\n\t }\n\t\n\t while (carry > 0) {\n\t bytes.push(carry & 0xff);\n\t carry >>= 8;\n\t }\n\t }\n\t\n\t // deal with leading zeros\n\t for (var k = 0; string[k] === LEADER && k < string.length - 1; ++k) {\n\t bytes.push(0);\n\t }\n\t\n\t return Buffer.from(bytes.reverse());\n\t }\n\t\n\t function decode(string) {\n\t var buffer = decodeUnsafe(string);\n\t if (buffer) return buffer;\n\t\n\t throw new Error('Non-base' + BASE + ' character');\n\t }\n\t\n\t return {\n\t encode: encode,\n\t decodeUnsafe: decodeUnsafe,\n\t decode: decode\n\t };\n\t};\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.encrypt = encrypt;\n\texports.decrypt = decrypt;\n\t\n\tvar _secureRandom = __webpack_require__(151);\n\t\n\tvar _secureRandom2 = _interopRequireDefault(_secureRandom);\n\t\n\tvar _bytebuffer = __webpack_require__(153);\n\t\n\tvar _bytebuffer2 = _interopRequireDefault(_bytebuffer);\n\t\n\tvar _browserifyAes = __webpack_require__(156);\n\t\n\tvar _browserifyAes2 = _interopRequireDefault(_browserifyAes);\n\t\n\tvar _assert = __webpack_require__(105);\n\t\n\tvar _assert2 = _interopRequireDefault(_assert);\n\t\n\tvar _key_public = __webpack_require__(177);\n\t\n\tvar _key_public2 = _interopRequireDefault(_key_public);\n\t\n\tvar _key_private = __webpack_require__(187);\n\t\n\tvar _key_private2 = _interopRequireDefault(_key_private);\n\t\n\tvar _hash = __webpack_require__(109);\n\t\n\tvar _hash2 = _interopRequireDefault(_hash);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Long = _bytebuffer2.default.Long;\n\t\n\t/**\n\t Spec: http://localhost:3002/steem/@dantheman/how-to-encrypt-a-memo-when-transferring-steem\n\t @throws {Error|TypeError} - \"Invalid Key, ...\"\n\t @arg {PrivateKey} private_key - required and used for decryption\n\t @arg {PublicKey} public_key - required and used to calcualte the shared secret\n\t @arg {string} [nonce = uniqueNonce()] - assigned a random unique uint64\n\t\n\t @return {object}\n\t @property {string} nonce - random or unique uint64, provides entropy when re-using the same private/public keys.\n\t @property {Buffer} message - Plain text message\n\t @property {number} checksum - shared secret checksum\n\t*/\n\tfunction encrypt(private_key, public_key, message) {\n\t var nonce = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : uniqueNonce();\n\t\n\t return crypt(private_key, public_key, nonce, message);\n\t}\n\t\n\t/**\n\t Spec: http://localhost:3002/steem/@dantheman/how-to-encrypt-a-memo-when-transferring-steem\n\t @arg {PrivateKey} private_key - required and used for decryption\n\t @arg {PublicKey} public_key - required and used to calcualte the shared secret\n\t @arg {string} nonce - random or unique uint64, provides entropy when re-using the same private/public keys.\n\t @arg {Buffer} message - Encrypted or plain text message\n\t @arg {number} checksum - shared secret checksum\n\t @throws {Error|TypeError} - \"Invalid Key, ...\"\n\t @return {Buffer} - message\n\t*/\n\tfunction decrypt(private_key, public_key, nonce, message, checksum) {\n\t return crypt(private_key, public_key, nonce, message, checksum).message;\n\t}\n\t\n\t/**\n\t @arg {Buffer} message - Encrypted or plain text message (see checksum)\n\t @arg {number} checksum - shared secret checksum (null to encrypt, non-null to decrypt)\n\t*/\n\tfunction crypt(private_key, public_key, nonce, message, checksum) {\n\t private_key = toPrivateObj(private_key);\n\t if (!private_key) throw new TypeError('private_key is required');\n\t\n\t public_key = toPublicObj(public_key);\n\t if (!public_key) throw new TypeError('public_key is required');\n\t\n\t nonce = toLongObj(nonce);\n\t if (!nonce) throw new TypeError('nonce is required');\n\t\n\t if (!Buffer.isBuffer(message)) {\n\t if (typeof message !== 'string') throw new TypeError('message should be buffer or string');\n\t message = new Buffer(message, 'binary');\n\t }\n\t if (checksum && typeof checksum !== 'number') throw new TypeError('checksum should be a number');\n\t\n\t var S = private_key.get_shared_secret(public_key);\n\t var ebuf = new _bytebuffer2.default(_bytebuffer2.default.DEFAULT_CAPACITY, _bytebuffer2.default.LITTLE_ENDIAN);\n\t ebuf.writeUint64(nonce);\n\t ebuf.append(S.toString('binary'), 'binary');\n\t ebuf = new Buffer(ebuf.copy(0, ebuf.offset).toBinary(), 'binary');\n\t var encryption_key = _hash2.default.sha512(ebuf);\n\t\n\t // D E B U G\n\t // console.log('crypt', {\n\t // priv_to_pub: private_key.toPublicKey().toString(),\n\t // pub: public_key.toString(),\n\t // nonce: nonce.toString(),\n\t // message: message.length,\n\t // checksum,\n\t // S: S.toString('hex'),\n\t // encryption_key: encryption_key.toString('hex'),\n\t // })\n\t\n\t var iv = encryption_key.slice(32, 48);\n\t var key = encryption_key.slice(0, 32);\n\t\n\t // check is first 64 bit of sha256 hash treated as uint64_t truncated to 32 bits.\n\t var check = _hash2.default.sha256(encryption_key);\n\t check = check.slice(0, 4);\n\t var cbuf = _bytebuffer2.default.fromBinary(check.toString('binary'), _bytebuffer2.default.DEFAULT_CAPACITY, _bytebuffer2.default.LITTLE_ENDIAN);\n\t check = cbuf.readUint32();\n\t\n\t if (checksum) {\n\t if (check !== checksum) throw new Error('Invalid key');\n\t message = cryptoJsDecrypt(message, key, iv);\n\t } else {\n\t message = cryptoJsEncrypt(message, key, iv);\n\t }\n\t return { nonce: nonce, message: message, checksum: check };\n\t}\n\t\n\t/** This method does not use a checksum, the returned data must be validated some other way.\n\t @arg {string|Buffer} ciphertext - binary format\n\t @return {Buffer}\n\t*/\n\tfunction cryptoJsDecrypt(message, key, iv) {\n\t (0, _assert2.default)(message, \"Missing cipher text\");\n\t message = toBinaryBuffer(message);\n\t var decipher = _browserifyAes2.default.createDecipheriv('aes-256-cbc', key, iv);\n\t // decipher.setAutoPadding(true)\n\t message = Buffer.concat([decipher.update(message), decipher.final()]);\n\t return message;\n\t}\n\t\n\t/** This method does not use a checksum, the returned data must be validated some other way.\n\t @arg {string|Buffer} plaintext - binary format\n\t @return {Buffer} binary\n\t*/\n\tfunction cryptoJsEncrypt(message, key, iv) {\n\t (0, _assert2.default)(message, \"Missing plain text\");\n\t message = toBinaryBuffer(message);\n\t var cipher = _browserifyAes2.default.createCipheriv('aes-256-cbc', key, iv);\n\t // cipher.setAutoPadding(true)\n\t message = Buffer.concat([cipher.update(message), cipher.final()]);\n\t return message;\n\t}\n\t\n\t/** @return {string} unique 64 bit unsigned number string. Being time based, this is careful to never choose the same nonce twice. This value could be recorded in the blockchain for a long time.\n\t*/\n\tfunction uniqueNonce() {\n\t if (unique_nonce_entropy === null) {\n\t var b = _secureRandom2.default.randomUint8Array(2);\n\t unique_nonce_entropy = parseInt(b[0] << 8 | b[1], 10);\n\t }\n\t var long = Long.fromNumber(Date.now());\n\t var entropy = ++unique_nonce_entropy % 0xFFFF;\n\t // console.log('uniqueNonce date\\t', ByteBuffer.allocate(8).writeUint64(long).toHex(0))\n\t // console.log('uniqueNonce entropy\\t', ByteBuffer.allocate(8).writeUint64(Long.fromNumber(entropy)).toHex(0))\n\t long = long.shiftLeft(16).or(Long.fromNumber(entropy));\n\t // console.log('uniqueNonce final\\t', ByteBuffer.allocate(8).writeUint64(long).toHex(0))\n\t return long.toString();\n\t}\n\tvar unique_nonce_entropy = null;\n\t// for(let i=1; i < 10; i++) key.uniqueNonce()\n\t\n\tvar toPrivateObj = function toPrivateObj(o) {\n\t return o ? o.d ? o : _key_private2.default.fromWif(o) : o /*null or undefined*/;\n\t};\n\tvar toPublicObj = function toPublicObj(o) {\n\t return o ? o.Q ? o : _key_public2.default.fromString(o) : o /*null or undefined*/;\n\t};\n\tvar toLongObj = function toLongObj(o) {\n\t return o ? Long.isLong(o) ? o : Long.fromString(o) : o;\n\t};\n\tvar toBinaryBuffer = function toBinaryBuffer(o) {\n\t return o ? Buffer.isBuffer(o) ? o : new Buffer(o, 'binary') : o;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(process, Buffer) {'use strict';\n\t\n\t!function (globals) {\n\t 'use strict';\n\t\n\t //*** UMD BEGIN\n\t\n\t if (true) {\n\t //require.js / AMD\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {\n\t return secureRandom;\n\t }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module !== 'undefined' && module.exports) {\n\t //CommonJS\n\t module.exports = secureRandom;\n\t } else {\n\t //script / browser\n\t globals.secureRandom = secureRandom;\n\t }\n\t //*** UMD END\n\t\n\t //options.type is the only valid option\n\t function secureRandom(count, options) {\n\t options = options || { type: 'Array'\n\t //we check for process.pid to prevent browserify from tricking us\n\t };if (typeof process != 'undefined' && typeof process.pid == 'number' && process.versions && process.versions.node) {\n\t return nodeRandom(count, options);\n\t } else {\n\t var crypto = window.crypto || window.msCrypto;\n\t if (!crypto) throw new Error(\"Your browser does not support window.crypto.\");\n\t return browserRandom(count, options);\n\t }\n\t }\n\t\n\t function nodeRandom(count, options) {\n\t var crypto = __webpack_require__(152);\n\t var buf = crypto.randomBytes(count);\n\t\n\t switch (options.type) {\n\t case 'Array':\n\t return [].slice.call(buf);\n\t case 'Buffer':\n\t return buf;\n\t case 'Uint8Array':\n\t var arr = new Uint8Array(count);\n\t for (var i = 0; i < count; ++i) {\n\t arr[i] = buf.readUInt8(i);\n\t }\n\t return arr;\n\t default:\n\t throw new Error(options.type + \" is unsupported.\");\n\t }\n\t }\n\t\n\t function browserRandom(count, options) {\n\t var nativeArr = new Uint8Array(count);\n\t var crypto = window.crypto || window.msCrypto;\n\t crypto.getRandomValues(nativeArr);\n\t\n\t switch (options.type) {\n\t case 'Array':\n\t return [].slice.call(nativeArr);\n\t case 'Buffer':\n\t try {\n\t var b = new Buffer(1);\n\t } catch (e) {\n\t throw new Error('Buffer not supported in this environment. Use Node.js or Browserify for browser support.');\n\t }\n\t return new Buffer(nativeArr);\n\t case 'Uint8Array':\n\t return nativeArr;\n\t default:\n\t throw new Error(options.type + \" is unsupported.\");\n\t }\n\t }\n\t\n\t secureRandom.randomArray = function (byteCount) {\n\t return secureRandom(byteCount, { type: 'Array' });\n\t };\n\t\n\t secureRandom.randomUint8Array = function (byteCount) {\n\t return secureRandom(byteCount, { type: 'Uint8Array' });\n\t };\n\t\n\t secureRandom.randomBuffer = function (byteCount) {\n\t return secureRandom(byteCount, { type: 'Buffer' });\n\t };\n\t}(undefined);\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5), __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 152 */\n96,\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/*\r\n\t Copyright 2013-2014 Daniel Wirtz <dcode@dcode.io>\r\n\t\r\n\t Licensed under the Apache License, Version 2.0 (the \"License\");\r\n\t you may not use this file except in compliance with the License.\r\n\t You may obtain a copy of the License at\r\n\t\r\n\t http://www.apache.org/licenses/LICENSE-2.0\r\n\t\r\n\t Unless required by applicable law or agreed to in writing, software\r\n\t distributed under the License is distributed on an \"AS IS\" BASIS,\r\n\t WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n\t See the License for the specific language governing permissions and\r\n\t limitations under the License.\r\n\t */\n\t\n\t/**\r\n\t * @license bytebuffer.js (c) 2015 Daniel Wirtz <dcode@dcode.io>\r\n\t * Backing buffer: ArrayBuffer, Accessor: Uint8Array\r\n\t * Released under the Apache License, Version 2.0\r\n\t * see: https://github.com/dcodeIO/bytebuffer.js for details\r\n\t */\n\t(function (global, factory) {\n\t\n\t /* AMD */if (\"function\" === 'function' && __webpack_require__(154)[\"amd\"]) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(155)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t /* CommonJS */else if (\"function\" === 'function' && ( false ? \"undefined\" : _typeof(module)) === \"object\" && module && module[\"exports\"]) module['exports'] = function () {\n\t var Long;try {\n\t Long = __webpack_require__(155);\n\t } catch (e) {}\n\t return factory(Long);\n\t }();\n\t /* Global */else (global[\"dcodeIO\"] = global[\"dcodeIO\"] || {})[\"ByteBuffer\"] = factory(global[\"dcodeIO\"][\"Long\"]);\n\t})(undefined, function (Long) {\n\t \"use strict\";\n\t\n\t /**\r\n\t * Constructs a new ByteBuffer.\r\n\t * @class The swiss army knife for binary data in JavaScript.\r\n\t * @exports ByteBuffer\r\n\t * @constructor\r\n\t * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}.\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @expose\r\n\t */\n\t\n\t var ByteBuffer = function ByteBuffer(capacity, littleEndian, noAssert) {\n\t if (typeof capacity === 'undefined') capacity = ByteBuffer.DEFAULT_CAPACITY;\n\t if (typeof littleEndian === 'undefined') littleEndian = ByteBuffer.DEFAULT_ENDIAN;\n\t if (typeof noAssert === 'undefined') noAssert = ByteBuffer.DEFAULT_NOASSERT;\n\t if (!noAssert) {\n\t capacity = capacity | 0;\n\t if (capacity < 0) throw RangeError(\"Illegal capacity\");\n\t littleEndian = !!littleEndian;\n\t noAssert = !!noAssert;\n\t }\n\t\n\t /**\r\n\t * Backing ArrayBuffer.\r\n\t * @type {!ArrayBuffer}\r\n\t * @expose\r\n\t */\n\t this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity);\n\t\n\t /**\r\n\t * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`.\r\n\t * @type {?Uint8Array}\r\n\t * @expose\r\n\t */\n\t this.view = capacity === 0 ? null : new Uint8Array(this.buffer);\n\t\n\t /**\r\n\t * Absolute read/write offset.\r\n\t * @type {number}\r\n\t * @expose\r\n\t * @see ByteBuffer#flip\r\n\t * @see ByteBuffer#clear\r\n\t */\n\t this.offset = 0;\n\t\n\t /**\r\n\t * Marked offset.\r\n\t * @type {number}\r\n\t * @expose\r\n\t * @see ByteBuffer#mark\r\n\t * @see ByteBuffer#reset\r\n\t */\n\t this.markedOffset = -1;\n\t\n\t /**\r\n\t * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation.\r\n\t * @type {number}\r\n\t * @expose\r\n\t * @see ByteBuffer#flip\r\n\t * @see ByteBuffer#clear\r\n\t */\n\t this.limit = capacity;\n\t\n\t /**\r\n\t * Whether to use little endian byte order, defaults to `false` for big endian.\r\n\t * @type {boolean}\r\n\t * @expose\r\n\t */\n\t this.littleEndian = littleEndian;\n\t\n\t /**\r\n\t * Whether to skip assertions of offsets and values, defaults to `false`.\r\n\t * @type {boolean}\r\n\t * @expose\r\n\t */\n\t this.noAssert = noAssert;\n\t };\n\t\n\t /**\r\n\t * ByteBuffer version.\r\n\t * @type {string}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.VERSION = \"5.0.1\";\n\t\n\t /**\r\n\t * Little endian constant that can be used instead of its boolean value. Evaluates to `true`.\r\n\t * @type {boolean}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.LITTLE_ENDIAN = true;\n\t\n\t /**\r\n\t * Big endian constant that can be used instead of its boolean value. Evaluates to `false`.\r\n\t * @type {boolean}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.BIG_ENDIAN = false;\n\t\n\t /**\r\n\t * Default initial capacity of `16`.\r\n\t * @type {number}\r\n\t * @expose\r\n\t */\n\t ByteBuffer.DEFAULT_CAPACITY = 16;\n\t\n\t /**\r\n\t * Default endianess of `false` for big endian.\r\n\t * @type {boolean}\r\n\t * @expose\r\n\t */\n\t ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN;\n\t\n\t /**\r\n\t * Default no assertions flag of `false`.\r\n\t * @type {boolean}\r\n\t * @expose\r\n\t */\n\t ByteBuffer.DEFAULT_NOASSERT = false;\n\t\n\t /**\r\n\t * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded\r\n\t * and int64 support is not available.\r\n\t * @type {?Long}\r\n\t * @const\r\n\t * @see https://github.com/dcodeIO/long.js\r\n\t * @expose\r\n\t */\n\t ByteBuffer.Long = Long || null;\n\t\n\t /**\r\n\t * @alias ByteBuffer.prototype\r\n\t * @inner\r\n\t */\n\t var ByteBufferPrototype = ByteBuffer.prototype;\n\t\n\t /**\r\n\t * An indicator used to reliably determine if an object is a ByteBuffer or not.\r\n\t * @type {boolean}\r\n\t * @const\r\n\t * @expose\r\n\t * @private\r\n\t */\n\t ByteBufferPrototype.__isByteBuffer__;\n\t\n\t Object.defineProperty(ByteBufferPrototype, \"__isByteBuffer__\", {\n\t value: true,\n\t enumerable: false,\n\t configurable: false\n\t });\n\t\n\t // helpers\n\t\n\t /**\r\n\t * @type {!ArrayBuffer}\r\n\t * @inner\r\n\t */\n\t var EMPTY_BUFFER = new ArrayBuffer(0);\n\t\n\t /**\r\n\t * String.fromCharCode reference for compile-time renaming.\r\n\t * @type {function(...number):string}\r\n\t * @inner\r\n\t */\n\t var stringFromCharCode = String.fromCharCode;\n\t\n\t /**\r\n\t * Creates a source function for a string.\r\n\t * @param {string} s String to read from\r\n\t * @returns {function():number|null} Source function returning the next char code respectively `null` if there are\r\n\t * no more characters left.\r\n\t * @throws {TypeError} If the argument is invalid\r\n\t * @inner\r\n\t */\n\t function stringSource(s) {\n\t var i = 0;return function () {\n\t return i < s.length ? s.charCodeAt(i++) : null;\n\t };\n\t }\n\t\n\t /**\r\n\t * Creates a destination function for a string.\r\n\t * @returns {function(number=):undefined|string} Destination function successively called with the next char code.\r\n\t * Returns the final string when called without arguments.\r\n\t * @inner\r\n\t */\n\t function stringDestination() {\n\t var cs = [],\n\t ps = [];return function () {\n\t if (arguments.length === 0) return ps.join('') + stringFromCharCode.apply(String, cs);\n\t if (cs.length + arguments.length > 1024) ps.push(stringFromCharCode.apply(String, cs)), cs.length = 0;\n\t Array.prototype.push.apply(cs, arguments);\n\t };\n\t }\n\t\n\t /**\r\n\t * Gets the accessor type.\r\n\t * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes)\r\n\t * @expose\r\n\t */\n\t ByteBuffer.accessor = function () {\n\t return Uint8Array;\n\t };\n\t /**\r\n\t * Allocates a new ByteBuffer backed by a buffer of the specified capacity.\r\n\t * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}.\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @returns {!ByteBuffer}\r\n\t * @expose\r\n\t */\n\t ByteBuffer.allocate = function (capacity, littleEndian, noAssert) {\n\t return new ByteBuffer(capacity, littleEndian, noAssert);\n\t };\n\t\n\t /**\r\n\t * Concatenates multiple ByteBuffers into one.\r\n\t * @param {!Array.<!ByteBuffer|!ArrayBuffer|!Uint8Array|string>} buffers Buffers to concatenate\r\n\t * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string (\"base64\", \"hex\", \"binary\",\r\n\t * defaults to \"utf8\")\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults\r\n\t * to {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @returns {!ByteBuffer} Concatenated ByteBuffer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.concat = function (buffers, encoding, littleEndian, noAssert) {\n\t if (typeof encoding === 'boolean' || typeof encoding !== 'string') {\n\t noAssert = littleEndian;\n\t littleEndian = encoding;\n\t encoding = undefined;\n\t }\n\t var capacity = 0;\n\t for (var i = 0, k = buffers.length, length; i < k; ++i) {\n\t if (!ByteBuffer.isByteBuffer(buffers[i])) buffers[i] = ByteBuffer.wrap(buffers[i], encoding);\n\t length = buffers[i].limit - buffers[i].offset;\n\t if (length > 0) capacity += length;\n\t }\n\t if (capacity === 0) return new ByteBuffer(0, littleEndian, noAssert);\n\t var bb = new ByteBuffer(capacity, littleEndian, noAssert),\n\t bi;\n\t i = 0;while (i < k) {\n\t bi = buffers[i++];\n\t length = bi.limit - bi.offset;\n\t if (length <= 0) continue;\n\t bb.view.set(bi.view.subarray(bi.offset, bi.limit), bb.offset);\n\t bb.offset += length;\n\t }\n\t bb.limit = bb.offset;\n\t bb.offset = 0;\n\t return bb;\n\t };\n\t\n\t /**\r\n\t * Tests if the specified type is a ByteBuffer.\r\n\t * @param {*} bb ByteBuffer to test\r\n\t * @returns {boolean} `true` if it is a ByteBuffer, otherwise `false`\r\n\t * @expose\r\n\t */\n\t ByteBuffer.isByteBuffer = function (bb) {\n\t return (bb && bb[\"__isByteBuffer__\"]) === true;\n\t };\n\t /**\r\n\t * Gets the backing buffer type.\r\n\t * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes)\r\n\t * @expose\r\n\t */\n\t ByteBuffer.type = function () {\n\t return ArrayBuffer;\n\t };\n\t /**\r\n\t * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its\r\n\t * {@link ByteBuffer#limit} to the length of the wrapped data.\r\n\t * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string|!Array.<number>} buffer Anything that can be wrapped\r\n\t * @param {(string|boolean)=} encoding String encoding if `buffer` is a string (\"base64\", \"hex\", \"binary\", defaults to\r\n\t * \"utf8\")\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer`\r\n\t * @expose\r\n\t */\n\t ByteBuffer.wrap = function (buffer, encoding, littleEndian, noAssert) {\n\t if (typeof encoding !== 'string') {\n\t noAssert = littleEndian;\n\t littleEndian = encoding;\n\t encoding = undefined;\n\t }\n\t if (typeof buffer === 'string') {\n\t if (typeof encoding === 'undefined') encoding = \"utf8\";\n\t switch (encoding) {\n\t case \"base64\":\n\t return ByteBuffer.fromBase64(buffer, littleEndian);\n\t case \"hex\":\n\t return ByteBuffer.fromHex(buffer, littleEndian);\n\t case \"binary\":\n\t return ByteBuffer.fromBinary(buffer, littleEndian);\n\t case \"utf8\":\n\t return ByteBuffer.fromUTF8(buffer, littleEndian);\n\t case \"debug\":\n\t return ByteBuffer.fromDebug(buffer, littleEndian);\n\t default:\n\t throw Error(\"Unsupported encoding: \" + encoding);\n\t }\n\t }\n\t if (buffer === null || (typeof buffer === \"undefined\" ? \"undefined\" : _typeof(buffer)) !== 'object') throw TypeError(\"Illegal buffer\");\n\t var bb;\n\t if (ByteBuffer.isByteBuffer(buffer)) {\n\t bb = ByteBufferPrototype.clone.call(buffer);\n\t bb.markedOffset = -1;\n\t return bb;\n\t }\n\t if (buffer instanceof Uint8Array) {\n\t // Extract ArrayBuffer from Uint8Array\n\t bb = new ByteBuffer(0, littleEndian, noAssert);\n\t if (buffer.length > 0) {\n\t // Avoid references to more than one EMPTY_BUFFER\n\t bb.buffer = buffer.buffer;\n\t bb.offset = buffer.byteOffset;\n\t bb.limit = buffer.byteOffset + buffer.byteLength;\n\t bb.view = new Uint8Array(buffer.buffer);\n\t }\n\t } else if (buffer instanceof ArrayBuffer) {\n\t // Reuse ArrayBuffer\n\t bb = new ByteBuffer(0, littleEndian, noAssert);\n\t if (buffer.byteLength > 0) {\n\t bb.buffer = buffer;\n\t bb.offset = 0;\n\t bb.limit = buffer.byteLength;\n\t bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null;\n\t }\n\t } else if (Object.prototype.toString.call(buffer) === \"[object Array]\") {\n\t // Create from octets\n\t bb = new ByteBuffer(buffer.length, littleEndian, noAssert);\n\t bb.limit = buffer.length;\n\t for (var i = 0; i < buffer.length; ++i) {\n\t bb.view[i] = buffer[i];\n\t }\n\t } else throw TypeError(\"Illegal buffer\"); // Otherwise fail\n\t return bb;\n\t };\n\t\n\t /**\r\n\t * Writes the array as a bitset.\r\n\t * @param {Array<boolean>} value Array of booleans to write\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted.\r\n\t * @returns {!ByteBuffer}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeBitSet = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (!(value instanceof Array)) throw TypeError(\"Illegal BitSet: Not an array\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t\n\t var start = offset,\n\t bits = value.length,\n\t bytes = bits >> 3,\n\t bit = 0,\n\t k;\n\t\n\t offset += this.writeVarint32(bits, offset);\n\t\n\t while (bytes--) {\n\t k = !!value[bit++] & 1 | (!!value[bit++] & 1) << 1 | (!!value[bit++] & 1) << 2 | (!!value[bit++] & 1) << 3 | (!!value[bit++] & 1) << 4 | (!!value[bit++] & 1) << 5 | (!!value[bit++] & 1) << 6 | (!!value[bit++] & 1) << 7;\n\t this.writeByte(k, offset++);\n\t }\n\t\n\t if (bit < bits) {\n\t var m = 0;k = 0;\n\t while (bit < bits) {\n\t k = k | (!!value[bit++] & 1) << m++;\n\t }this.writeByte(k, offset++);\n\t }\n\t\n\t if (relative) {\n\t this.offset = offset;\n\t return this;\n\t }\n\t return offset - start;\n\t };\n\t\n\t /**\r\n\t * Reads a BitSet as an array of booleans.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted.\r\n\t * @returns {Array<boolean>\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readBitSet = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t\n\t var ret = this.readVarint32(offset),\n\t bits = ret.value,\n\t bytes = bits >> 3,\n\t bit = 0,\n\t value = [],\n\t k;\n\t\n\t offset += ret.length;\n\t\n\t while (bytes--) {\n\t k = this.readByte(offset++);\n\t value[bit++] = !!(k & 0x01);\n\t value[bit++] = !!(k & 0x02);\n\t value[bit++] = !!(k & 0x04);\n\t value[bit++] = !!(k & 0x08);\n\t value[bit++] = !!(k & 0x10);\n\t value[bit++] = !!(k & 0x20);\n\t value[bit++] = !!(k & 0x40);\n\t value[bit++] = !!(k & 0x80);\n\t }\n\t\n\t if (bit < bits) {\n\t var m = 0;\n\t k = this.readByte(offset++);\n\t while (bit < bits) {\n\t value[bit++] = !!(k >> m++ & 1);\n\t }\n\t }\n\t\n\t if (relative) {\n\t this.offset = offset;\n\t }\n\t return value;\n\t };\n\t /**\r\n\t * Reads the specified number of bytes.\r\n\t * @param {number} length Number of bytes to read\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted.\r\n\t * @returns {!ByteBuffer}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readBytes = function (length, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + length > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + length + \") <= \" + this.buffer.byteLength);\n\t }\n\t var slice = this.slice(offset, offset + length);\n\t if (relative) this.offset += length;\n\t return slice;\n\t };\n\t\n\t /**\r\n\t * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}.\r\n\t * @function\r\n\t * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets\r\n\t * will be modified according to the performed read operation.\r\n\t * @param {(string|number)=} encoding Encoding if `data` is a string (\"base64\", \"hex\", \"binary\", defaults to \"utf8\")\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeBytes = ByteBufferPrototype.append;\n\t\n\t // types/ints/int8\n\t\n\t /**\r\n\t * Writes an 8bit signed integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeInt8 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value |= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 1;\n\t var capacity0 = this.buffer.byteLength;\n\t if (offset > capacity0) this.resize((capacity0 *= 2) > offset ? capacity0 : offset);\n\t offset -= 1;\n\t this.view[offset] = value;\n\t if (relative) this.offset += 1;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8;\n\t\n\t /**\r\n\t * Reads an 8bit signed integer.\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readInt8 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 1 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = this.view[offset];\n\t if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed\n\t if (relative) this.offset += 1;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8;\n\t\n\t /**\r\n\t * Writes an 8bit unsigned integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUint8 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value >>>= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 1;\n\t var capacity1 = this.buffer.byteLength;\n\t if (offset > capacity1) this.resize((capacity1 *= 2) > offset ? capacity1 : offset);\n\t offset -= 1;\n\t this.view[offset] = value;\n\t if (relative) this.offset += 1;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8;\n\t\n\t /**\r\n\t * Reads an 8bit unsigned integer.\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUint8 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 1 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = this.view[offset];\n\t if (relative) this.offset += 1;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8;\n\t\n\t // types/ints/int16\n\t\n\t /**\r\n\t * Writes a 16bit signed integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @throws {TypeError} If `offset` or `value` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeInt16 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value |= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 2;\n\t var capacity2 = this.buffer.byteLength;\n\t if (offset > capacity2) this.resize((capacity2 *= 2) > offset ? capacity2 : offset);\n\t offset -= 2;\n\t if (this.littleEndian) {\n\t this.view[offset + 1] = (value & 0xFF00) >>> 8;\n\t this.view[offset] = value & 0x00FF;\n\t } else {\n\t this.view[offset] = (value & 0xFF00) >>> 8;\n\t this.view[offset + 1] = value & 0x00FF;\n\t }\n\t if (relative) this.offset += 2;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @throws {TypeError} If `offset` or `value` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16;\n\t\n\t /**\r\n\t * Reads a 16bit signed integer.\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @throws {TypeError} If `offset` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readInt16 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 2 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = 0;\n\t if (this.littleEndian) {\n\t value = this.view[offset];\n\t value |= this.view[offset + 1] << 8;\n\t } else {\n\t value = this.view[offset] << 8;\n\t value |= this.view[offset + 1];\n\t }\n\t if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed\n\t if (relative) this.offset += 2;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @throws {TypeError} If `offset` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16;\n\t\n\t /**\r\n\t * Writes a 16bit unsigned integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @throws {TypeError} If `offset` or `value` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUint16 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value >>>= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 2;\n\t var capacity3 = this.buffer.byteLength;\n\t if (offset > capacity3) this.resize((capacity3 *= 2) > offset ? capacity3 : offset);\n\t offset -= 2;\n\t if (this.littleEndian) {\n\t this.view[offset + 1] = (value & 0xFF00) >>> 8;\n\t this.view[offset] = value & 0x00FF;\n\t } else {\n\t this.view[offset] = (value & 0xFF00) >>> 8;\n\t this.view[offset + 1] = value & 0x00FF;\n\t }\n\t if (relative) this.offset += 2;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @throws {TypeError} If `offset` or `value` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16;\n\t\n\t /**\r\n\t * Reads a 16bit unsigned integer.\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @throws {TypeError} If `offset` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUint16 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 2 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = 0;\n\t if (this.littleEndian) {\n\t value = this.view[offset];\n\t value |= this.view[offset + 1] << 8;\n\t } else {\n\t value = this.view[offset] << 8;\n\t value |= this.view[offset + 1];\n\t }\n\t if (relative) this.offset += 2;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @throws {TypeError} If `offset` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16;\n\t\n\t // types/ints/int32\n\t\n\t /**\r\n\t * Writes a 32bit signed integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeInt32 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value |= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 4;\n\t var capacity4 = this.buffer.byteLength;\n\t if (offset > capacity4) this.resize((capacity4 *= 2) > offset ? capacity4 : offset);\n\t offset -= 4;\n\t if (this.littleEndian) {\n\t this.view[offset + 3] = value >>> 24 & 0xFF;\n\t this.view[offset + 2] = value >>> 16 & 0xFF;\n\t this.view[offset + 1] = value >>> 8 & 0xFF;\n\t this.view[offset] = value & 0xFF;\n\t } else {\n\t this.view[offset] = value >>> 24 & 0xFF;\n\t this.view[offset + 1] = value >>> 16 & 0xFF;\n\t this.view[offset + 2] = value >>> 8 & 0xFF;\n\t this.view[offset + 3] = value & 0xFF;\n\t }\n\t if (relative) this.offset += 4;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32;\n\t\n\t /**\r\n\t * Reads a 32bit signed integer.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readInt32 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 4 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = 0;\n\t if (this.littleEndian) {\n\t value = this.view[offset + 2] << 16;\n\t value |= this.view[offset + 1] << 8;\n\t value |= this.view[offset];\n\t value += this.view[offset + 3] << 24 >>> 0;\n\t } else {\n\t value = this.view[offset + 1] << 16;\n\t value |= this.view[offset + 2] << 8;\n\t value |= this.view[offset + 3];\n\t value += this.view[offset] << 24 >>> 0;\n\t }\n\t value |= 0; // Cast to signed\n\t if (relative) this.offset += 4;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}.\r\n\t * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32;\n\t\n\t /**\r\n\t * Writes a 32bit unsigned integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUint32 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value >>>= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 4;\n\t var capacity5 = this.buffer.byteLength;\n\t if (offset > capacity5) this.resize((capacity5 *= 2) > offset ? capacity5 : offset);\n\t offset -= 4;\n\t if (this.littleEndian) {\n\t this.view[offset + 3] = value >>> 24 & 0xFF;\n\t this.view[offset + 2] = value >>> 16 & 0xFF;\n\t this.view[offset + 1] = value >>> 8 & 0xFF;\n\t this.view[offset] = value & 0xFF;\n\t } else {\n\t this.view[offset] = value >>> 24 & 0xFF;\n\t this.view[offset + 1] = value >>> 16 & 0xFF;\n\t this.view[offset + 2] = value >>> 8 & 0xFF;\n\t this.view[offset + 3] = value & 0xFF;\n\t }\n\t if (relative) this.offset += 4;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32;\n\t\n\t /**\r\n\t * Reads a 32bit unsigned integer.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUint32 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 4 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = 0;\n\t if (this.littleEndian) {\n\t value = this.view[offset + 2] << 16;\n\t value |= this.view[offset + 1] << 8;\n\t value |= this.view[offset];\n\t value += this.view[offset + 3] << 24 >>> 0;\n\t } else {\n\t value = this.view[offset + 1] << 16;\n\t value |= this.view[offset + 2] << 8;\n\t value |= this.view[offset + 3];\n\t value += this.view[offset] << 24 >>> 0;\n\t }\n\t if (relative) this.offset += 4;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {number} Value read\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32;\n\t\n\t // types/ints/int64\n\t\n\t if (Long) {\n\t\n\t /**\r\n\t * Writes a 64bit signed integer.\r\n\t * @param {number|!Long} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeInt64 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value === 'number') value = Long.fromNumber(value);else if (typeof value === 'string') value = Long.fromString(value);else if (!(value && value instanceof Long)) throw TypeError(\"Illegal value: \" + value + \" (not an integer or Long)\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t if (typeof value === 'number') value = Long.fromNumber(value);else if (typeof value === 'string') value = Long.fromString(value);\n\t offset += 8;\n\t var capacity6 = this.buffer.byteLength;\n\t if (offset > capacity6) this.resize((capacity6 *= 2) > offset ? capacity6 : offset);\n\t offset -= 8;\n\t var lo = value.low,\n\t hi = value.high;\n\t if (this.littleEndian) {\n\t this.view[offset + 3] = lo >>> 24 & 0xFF;\n\t this.view[offset + 2] = lo >>> 16 & 0xFF;\n\t this.view[offset + 1] = lo >>> 8 & 0xFF;\n\t this.view[offset] = lo & 0xFF;\n\t offset += 4;\n\t this.view[offset + 3] = hi >>> 24 & 0xFF;\n\t this.view[offset + 2] = hi >>> 16 & 0xFF;\n\t this.view[offset + 1] = hi >>> 8 & 0xFF;\n\t this.view[offset] = hi & 0xFF;\n\t } else {\n\t this.view[offset] = hi >>> 24 & 0xFF;\n\t this.view[offset + 1] = hi >>> 16 & 0xFF;\n\t this.view[offset + 2] = hi >>> 8 & 0xFF;\n\t this.view[offset + 3] = hi & 0xFF;\n\t offset += 4;\n\t this.view[offset] = lo >>> 24 & 0xFF;\n\t this.view[offset + 1] = lo >>> 16 & 0xFF;\n\t this.view[offset + 2] = lo >>> 8 & 0xFF;\n\t this.view[offset + 3] = lo & 0xFF;\n\t }\n\t if (relative) this.offset += 8;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}.\r\n\t * @param {number|!Long} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64;\n\t\n\t /**\r\n\t * Reads a 64bit signed integer.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!Long}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readInt64 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 8 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var lo = 0,\n\t hi = 0;\n\t if (this.littleEndian) {\n\t lo = this.view[offset + 2] << 16;\n\t lo |= this.view[offset + 1] << 8;\n\t lo |= this.view[offset];\n\t lo += this.view[offset + 3] << 24 >>> 0;\n\t offset += 4;\n\t hi = this.view[offset + 2] << 16;\n\t hi |= this.view[offset + 1] << 8;\n\t hi |= this.view[offset];\n\t hi += this.view[offset + 3] << 24 >>> 0;\n\t } else {\n\t hi = this.view[offset + 1] << 16;\n\t hi |= this.view[offset + 2] << 8;\n\t hi |= this.view[offset + 3];\n\t hi += this.view[offset] << 24 >>> 0;\n\t offset += 4;\n\t lo = this.view[offset + 1] << 16;\n\t lo |= this.view[offset + 2] << 8;\n\t lo |= this.view[offset + 3];\n\t lo += this.view[offset] << 24 >>> 0;\n\t }\n\t var value = new Long(lo, hi, false);\n\t if (relative) this.offset += 8;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!Long}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64;\n\t\n\t /**\r\n\t * Writes a 64bit unsigned integer.\r\n\t * @param {number|!Long} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUint64 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value === 'number') value = Long.fromNumber(value);else if (typeof value === 'string') value = Long.fromString(value);else if (!(value && value instanceof Long)) throw TypeError(\"Illegal value: \" + value + \" (not an integer or Long)\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t if (typeof value === 'number') value = Long.fromNumber(value);else if (typeof value === 'string') value = Long.fromString(value);\n\t offset += 8;\n\t var capacity7 = this.buffer.byteLength;\n\t if (offset > capacity7) this.resize((capacity7 *= 2) > offset ? capacity7 : offset);\n\t offset -= 8;\n\t var lo = value.low,\n\t hi = value.high;\n\t if (this.littleEndian) {\n\t this.view[offset + 3] = lo >>> 24 & 0xFF;\n\t this.view[offset + 2] = lo >>> 16 & 0xFF;\n\t this.view[offset + 1] = lo >>> 8 & 0xFF;\n\t this.view[offset] = lo & 0xFF;\n\t offset += 4;\n\t this.view[offset + 3] = hi >>> 24 & 0xFF;\n\t this.view[offset + 2] = hi >>> 16 & 0xFF;\n\t this.view[offset + 1] = hi >>> 8 & 0xFF;\n\t this.view[offset] = hi & 0xFF;\n\t } else {\n\t this.view[offset] = hi >>> 24 & 0xFF;\n\t this.view[offset + 1] = hi >>> 16 & 0xFF;\n\t this.view[offset + 2] = hi >>> 8 & 0xFF;\n\t this.view[offset + 3] = hi & 0xFF;\n\t offset += 4;\n\t this.view[offset] = lo >>> 24 & 0xFF;\n\t this.view[offset + 1] = lo >>> 16 & 0xFF;\n\t this.view[offset + 2] = lo >>> 8 & 0xFF;\n\t this.view[offset + 3] = lo & 0xFF;\n\t }\n\t if (relative) this.offset += 8;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}.\r\n\t * @function\r\n\t * @param {number|!Long} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64;\n\t\n\t /**\r\n\t * Reads a 64bit unsigned integer.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!Long}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUint64 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 8 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var lo = 0,\n\t hi = 0;\n\t if (this.littleEndian) {\n\t lo = this.view[offset + 2] << 16;\n\t lo |= this.view[offset + 1] << 8;\n\t lo |= this.view[offset];\n\t lo += this.view[offset + 3] << 24 >>> 0;\n\t offset += 4;\n\t hi = this.view[offset + 2] << 16;\n\t hi |= this.view[offset + 1] << 8;\n\t hi |= this.view[offset];\n\t hi += this.view[offset + 3] << 24 >>> 0;\n\t } else {\n\t hi = this.view[offset + 1] << 16;\n\t hi |= this.view[offset + 2] << 8;\n\t hi |= this.view[offset + 3];\n\t hi += this.view[offset] << 24 >>> 0;\n\t offset += 4;\n\t lo = this.view[offset + 1] << 16;\n\t lo |= this.view[offset + 2] << 8;\n\t lo |= this.view[offset + 3];\n\t lo += this.view[offset] << 24 >>> 0;\n\t }\n\t var value = new Long(lo, hi, true);\n\t if (relative) this.offset += 8;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!Long}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64;\n\t } // Long\n\t\n\t\n\t // types/floats/float32\n\t\n\t /*\r\n\t ieee754 - https://github.com/feross/ieee754\r\n\t The MIT License (MIT)\r\n\t Copyright (c) Feross Aboukhadijeh\r\n\t Permission is hereby granted, free of charge, to any person obtaining a copy\r\n\t of this software and associated documentation files (the \"Software\"), to deal\r\n\t in the Software without restriction, including without limitation the rights\r\n\t to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n\t copies of the Software, and to permit persons to whom the Software is\r\n\t furnished to do so, subject to the following conditions:\r\n\t The above copyright notice and this permission notice shall be included in\r\n\t all copies or substantial portions of the Software.\r\n\t THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n\t IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n\t FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n\t AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n\t LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n\t OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n\t THE SOFTWARE.\r\n\t */\n\t\n\t /**\r\n\t * Reads an IEEE754 float from a byte array.\r\n\t * @param {!Array} buffer\r\n\t * @param {number} offset\r\n\t * @param {boolean} isLE\r\n\t * @param {number} mLen\r\n\t * @param {number} nBytes\r\n\t * @returns {number}\r\n\t * @inner\r\n\t */\n\t function ieee754_read(buffer, offset, isLE, mLen, nBytes) {\n\t var e,\n\t m,\n\t eLen = nBytes * 8 - mLen - 1,\n\t eMax = (1 << eLen) - 1,\n\t eBias = eMax >> 1,\n\t nBits = -7,\n\t i = isLE ? nBytes - 1 : 0,\n\t d = isLE ? -1 : 1,\n\t s = buffer[offset + i];\n\t\n\t i += d;\n\t\n\t e = s & (1 << -nBits) - 1;\n\t s >>= -nBits;\n\t nBits += eLen;\n\t for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\t\n\t m = e & (1 << -nBits) - 1;\n\t e >>= -nBits;\n\t nBits += mLen;\n\t for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\t\n\t if (e === 0) {\n\t e = 1 - eBias;\n\t } else if (e === eMax) {\n\t return m ? NaN : (s ? -1 : 1) * Infinity;\n\t } else {\n\t m = m + Math.pow(2, mLen);\n\t e = e - eBias;\n\t }\n\t return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n\t }\n\t\n\t /**\r\n\t * Writes an IEEE754 float to a byte array.\r\n\t * @param {!Array} buffer\r\n\t * @param {number} value\r\n\t * @param {number} offset\r\n\t * @param {boolean} isLE\r\n\t * @param {number} mLen\r\n\t * @param {number} nBytes\r\n\t * @inner\r\n\t */\n\t function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) {\n\t var e,\n\t m,\n\t c,\n\t eLen = nBytes * 8 - mLen - 1,\n\t eMax = (1 << eLen) - 1,\n\t eBias = eMax >> 1,\n\t rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0,\n\t i = isLE ? 0 : nBytes - 1,\n\t d = isLE ? 1 : -1,\n\t s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n\t\n\t value = Math.abs(value);\n\t\n\t if (isNaN(value) || value === Infinity) {\n\t m = isNaN(value) ? 1 : 0;\n\t e = eMax;\n\t } else {\n\t e = Math.floor(Math.log(value) / Math.LN2);\n\t if (value * (c = Math.pow(2, -e)) < 1) {\n\t e--;\n\t c *= 2;\n\t }\n\t if (e + eBias >= 1) {\n\t value += rt / c;\n\t } else {\n\t value += rt * Math.pow(2, 1 - eBias);\n\t }\n\t if (value * c >= 2) {\n\t e++;\n\t c /= 2;\n\t }\n\t\n\t if (e + eBias >= eMax) {\n\t m = 0;\n\t e = eMax;\n\t } else if (e + eBias >= 1) {\n\t m = (value * c - 1) * Math.pow(2, mLen);\n\t e = e + eBias;\n\t } else {\n\t m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n\t e = 0;\n\t }\n\t }\n\t\n\t for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\t\n\t e = e << mLen | m;\n\t eLen += mLen;\n\t for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\t\n\t buffer[offset + i - d] |= s * 128;\n\t }\n\t\n\t /**\r\n\t * Writes a 32bit float.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeFloat32 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number') throw TypeError(\"Illegal value: \" + value + \" (not a number)\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 4;\n\t var capacity8 = this.buffer.byteLength;\n\t if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset);\n\t offset -= 4;\n\t ieee754_write(this.view, value, offset, this.littleEndian, 23, 4);\n\t if (relative) this.offset += 4;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32;\n\t\n\t /**\r\n\t * Reads a 32bit float.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {number}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readFloat32 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 4 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4);\n\t if (relative) this.offset += 4;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n\t * @returns {number}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32;\n\t\n\t // types/floats/float64\n\t\n\t /**\r\n\t * Writes a 64bit float.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeFloat64 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number') throw TypeError(\"Illegal value: \" + value + \" (not a number)\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t offset += 8;\n\t var capacity9 = this.buffer.byteLength;\n\t if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset);\n\t offset -= 8;\n\t ieee754_write(this.view, value, offset, this.littleEndian, 52, 8);\n\t if (relative) this.offset += 8;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}.\r\n\t * @function\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64;\n\t\n\t /**\r\n\t * Reads a 64bit float.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {number}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readFloat64 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 8 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8);\n\t if (relative) this.offset += 8;\n\t return value;\n\t };\n\t\n\t /**\r\n\t * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}.\r\n\t * @function\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n\t * @returns {number}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64;\n\t\n\t // types/varints/varint32\n\t\n\t /**\r\n\t * Maximum number of bytes required to store a 32bit base 128 variable-length integer.\r\n\t * @type {number}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.MAX_VARINT32_BYTES = 5;\n\t\n\t /**\r\n\t * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer.\r\n\t * @param {number} value Value to encode\r\n\t * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES}\r\n\t * @expose\r\n\t */\n\t ByteBuffer.calculateVarint32 = function (value) {\n\t // ref: src/google/protobuf/io/coded_stream.cc\n\t value = value >>> 0;\n\t if (value < 1 << 7) return 1;else if (value < 1 << 14) return 2;else if (value < 1 << 21) return 3;else if (value < 1 << 28) return 4;else return 5;\n\t };\n\t\n\t /**\r\n\t * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding.\r\n\t * @param {number} n Signed 32bit integer\r\n\t * @returns {number} Unsigned zigzag encoded 32bit integer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.zigZagEncode32 = function (n) {\n\t return ((n |= 0) << 1 ^ n >> 31) >>> 0; // ref: src/google/protobuf/wire_format_lite.h\n\t };\n\t\n\t /**\r\n\t * Decodes a zigzag encoded signed 32bit integer.\r\n\t * @param {number} n Unsigned zigzag encoded 32bit integer\r\n\t * @returns {number} Signed 32bit integer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.zigZagDecode32 = function (n) {\n\t return n >>> 1 ^ -(n & 1) | 0; // // ref: src/google/protobuf/wire_format_lite.h\n\t };\n\t\n\t /**\r\n\t * Writes a 32bit base 128 variable-length integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeVarint32 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value |= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var size = ByteBuffer.calculateVarint32(value),\n\t b;\n\t offset += size;\n\t var capacity10 = this.buffer.byteLength;\n\t if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset);\n\t offset -= size;\n\t value >>>= 0;\n\t while (value >= 0x80) {\n\t b = value & 0x7f | 0x80;\n\t this.view[offset++] = b;\n\t value >>>= 7;\n\t }\n\t this.view[offset++] = value;\n\t if (relative) {\n\t this.offset = offset;\n\t return this;\n\t }\n\t return size;\n\t };\n\t\n\t /**\r\n\t * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer.\r\n\t * @param {number} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeVarint32ZigZag = function (value, offset) {\n\t return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset);\n\t };\n\t\n\t /**\r\n\t * Reads a 32bit base 128 variable-length integer.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read\r\n\t * and the actual number of bytes read.\r\n\t * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available\r\n\t * to fully decode the varint.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readVarint32 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 1 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var c = 0,\n\t value = 0 >>> 0,\n\t b;\n\t do {\n\t if (!this.noAssert && offset > this.limit) {\n\t var err = Error(\"Truncated\");\n\t err['truncated'] = true;\n\t throw err;\n\t }\n\t b = this.view[offset++];\n\t if (c < 5) value |= (b & 0x7f) << 7 * c;\n\t ++c;\n\t } while ((b & 0x80) !== 0);\n\t value |= 0;\n\t if (relative) {\n\t this.offset = offset;\n\t return value;\n\t }\n\t return {\n\t \"value\": value,\n\t \"length\": c\n\t };\n\t };\n\t\n\t /**\r\n\t * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read\r\n\t * and the actual number of bytes read.\r\n\t * @throws {Error} If it's not a valid varint\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readVarint32ZigZag = function (offset) {\n\t var val = this.readVarint32(offset);\n\t if ((typeof val === \"undefined\" ? \"undefined\" : _typeof(val)) === 'object') val[\"value\"] = ByteBuffer.zigZagDecode32(val[\"value\"]);else val = ByteBuffer.zigZagDecode32(val);\n\t return val;\n\t };\n\t\n\t // types/varints/varint64\n\t\n\t if (Long) {\n\t\n\t /**\r\n\t * Maximum number of bytes required to store a 64bit base 128 variable-length integer.\r\n\t * @type {number}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.MAX_VARINT64_BYTES = 10;\n\t\n\t /**\r\n\t * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer.\r\n\t * @param {number|!Long} value Value to encode\r\n\t * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES}\r\n\t * @expose\r\n\t */\n\t ByteBuffer.calculateVarint64 = function (value) {\n\t if (typeof value === 'number') value = Long.fromNumber(value);else if (typeof value === 'string') value = Long.fromString(value);\n\t // ref: src/google/protobuf/io/coded_stream.cc\n\t var part0 = value.toInt() >>> 0,\n\t part1 = value.shiftRightUnsigned(28).toInt() >>> 0,\n\t part2 = value.shiftRightUnsigned(56).toInt() >>> 0;\n\t if (part2 == 0) {\n\t if (part1 == 0) {\n\t if (part0 < 1 << 14) return part0 < 1 << 7 ? 1 : 2;else return part0 < 1 << 21 ? 3 : 4;\n\t } else {\n\t if (part1 < 1 << 14) return part1 < 1 << 7 ? 5 : 6;else return part1 < 1 << 21 ? 7 : 8;\n\t }\n\t } else return part2 < 1 << 7 ? 9 : 10;\n\t };\n\t\n\t /**\r\n\t * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding.\r\n\t * @param {number|!Long} value Signed long\r\n\t * @returns {!Long} Unsigned zigzag encoded long\r\n\t * @expose\r\n\t */\n\t ByteBuffer.zigZagEncode64 = function (value) {\n\t if (typeof value === 'number') value = Long.fromNumber(value, false);else if (typeof value === 'string') value = Long.fromString(value, false);else if (value.unsigned !== false) value = value.toSigned();\n\t // ref: src/google/protobuf/wire_format_lite.h\n\t return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned();\n\t };\n\t\n\t /**\r\n\t * Decodes a zigzag encoded signed 64bit integer.\r\n\t * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number\r\n\t * @returns {!Long} Signed long\r\n\t * @expose\r\n\t */\n\t ByteBuffer.zigZagDecode64 = function (value) {\n\t if (typeof value === 'number') value = Long.fromNumber(value, false);else if (typeof value === 'string') value = Long.fromString(value, false);else if (value.unsigned !== false) value = value.toSigned();\n\t // ref: src/google/protobuf/wire_format_lite.h\n\t return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned();\n\t };\n\t\n\t /**\r\n\t * Writes a 64bit base 128 variable-length integer.\r\n\t * @param {number|Long} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeVarint64 = function (value, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof value === 'number') value = Long.fromNumber(value);else if (typeof value === 'string') value = Long.fromString(value);else if (!(value && value instanceof Long)) throw TypeError(\"Illegal value: \" + value + \" (not an integer or Long)\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t if (typeof value === 'number') value = Long.fromNumber(value, false);else if (typeof value === 'string') value = Long.fromString(value, false);else if (value.unsigned !== false) value = value.toSigned();\n\t var size = ByteBuffer.calculateVarint64(value),\n\t part0 = value.toInt() >>> 0,\n\t part1 = value.shiftRightUnsigned(28).toInt() >>> 0,\n\t part2 = value.shiftRightUnsigned(56).toInt() >>> 0;\n\t offset += size;\n\t var capacity11 = this.buffer.byteLength;\n\t if (offset > capacity11) this.resize((capacity11 *= 2) > offset ? capacity11 : offset);\n\t offset -= size;\n\t switch (size) {\n\t case 10:\n\t this.view[offset + 9] = part2 >>> 7 & 0x01;\n\t case 9:\n\t this.view[offset + 8] = size !== 9 ? part2 | 0x80 : part2 & 0x7F;\n\t case 8:\n\t this.view[offset + 7] = size !== 8 ? part1 >>> 21 | 0x80 : part1 >>> 21 & 0x7F;\n\t case 7:\n\t this.view[offset + 6] = size !== 7 ? part1 >>> 14 | 0x80 : part1 >>> 14 & 0x7F;\n\t case 6:\n\t this.view[offset + 5] = size !== 6 ? part1 >>> 7 | 0x80 : part1 >>> 7 & 0x7F;\n\t case 5:\n\t this.view[offset + 4] = size !== 5 ? part1 | 0x80 : part1 & 0x7F;\n\t case 4:\n\t this.view[offset + 3] = size !== 4 ? part0 >>> 21 | 0x80 : part0 >>> 21 & 0x7F;\n\t case 3:\n\t this.view[offset + 2] = size !== 3 ? part0 >>> 14 | 0x80 : part0 >>> 14 & 0x7F;\n\t case 2:\n\t this.view[offset + 1] = size !== 2 ? part0 >>> 7 | 0x80 : part0 >>> 7 & 0x7F;\n\t case 1:\n\t this.view[offset] = size !== 1 ? part0 | 0x80 : part0 & 0x7F;\n\t }\n\t if (relative) {\n\t this.offset += size;\n\t return this;\n\t } else {\n\t return size;\n\t }\n\t };\n\t\n\t /**\r\n\t * Writes a zig-zag encoded 64bit base 128 variable-length integer.\r\n\t * @param {number|Long} value Value to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeVarint64ZigZag = function (value, offset) {\n\t return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset);\n\t };\n\t\n\t /**\r\n\t * Reads a 64bit base 128 variable-length integer. Requires Long.js.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and\r\n\t * the actual number of bytes read.\r\n\t * @throws {Error} If it's not a valid varint\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readVarint64 = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 1 + \") <= \" + this.buffer.byteLength);\n\t }\n\t // ref: src/google/protobuf/io/coded_stream.cc\n\t var start = offset,\n\t part0 = 0,\n\t part1 = 0,\n\t part2 = 0,\n\t b = 0;\n\t b = this.view[offset++];part0 = b & 0x7F;if (b & 0x80) {\n\t b = this.view[offset++];part0 |= (b & 0x7F) << 7;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part0 |= (b & 0x7F) << 14;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part0 |= (b & 0x7F) << 21;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part1 = b & 0x7F;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part1 |= (b & 0x7F) << 7;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part1 |= (b & 0x7F) << 14;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part1 |= (b & 0x7F) << 21;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part2 = b & 0x7F;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t b = this.view[offset++];part2 |= (b & 0x7F) << 7;if (b & 0x80 || this.noAssert && typeof b === 'undefined') {\n\t throw Error(\"Buffer overrun\");\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t var value = Long.fromBits(part0 | part1 << 28, part1 >>> 4 | part2 << 24, false);\n\t if (relative) {\n\t this.offset = offset;\n\t return value;\n\t } else {\n\t return {\n\t 'value': value,\n\t 'length': offset - start\n\t };\n\t }\n\t };\n\t\n\t /**\r\n\t * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and\r\n\t * the actual number of bytes read.\r\n\t * @throws {Error} If it's not a valid varint\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readVarint64ZigZag = function (offset) {\n\t var val = this.readVarint64(offset);\n\t if (val && val['value'] instanceof Long) val[\"value\"] = ByteBuffer.zigZagDecode64(val[\"value\"]);else val = ByteBuffer.zigZagDecode64(val);\n\t return val;\n\t };\n\t } // Long\n\t\n\t\n\t // types/strings/cstring\n\t\n\t /**\r\n\t * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL\r\n\t * characters itself.\r\n\t * @param {string} str String to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * contained in `str` + 1 if omitted.\r\n\t * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeCString = function (str, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t var i,\n\t k = str.length;\n\t if (!this.noAssert) {\n\t if (typeof str !== 'string') throw TypeError(\"Illegal str: Not a string\");\n\t for (i = 0; i < k; ++i) {\n\t if (str.charCodeAt(i) === 0) throw RangeError(\"Illegal str: Contains NULL-characters\");\n\t }\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t // UTF8 strings do not contain zero bytes in between except for the zero character, so:\n\t k = utfx.calculateUTF16asUTF8(stringSource(str))[1];\n\t offset += k + 1;\n\t var capacity12 = this.buffer.byteLength;\n\t if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset);\n\t offset -= k + 1;\n\t utfx.encodeUTF16toUTF8(stringSource(str), function (b) {\n\t this.view[offset++] = b;\n\t }.bind(this));\n\t this.view[offset++] = 0;\n\t if (relative) {\n\t this.offset = offset;\n\t return this;\n\t }\n\t return k;\n\t };\n\t\n\t /**\r\n\t * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters\r\n\t * itself.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n\t * read and the actual number of bytes read.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readCString = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 1 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var start = offset,\n\t temp;\n\t // UTF8 strings do not contain zero bytes in between except for the zero character itself, so:\n\t var sd,\n\t b = -1;\n\t utfx.decodeUTF8toUTF16(function () {\n\t if (b === 0) return null;\n\t if (offset >= this.limit) throw RangeError(\"Illegal range: Truncated data, \" + offset + \" < \" + this.limit);\n\t b = this.view[offset++];\n\t return b === 0 ? null : b;\n\t }.bind(this), sd = stringDestination(), true);\n\t if (relative) {\n\t this.offset = offset;\n\t return sd();\n\t } else {\n\t return {\n\t \"string\": sd(),\n\t \"length\": offset - start\n\t };\n\t }\n\t };\n\t\n\t // types/strings/istring\n\t\n\t /**\r\n\t * Writes a length as uint32 prefixed UTF8 encoded string.\r\n\t * @param {string} str String to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written\r\n\t * @expose\r\n\t * @see ByteBuffer#writeVarint32\r\n\t */\n\t ByteBufferPrototype.writeIString = function (str, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof str !== 'string') throw TypeError(\"Illegal str: Not a string\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var start = offset,\n\t k;\n\t k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1];\n\t offset += 4 + k;\n\t var capacity13 = this.buffer.byteLength;\n\t if (offset > capacity13) this.resize((capacity13 *= 2) > offset ? capacity13 : offset);\n\t offset -= 4 + k;\n\t if (this.littleEndian) {\n\t this.view[offset + 3] = k >>> 24 & 0xFF;\n\t this.view[offset + 2] = k >>> 16 & 0xFF;\n\t this.view[offset + 1] = k >>> 8 & 0xFF;\n\t this.view[offset] = k & 0xFF;\n\t } else {\n\t this.view[offset] = k >>> 24 & 0xFF;\n\t this.view[offset + 1] = k >>> 16 & 0xFF;\n\t this.view[offset + 2] = k >>> 8 & 0xFF;\n\t this.view[offset + 3] = k & 0xFF;\n\t }\n\t offset += 4;\n\t utfx.encodeUTF16toUTF8(stringSource(str), function (b) {\n\t this.view[offset++] = b;\n\t }.bind(this));\n\t if (offset !== start + 4 + k) throw RangeError(\"Illegal range: Truncated data, \" + offset + \" == \" + (offset + 4 + k));\n\t if (relative) {\n\t this.offset = offset;\n\t return this;\n\t }\n\t return offset - start;\n\t };\n\t\n\t /**\r\n\t * Reads a length as uint32 prefixed UTF8 encoded string.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n\t * read and the actual number of bytes read.\r\n\t * @expose\r\n\t * @see ByteBuffer#readVarint32\r\n\t */\n\t ByteBufferPrototype.readIString = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 4 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var start = offset;\n\t var len = this.readUint32(offset);\n\t var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4);\n\t offset += str['length'];\n\t if (relative) {\n\t this.offset = offset;\n\t return str['string'];\n\t } else {\n\t return {\n\t 'string': str['string'],\n\t 'length': offset - start\n\t };\n\t }\n\t };\n\t\n\t // types/strings/utf8string\n\t\n\t /**\r\n\t * Metrics representing number of UTF8 characters. Evaluates to `c`.\r\n\t * @type {string}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.METRICS_CHARS = 'c';\n\t\n\t /**\r\n\t * Metrics representing number of bytes. Evaluates to `b`.\r\n\t * @type {string}\r\n\t * @const\r\n\t * @expose\r\n\t */\n\t ByteBuffer.METRICS_BYTES = 'b';\n\t\n\t /**\r\n\t * Writes an UTF8 encoded string.\r\n\t * @param {string} str String to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted.\r\n\t * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeUTF8String = function (str, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var k;\n\t var start = offset;\n\t k = utfx.calculateUTF16asUTF8(stringSource(str))[1];\n\t offset += k;\n\t var capacity14 = this.buffer.byteLength;\n\t if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset);\n\t offset -= k;\n\t utfx.encodeUTF16toUTF8(stringSource(str), function (b) {\n\t this.view[offset++] = b;\n\t }.bind(this));\n\t if (relative) {\n\t this.offset = offset;\n\t return this;\n\t }\n\t return offset - start;\n\t };\n\t\n\t /**\r\n\t * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}.\r\n\t * @function\r\n\t * @param {string} str String to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted.\r\n\t * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String;\n\t\n\t /**\r\n\t * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's\r\n\t * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF.\r\n\t * @param {string} str String to calculate\r\n\t * @returns {number} Number of UTF8 characters\r\n\t * @expose\r\n\t */\n\t ByteBuffer.calculateUTF8Chars = function (str) {\n\t return utfx.calculateUTF16asUTF8(stringSource(str))[0];\n\t };\n\t\n\t /**\r\n\t * Calculates the number of UTF8 bytes of a string.\r\n\t * @param {string} str String to calculate\r\n\t * @returns {number} Number of UTF8 bytes\r\n\t * @expose\r\n\t */\n\t ByteBuffer.calculateUTF8Bytes = function (str) {\n\t return utfx.calculateUTF16asUTF8(stringSource(str))[1];\n\t };\n\t\n\t /**\r\n\t * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}.\r\n\t * @function\r\n\t * @param {string} str String to calculate\r\n\t * @returns {number} Number of UTF8 bytes\r\n\t * @expose\r\n\t */\n\t ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes;\n\t\n\t /**\r\n\t * Reads an UTF8 encoded string.\r\n\t * @param {number} length Number of characters or bytes to read.\r\n\t * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to\r\n\t * {@link ByteBuffer.METRICS_CHARS}.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n\t * read and the actual number of bytes read.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readUTF8String = function (length, metrics, offset) {\n\t if (typeof metrics === 'number') {\n\t offset = metrics;\n\t metrics = undefined;\n\t }\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS;\n\t if (!this.noAssert) {\n\t if (typeof length !== 'number' || length % 1 !== 0) throw TypeError(\"Illegal length: \" + length + \" (not an integer)\");\n\t length |= 0;\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var i = 0,\n\t start = offset,\n\t sd;\n\t if (metrics === ByteBuffer.METRICS_CHARS) {\n\t // The same for node and the browser\n\t sd = stringDestination();\n\t utfx.decodeUTF8(function () {\n\t return i < length && offset < this.limit ? this.view[offset++] : null;\n\t }.bind(this), function (cp) {\n\t ++i;utfx.UTF8toUTF16(cp, sd);\n\t });\n\t if (i !== length) throw RangeError(\"Illegal range: Truncated data, \" + i + \" == \" + length);\n\t if (relative) {\n\t this.offset = offset;\n\t return sd();\n\t } else {\n\t return {\n\t \"string\": sd(),\n\t \"length\": offset - start\n\t };\n\t }\n\t } else if (metrics === ByteBuffer.METRICS_BYTES) {\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + length > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + length + \") <= \" + this.buffer.byteLength);\n\t }\n\t var k = offset + length;\n\t utfx.decodeUTF8toUTF16(function () {\n\t return offset < k ? this.view[offset++] : null;\n\t }.bind(this), sd = stringDestination(), this.noAssert);\n\t if (offset !== k) throw RangeError(\"Illegal range: Truncated data, \" + offset + \" == \" + k);\n\t if (relative) {\n\t this.offset = offset;\n\t return sd();\n\t } else {\n\t return {\n\t 'string': sd(),\n\t 'length': offset - start\n\t };\n\t }\n\t } else throw TypeError(\"Unsupported metrics: \" + metrics);\n\t };\n\t\n\t /**\r\n\t * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}.\r\n\t * @function\r\n\t * @param {number} length Number of characters or bytes to read\r\n\t * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to\r\n\t * {@link ByteBuffer.METRICS_CHARS}.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n\t * read and the actual number of bytes read.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String;\n\t\n\t // types/strings/vstring\n\t\n\t /**\r\n\t * Writes a length as varint32 prefixed UTF8 encoded string.\r\n\t * @param {string} str String to write\r\n\t * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written\r\n\t * @expose\r\n\t * @see ByteBuffer#writeVarint32\r\n\t */\n\t ByteBufferPrototype.writeVString = function (str, offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof str !== 'string') throw TypeError(\"Illegal str: Not a string\");\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var start = offset,\n\t k,\n\t l;\n\t k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1];\n\t l = ByteBuffer.calculateVarint32(k);\n\t offset += l + k;\n\t var capacity15 = this.buffer.byteLength;\n\t if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset);\n\t offset -= l + k;\n\t offset += this.writeVarint32(k, offset);\n\t utfx.encodeUTF16toUTF8(stringSource(str), function (b) {\n\t this.view[offset++] = b;\n\t }.bind(this));\n\t if (offset !== start + k + l) throw RangeError(\"Illegal range: Truncated data, \" + offset + \" == \" + (offset + k + l));\n\t if (relative) {\n\t this.offset = offset;\n\t return this;\n\t }\n\t return offset - start;\n\t };\n\t\n\t /**\r\n\t * Reads a length as varint32 prefixed UTF8 encoded string.\r\n\t * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n\t * read and the actual number of bytes read.\r\n\t * @expose\r\n\t * @see ByteBuffer#readVarint32\r\n\t */\n\t ByteBufferPrototype.readVString = function (offset) {\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 1 + \") <= \" + this.buffer.byteLength);\n\t }\n\t var start = offset;\n\t var len = this.readVarint32(offset);\n\t var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']);\n\t offset += str['length'];\n\t if (relative) {\n\t this.offset = offset;\n\t return str['string'];\n\t } else {\n\t return {\n\t 'string': str['string'],\n\t 'length': offset - start\n\t };\n\t }\n\t };\n\t\n\t /**\r\n\t * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended\r\n\t * data's length.\r\n\t * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets\r\n\t * will be modified according to the performed read operation.\r\n\t * @param {(string|number)=} encoding Encoding if `data` is a string (\"base64\", \"hex\", \"binary\", defaults to \"utf8\")\r\n\t * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|`\r\n\t * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|`\r\n\t */\n\t ByteBufferPrototype.append = function (source, encoding, offset) {\n\t if (typeof encoding === 'number' || typeof encoding !== 'string') {\n\t offset = encoding;\n\t encoding = undefined;\n\t }\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding);\n\t var length = source.limit - source.offset;\n\t if (length <= 0) return this; // Nothing to append\n\t offset += length;\n\t var capacity16 = this.buffer.byteLength;\n\t if (offset > capacity16) this.resize((capacity16 *= 2) > offset ? capacity16 : offset);\n\t offset -= length;\n\t this.view.set(source.view.subarray(source.offset, source.limit), offset);\n\t source.offset += length;\n\t if (relative) this.offset += length;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the\r\n\t specified offset up to the length of this ByteBuffer's data.\r\n\t * @param {!ByteBuffer} target Target ByteBuffer\r\n\t * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * read if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t * @see ByteBuffer#append\r\n\t */\n\t ByteBufferPrototype.appendTo = function (target, offset) {\n\t target.append(this, offset);\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to\r\n\t * disable them if your code already makes sure that everything is valid.\r\n\t * @param {boolean} assert `true` to enable assertions, otherwise `false`\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.assert = function (assert) {\n\t this.noAssert = !assert;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Gets the capacity of this ByteBuffer's backing buffer.\r\n\t * @returns {number} Capacity of the backing buffer\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.capacity = function () {\n\t return this.buffer.byteLength;\n\t };\n\t /**\r\n\t * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the\r\n\t * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.clear = function () {\n\t this.offset = 0;\n\t this.limit = this.buffer.byteLength;\n\t this.markedOffset = -1;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset},\r\n\t * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}.\r\n\t * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false`\r\n\t * @returns {!ByteBuffer} Cloned instance\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.clone = function (copy) {\n\t var bb = new ByteBuffer(0, this.littleEndian, this.noAssert);\n\t if (copy) {\n\t bb.buffer = new ArrayBuffer(this.buffer.byteLength);\n\t bb.view = new Uint8Array(bb.buffer);\n\t } else {\n\t bb.buffer = this.buffer;\n\t bb.view = this.view;\n\t }\n\t bb.offset = this.offset;\n\t bb.markedOffset = this.markedOffset;\n\t bb.limit = this.limit;\n\t return bb;\n\t };\n\t\n\t /**\r\n\t * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes\r\n\t * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and\r\n\t * adapt {@link ByteBuffer#markedOffset} to the same relative position if set.\r\n\t * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset}\r\n\t * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.compact = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t if (begin === 0 && end === this.buffer.byteLength) return this; // Already compacted\n\t var len = end - begin;\n\t if (len === 0) {\n\t this.buffer = EMPTY_BUFFER;\n\t this.view = null;\n\t if (this.markedOffset >= 0) this.markedOffset -= begin;\n\t this.offset = 0;\n\t this.limit = 0;\n\t return this;\n\t }\n\t var buffer = new ArrayBuffer(len);\n\t var view = new Uint8Array(buffer);\n\t view.set(this.view.subarray(begin, end));\n\t this.buffer = buffer;\n\t this.view = view;\n\t if (this.markedOffset >= 0) this.markedOffset -= begin;\n\t this.offset = 0;\n\t this.limit = len;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and\r\n\t * {@link ByteBuffer#limit}.\r\n\t * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}.\r\n\t * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}.\r\n\t * @returns {!ByteBuffer} Copy\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.copy = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t if (begin === end) return new ByteBuffer(0, this.littleEndian, this.noAssert);\n\t var capacity = end - begin,\n\t bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert);\n\t bb.offset = 0;\n\t bb.limit = capacity;\n\t if (bb.markedOffset >= 0) bb.markedOffset -= begin;\n\t this.copyTo(bb, 0, begin, end);\n\t return bb;\n\t };\n\t\n\t /**\r\n\t * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and\r\n\t * {@link ByteBuffer#limit}.\r\n\t * @param {!ByteBuffer} target Target ByteBuffer\r\n\t * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset}\r\n\t * by the number of bytes copied if omitted.\r\n\t * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the\r\n\t * number of bytes copied if omitted.\r\n\t * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit}\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.copyTo = function (target, targetOffset, sourceOffset, sourceLimit) {\n\t var relative, targetRelative;\n\t if (!this.noAssert) {\n\t if (!ByteBuffer.isByteBuffer(target)) throw TypeError(\"Illegal target: Not a ByteBuffer\");\n\t }\n\t targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0;\n\t sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0;\n\t sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0;\n\t\n\t if (targetOffset < 0 || targetOffset > target.buffer.byteLength) throw RangeError(\"Illegal target range: 0 <= \" + targetOffset + \" <= \" + target.buffer.byteLength);\n\t if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) throw RangeError(\"Illegal source range: 0 <= \" + sourceOffset + \" <= \" + this.buffer.byteLength);\n\t\n\t var len = sourceLimit - sourceOffset;\n\t if (len === 0) return target; // Nothing to copy\n\t\n\t target.ensureCapacity(targetOffset + len);\n\t\n\t target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset);\n\t\n\t if (relative) this.offset += len;\n\t if (targetRelative) target.offset += len;\n\t\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the\r\n\t * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity,\r\n\t * the required capacity will be used instead.\r\n\t * @param {number} capacity Required capacity\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.ensureCapacity = function (capacity) {\n\t var current = this.buffer.byteLength;\n\t if (current < capacity) return this.resize((current *= 2) > capacity ? current : capacity);\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between\r\n\t * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}.\r\n\t * @param {number|string} value Byte value to fill with. If given as a string, the first character is used.\r\n\t * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n\t * written if omitted. defaults to {@link ByteBuffer#offset}.\r\n\t * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes\r\n\t */\n\t ByteBufferPrototype.fill = function (value, begin, end) {\n\t var relative = typeof begin === 'undefined';\n\t if (relative) begin = this.offset;\n\t if (typeof value === 'string' && value.length > 0) value = value.charCodeAt(0);\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof value !== 'number' || value % 1 !== 0) throw TypeError(\"Illegal value: \" + value + \" (not an integer)\");\n\t value |= 0;\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t if (begin >= end) return this; // Nothing to fill\n\t while (begin < end) {\n\t this.view[begin++] = value;\n\t }if (relative) this.offset = begin;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and\r\n\t * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.flip = function () {\n\t this.limit = this.offset;\n\t this.offset = 0;\n\t return this;\n\t };\n\t /**\r\n\t * Marks an offset on this ByteBuffer to be used later.\r\n\t * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @throws {TypeError} If `offset` is not a valid number\r\n\t * @throws {RangeError} If `offset` is out of bounds\r\n\t * @see ByteBuffer#reset\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.mark = function (offset) {\n\t offset = typeof offset === 'undefined' ? this.offset : offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t this.markedOffset = offset;\n\t return this;\n\t };\n\t /**\r\n\t * Sets the byte order.\r\n\t * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.order = function (littleEndian) {\n\t if (!this.noAssert) {\n\t if (typeof littleEndian !== 'boolean') throw TypeError(\"Illegal littleEndian: Not a boolean\");\n\t }\n\t this.littleEndian = !!littleEndian;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Switches (to) little endian byte order.\r\n\t * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.LE = function (littleEndian) {\n\t this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Switches (to) big endian byte order.\r\n\t * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.BE = function (bigEndian) {\n\t this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false;\n\t return this;\n\t };\n\t /**\r\n\t * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the\r\n\t * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer\r\n\t * will be resized and its contents moved accordingly.\r\n\t * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be\r\n\t * modified according to the performed read operation.\r\n\t * @param {(string|number)=} encoding Encoding if `data` is a string (\"base64\", \"hex\", \"binary\", defaults to \"utf8\")\r\n\t * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes\r\n\t * prepended if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|`\r\n\t * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|`\r\n\t */\n\t ByteBufferPrototype.prepend = function (source, encoding, offset) {\n\t if (typeof encoding === 'number' || typeof encoding !== 'string') {\n\t offset = encoding;\n\t encoding = undefined;\n\t }\n\t var relative = typeof offset === 'undefined';\n\t if (relative) offset = this.offset;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: \" + offset + \" (not an integer)\");\n\t offset >>>= 0;\n\t if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError(\"Illegal offset: 0 <= \" + offset + \" (+\" + 0 + \") <= \" + this.buffer.byteLength);\n\t }\n\t if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding);\n\t var len = source.limit - source.offset;\n\t if (len <= 0) return this; // Nothing to prepend\n\t var diff = len - offset;\n\t if (diff > 0) {\n\t // Not enough space before offset, so resize + move\n\t var buffer = new ArrayBuffer(this.buffer.byteLength + diff);\n\t var view = new Uint8Array(buffer);\n\t view.set(this.view.subarray(offset, this.buffer.byteLength), len);\n\t this.buffer = buffer;\n\t this.view = view;\n\t this.offset += diff;\n\t if (this.markedOffset >= 0) this.markedOffset += diff;\n\t this.limit += diff;\n\t offset += diff;\n\t } else {\n\t var arrayView = new Uint8Array(this.buffer);\n\t }\n\t this.view.set(source.view.subarray(source.offset, source.limit), offset - len);\n\t\n\t source.offset = source.limit;\n\t if (relative) this.offset -= len;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the\r\n\t * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer\r\n\t * will be resized and its contents moved accordingly.\r\n\t * @param {!ByteBuffer} target Target ByteBuffer\r\n\t * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes\r\n\t * prepended if omitted.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t * @see ByteBuffer#prepend\r\n\t */\n\t ByteBufferPrototype.prependTo = function (target, offset) {\n\t target.prepend(this, offset);\n\t return this;\n\t };\n\t /**\r\n\t * Prints debug information about this ByteBuffer's contents.\r\n\t * @param {function(string)=} out Output function to call, defaults to console.log\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.printDebug = function (out) {\n\t if (typeof out !== 'function') out = console.log.bind(console);\n\t out(this.toString() + \"\\n\" + \"-------------------------------------------------------------------\\n\" + this.toDebug( /* columns */true));\n\t };\n\t\n\t /**\r\n\t * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and\r\n\t * {@link ByteBuffer#limit}, so this returns `limit - offset`.\r\n\t * @returns {number} Remaining readable bytes. May be negative if `offset > limit`.\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.remaining = function () {\n\t return this.limit - this.offset;\n\t };\n\t /**\r\n\t * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark}\r\n\t * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been\r\n\t * marked, sets `offset = 0`.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @see ByteBuffer#mark\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.reset = function () {\n\t if (this.markedOffset >= 0) {\n\t this.offset = this.markedOffset;\n\t this.markedOffset = -1;\n\t } else {\n\t this.offset = 0;\n\t }\n\t return this;\n\t };\n\t /**\r\n\t * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that\r\n\t * large or larger.\r\n\t * @param {number} capacity Capacity required\r\n\t * @returns {!ByteBuffer} this\r\n\t * @throws {TypeError} If `capacity` is not a number\r\n\t * @throws {RangeError} If `capacity < 0`\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.resize = function (capacity) {\n\t if (!this.noAssert) {\n\t if (typeof capacity !== 'number' || capacity % 1 !== 0) throw TypeError(\"Illegal capacity: \" + capacity + \" (not an integer)\");\n\t capacity |= 0;\n\t if (capacity < 0) throw RangeError(\"Illegal capacity: 0 <= \" + capacity);\n\t }\n\t if (this.buffer.byteLength < capacity) {\n\t var buffer = new ArrayBuffer(capacity);\n\t var view = new Uint8Array(buffer);\n\t view.set(this.view);\n\t this.buffer = buffer;\n\t this.view = view;\n\t }\n\t return this;\n\t };\n\t /**\r\n\t * Reverses this ByteBuffer's contents.\r\n\t * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset}\r\n\t * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.reverse = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t if (begin === end) return this; // Nothing to reverse\n\t Array.prototype.reverse.call(this.view.subarray(begin, end));\n\t return this;\n\t };\n\t /**\r\n\t * Skips the next `length` bytes. This will just advance\r\n\t * @param {number} length Number of bytes to skip. May also be negative to move the offset back.\r\n\t * @returns {!ByteBuffer} this\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.skip = function (length) {\n\t if (!this.noAssert) {\n\t if (typeof length !== 'number' || length % 1 !== 0) throw TypeError(\"Illegal length: \" + length + \" (not an integer)\");\n\t length |= 0;\n\t }\n\t var offset = this.offset + length;\n\t if (!this.noAssert) {\n\t if (offset < 0 || offset > this.buffer.byteLength) throw RangeError(\"Illegal length: 0 <= \" + this.offset + \" + \" + length + \" <= \" + this.buffer.byteLength);\n\t }\n\t this.offset = offset;\n\t return this;\n\t };\n\t\n\t /**\r\n\t * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`.\r\n\t * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}.\r\n\t * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}.\r\n\t * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer}\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.slice = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t var bb = this.clone();\n\t bb.offset = begin;\n\t bb.limit = end;\n\t return bb;\n\t };\n\t /**\r\n\t * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between\r\n\t * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}.\r\n\t * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if\r\n\t * possible. Defaults to `false`\r\n\t * @returns {!ArrayBuffer} Contents as an ArrayBuffer\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toBuffer = function (forceCopy) {\n\t var offset = this.offset,\n\t limit = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError(\"Illegal offset: Not an integer\");\n\t offset >>>= 0;\n\t if (typeof limit !== 'number' || limit % 1 !== 0) throw TypeError(\"Illegal limit: Not an integer\");\n\t limit >>>= 0;\n\t if (offset < 0 || offset > limit || limit > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + offset + \" <= \" + limit + \" <= \" + this.buffer.byteLength);\n\t }\n\t // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is\n\t // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So:\n\t if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) return this.buffer;\n\t if (offset === limit) return EMPTY_BUFFER;\n\t var buffer = new ArrayBuffer(limit - offset);\n\t new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0);\n\t return buffer;\n\t };\n\t\n\t /**\r\n\t * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between\r\n\t * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}.\r\n\t * @function\r\n\t * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory.\r\n\t * Defaults to `false`\r\n\t * @returns {!ArrayBuffer} Contents as an ArrayBuffer\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer;\n\t\n\t /**\r\n\t * Converts the ByteBuffer's contents to a string.\r\n\t * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows\r\n\t * direct conversion to \"utf8\", \"hex\", \"base64\" and \"binary\" encoding. \"debug\" returns a hex representation with\r\n\t * highlighted offsets.\r\n\t * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}\r\n\t * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}\r\n\t * @returns {string} String representation\r\n\t * @throws {Error} If `encoding` is invalid\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toString = function (encoding, begin, end) {\n\t if (typeof encoding === 'undefined') return \"ByteBufferAB(offset=\" + this.offset + \",markedOffset=\" + this.markedOffset + \",limit=\" + this.limit + \",capacity=\" + this.capacity() + \")\";\n\t if (typeof encoding === 'number') encoding = \"utf8\", begin = encoding, end = begin;\n\t switch (encoding) {\n\t case \"utf8\":\n\t return this.toUTF8(begin, end);\n\t case \"base64\":\n\t return this.toBase64(begin, end);\n\t case \"hex\":\n\t return this.toHex(begin, end);\n\t case \"binary\":\n\t return this.toBinary(begin, end);\n\t case \"debug\":\n\t return this.toDebug();\n\t case \"columns\":\n\t return this.toColumns();\n\t default:\n\t throw Error(\"Unsupported encoding: \" + encoding);\n\t }\n\t };\n\t\n\t // lxiv-embeddable\n\t\n\t /**\r\n\t * lxiv-embeddable (c) 2014 Daniel Wirtz <dcode@dcode.io>\r\n\t * Released under the Apache License, Version 2.0\r\n\t * see: https://github.com/dcodeIO/lxiv for details\r\n\t */\n\t var lxiv = function () {\n\t \"use strict\";\n\t\n\t /**\r\n\t * lxiv namespace.\r\n\t * @type {!Object.<string,*>}\r\n\t * @exports lxiv\r\n\t */\n\t\n\t var lxiv = {};\n\t\n\t /**\r\n\t * Character codes for output.\r\n\t * @type {!Array.<number>}\r\n\t * @inner\r\n\t */\n\t var aout = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47];\n\t\n\t /**\r\n\t * Character codes for input.\r\n\t * @type {!Array.<number>}\r\n\t * @inner\r\n\t */\n\t var ain = [];\n\t for (var i = 0, k = aout.length; i < k; ++i) {\n\t ain[aout[i]] = i;\n\t } /**\r\n\t * Encodes bytes to base64 char codes.\r\n\t * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if\r\n\t * there are no more bytes left.\r\n\t * @param {!function(number)} dst Characters destination as a function successively called with each encoded char\r\n\t * code.\r\n\t */\n\t lxiv.encode = function (src, dst) {\n\t var b, t;\n\t while ((b = src()) !== null) {\n\t dst(aout[b >> 2 & 0x3f]);\n\t t = (b & 0x3) << 4;\n\t if ((b = src()) !== null) {\n\t t |= b >> 4 & 0xf;\n\t dst(aout[(t | b >> 4 & 0xf) & 0x3f]);\n\t t = (b & 0xf) << 2;\n\t if ((b = src()) !== null) dst(aout[(t | b >> 6 & 0x3) & 0x3f]), dst(aout[b & 0x3f]);else dst(aout[t & 0x3f]), dst(61);\n\t } else dst(aout[t & 0x3f]), dst(61), dst(61);\n\t }\n\t };\n\t\n\t /**\r\n\t * Decodes base64 char codes to bytes.\r\n\t * @param {!function():number|null} src Characters source as a function returning the next char code respectively\r\n\t * `null` if there are no more characters left.\r\n\t * @param {!function(number)} dst Bytes destination as a function successively called with the next byte.\r\n\t * @throws {Error} If a character code is invalid\r\n\t */\n\t lxiv.decode = function (src, dst) {\n\t var c, t1, t2;\n\t function fail(c) {\n\t throw Error(\"Illegal character code: \" + c);\n\t }\n\t while ((c = src()) !== null) {\n\t t1 = ain[c];\n\t if (typeof t1 === 'undefined') fail(c);\n\t if ((c = src()) !== null) {\n\t t2 = ain[c];\n\t if (typeof t2 === 'undefined') fail(c);\n\t dst(t1 << 2 >>> 0 | (t2 & 0x30) >> 4);\n\t if ((c = src()) !== null) {\n\t t1 = ain[c];\n\t if (typeof t1 === 'undefined') if (c === 61) break;else fail(c);\n\t dst((t2 & 0xf) << 4 >>> 0 | (t1 & 0x3c) >> 2);\n\t if ((c = src()) !== null) {\n\t t2 = ain[c];\n\t if (typeof t2 === 'undefined') if (c === 61) break;else fail(c);\n\t dst((t1 & 0x3) << 6 >>> 0 | t2);\n\t }\n\t }\n\t }\n\t }\n\t };\n\t\n\t /**\r\n\t * Tests if a string is valid base64.\r\n\t * @param {string} str String to test\r\n\t * @returns {boolean} `true` if valid, otherwise `false`\r\n\t */\n\t lxiv.test = function (str) {\n\t return (/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str)\n\t );\n\t };\n\t\n\t return lxiv;\n\t }();\n\t\n\t // encodings/base64\n\t\n\t /**\r\n\t * Encodes this ByteBuffer's contents to a base64 encoded string.\r\n\t * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}.\r\n\t * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}.\r\n\t * @returns {string} Base64 encoded string\r\n\t * @throws {RangeError} If `begin` or `end` is out of bounds\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toBase64 = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t begin = begin | 0;end = end | 0;\n\t if (begin < 0 || end > this.capacity || begin > end) throw RangeError(\"begin, end\");\n\t var sd;lxiv.encode(function () {\n\t return begin < end ? this.view[begin++] : null;\n\t }.bind(this), sd = stringDestination());\n\t return sd();\n\t };\n\t\n\t /**\r\n\t * Decodes a base64 encoded string to a ByteBuffer.\r\n\t * @param {string} str String to decode\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @returns {!ByteBuffer} ByteBuffer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.fromBase64 = function (str, littleEndian) {\n\t if (typeof str !== 'string') throw TypeError(\"str\");\n\t var bb = new ByteBuffer(str.length / 4 * 3, littleEndian),\n\t i = 0;\n\t lxiv.decode(stringSource(str), function (b) {\n\t bb.view[i++] = b;\n\t });\n\t bb.limit = i;\n\t return bb;\n\t };\n\t\n\t /**\r\n\t * Encodes a binary string to base64 like `window.btoa` does.\r\n\t * @param {string} str Binary string\r\n\t * @returns {string} Base64 encoded string\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa\r\n\t * @expose\r\n\t */\n\t ByteBuffer.btoa = function (str) {\n\t return ByteBuffer.fromBinary(str).toBase64();\n\t };\n\t\n\t /**\r\n\t * Decodes a base64 encoded string to binary like `window.atob` does.\r\n\t * @param {string} b64 Base64 encoded string\r\n\t * @returns {string} Binary string\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob\r\n\t * @expose\r\n\t */\n\t ByteBuffer.atob = function (b64) {\n\t return ByteBuffer.fromBase64(b64).toBinary();\n\t };\n\t\n\t // encodings/binary\n\t\n\t /**\r\n\t * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes.\r\n\t * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}.\r\n\t * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}.\r\n\t * @returns {string} Binary encoded string\r\n\t * @throws {RangeError} If `offset > limit`\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toBinary = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t begin |= 0;end |= 0;\n\t if (begin < 0 || end > this.capacity() || begin > end) throw RangeError(\"begin, end\");\n\t if (begin === end) return \"\";\n\t var chars = [],\n\t parts = [];\n\t while (begin < end) {\n\t chars.push(this.view[begin++]);\n\t if (chars.length >= 1024) parts.push(String.fromCharCode.apply(String, chars)), chars = [];\n\t }\n\t return parts.join('') + String.fromCharCode.apply(String, chars);\n\t };\n\t\n\t /**\r\n\t * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer.\r\n\t * @param {string} str String to decode\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @returns {!ByteBuffer} ByteBuffer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.fromBinary = function (str, littleEndian) {\n\t if (typeof str !== 'string') throw TypeError(\"str\");\n\t var i = 0,\n\t k = str.length,\n\t charCode,\n\t bb = new ByteBuffer(k, littleEndian);\n\t while (i < k) {\n\t charCode = str.charCodeAt(i);\n\t if (charCode > 0xff) throw RangeError(\"illegal char code: \" + charCode);\n\t bb.view[i++] = charCode;\n\t }\n\t bb.limit = k;\n\t return bb;\n\t };\n\t\n\t // encodings/debug\n\t\n\t /**\r\n\t * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are:\r\n\t * * `<` : offset,\r\n\t * * `'` : markedOffset,\r\n\t * * `>` : limit,\r\n\t * * `|` : offset and limit,\r\n\t * * `[` : offset and markedOffset,\r\n\t * * `]` : markedOffset and limit,\r\n\t * * `!` : offset, markedOffset and limit\r\n\t * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false`\r\n\t * @returns {string|!Array.<string>} Debug string or array of lines if `asArray = true`\r\n\t * @expose\r\n\t * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3`\r\n\t * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4`\r\n\t * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1`\r\n\t * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1`\r\n\t */\n\t ByteBufferPrototype.toDebug = function (columns) {\n\t var i = -1,\n\t k = this.buffer.byteLength,\n\t b,\n\t hex = \"\",\n\t asc = \"\",\n\t out = \"\";\n\t while (i < k) {\n\t if (i !== -1) {\n\t b = this.view[i];\n\t if (b < 0x10) hex += \"0\" + b.toString(16).toUpperCase();else hex += b.toString(16).toUpperCase();\n\t if (columns) asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.';\n\t }\n\t ++i;\n\t if (columns) {\n\t if (i > 0 && i % 16 === 0 && i !== k) {\n\t while (hex.length < 3 * 16 + 3) {\n\t hex += \" \";\n\t }out += hex + asc + \"\\n\";\n\t hex = asc = \"\";\n\t }\n\t }\n\t if (i === this.offset && i === this.limit) hex += i === this.markedOffset ? \"!\" : \"|\";else if (i === this.offset) hex += i === this.markedOffset ? \"[\" : \"<\";else if (i === this.limit) hex += i === this.markedOffset ? \"]\" : \">\";else hex += i === this.markedOffset ? \"'\" : columns || i !== 0 && i !== k ? \" \" : \"\";\n\t }\n\t if (columns && hex !== \" \") {\n\t while (hex.length < 3 * 16 + 3) {\n\t hex += \" \";\n\t }out += hex + asc + \"\\n\";\n\t }\n\t return columns ? out : hex;\n\t };\n\t\n\t /**\r\n\t * Decodes a hex encoded string with marked offsets to a ByteBuffer.\r\n\t * @param {string} str Debug string to decode (not be generated with `columns = true`)\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @returns {!ByteBuffer} ByteBuffer\r\n\t * @expose\r\n\t * @see ByteBuffer#toDebug\r\n\t */\n\t ByteBuffer.fromDebug = function (str, littleEndian, noAssert) {\n\t var k = str.length,\n\t bb = new ByteBuffer((k + 1) / 3 | 0, littleEndian, noAssert);\n\t var i = 0,\n\t j = 0,\n\t ch,\n\t b,\n\t rs = false,\n\t // Require symbol next\n\t ho = false,\n\t hm = false,\n\t hl = false,\n\t // Already has offset (ho), markedOffset (hm), limit (hl)?\n\t fail = false;\n\t while (i < k) {\n\t switch (ch = str.charAt(i++)) {\n\t case '!':\n\t if (!noAssert) {\n\t if (ho || hm || hl) {\n\t fail = true;\n\t break;\n\t }\n\t ho = hm = hl = true;\n\t }\n\t bb.offset = bb.markedOffset = bb.limit = j;\n\t rs = false;\n\t break;\n\t case '|':\n\t if (!noAssert) {\n\t if (ho || hl) {\n\t fail = true;\n\t break;\n\t }\n\t ho = hl = true;\n\t }\n\t bb.offset = bb.limit = j;\n\t rs = false;\n\t break;\n\t case '[':\n\t if (!noAssert) {\n\t if (ho || hm) {\n\t fail = true;\n\t break;\n\t }\n\t ho = hm = true;\n\t }\n\t bb.offset = bb.markedOffset = j;\n\t rs = false;\n\t break;\n\t case '<':\n\t if (!noAssert) {\n\t if (ho) {\n\t fail = true;\n\t break;\n\t }\n\t ho = true;\n\t }\n\t bb.offset = j;\n\t rs = false;\n\t break;\n\t case ']':\n\t if (!noAssert) {\n\t if (hl || hm) {\n\t fail = true;\n\t break;\n\t }\n\t hl = hm = true;\n\t }\n\t bb.limit = bb.markedOffset = j;\n\t rs = false;\n\t break;\n\t case '>':\n\t if (!noAssert) {\n\t if (hl) {\n\t fail = true;\n\t break;\n\t }\n\t hl = true;\n\t }\n\t bb.limit = j;\n\t rs = false;\n\t break;\n\t case \"'\":\n\t if (!noAssert) {\n\t if (hm) {\n\t fail = true;\n\t break;\n\t }\n\t hm = true;\n\t }\n\t bb.markedOffset = j;\n\t rs = false;\n\t break;\n\t case ' ':\n\t rs = false;\n\t break;\n\t default:\n\t if (!noAssert) {\n\t if (rs) {\n\t fail = true;\n\t break;\n\t }\n\t }\n\t b = parseInt(ch + str.charAt(i++), 16);\n\t if (!noAssert) {\n\t if (isNaN(b) || b < 0 || b > 255) throw TypeError(\"Illegal str: Not a debug encoded string\");\n\t }\n\t bb.view[j++] = b;\n\t rs = true;\n\t }\n\t if (fail) throw TypeError(\"Illegal str: Invalid symbol at \" + i);\n\t }\n\t if (!noAssert) {\n\t if (!ho || !hl) throw TypeError(\"Illegal str: Missing offset or limit\");\n\t if (j < bb.buffer.byteLength) throw TypeError(\"Illegal str: Not a debug encoded string (is it hex?) \" + j + \" < \" + k);\n\t }\n\t return bb;\n\t };\n\t\n\t // encodings/hex\n\t\n\t /**\r\n\t * Encodes this ByteBuffer's contents to a hex encoded string.\r\n\t * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}.\r\n\t * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}.\r\n\t * @returns {string} Hex encoded string\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toHex = function (begin, end) {\n\t begin = typeof begin === 'undefined' ? this.offset : begin;\n\t end = typeof end === 'undefined' ? this.limit : end;\n\t if (!this.noAssert) {\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t var out = new Array(end - begin),\n\t b;\n\t while (begin < end) {\n\t b = this.view[begin++];\n\t if (b < 0x10) out.push(\"0\", b.toString(16));else out.push(b.toString(16));\n\t }\n\t return out.join('');\n\t };\n\t\n\t /**\r\n\t * Decodes a hex encoded string to a ByteBuffer.\r\n\t * @param {string} str String to decode\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @returns {!ByteBuffer} ByteBuffer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.fromHex = function (str, littleEndian, noAssert) {\n\t if (!noAssert) {\n\t if (typeof str !== 'string') throw TypeError(\"Illegal str: Not a string\");\n\t if (str.length % 2 !== 0) throw TypeError(\"Illegal str: Length not a multiple of 2\");\n\t }\n\t var k = str.length,\n\t bb = new ByteBuffer(k / 2 | 0, littleEndian),\n\t b;\n\t for (var i = 0, j = 0; i < k; i += 2) {\n\t b = parseInt(str.substring(i, i + 2), 16);\n\t if (!noAssert) if (!isFinite(b) || b < 0 || b > 255) throw TypeError(\"Illegal str: Contains non-hex characters\");\n\t bb.view[j++] = b;\n\t }\n\t bb.limit = j;\n\t return bb;\n\t };\n\t\n\t // utfx-embeddable\n\t\n\t /**\r\n\t * utfx-embeddable (c) 2014 Daniel Wirtz <dcode@dcode.io>\r\n\t * Released under the Apache License, Version 2.0\r\n\t * see: https://github.com/dcodeIO/utfx for details\r\n\t */\n\t var utfx = function () {\n\t \"use strict\";\n\t\n\t /**\r\n\t * utfx namespace.\r\n\t * @inner\r\n\t * @type {!Object.<string,*>}\r\n\t */\n\t\n\t var utfx = {};\n\t\n\t /**\r\n\t * Maximum valid code point.\r\n\t * @type {number}\r\n\t * @const\r\n\t */\n\t utfx.MAX_CODEPOINT = 0x10FFFF;\n\t\n\t /**\r\n\t * Encodes UTF8 code points to UTF8 bytes.\r\n\t * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point\r\n\t * respectively `null` if there are no more code points left or a single numeric code point.\r\n\t * @param {!function(number)} dst Bytes destination as a function successively called with the next byte\r\n\t */\n\t utfx.encodeUTF8 = function (src, dst) {\n\t var cp = null;\n\t if (typeof src === 'number') cp = src, src = function src() {\n\t return null;\n\t };\n\t while (cp !== null || (cp = src()) !== null) {\n\t if (cp < 0x80) dst(cp & 0x7F);else if (cp < 0x800) dst(cp >> 6 & 0x1F | 0xC0), dst(cp & 0x3F | 0x80);else if (cp < 0x10000) dst(cp >> 12 & 0x0F | 0xE0), dst(cp >> 6 & 0x3F | 0x80), dst(cp & 0x3F | 0x80);else dst(cp >> 18 & 0x07 | 0xF0), dst(cp >> 12 & 0x3F | 0x80), dst(cp >> 6 & 0x3F | 0x80), dst(cp & 0x3F | 0x80);\n\t cp = null;\n\t }\n\t };\n\t\n\t /**\r\n\t * Decodes UTF8 bytes to UTF8 code points.\r\n\t * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there\r\n\t * are no more bytes left.\r\n\t * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point.\r\n\t * @throws {RangeError} If a starting byte is invalid in UTF8\r\n\t * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the\r\n\t * remaining bytes.\r\n\t */\n\t utfx.decodeUTF8 = function (src, dst) {\n\t var a,\n\t b,\n\t c,\n\t d,\n\t fail = function fail(b) {\n\t b = b.slice(0, b.indexOf(null));\n\t var err = Error(b.toString());\n\t err.name = \"TruncatedError\";\n\t err['bytes'] = b;\n\t throw err;\n\t };\n\t while ((a = src()) !== null) {\n\t if ((a & 0x80) === 0) dst(a);else if ((a & 0xE0) === 0xC0) (b = src()) === null && fail([a, b]), dst((a & 0x1F) << 6 | b & 0x3F);else if ((a & 0xF0) === 0xE0) ((b = src()) === null || (c = src()) === null) && fail([a, b, c]), dst((a & 0x0F) << 12 | (b & 0x3F) << 6 | c & 0x3F);else if ((a & 0xF8) === 0xF0) ((b = src()) === null || (c = src()) === null || (d = src()) === null) && fail([a, b, c, d]), dst((a & 0x07) << 18 | (b & 0x3F) << 12 | (c & 0x3F) << 6 | d & 0x3F);else throw RangeError(\"Illegal starting byte: \" + a);\n\t }\n\t };\n\t\n\t /**\r\n\t * Converts UTF16 characters to UTF8 code points.\r\n\t * @param {!function():number|null} src Characters source as a function returning the next char code respectively\r\n\t * `null` if there are no more characters left.\r\n\t * @param {!function(number)} dst Code points destination as a function successively called with each converted code\r\n\t * point.\r\n\t */\n\t utfx.UTF16toUTF8 = function (src, dst) {\n\t var c1,\n\t c2 = null;\n\t while (true) {\n\t if ((c1 = c2 !== null ? c2 : src()) === null) break;\n\t if (c1 >= 0xD800 && c1 <= 0xDFFF) {\n\t if ((c2 = src()) !== null) {\n\t if (c2 >= 0xDC00 && c2 <= 0xDFFF) {\n\t dst((c1 - 0xD800) * 0x400 + c2 - 0xDC00 + 0x10000);\n\t c2 = null;continue;\n\t }\n\t }\n\t }\n\t dst(c1);\n\t }\n\t if (c2 !== null) dst(c2);\n\t };\n\t\n\t /**\r\n\t * Converts UTF8 code points to UTF16 characters.\r\n\t * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point\r\n\t * respectively `null` if there are no more code points left or a single numeric code point.\r\n\t * @param {!function(number)} dst Characters destination as a function successively called with each converted char code.\r\n\t * @throws {RangeError} If a code point is out of range\r\n\t */\n\t utfx.UTF8toUTF16 = function (src, dst) {\n\t var cp = null;\n\t if (typeof src === 'number') cp = src, src = function src() {\n\t return null;\n\t };\n\t while (cp !== null || (cp = src()) !== null) {\n\t if (cp <= 0xFFFF) dst(cp);else cp -= 0x10000, dst((cp >> 10) + 0xD800), dst(cp % 0x400 + 0xDC00);\n\t cp = null;\n\t }\n\t };\n\t\n\t /**\r\n\t * Converts and encodes UTF16 characters to UTF8 bytes.\r\n\t * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null`\r\n\t * if there are no more characters left.\r\n\t * @param {!function(number)} dst Bytes destination as a function successively called with the next byte.\r\n\t */\n\t utfx.encodeUTF16toUTF8 = function (src, dst) {\n\t utfx.UTF16toUTF8(src, function (cp) {\n\t utfx.encodeUTF8(cp, dst);\n\t });\n\t };\n\t\n\t /**\r\n\t * Decodes and converts UTF8 bytes to UTF16 characters.\r\n\t * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there\r\n\t * are no more bytes left.\r\n\t * @param {!function(number)} dst Characters destination as a function successively called with each converted char code.\r\n\t * @throws {RangeError} If a starting byte is invalid in UTF8\r\n\t * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes.\r\n\t */\n\t utfx.decodeUTF8toUTF16 = function (src, dst) {\n\t utfx.decodeUTF8(src, function (cp) {\n\t utfx.UTF8toUTF16(cp, dst);\n\t });\n\t };\n\t\n\t /**\r\n\t * Calculates the byte length of an UTF8 code point.\r\n\t * @param {number} cp UTF8 code point\r\n\t * @returns {number} Byte length\r\n\t */\n\t utfx.calculateCodePoint = function (cp) {\n\t return cp < 0x80 ? 1 : cp < 0x800 ? 2 : cp < 0x10000 ? 3 : 4;\n\t };\n\t\n\t /**\r\n\t * Calculates the number of UTF8 bytes required to store UTF8 code points.\r\n\t * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively\r\n\t * `null` if there are no more code points left.\r\n\t * @returns {number} The number of UTF8 bytes required\r\n\t */\n\t utfx.calculateUTF8 = function (src) {\n\t var cp,\n\t l = 0;\n\t while ((cp = src()) !== null) {\n\t l += cp < 0x80 ? 1 : cp < 0x800 ? 2 : cp < 0x10000 ? 3 : 4;\n\t }return l;\n\t };\n\t\n\t /**\r\n\t * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes.\r\n\t * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively\r\n\t * `null` if there are no more characters left.\r\n\t * @returns {!Array.<number>} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1.\r\n\t */\n\t utfx.calculateUTF16asUTF8 = function (src) {\n\t var n = 0,\n\t l = 0;\n\t utfx.UTF16toUTF8(src, function (cp) {\n\t ++n;l += cp < 0x80 ? 1 : cp < 0x800 ? 2 : cp < 0x10000 ? 3 : 4;\n\t });\n\t return [n, l];\n\t };\n\t\n\t return utfx;\n\t }();\n\t\n\t // encodings/utf8\n\t\n\t /**\r\n\t * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded\r\n\t * string.\r\n\t * @returns {string} Hex encoded string\r\n\t * @throws {RangeError} If `offset > limit`\r\n\t * @expose\r\n\t */\n\t ByteBufferPrototype.toUTF8 = function (begin, end) {\n\t if (typeof begin === 'undefined') begin = this.offset;\n\t if (typeof end === 'undefined') end = this.limit;\n\t if (!this.noAssert) {\n\t if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError(\"Illegal begin: Not an integer\");\n\t begin >>>= 0;\n\t if (typeof end !== 'number' || end % 1 !== 0) throw TypeError(\"Illegal end: Not an integer\");\n\t end >>>= 0;\n\t if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError(\"Illegal range: 0 <= \" + begin + \" <= \" + end + \" <= \" + this.buffer.byteLength);\n\t }\n\t var sd;try {\n\t utfx.decodeUTF8toUTF16(function () {\n\t return begin < end ? this.view[begin++] : null;\n\t }.bind(this), sd = stringDestination());\n\t } catch (e) {\n\t if (begin !== end) throw RangeError(\"Illegal range: Truncated data, \" + begin + \" != \" + end);\n\t }\n\t return sd();\n\t };\n\t\n\t /**\r\n\t * Decodes an UTF8 encoded string to a ByteBuffer.\r\n\t * @param {string} str String to decode\r\n\t * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n\t * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n\t * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n\t * @returns {!ByteBuffer} ByteBuffer\r\n\t * @expose\r\n\t */\n\t ByteBuffer.fromUTF8 = function (str, littleEndian, noAssert) {\n\t if (!noAssert) if (typeof str !== 'string') throw TypeError(\"Illegal str: Not a string\");\n\t var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert),\n\t i = 0;\n\t utfx.encodeUTF16toUTF8(stringSource(str), function (b) {\n\t bb.view[i++] = b;\n\t });\n\t bb.limit = i;\n\t return bb;\n\t };\n\t\n\t return ByteBuffer;\n\t});\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)(module)))\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/*\r\n\t Copyright 2013 Daniel Wirtz <dcode@dcode.io>\r\n\t Copyright 2009 The Closure Library Authors. All Rights Reserved.\r\n\t\r\n\t Licensed under the Apache License, Version 2.0 (the \"License\");\r\n\t you may not use this file except in compliance with the License.\r\n\t You may obtain a copy of the License at\r\n\t\r\n\t http://www.apache.org/licenses/LICENSE-2.0\r\n\t\r\n\t Unless required by applicable law or agreed to in writing, software\r\n\t distributed under the License is distributed on an \"AS-IS\" BASIS,\r\n\t WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n\t See the License for the specific language governing permissions and\r\n\t limitations under the License.\r\n\t */\n\t\n\t/**\r\n\t * @license long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>\r\n\t * Released under the Apache License, Version 2.0\r\n\t * see: https://github.com/dcodeIO/long.js for details\r\n\t */\n\t(function (global, factory) {\n\t\n\t /* AMD */if (\"function\" === 'function' && __webpack_require__(154)[\"amd\"]) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t /* CommonJS */else if (\"function\" === 'function' && ( false ? 'undefined' : _typeof(module)) === \"object\" && module && module[\"exports\"]) module[\"exports\"] = factory();\n\t /* Global */else (global[\"dcodeIO\"] = global[\"dcodeIO\"] || {})[\"Long\"] = factory();\n\t})(undefined, function () {\n\t \"use strict\";\n\t\n\t /**\r\n\t * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\r\n\t * See the from* functions below for more convenient ways of constructing Longs.\r\n\t * @exports Long\r\n\t * @class A Long class for representing a 64 bit two's-complement integer value.\r\n\t * @param {number} low The low (signed) 32 bits of the long\r\n\t * @param {number} high The high (signed) 32 bits of the long\r\n\t * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n\t * @constructor\r\n\t */\n\t\n\t function Long(low, high, unsigned) {\n\t\n\t /**\r\n\t * The low 32 bits as a signed value.\r\n\t * @type {number}\r\n\t */\n\t this.low = low | 0;\n\t\n\t /**\r\n\t * The high 32 bits as a signed value.\r\n\t * @type {number}\r\n\t */\n\t this.high = high | 0;\n\t\n\t /**\r\n\t * Whether unsigned or not.\r\n\t * @type {boolean}\r\n\t */\n\t this.unsigned = !!unsigned;\n\t }\n\t\n\t // The internal representation of a long is the two given signed, 32-bit values.\n\t // We use 32-bit pieces because these are the size of integers on which\n\t // Javascript performs bit-operations. For operations like addition and\n\t // multiplication, we split each number into 16 bit pieces, which can easily be\n\t // multiplied within Javascript's floating-point representation without overflow\n\t // or change in sign.\n\t //\n\t // In the algorithms below, we frequently reduce the negative case to the\n\t // positive case by negating the input(s) and then post-processing the result.\n\t // Note that we must ALWAYS check specially whether those values are MIN_VALUE\n\t // (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\n\t // a positive number, it overflows back into a negative). Not handling this\n\t // case would often result in infinite recursion.\n\t //\n\t // Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\n\t // methods on which they depend.\n\t\n\t /**\r\n\t * An indicator used to reliably determine if an object is a Long or not.\r\n\t * @type {boolean}\r\n\t * @const\r\n\t * @private\r\n\t */\n\t Long.prototype.__isLong__;\n\t\n\t Object.defineProperty(Long.prototype, \"__isLong__\", {\n\t value: true,\n\t enumerable: false,\n\t configurable: false\n\t });\n\t\n\t /**\r\n\t * @function\r\n\t * @param {*} obj Object\r\n\t * @returns {boolean}\r\n\t * @inner\r\n\t */\n\t function isLong(obj) {\n\t return (obj && obj[\"__isLong__\"]) === true;\n\t }\n\t\n\t /**\r\n\t * Tests if the specified object is a Long.\r\n\t * @function\r\n\t * @param {*} obj Object\r\n\t * @returns {boolean}\r\n\t */\n\t Long.isLong = isLong;\n\t\n\t /**\r\n\t * A cache of the Long representations of small integer values.\r\n\t * @type {!Object}\r\n\t * @inner\r\n\t */\n\t var INT_CACHE = {};\n\t\n\t /**\r\n\t * A cache of the Long representations of small unsigned integer values.\r\n\t * @type {!Object}\r\n\t * @inner\r\n\t */\n\t var UINT_CACHE = {};\n\t\n\t /**\r\n\t * @param {number} value\r\n\t * @param {boolean=} unsigned\r\n\t * @returns {!Long}\r\n\t * @inner\r\n\t */\n\t function fromInt(value, unsigned) {\n\t var obj, cachedObj, cache;\n\t if (unsigned) {\n\t value >>>= 0;\n\t if (cache = 0 <= value && value < 256) {\n\t cachedObj = UINT_CACHE[value];\n\t if (cachedObj) return cachedObj;\n\t }\n\t obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);\n\t if (cache) UINT_CACHE[value] = obj;\n\t return obj;\n\t } else {\n\t value |= 0;\n\t if (cache = -128 <= value && value < 128) {\n\t cachedObj = INT_CACHE[value];\n\t if (cachedObj) return cachedObj;\n\t }\n\t obj = fromBits(value, value < 0 ? -1 : 0, false);\n\t if (cache) INT_CACHE[value] = obj;\n\t return obj;\n\t }\n\t }\n\t\n\t /**\r\n\t * Returns a Long representing the given 32 bit integer value.\r\n\t * @function\r\n\t * @param {number} value The 32 bit integer in question\r\n\t * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n\t * @returns {!Long} The corresponding Long value\r\n\t */\n\t Long.fromInt = fromInt;\n\t\n\t /**\r\n\t * @param {number} value\r\n\t * @param {boolean=} unsigned\r\n\t * @returns {!Long}\r\n\t * @inner\r\n\t */\n\t function fromNumber(value, unsigned) {\n\t if (isNaN(value) || !isFinite(value)) return unsigned ? UZERO : ZERO;\n\t if (unsigned) {\n\t if (value < 0) return UZERO;\n\t if (value >= TWO_PWR_64_DBL) return MAX_UNSIGNED_VALUE;\n\t } else {\n\t if (value <= -TWO_PWR_63_DBL) return MIN_VALUE;\n\t if (value + 1 >= TWO_PWR_63_DBL) return MAX_VALUE;\n\t }\n\t if (value < 0) return fromNumber(-value, unsigned).neg();\n\t return fromBits(value % TWO_PWR_32_DBL | 0, value / TWO_PWR_32_DBL | 0, unsigned);\n\t }\n\t\n\t /**\r\n\t * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\r\n\t * @function\r\n\t * @param {number} value The number in question\r\n\t * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n\t * @returns {!Long} The corresponding Long value\r\n\t */\n\t Long.fromNumber = fromNumber;\n\t\n\t /**\r\n\t * @param {number} lowBits\r\n\t * @param {number} highBits\r\n\t * @param {boolean=} unsigned\r\n\t * @returns {!Long}\r\n\t * @inner\r\n\t */\n\t function fromBits(lowBits, highBits, unsigned) {\n\t return new Long(lowBits, highBits, unsigned);\n\t }\n\t\n\t /**\r\n\t * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\r\n\t * assumed to use 32 bits.\r\n\t * @function\r\n\t * @param {number} lowBits The low 32 bits\r\n\t * @param {number} highBits The high 32 bits\r\n\t * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n\t * @returns {!Long} The corresponding Long value\r\n\t */\n\t Long.fromBits = fromBits;\n\t\n\t /**\r\n\t * @function\r\n\t * @param {number} base\r\n\t * @param {number} exponent\r\n\t * @returns {number}\r\n\t * @inner\r\n\t */\n\t var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\n\t\n\t /**\r\n\t * @param {string} str\r\n\t * @param {(boolean|number)=} unsigned\r\n\t * @param {number=} radix\r\n\t * @returns {!Long}\r\n\t * @inner\r\n\t */\n\t function fromString(str, unsigned, radix) {\n\t if (str.length === 0) throw Error('empty string');\n\t if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\") return ZERO;\n\t if (typeof unsigned === 'number') {\n\t // For goog.math.long compatibility\n\t radix = unsigned, unsigned = false;\n\t } else {\n\t unsigned = !!unsigned;\n\t }\n\t radix = radix || 10;\n\t if (radix < 2 || 36 < radix) throw RangeError('radix');\n\t\n\t var p;\n\t if ((p = str.indexOf('-')) > 0) throw Error('interior hyphen');else if (p === 0) {\n\t return fromString(str.substring(1), unsigned, radix).neg();\n\t }\n\t\n\t // Do several (8) digits each time through the loop, so as to\n\t // minimize the calls to the very expensive emulated div.\n\t var radixToPower = fromNumber(pow_dbl(radix, 8));\n\t\n\t var result = ZERO;\n\t for (var i = 0; i < str.length; i += 8) {\n\t var size = Math.min(8, str.length - i),\n\t value = parseInt(str.substring(i, i + size), radix);\n\t if (size < 8) {\n\t var power = fromNumber(pow_dbl(radix, size));\n\t result = result.mul(power).add(fromNumber(value));\n\t } else {\n\t result = result.mul(radixToPower);\n\t result = result.add(fromNumber(value));\n\t }\n\t }\n\t result.unsigned = unsigned;\n\t return result;\n\t }\n\t\n\t /**\r\n\t * Returns a Long representation of the given string, written using the specified radix.\r\n\t * @function\r\n\t * @param {string} str The textual representation of the Long\r\n\t * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n\t * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\r\n\t * @returns {!Long} The corresponding Long value\r\n\t */\n\t Long.fromString = fromString;\n\t\n\t /**\r\n\t * @function\r\n\t * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\r\n\t * @returns {!Long}\r\n\t * @inner\r\n\t */\n\t function fromValue(val) {\n\t if (val /* is compatible */ instanceof Long) return val;\n\t if (typeof val === 'number') return fromNumber(val);\n\t if (typeof val === 'string') return fromString(val);\n\t // Throws for non-objects, converts non-instanceof Long:\n\t return fromBits(val.low, val.high, val.unsigned);\n\t }\n\t\n\t /**\r\n\t * Converts the specified value to a Long.\r\n\t * @function\r\n\t * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\r\n\t * @returns {!Long}\r\n\t */\n\t Long.fromValue = fromValue;\n\t\n\t // NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\n\t // no runtime penalty for these.\n\t\n\t /**\r\n\t * @type {number}\r\n\t * @const\r\n\t * @inner\r\n\t */\n\t var TWO_PWR_16_DBL = 1 << 16;\n\t\n\t /**\r\n\t * @type {number}\r\n\t * @const\r\n\t * @inner\r\n\t */\n\t var TWO_PWR_24_DBL = 1 << 24;\n\t\n\t /**\r\n\t * @type {number}\r\n\t * @const\r\n\t * @inner\r\n\t */\n\t var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\n\t\n\t /**\r\n\t * @type {number}\r\n\t * @const\r\n\t * @inner\r\n\t */\n\t var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\n\t\n\t /**\r\n\t * @type {number}\r\n\t * @const\r\n\t * @inner\r\n\t */\n\t var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @const\r\n\t * @inner\r\n\t */\n\t var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var ZERO = fromInt(0);\n\t\n\t /**\r\n\t * Signed zero.\r\n\t * @type {!Long}\r\n\t */\n\t Long.ZERO = ZERO;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var UZERO = fromInt(0, true);\n\t\n\t /**\r\n\t * Unsigned zero.\r\n\t * @type {!Long}\r\n\t */\n\t Long.UZERO = UZERO;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var ONE = fromInt(1);\n\t\n\t /**\r\n\t * Signed one.\r\n\t * @type {!Long}\r\n\t */\n\t Long.ONE = ONE;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var UONE = fromInt(1, true);\n\t\n\t /**\r\n\t * Unsigned one.\r\n\t * @type {!Long}\r\n\t */\n\t Long.UONE = UONE;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var NEG_ONE = fromInt(-1);\n\t\n\t /**\r\n\t * Signed negative one.\r\n\t * @type {!Long}\r\n\t */\n\t Long.NEG_ONE = NEG_ONE;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var MAX_VALUE = fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0, false);\n\t\n\t /**\r\n\t * Maximum signed value.\r\n\t * @type {!Long}\r\n\t */\n\t Long.MAX_VALUE = MAX_VALUE;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF | 0, 0xFFFFFFFF | 0, true);\n\t\n\t /**\r\n\t * Maximum unsigned value.\r\n\t * @type {!Long}\r\n\t */\n\t Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\n\t\n\t /**\r\n\t * @type {!Long}\r\n\t * @inner\r\n\t */\n\t var MIN_VALUE = fromBits(0, 0x80000000 | 0, false);\n\t\n\t /**\r\n\t * Minimum signed value.\r\n\t * @type {!Long}\r\n\t */\n\t Long.MIN_VALUE = MIN_VALUE;\n\t\n\t /**\r\n\t * @alias Long.prototype\r\n\t * @inner\r\n\t */\n\t var LongPrototype = Long.prototype;\n\t\n\t /**\r\n\t * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\r\n\t * @returns {number}\r\n\t */\n\t LongPrototype.toInt = function toInt() {\n\t return this.unsigned ? this.low >>> 0 : this.low;\n\t };\n\t\n\t /**\r\n\t * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\r\n\t * @returns {number}\r\n\t */\n\t LongPrototype.toNumber = function toNumber() {\n\t if (this.unsigned) return (this.high >>> 0) * TWO_PWR_32_DBL + (this.low >>> 0);\n\t return this.high * TWO_PWR_32_DBL + (this.low >>> 0);\n\t };\n\t\n\t /**\r\n\t * Converts the Long to a string written in the specified radix.\r\n\t * @param {number=} radix Radix (2-36), defaults to 10\r\n\t * @returns {string}\r\n\t * @override\r\n\t * @throws {RangeError} If `radix` is out of range\r\n\t */\n\t LongPrototype.toString = function toString(radix) {\n\t radix = radix || 10;\n\t if (radix < 2 || 36 < radix) throw RangeError('radix');\n\t if (this.isZero()) return '0';\n\t if (this.isNegative()) {\n\t // Unsigned Longs are never negative\n\t if (this.eq(MIN_VALUE)) {\n\t // We need to change the Long value before it can be negated, so we remove\n\t // the bottom-most digit in this base and then recurse to do the rest.\n\t var radixLong = fromNumber(radix),\n\t div = this.div(radixLong),\n\t rem1 = div.mul(radixLong).sub(this);\n\t return div.toString(radix) + rem1.toInt().toString(radix);\n\t } else return '-' + this.neg().toString(radix);\n\t }\n\t\n\t // Do several (6) digits each time through the loop, so as to\n\t // minimize the calls to the very expensive emulated div.\n\t var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned),\n\t rem = this;\n\t var result = '';\n\t while (true) {\n\t var remDiv = rem.div(radixToPower),\n\t intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0,\n\t digits = intval.toString(radix);\n\t rem = remDiv;\n\t if (rem.isZero()) return digits + result;else {\n\t while (digits.length < 6) {\n\t digits = '0' + digits;\n\t }result = '' + digits + result;\n\t }\n\t }\n\t };\n\t\n\t /**\r\n\t * Gets the high 32 bits as a signed integer.\r\n\t * @returns {number} Signed high bits\r\n\t */\n\t LongPrototype.getHighBits = function getHighBits() {\n\t return this.high;\n\t };\n\t\n\t /**\r\n\t * Gets the high 32 bits as an unsigned integer.\r\n\t * @returns {number} Unsigned high bits\r\n\t */\n\t LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {\n\t return this.high >>> 0;\n\t };\n\t\n\t /**\r\n\t * Gets the low 32 bits as a signed integer.\r\n\t * @returns {number} Signed low bits\r\n\t */\n\t LongPrototype.getLowBits = function getLowBits() {\n\t return this.low;\n\t };\n\t\n\t /**\r\n\t * Gets the low 32 bits as an unsigned integer.\r\n\t * @returns {number} Unsigned low bits\r\n\t */\n\t LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {\n\t return this.low >>> 0;\n\t };\n\t\n\t /**\r\n\t * Gets the number of bits needed to represent the absolute value of this Long.\r\n\t * @returns {number}\r\n\t */\n\t LongPrototype.getNumBitsAbs = function getNumBitsAbs() {\n\t if (this.isNegative()) // Unsigned Longs are never negative\n\t return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();\n\t var val = this.high != 0 ? this.high : this.low;\n\t for (var bit = 31; bit > 0; bit--) {\n\t if ((val & 1 << bit) != 0) break;\n\t }return this.high != 0 ? bit + 33 : bit + 1;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value equals zero.\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.isZero = function isZero() {\n\t return this.high === 0 && this.low === 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is negative.\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.isNegative = function isNegative() {\n\t return !this.unsigned && this.high < 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is positive.\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.isPositive = function isPositive() {\n\t return this.unsigned || this.high >= 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is odd.\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.isOdd = function isOdd() {\n\t return (this.low & 1) === 1;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is even.\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.isEven = function isEven() {\n\t return (this.low & 1) === 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value equals the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.equals = function equals(other) {\n\t if (!isLong(other)) other = fromValue(other);\n\t if (this.unsigned !== other.unsigned && this.high >>> 31 === 1 && other.high >>> 31 === 1) return false;\n\t return this.high === other.high && this.low === other.low;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.eq = LongPrototype.equals;\n\t\n\t /**\r\n\t * Tests if this Long's value differs from the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.notEquals = function notEquals(other) {\n\t return !this.eq( /* validates */other);\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.neq = LongPrototype.notEquals;\n\t\n\t /**\r\n\t * Tests if this Long's value is less than the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.lessThan = function lessThan(other) {\n\t return this.comp( /* validates */other) < 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.lt = LongPrototype.lessThan;\n\t\n\t /**\r\n\t * Tests if this Long's value is less than or equal the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {\n\t return this.comp( /* validates */other) <= 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.lte = LongPrototype.lessThanOrEqual;\n\t\n\t /**\r\n\t * Tests if this Long's value is greater than the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.greaterThan = function greaterThan(other) {\n\t return this.comp( /* validates */other) > 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.gt = LongPrototype.greaterThan;\n\t\n\t /**\r\n\t * Tests if this Long's value is greater than or equal the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {\n\t return this.comp( /* validates */other) >= 0;\n\t };\n\t\n\t /**\r\n\t * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {boolean}\r\n\t */\n\t LongPrototype.gte = LongPrototype.greaterThanOrEqual;\n\t\n\t /**\r\n\t * Compares this Long's value with the specified's.\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n\t * if the given one is greater\r\n\t */\n\t LongPrototype.compare = function compare(other) {\n\t if (!isLong(other)) other = fromValue(other);\n\t if (this.eq(other)) return 0;\n\t var thisNeg = this.isNegative(),\n\t otherNeg = other.isNegative();\n\t if (thisNeg && !otherNeg) return -1;\n\t if (!thisNeg && otherNeg) return 1;\n\t // At this point the sign bits are the same\n\t if (!this.unsigned) return this.sub(other).isNegative() ? -1 : 1;\n\t // Both are positive if at least one is unsigned\n\t return other.high >>> 0 > this.high >>> 0 || other.high === this.high && other.low >>> 0 > this.low >>> 0 ? -1 : 1;\n\t };\n\t\n\t /**\r\n\t * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\r\n\t * @function\r\n\t * @param {!Long|number|string} other Other value\r\n\t * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n\t * if the given one is greater\r\n\t */\n\t LongPrototype.comp = LongPrototype.compare;\n\t\n\t /**\r\n\t * Negates this Long's value.\r\n\t * @returns {!Long} Negated Long\r\n\t */\n\t LongPrototype.negate = function negate() {\n\t if (!this.unsigned && this.eq(MIN_VALUE)) return MIN_VALUE;\n\t return this.not().add(ONE);\n\t };\n\t\n\t /**\r\n\t * Negates this Long's value. This is an alias of {@link Long#negate}.\r\n\t * @function\r\n\t * @returns {!Long} Negated Long\r\n\t */\n\t LongPrototype.neg = LongPrototype.negate;\n\t\n\t /**\r\n\t * Returns the sum of this and the specified Long.\r\n\t * @param {!Long|number|string} addend Addend\r\n\t * @returns {!Long} Sum\r\n\t */\n\t LongPrototype.add = function add(addend) {\n\t if (!isLong(addend)) addend = fromValue(addend);\n\t\n\t // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\n\t\n\t var a48 = this.high >>> 16;\n\t var a32 = this.high & 0xFFFF;\n\t var a16 = this.low >>> 16;\n\t var a00 = this.low & 0xFFFF;\n\t\n\t var b48 = addend.high >>> 16;\n\t var b32 = addend.high & 0xFFFF;\n\t var b16 = addend.low >>> 16;\n\t var b00 = addend.low & 0xFFFF;\n\t\n\t var c48 = 0,\n\t c32 = 0,\n\t c16 = 0,\n\t c00 = 0;\n\t c00 += a00 + b00;\n\t c16 += c00 >>> 16;\n\t c00 &= 0xFFFF;\n\t c16 += a16 + b16;\n\t c32 += c16 >>> 16;\n\t c16 &= 0xFFFF;\n\t c32 += a32 + b32;\n\t c48 += c32 >>> 16;\n\t c32 &= 0xFFFF;\n\t c48 += a48 + b48;\n\t c48 &= 0xFFFF;\n\t return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns the difference of this and the specified Long.\r\n\t * @param {!Long|number|string} subtrahend Subtrahend\r\n\t * @returns {!Long} Difference\r\n\t */\n\t LongPrototype.subtract = function subtract(subtrahend) {\n\t if (!isLong(subtrahend)) subtrahend = fromValue(subtrahend);\n\t return this.add(subtrahend.neg());\n\t };\n\t\n\t /**\r\n\t * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\r\n\t * @function\r\n\t * @param {!Long|number|string} subtrahend Subtrahend\r\n\t * @returns {!Long} Difference\r\n\t */\n\t LongPrototype.sub = LongPrototype.subtract;\n\t\n\t /**\r\n\t * Returns the product of this and the specified Long.\r\n\t * @param {!Long|number|string} multiplier Multiplier\r\n\t * @returns {!Long} Product\r\n\t */\n\t LongPrototype.multiply = function multiply(multiplier) {\n\t if (this.isZero()) return ZERO;\n\t if (!isLong(multiplier)) multiplier = fromValue(multiplier);\n\t if (multiplier.isZero()) return ZERO;\n\t if (this.eq(MIN_VALUE)) return multiplier.isOdd() ? MIN_VALUE : ZERO;\n\t if (multiplier.eq(MIN_VALUE)) return this.isOdd() ? MIN_VALUE : ZERO;\n\t\n\t if (this.isNegative()) {\n\t if (multiplier.isNegative()) return this.neg().mul(multiplier.neg());else return this.neg().mul(multiplier).neg();\n\t } else if (multiplier.isNegative()) return this.mul(multiplier.neg()).neg();\n\t\n\t // If both longs are small, use float multiplication\n\t if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24)) return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);\n\t\n\t // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\n\t // We can skip products that would overflow.\n\t\n\t var a48 = this.high >>> 16;\n\t var a32 = this.high & 0xFFFF;\n\t var a16 = this.low >>> 16;\n\t var a00 = this.low & 0xFFFF;\n\t\n\t var b48 = multiplier.high >>> 16;\n\t var b32 = multiplier.high & 0xFFFF;\n\t var b16 = multiplier.low >>> 16;\n\t var b00 = multiplier.low & 0xFFFF;\n\t\n\t var c48 = 0,\n\t c32 = 0,\n\t c16 = 0,\n\t c00 = 0;\n\t c00 += a00 * b00;\n\t c16 += c00 >>> 16;\n\t c00 &= 0xFFFF;\n\t c16 += a16 * b00;\n\t c32 += c16 >>> 16;\n\t c16 &= 0xFFFF;\n\t c16 += a00 * b16;\n\t c32 += c16 >>> 16;\n\t c16 &= 0xFFFF;\n\t c32 += a32 * b00;\n\t c48 += c32 >>> 16;\n\t c32 &= 0xFFFF;\n\t c32 += a16 * b16;\n\t c48 += c32 >>> 16;\n\t c32 &= 0xFFFF;\n\t c32 += a00 * b32;\n\t c48 += c32 >>> 16;\n\t c32 &= 0xFFFF;\n\t c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\n\t c48 &= 0xFFFF;\n\t return fromBits(c16 << 16 | c00, c48 << 16 | c32, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\r\n\t * @function\r\n\t * @param {!Long|number|string} multiplier Multiplier\r\n\t * @returns {!Long} Product\r\n\t */\n\t LongPrototype.mul = LongPrototype.multiply;\n\t\n\t /**\r\n\t * Returns this Long divided by the specified. The result is signed if this Long is signed or\r\n\t * unsigned if this Long is unsigned.\r\n\t * @param {!Long|number|string} divisor Divisor\r\n\t * @returns {!Long} Quotient\r\n\t */\n\t LongPrototype.divide = function divide(divisor) {\n\t if (!isLong(divisor)) divisor = fromValue(divisor);\n\t if (divisor.isZero()) throw Error('division by zero');\n\t if (this.isZero()) return this.unsigned ? UZERO : ZERO;\n\t var approx, rem, res;\n\t if (!this.unsigned) {\n\t // This section is only relevant for signed longs and is derived from the\n\t // closure library as a whole.\n\t if (this.eq(MIN_VALUE)) {\n\t if (divisor.eq(ONE) || divisor.eq(NEG_ONE)) return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\n\t else if (divisor.eq(MIN_VALUE)) return ONE;else {\n\t // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\n\t var halfThis = this.shr(1);\n\t approx = halfThis.div(divisor).shl(1);\n\t if (approx.eq(ZERO)) {\n\t return divisor.isNegative() ? ONE : NEG_ONE;\n\t } else {\n\t rem = this.sub(divisor.mul(approx));\n\t res = approx.add(rem.div(divisor));\n\t return res;\n\t }\n\t }\n\t } else if (divisor.eq(MIN_VALUE)) return this.unsigned ? UZERO : ZERO;\n\t if (this.isNegative()) {\n\t if (divisor.isNegative()) return this.neg().div(divisor.neg());\n\t return this.neg().div(divisor).neg();\n\t } else if (divisor.isNegative()) return this.div(divisor.neg()).neg();\n\t res = ZERO;\n\t } else {\n\t // The algorithm below has not been made for unsigned longs. It's therefore\n\t // required to take special care of the MSB prior to running it.\n\t if (!divisor.unsigned) divisor = divisor.toUnsigned();\n\t if (divisor.gt(this)) return UZERO;\n\t if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\n\t return UONE;\n\t res = UZERO;\n\t }\n\t\n\t // Repeat the following until the remainder is less than other: find a\n\t // floating-point that approximates remainder / other *from below*, add this\n\t // into the result, and subtract it from the remainder. It is critical that\n\t // the approximate value is less than or equal to the real value so that the\n\t // remainder never becomes negative.\n\t rem = this;\n\t while (rem.gte(divisor)) {\n\t // Approximate the result of division. This may be a little greater or\n\t // smaller than the actual value.\n\t approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));\n\t\n\t // We will tweak the approximate result by changing it in the 48-th digit or\n\t // the smallest non-fractional digit, whichever is larger.\n\t var log2 = Math.ceil(Math.log(approx) / Math.LN2),\n\t delta = log2 <= 48 ? 1 : pow_dbl(2, log2 - 48),\n\t\n\t\n\t // Decrease the approximation until it is smaller than the remainder. Note\n\t // that if it is too large, the product overflows and is negative.\n\t approxRes = fromNumber(approx),\n\t approxRem = approxRes.mul(divisor);\n\t while (approxRem.isNegative() || approxRem.gt(rem)) {\n\t approx -= delta;\n\t approxRes = fromNumber(approx, this.unsigned);\n\t approxRem = approxRes.mul(divisor);\n\t }\n\t\n\t // We know the answer can't be zero... and actually, zero would cause\n\t // infinite recursion since we would make no progress.\n\t if (approxRes.isZero()) approxRes = ONE;\n\t\n\t res = res.add(approxRes);\n\t rem = rem.sub(approxRem);\n\t }\n\t return res;\n\t };\n\t\n\t /**\r\n\t * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\r\n\t * @function\r\n\t * @param {!Long|number|string} divisor Divisor\r\n\t * @returns {!Long} Quotient\r\n\t */\n\t LongPrototype.div = LongPrototype.divide;\n\t\n\t /**\r\n\t * Returns this Long modulo the specified.\r\n\t * @param {!Long|number|string} divisor Divisor\r\n\t * @returns {!Long} Remainder\r\n\t */\n\t LongPrototype.modulo = function modulo(divisor) {\n\t if (!isLong(divisor)) divisor = fromValue(divisor);\n\t return this.sub(this.div(divisor).mul(divisor));\n\t };\n\t\n\t /**\r\n\t * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\r\n\t * @function\r\n\t * @param {!Long|number|string} divisor Divisor\r\n\t * @returns {!Long} Remainder\r\n\t */\n\t LongPrototype.mod = LongPrototype.modulo;\n\t\n\t /**\r\n\t * Returns the bitwise NOT of this Long.\r\n\t * @returns {!Long}\r\n\t */\n\t LongPrototype.not = function not() {\n\t return fromBits(~this.low, ~this.high, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns the bitwise AND of this Long and the specified.\r\n\t * @param {!Long|number|string} other Other Long\r\n\t * @returns {!Long}\r\n\t */\n\t LongPrototype.and = function and(other) {\n\t if (!isLong(other)) other = fromValue(other);\n\t return fromBits(this.low & other.low, this.high & other.high, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns the bitwise OR of this Long and the specified.\r\n\t * @param {!Long|number|string} other Other Long\r\n\t * @returns {!Long}\r\n\t */\n\t LongPrototype.or = function or(other) {\n\t if (!isLong(other)) other = fromValue(other);\n\t return fromBits(this.low | other.low, this.high | other.high, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns the bitwise XOR of this Long and the given one.\r\n\t * @param {!Long|number|string} other Other Long\r\n\t * @returns {!Long}\r\n\t */\n\t LongPrototype.xor = function xor(other) {\n\t if (!isLong(other)) other = fromValue(other);\n\t return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns this Long with bits shifted to the left by the given amount.\r\n\t * @param {number|!Long} numBits Number of bits\r\n\t * @returns {!Long} Shifted Long\r\n\t */\n\t LongPrototype.shiftLeft = function shiftLeft(numBits) {\n\t if (isLong(numBits)) numBits = numBits.toInt();\n\t if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low << numBits, this.high << numBits | this.low >>> 32 - numBits, this.unsigned);else return fromBits(0, this.low << numBits - 32, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\r\n\t * @function\r\n\t * @param {number|!Long} numBits Number of bits\r\n\t * @returns {!Long} Shifted Long\r\n\t */\n\t LongPrototype.shl = LongPrototype.shiftLeft;\n\t\n\t /**\r\n\t * Returns this Long with bits arithmetically shifted to the right by the given amount.\r\n\t * @param {number|!Long} numBits Number of bits\r\n\t * @returns {!Long} Shifted Long\r\n\t */\n\t LongPrototype.shiftRight = function shiftRight(numBits) {\n\t if (isLong(numBits)) numBits = numBits.toInt();\n\t if ((numBits &= 63) === 0) return this;else if (numBits < 32) return fromBits(this.low >>> numBits | this.high << 32 - numBits, this.high >> numBits, this.unsigned);else return fromBits(this.high >> numBits - 32, this.high >= 0 ? 0 : -1, this.unsigned);\n\t };\n\t\n\t /**\r\n\t * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\r\n\t * @function\r\n\t * @param {number|!Long} numBits Number of bits\r\n\t * @returns {!Long} Shifted Long\r\n\t */\n\t LongPrototype.shr = LongPrototype.shiftRight;\n\t\n\t /**\r\n\t * Returns this Long with bits logically shifted to the right by the given amount.\r\n\t * @param {number|!Long} numBits Number of bits\r\n\t * @returns {!Long} Shifted Long\r\n\t */\n\t LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {\n\t if (isLong(numBits)) numBits = numBits.toInt();\n\t numBits &= 63;\n\t if (numBits === 0) return this;else {\n\t var high = this.high;\n\t if (numBits < 32) {\n\t var low = this.low;\n\t return fromBits(low >>> numBits | high << 32 - numBits, high >>> numBits, this.unsigned);\n\t } else if (numBits === 32) return fromBits(high, 0, this.unsigned);else return fromBits(high >>> numBits - 32, 0, this.unsigned);\n\t }\n\t };\n\t\n\t /**\r\n\t * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\r\n\t * @function\r\n\t * @param {number|!Long} numBits Number of bits\r\n\t * @returns {!Long} Shifted Long\r\n\t */\n\t LongPrototype.shru = LongPrototype.shiftRightUnsigned;\n\t\n\t /**\r\n\t * Converts this Long to signed.\r\n\t * @returns {!Long} Signed long\r\n\t */\n\t LongPrototype.toSigned = function toSigned() {\n\t if (!this.unsigned) return this;\n\t return fromBits(this.low, this.high, false);\n\t };\n\t\n\t /**\r\n\t * Converts this Long to unsigned.\r\n\t * @returns {!Long} Unsigned long\r\n\t */\n\t LongPrototype.toUnsigned = function toUnsigned() {\n\t if (this.unsigned) return this;\n\t return fromBits(this.low, this.high, true);\n\t };\n\t\n\t /**\r\n\t * Converts this Long to its byte representation.\r\n\t * @param {boolean=} le Whether little or big endian, defaults to big endian\r\n\t * @returns {!Array.<number>} Byte representation\r\n\t */\n\t LongPrototype.toBytes = function (le) {\n\t return le ? this.toBytesLE() : this.toBytesBE();\n\t };\n\t\n\t /**\r\n\t * Converts this Long to its little endian byte representation.\r\n\t * @returns {!Array.<number>} Little endian byte representation\r\n\t */\n\t LongPrototype.toBytesLE = function () {\n\t var hi = this.high,\n\t lo = this.low;\n\t return [lo & 0xff, lo >>> 8 & 0xff, lo >>> 16 & 0xff, lo >>> 24 & 0xff, hi & 0xff, hi >>> 8 & 0xff, hi >>> 16 & 0xff, hi >>> 24 & 0xff];\n\t };\n\t\n\t /**\r\n\t * Converts this Long to its big endian byte representation.\r\n\t * @returns {!Array.<number>} Big endian byte representation\r\n\t */\n\t LongPrototype.toBytesBE = function () {\n\t var hi = this.high,\n\t lo = this.low;\n\t return [hi >>> 24 & 0xff, hi >>> 16 & 0xff, hi >>> 8 & 0xff, hi & 0xff, lo >>> 24 & 0xff, lo >>> 16 & 0xff, lo >>> 8 & 0xff, lo & 0xff];\n\t };\n\t\n\t return Long;\n\t});\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(64)(module)))\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar ciphers = __webpack_require__(157);\n\tvar deciphers = __webpack_require__(176);\n\tvar modes = __webpack_require__(168);\n\t\n\tfunction getCiphers() {\n\t return Object.keys(modes);\n\t}\n\t\n\texports.createCipher = exports.Cipher = ciphers.createCipher;\n\texports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv;\n\texports.createDecipher = exports.Decipher = deciphers.createDecipher;\n\texports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv;\n\texports.listCiphers = exports.getCiphers = getCiphers;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar MODES = __webpack_require__(158);\n\tvar AuthCipher = __webpack_require__(169);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar StreamCipher = __webpack_require__(172);\n\tvar Transform = __webpack_require__(145);\n\tvar aes = __webpack_require__(170);\n\tvar ebtk = __webpack_require__(173);\n\tvar inherits = __webpack_require__(111);\n\t\n\tfunction Cipher(mode, key, iv) {\n\t Transform.call(this);\n\t\n\t this._cache = new Splitter();\n\t this._cipher = new aes.AES(key);\n\t this._prev = Buffer.from(iv);\n\t this._mode = mode;\n\t this._autopadding = true;\n\t}\n\t\n\tinherits(Cipher, Transform);\n\t\n\tCipher.prototype._update = function (data) {\n\t this._cache.add(data);\n\t var chunk;\n\t var thing;\n\t var out = [];\n\t\n\t while (chunk = this._cache.get()) {\n\t thing = this._mode.encrypt(this, chunk);\n\t out.push(thing);\n\t }\n\t\n\t return Buffer.concat(out);\n\t};\n\t\n\tvar PADDING = Buffer.alloc(16, 0x10);\n\t\n\tCipher.prototype._final = function () {\n\t var chunk = this._cache.flush();\n\t if (this._autopadding) {\n\t chunk = this._mode.encrypt(this, chunk);\n\t this._cipher.scrub();\n\t return chunk;\n\t }\n\t\n\t if (!chunk.equals(PADDING)) {\n\t this._cipher.scrub();\n\t throw new Error('data not multiple of block length');\n\t }\n\t};\n\t\n\tCipher.prototype.setAutoPadding = function (setTo) {\n\t this._autopadding = !!setTo;\n\t return this;\n\t};\n\t\n\tfunction Splitter() {\n\t this.cache = Buffer.allocUnsafe(0);\n\t}\n\t\n\tSplitter.prototype.add = function (data) {\n\t this.cache = Buffer.concat([this.cache, data]);\n\t};\n\t\n\tSplitter.prototype.get = function () {\n\t if (this.cache.length > 15) {\n\t var out = this.cache.slice(0, 16);\n\t this.cache = this.cache.slice(16);\n\t return out;\n\t }\n\t return null;\n\t};\n\t\n\tSplitter.prototype.flush = function () {\n\t var len = 16 - this.cache.length;\n\t var padBuff = Buffer.allocUnsafe(len);\n\t\n\t var i = -1;\n\t while (++i < len) {\n\t padBuff.writeUInt8(len, i);\n\t }\n\t\n\t return Buffer.concat([this.cache, padBuff]);\n\t};\n\t\n\tfunction createCipheriv(suite, password, iv) {\n\t var config = MODES[suite.toLowerCase()];\n\t if (!config) throw new TypeError('invalid suite type');\n\t\n\t if (typeof password === 'string') password = Buffer.from(password);\n\t if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length);\n\t\n\t if (typeof iv === 'string') iv = Buffer.from(iv);\n\t if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length);\n\t\n\t if (config.type === 'stream') {\n\t return new StreamCipher(config.module, password, iv);\n\t } else if (config.type === 'auth') {\n\t return new AuthCipher(config.module, password, iv);\n\t }\n\t\n\t return new Cipher(config.module, password, iv);\n\t}\n\t\n\tfunction createCipher(suite, password) {\n\t var config = MODES[suite.toLowerCase()];\n\t if (!config) throw new TypeError('invalid suite type');\n\t\n\t var keys = ebtk(password, false, config.key, config.iv);\n\t return createCipheriv(suite, keys.key, keys.iv);\n\t}\n\t\n\texports.createCipheriv = createCipheriv;\n\texports.createCipher = createCipher;\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar modeModules = {\n\t ECB: __webpack_require__(159),\n\t CBC: __webpack_require__(160),\n\t CFB: __webpack_require__(162),\n\t CFB8: __webpack_require__(163),\n\t CFB1: __webpack_require__(164),\n\t OFB: __webpack_require__(165),\n\t CTR: __webpack_require__(166),\n\t GCM: __webpack_require__(166)\n\t};\n\t\n\tvar modes = __webpack_require__(168);\n\t\n\tfor (var key in modes) {\n\t modes[key].module = modeModules[modes[key].mode];\n\t}\n\t\n\tmodule.exports = modes;\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.encrypt = function (self, block) {\n\t return self._cipher.encryptBlock(block);\n\t};\n\t\n\texports.decrypt = function (self, block) {\n\t return self._cipher.decryptBlock(block);\n\t};\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar xor = __webpack_require__(161);\n\t\n\texports.encrypt = function (self, block) {\n\t var data = xor(block, self._prev);\n\t\n\t self._prev = self._cipher.encryptBlock(data);\n\t return self._prev;\n\t};\n\t\n\texports.decrypt = function (self, block) {\n\t var pad = self._prev;\n\t\n\t self._prev = block;\n\t var out = self._cipher.decryptBlock(block);\n\t\n\t return xor(out, pad);\n\t};\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {\"use strict\";\n\t\n\tmodule.exports = function xor(a, b) {\n\t var length = Math.min(a.length, b.length);\n\t var buffer = new Buffer(length);\n\t\n\t for (var i = 0; i < length; ++i) {\n\t buffer[i] = a[i] ^ b[i];\n\t }\n\t\n\t return buffer;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar xor = __webpack_require__(161);\n\t\n\tfunction encryptStart(self, data, decrypt) {\n\t var len = data.length;\n\t var out = xor(data, self._cache);\n\t self._cache = self._cache.slice(len);\n\t self._prev = Buffer.concat([self._prev, decrypt ? data : out]);\n\t return out;\n\t}\n\t\n\texports.encrypt = function (self, data, decrypt) {\n\t var out = Buffer.allocUnsafe(0);\n\t var len;\n\t\n\t while (data.length) {\n\t if (self._cache.length === 0) {\n\t self._cache = self._cipher.encryptBlock(self._prev);\n\t self._prev = Buffer.allocUnsafe(0);\n\t }\n\t\n\t if (self._cache.length <= data.length) {\n\t len = self._cache.length;\n\t out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)]);\n\t data = data.slice(len);\n\t } else {\n\t out = Buffer.concat([out, encryptStart(self, data, decrypt)]);\n\t break;\n\t }\n\t }\n\t\n\t return out;\n\t};\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tfunction encryptByte(self, byteParam, decrypt) {\n\t var pad = self._cipher.encryptBlock(self._prev);\n\t var out = pad[0] ^ byteParam;\n\t\n\t self._prev = Buffer.concat([self._prev.slice(1), Buffer.from([decrypt ? byteParam : out])]);\n\t\n\t return out;\n\t}\n\t\n\texports.encrypt = function (self, chunk, decrypt) {\n\t var len = chunk.length;\n\t var out = Buffer.allocUnsafe(len);\n\t var i = -1;\n\t\n\t while (++i < len) {\n\t out[i] = encryptByte(self, chunk[i], decrypt);\n\t }\n\t\n\t return out;\n\t};\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tfunction encryptByte(self, byteParam, decrypt) {\n\t var pad;\n\t var i = -1;\n\t var len = 8;\n\t var out = 0;\n\t var bit, value;\n\t while (++i < len) {\n\t pad = self._cipher.encryptBlock(self._prev);\n\t bit = byteParam & 1 << 7 - i ? 0x80 : 0;\n\t value = pad[0] ^ bit;\n\t out += (value & 0x80) >> i % 8;\n\t self._prev = shiftIn(self._prev, decrypt ? bit : value);\n\t }\n\t return out;\n\t}\n\t\n\tfunction shiftIn(buffer, value) {\n\t var len = buffer.length;\n\t var i = -1;\n\t var out = Buffer.allocUnsafe(buffer.length);\n\t buffer = Buffer.concat([buffer, Buffer.from([value])]);\n\t\n\t while (++i < len) {\n\t out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n\t }\n\t\n\t return out;\n\t}\n\t\n\texports.encrypt = function (self, chunk, decrypt) {\n\t var len = chunk.length;\n\t var out = Buffer.allocUnsafe(len);\n\t var i = -1;\n\t\n\t while (++i < len) {\n\t out[i] = encryptByte(self, chunk[i], decrypt);\n\t }\n\t\n\t return out;\n\t};\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar xor = __webpack_require__(161);\n\t\n\tfunction getBlock(self) {\n\t self._prev = self._cipher.encryptBlock(self._prev);\n\t return self._prev;\n\t}\n\t\n\texports.encrypt = function (self, chunk) {\n\t while (self._cache.length < chunk.length) {\n\t self._cache = Buffer.concat([self._cache, getBlock(self)]);\n\t }\n\t\n\t var pad = self._cache.slice(0, chunk.length);\n\t self._cache = self._cache.slice(chunk.length);\n\t return xor(chunk, pad);\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar xor = __webpack_require__(161);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar incr32 = __webpack_require__(167);\n\t\n\tfunction getBlock(self) {\n\t var out = self._cipher.encryptBlockRaw(self._prev);\n\t incr32(self._prev);\n\t return out;\n\t}\n\t\n\tvar blockSize = 16;\n\texports.encrypt = function (self, chunk) {\n\t var chunkNum = Math.ceil(chunk.length / blockSize);\n\t var start = self._cache.length;\n\t self._cache = Buffer.concat([self._cache, Buffer.allocUnsafe(chunkNum * blockSize)]);\n\t for (var i = 0; i < chunkNum; i++) {\n\t var out = getBlock(self);\n\t var offset = start + i * blockSize;\n\t self._cache.writeUInt32BE(out[0], offset + 0);\n\t self._cache.writeUInt32BE(out[1], offset + 4);\n\t self._cache.writeUInt32BE(out[2], offset + 8);\n\t self._cache.writeUInt32BE(out[3], offset + 12);\n\t }\n\t var pad = self._cache.slice(0, chunk.length);\n\t self._cache = self._cache.slice(chunk.length);\n\t return xor(chunk, pad);\n\t};\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tfunction incr32(iv) {\n\t var len = iv.length;\n\t var item;\n\t while (len--) {\n\t item = iv.readUInt8(len);\n\t if (item === 255) {\n\t iv.writeUInt8(0, len);\n\t } else {\n\t item++;\n\t iv.writeUInt8(item, len);\n\t break;\n\t }\n\t }\n\t}\n\tmodule.exports = incr32;\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}}\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar aes = __webpack_require__(170);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar Transform = __webpack_require__(145);\n\tvar inherits = __webpack_require__(111);\n\tvar GHASH = __webpack_require__(171);\n\tvar xor = __webpack_require__(161);\n\tvar incr32 = __webpack_require__(167);\n\t\n\tfunction xorTest(a, b) {\n\t var out = 0;\n\t if (a.length !== b.length) out++;\n\t\n\t var len = Math.min(a.length, b.length);\n\t for (var i = 0; i < len; ++i) {\n\t out += a[i] ^ b[i];\n\t }\n\t\n\t return out;\n\t}\n\t\n\tfunction calcIv(self, iv, ck) {\n\t if (iv.length === 12) {\n\t self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])]);\n\t return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])]);\n\t }\n\t var ghash = new GHASH(ck);\n\t var len = iv.length;\n\t var toPad = len % 16;\n\t ghash.update(iv);\n\t if (toPad) {\n\t toPad = 16 - toPad;\n\t ghash.update(Buffer.alloc(toPad, 0));\n\t }\n\t ghash.update(Buffer.alloc(8, 0));\n\t var ivBits = len * 8;\n\t var tail = Buffer.alloc(8);\n\t tail.writeUIntBE(ivBits, 0, 8);\n\t ghash.update(tail);\n\t self._finID = ghash.state;\n\t var out = Buffer.from(self._finID);\n\t incr32(out);\n\t return out;\n\t}\n\tfunction StreamCipher(mode, key, iv, decrypt) {\n\t Transform.call(this);\n\t\n\t var h = Buffer.alloc(4, 0);\n\t\n\t this._cipher = new aes.AES(key);\n\t var ck = this._cipher.encryptBlock(h);\n\t this._ghash = new GHASH(ck);\n\t iv = calcIv(this, iv, ck);\n\t\n\t this._prev = Buffer.from(iv);\n\t this._cache = Buffer.allocUnsafe(0);\n\t this._secCache = Buffer.allocUnsafe(0);\n\t this._decrypt = decrypt;\n\t this._alen = 0;\n\t this._len = 0;\n\t this._mode = mode;\n\t\n\t this._authTag = null;\n\t this._called = false;\n\t}\n\t\n\tinherits(StreamCipher, Transform);\n\t\n\tStreamCipher.prototype._update = function (chunk) {\n\t if (!this._called && this._alen) {\n\t var rump = 16 - this._alen % 16;\n\t if (rump < 16) {\n\t rump = Buffer.alloc(rump, 0);\n\t this._ghash.update(rump);\n\t }\n\t }\n\t\n\t this._called = true;\n\t var out = this._mode.encrypt(this, chunk);\n\t if (this._decrypt) {\n\t this._ghash.update(chunk);\n\t } else {\n\t this._ghash.update(out);\n\t }\n\t this._len += chunk.length;\n\t return out;\n\t};\n\t\n\tStreamCipher.prototype._final = function () {\n\t if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data');\n\t\n\t var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID));\n\t if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data');\n\t\n\t this._authTag = tag;\n\t this._cipher.scrub();\n\t};\n\t\n\tStreamCipher.prototype.getAuthTag = function getAuthTag() {\n\t if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state');\n\t\n\t return this._authTag;\n\t};\n\t\n\tStreamCipher.prototype.setAuthTag = function setAuthTag(tag) {\n\t if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state');\n\t\n\t this._authTag = tag;\n\t};\n\t\n\tStreamCipher.prototype.setAAD = function setAAD(buf) {\n\t if (this._called) throw new Error('Attempting to set AAD in unsupported state');\n\t\n\t this._ghash.update(buf);\n\t this._alen += buf.length;\n\t};\n\t\n\tmodule.exports = StreamCipher;\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t// based on the aes implimentation in triple sec\n\t// https://github.com/keybase/triplesec\n\t// which is in turn based on the one from crypto-js\n\t// https://code.google.com/p/crypto-js/\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\t\n\tfunction asUInt32Array(buf) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t\n\t var len = buf.length / 4 | 0;\n\t var out = new Array(len);\n\t\n\t for (var i = 0; i < len; i++) {\n\t out[i] = buf.readUInt32BE(i * 4);\n\t }\n\t\n\t return out;\n\t}\n\t\n\tfunction scrubVec(v) {\n\t for (var i = 0; i < v.length; v++) {\n\t v[i] = 0;\n\t }\n\t}\n\t\n\tfunction cryptBlock(M, keySchedule, SUB_MIX, SBOX, nRounds) {\n\t var SUB_MIX0 = SUB_MIX[0];\n\t var SUB_MIX1 = SUB_MIX[1];\n\t var SUB_MIX2 = SUB_MIX[2];\n\t var SUB_MIX3 = SUB_MIX[3];\n\t\n\t var s0 = M[0] ^ keySchedule[0];\n\t var s1 = M[1] ^ keySchedule[1];\n\t var s2 = M[2] ^ keySchedule[2];\n\t var s3 = M[3] ^ keySchedule[3];\n\t var t0, t1, t2, t3;\n\t var ksRow = 4;\n\t\n\t for (var round = 1; round < nRounds; round++) {\n\t t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[s1 >>> 16 & 0xff] ^ SUB_MIX2[s2 >>> 8 & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[s2 >>> 16 & 0xff] ^ SUB_MIX2[s3 >>> 8 & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[s3 >>> 16 & 0xff] ^ SUB_MIX2[s0 >>> 8 & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[s0 >>> 16 & 0xff] ^ SUB_MIX2[s1 >>> 8 & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++];\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\t\n\t t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 0xff] << 16 | SBOX[s2 >>> 8 & 0xff] << 8 | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 0xff] << 16 | SBOX[s3 >>> 8 & 0xff] << 8 | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 0xff] << 16 | SBOX[s0 >>> 8 & 0xff] << 8 | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 0xff] << 16 | SBOX[s1 >>> 8 & 0xff] << 8 | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\t t0 = t0 >>> 0;\n\t t1 = t1 >>> 0;\n\t t2 = t2 >>> 0;\n\t t3 = t3 >>> 0;\n\t\n\t return [t0, t1, t2, t3];\n\t}\n\t\n\t// AES constants\n\tvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\tvar G = function () {\n\t // Compute double table\n\t var d = new Array(256);\n\t for (var j = 0; j < 256; j++) {\n\t if (j < 128) {\n\t d[j] = j << 1;\n\t } else {\n\t d[j] = j << 1 ^ 0x11b;\n\t }\n\t }\n\t\n\t var SBOX = [];\n\t var INV_SBOX = [];\n\t var SUB_MIX = [[], [], [], []];\n\t var INV_SUB_MIX = [[], [], [], []];\n\t\n\t // Walk GF(2^8)\n\t var x = 0;\n\t var xi = 0;\n\t for (var i = 0; i < 256; ++i) {\n\t // Compute sbox\n\t var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n\t sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n\t SBOX[x] = sx;\n\t INV_SBOX[sx] = x;\n\t\n\t // Compute multiplication\n\t var x2 = d[x];\n\t var x4 = d[x2];\n\t var x8 = d[x4];\n\t\n\t // Compute sub bytes, mix columns tables\n\t var t = d[sx] * 0x101 ^ sx * 0x1010100;\n\t SUB_MIX[0][x] = t << 24 | t >>> 8;\n\t SUB_MIX[1][x] = t << 16 | t >>> 16;\n\t SUB_MIX[2][x] = t << 8 | t >>> 24;\n\t SUB_MIX[3][x] = t;\n\t\n\t // Compute inv sub bytes, inv mix columns tables\n\t t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n\t INV_SUB_MIX[0][sx] = t << 24 | t >>> 8;\n\t INV_SUB_MIX[1][sx] = t << 16 | t >>> 16;\n\t INV_SUB_MIX[2][sx] = t << 8 | t >>> 24;\n\t INV_SUB_MIX[3][sx] = t;\n\t\n\t if (x === 0) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t\n\t return {\n\t SBOX: SBOX,\n\t INV_SBOX: INV_SBOX,\n\t SUB_MIX: SUB_MIX,\n\t INV_SUB_MIX: INV_SUB_MIX\n\t };\n\t}();\n\t\n\tfunction AES(key) {\n\t this._key = asUInt32Array(key);\n\t this._reset();\n\t}\n\t\n\tAES.blockSize = 4 * 4;\n\tAES.keySize = 256 / 8;\n\tAES.prototype.blockSize = AES.blockSize;\n\tAES.prototype.keySize = AES.keySize;\n\tAES.prototype._reset = function () {\n\t var keyWords = this._key;\n\t var keySize = keyWords.length;\n\t var nRounds = keySize + 6;\n\t var ksRows = (nRounds + 1) * 4;\n\t\n\t var keySchedule = [];\n\t for (var k = 0; k < keySize; k++) {\n\t keySchedule[k] = keyWords[k];\n\t }\n\t\n\t for (k = keySize; k < ksRows; k++) {\n\t var t = keySchedule[k - 1];\n\t\n\t if (k % keySize === 0) {\n\t t = t << 8 | t >>> 24;\n\t t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 0xff] << 16 | G.SBOX[t >>> 8 & 0xff] << 8 | G.SBOX[t & 0xff];\n\t\n\t t ^= RCON[k / keySize | 0] << 24;\n\t } else if (keySize > 6 && k % keySize === 4) {\n\t t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 0xff] << 16 | G.SBOX[t >>> 8 & 0xff] << 8 | G.SBOX[t & 0xff];\n\t }\n\t\n\t keySchedule[k] = keySchedule[k - keySize] ^ t;\n\t }\n\t\n\t var invKeySchedule = [];\n\t for (var ik = 0; ik < ksRows; ik++) {\n\t var ksR = ksRows - ik;\n\t var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)];\n\t\n\t if (ik < 4 || ksR <= 4) {\n\t invKeySchedule[ik] = tt;\n\t } else {\n\t invKeySchedule[ik] = G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[tt >>> 16 & 0xff]] ^ G.INV_SUB_MIX[2][G.SBOX[tt >>> 8 & 0xff]] ^ G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]];\n\t }\n\t }\n\t\n\t this._nRounds = nRounds;\n\t this._keySchedule = keySchedule;\n\t this._invKeySchedule = invKeySchedule;\n\t};\n\t\n\tAES.prototype.encryptBlockRaw = function (M) {\n\t M = asUInt32Array(M);\n\t return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds);\n\t};\n\t\n\tAES.prototype.encryptBlock = function (M) {\n\t var out = this.encryptBlockRaw(M);\n\t var buf = Buffer.allocUnsafe(16);\n\t buf.writeUInt32BE(out[0], 0);\n\t buf.writeUInt32BE(out[1], 4);\n\t buf.writeUInt32BE(out[2], 8);\n\t buf.writeUInt32BE(out[3], 12);\n\t return buf;\n\t};\n\t\n\tAES.prototype.decryptBlock = function (M) {\n\t M = asUInt32Array(M);\n\t\n\t // swap\n\t var m1 = M[1];\n\t M[1] = M[3];\n\t M[3] = m1;\n\t\n\t var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds);\n\t var buf = Buffer.allocUnsafe(16);\n\t buf.writeUInt32BE(out[0], 0);\n\t buf.writeUInt32BE(out[3], 4);\n\t buf.writeUInt32BE(out[2], 8);\n\t buf.writeUInt32BE(out[1], 12);\n\t return buf;\n\t};\n\t\n\tAES.prototype.scrub = function () {\n\t scrubVec(this._keySchedule);\n\t scrubVec(this._invKeySchedule);\n\t scrubVec(this._key);\n\t};\n\t\n\tmodule.exports.AES = AES;\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar ZEROES = Buffer.alloc(16, 0);\n\t\n\tfunction toArray(buf) {\n\t return [buf.readUInt32BE(0), buf.readUInt32BE(4), buf.readUInt32BE(8), buf.readUInt32BE(12)];\n\t}\n\t\n\tfunction fromArray(out) {\n\t var buf = Buffer.allocUnsafe(16);\n\t buf.writeUInt32BE(out[0] >>> 0, 0);\n\t buf.writeUInt32BE(out[1] >>> 0, 4);\n\t buf.writeUInt32BE(out[2] >>> 0, 8);\n\t buf.writeUInt32BE(out[3] >>> 0, 12);\n\t return buf;\n\t}\n\t\n\tfunction GHASH(key) {\n\t this.h = key;\n\t this.state = Buffer.alloc(16, 0);\n\t this.cache = Buffer.allocUnsafe(0);\n\t}\n\t\n\t// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n\t// by Juho Vähä-Herttua\n\tGHASH.prototype.ghash = function (block) {\n\t var i = -1;\n\t while (++i < block.length) {\n\t this.state[i] ^= block[i];\n\t }\n\t this._multiply();\n\t};\n\t\n\tGHASH.prototype._multiply = function () {\n\t var Vi = toArray(this.h);\n\t var Zi = [0, 0, 0, 0];\n\t var j, xi, lsbVi;\n\t var i = -1;\n\t while (++i < 128) {\n\t xi = (this.state[~~(i / 8)] & 1 << 7 - i % 8) !== 0;\n\t if (xi) {\n\t // Z_i+1 = Z_i ^ V_i\n\t Zi[0] ^= Vi[0];\n\t Zi[1] ^= Vi[1];\n\t Zi[2] ^= Vi[2];\n\t Zi[3] ^= Vi[3];\n\t }\n\t\n\t // Store the value of LSB(V_i)\n\t lsbVi = (Vi[3] & 1) !== 0;\n\t\n\t // V_i+1 = V_i >> 1\n\t for (j = 3; j > 0; j--) {\n\t Vi[j] = Vi[j] >>> 1 | (Vi[j - 1] & 1) << 31;\n\t }\n\t Vi[0] = Vi[0] >>> 1;\n\t\n\t // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n\t if (lsbVi) {\n\t Vi[0] = Vi[0] ^ 0xe1 << 24;\n\t }\n\t }\n\t this.state = fromArray(Zi);\n\t};\n\t\n\tGHASH.prototype.update = function (buf) {\n\t this.cache = Buffer.concat([this.cache, buf]);\n\t var chunk;\n\t while (this.cache.length >= 16) {\n\t chunk = this.cache.slice(0, 16);\n\t this.cache = this.cache.slice(16);\n\t this.ghash(chunk);\n\t }\n\t};\n\t\n\tGHASH.prototype.final = function (abl, bl) {\n\t if (this.cache.length) {\n\t this.ghash(Buffer.concat([this.cache, ZEROES], 16));\n\t }\n\t\n\t this.ghash(fromArray([0, abl, 0, bl]));\n\t return this.state;\n\t};\n\t\n\tmodule.exports = GHASH;\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar aes = __webpack_require__(170);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar Transform = __webpack_require__(145);\n\tvar inherits = __webpack_require__(111);\n\t\n\tfunction StreamCipher(mode, key, iv, decrypt) {\n\t Transform.call(this);\n\t\n\t this._cipher = new aes.AES(key);\n\t this._prev = Buffer.from(iv);\n\t this._cache = Buffer.allocUnsafe(0);\n\t this._secCache = Buffer.allocUnsafe(0);\n\t this._decrypt = decrypt;\n\t this._mode = mode;\n\t}\n\t\n\tinherits(StreamCipher, Transform);\n\t\n\tStreamCipher.prototype._update = function (chunk) {\n\t return this._mode.encrypt(this, chunk, this._decrypt);\n\t};\n\t\n\tStreamCipher.prototype._final = function () {\n\t this._cipher.scrub();\n\t};\n\t\n\tmodule.exports = StreamCipher;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar MD5 = __webpack_require__(174);\n\t\n\t/* eslint-disable camelcase */\n\tfunction EVP_BytesToKey(password, salt, keyBits, ivLen) {\n\t if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary');\n\t if (salt) {\n\t if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary');\n\t if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length');\n\t }\n\t\n\t var keyLen = keyBits / 8;\n\t var key = Buffer.alloc(keyLen);\n\t var iv = Buffer.alloc(ivLen || 0);\n\t var tmp = Buffer.alloc(0);\n\t\n\t while (keyLen > 0 || ivLen > 0) {\n\t var hash = new MD5();\n\t hash.update(tmp);\n\t hash.update(password);\n\t if (salt) hash.update(salt);\n\t tmp = hash.digest();\n\t\n\t var used = 0;\n\t\n\t if (keyLen > 0) {\n\t var keyStart = key.length - keyLen;\n\t used = Math.min(keyLen, tmp.length);\n\t tmp.copy(key, keyStart, 0, used);\n\t keyLen -= used;\n\t }\n\t\n\t if (used < tmp.length && ivLen > 0) {\n\t var ivStart = iv.length - ivLen;\n\t var length = Math.min(ivLen, tmp.length - used);\n\t tmp.copy(iv, ivStart, used, used + length);\n\t ivLen -= length;\n\t }\n\t }\n\t\n\t tmp.fill(0);\n\t return { key: key, iv: iv };\n\t}\n\t\n\tmodule.exports = EVP_BytesToKey;\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar inherits = __webpack_require__(111);\n\tvar HashBase = __webpack_require__(175);\n\t\n\tvar ARRAY16 = new Array(16);\n\t\n\tfunction MD5() {\n\t HashBase.call(this, 64);\n\t\n\t // state\n\t this._a = 0x67452301;\n\t this._b = 0xefcdab89;\n\t this._c = 0x98badcfe;\n\t this._d = 0x10325476;\n\t}\n\t\n\tinherits(MD5, HashBase);\n\t\n\tMD5.prototype._update = function () {\n\t var M = ARRAY16;\n\t for (var i = 0; i < 16; ++i) {\n\t M[i] = this._block.readInt32LE(i * 4);\n\t }var a = this._a;\n\t var b = this._b;\n\t var c = this._c;\n\t var d = this._d;\n\t\n\t a = fnF(a, b, c, d, M[0], 0xd76aa478, 7);\n\t d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12);\n\t c = fnF(c, d, a, b, M[2], 0x242070db, 17);\n\t b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22);\n\t a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7);\n\t d = fnF(d, a, b, c, M[5], 0x4787c62a, 12);\n\t c = fnF(c, d, a, b, M[6], 0xa8304613, 17);\n\t b = fnF(b, c, d, a, M[7], 0xfd469501, 22);\n\t a = fnF(a, b, c, d, M[8], 0x698098d8, 7);\n\t d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12);\n\t c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17);\n\t b = fnF(b, c, d, a, M[11], 0x895cd7be, 22);\n\t a = fnF(a, b, c, d, M[12], 0x6b901122, 7);\n\t d = fnF(d, a, b, c, M[13], 0xfd987193, 12);\n\t c = fnF(c, d, a, b, M[14], 0xa679438e, 17);\n\t b = fnF(b, c, d, a, M[15], 0x49b40821, 22);\n\t\n\t a = fnG(a, b, c, d, M[1], 0xf61e2562, 5);\n\t d = fnG(d, a, b, c, M[6], 0xc040b340, 9);\n\t c = fnG(c, d, a, b, M[11], 0x265e5a51, 14);\n\t b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20);\n\t a = fnG(a, b, c, d, M[5], 0xd62f105d, 5);\n\t d = fnG(d, a, b, c, M[10], 0x02441453, 9);\n\t c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14);\n\t b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20);\n\t a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5);\n\t d = fnG(d, a, b, c, M[14], 0xc33707d6, 9);\n\t c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14);\n\t b = fnG(b, c, d, a, M[8], 0x455a14ed, 20);\n\t a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5);\n\t d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9);\n\t c = fnG(c, d, a, b, M[7], 0x676f02d9, 14);\n\t b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20);\n\t\n\t a = fnH(a, b, c, d, M[5], 0xfffa3942, 4);\n\t d = fnH(d, a, b, c, M[8], 0x8771f681, 11);\n\t c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16);\n\t b = fnH(b, c, d, a, M[14], 0xfde5380c, 23);\n\t a = fnH(a, b, c, d, M[1], 0xa4beea44, 4);\n\t d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11);\n\t c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16);\n\t b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23);\n\t a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4);\n\t d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11);\n\t c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16);\n\t b = fnH(b, c, d, a, M[6], 0x04881d05, 23);\n\t a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4);\n\t d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11);\n\t c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16);\n\t b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23);\n\t\n\t a = fnI(a, b, c, d, M[0], 0xf4292244, 6);\n\t d = fnI(d, a, b, c, M[7], 0x432aff97, 10);\n\t c = fnI(c, d, a, b, M[14], 0xab9423a7, 15);\n\t b = fnI(b, c, d, a, M[5], 0xfc93a039, 21);\n\t a = fnI(a, b, c, d, M[12], 0x655b59c3, 6);\n\t d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10);\n\t c = fnI(c, d, a, b, M[10], 0xffeff47d, 15);\n\t b = fnI(b, c, d, a, M[1], 0x85845dd1, 21);\n\t a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6);\n\t d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10);\n\t c = fnI(c, d, a, b, M[6], 0xa3014314, 15);\n\t b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21);\n\t a = fnI(a, b, c, d, M[4], 0xf7537e82, 6);\n\t d = fnI(d, a, b, c, M[11], 0xbd3af235, 10);\n\t c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15);\n\t b = fnI(b, c, d, a, M[9], 0xeb86d391, 21);\n\t\n\t this._a = this._a + a | 0;\n\t this._b = this._b + b | 0;\n\t this._c = this._c + c | 0;\n\t this._d = this._d + d | 0;\n\t};\n\t\n\tMD5.prototype._digest = function () {\n\t // create padding and handle blocks\n\t this._block[this._blockOffset++] = 0x80;\n\t if (this._blockOffset > 56) {\n\t this._block.fill(0, this._blockOffset, 64);\n\t this._update();\n\t this._blockOffset = 0;\n\t }\n\t\n\t this._block.fill(0, this._blockOffset, 56);\n\t this._block.writeUInt32LE(this._length[0], 56);\n\t this._block.writeUInt32LE(this._length[1], 60);\n\t this._update();\n\t\n\t // produce result\n\t var buffer = new Buffer(16);\n\t buffer.writeInt32LE(this._a, 0);\n\t buffer.writeInt32LE(this._b, 4);\n\t buffer.writeInt32LE(this._c, 8);\n\t buffer.writeInt32LE(this._d, 12);\n\t return buffer;\n\t};\n\t\n\tfunction rotl(x, n) {\n\t return x << n | x >>> 32 - n;\n\t}\n\t\n\tfunction fnF(a, b, c, d, m, k, s) {\n\t return rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n\t}\n\t\n\tfunction fnG(a, b, c, d, m, k, s) {\n\t return rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n\t}\n\t\n\tfunction fnH(a, b, c, d, m, k, s) {\n\t return rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n\t}\n\t\n\tfunction fnI(a, b, c, d, m, k, s) {\n\t return rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n\t}\n\t\n\tmodule.exports = MD5;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar Transform = __webpack_require__(116).Transform;\n\tvar inherits = __webpack_require__(111);\n\t\n\tfunction throwIfNotStringOrBuffer(val, prefix) {\n\t if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n\t throw new TypeError(prefix + ' must be a string or a buffer');\n\t }\n\t}\n\t\n\tfunction HashBase(blockSize) {\n\t Transform.call(this);\n\t\n\t this._block = Buffer.allocUnsafe(blockSize);\n\t this._blockSize = blockSize;\n\t this._blockOffset = 0;\n\t this._length = [0, 0, 0, 0];\n\t\n\t this._finalized = false;\n\t}\n\t\n\tinherits(HashBase, Transform);\n\t\n\tHashBase.prototype._transform = function (chunk, encoding, callback) {\n\t var error = null;\n\t try {\n\t this.update(chunk, encoding);\n\t } catch (err) {\n\t error = err;\n\t }\n\t\n\t callback(error);\n\t};\n\t\n\tHashBase.prototype._flush = function (callback) {\n\t var error = null;\n\t try {\n\t this.push(this.digest());\n\t } catch (err) {\n\t error = err;\n\t }\n\t\n\t callback(error);\n\t};\n\t\n\tHashBase.prototype.update = function (data, encoding) {\n\t throwIfNotStringOrBuffer(data, 'Data');\n\t if (this._finalized) throw new Error('Digest already called');\n\t if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding);\n\t\n\t // consume data\n\t var block = this._block;\n\t var offset = 0;\n\t while (this._blockOffset + data.length - offset >= this._blockSize) {\n\t for (var i = this._blockOffset; i < this._blockSize;) {\n\t block[i++] = data[offset++];\n\t }this._update();\n\t this._blockOffset = 0;\n\t }\n\t while (offset < data.length) {\n\t block[this._blockOffset++] = data[offset++];\n\t } // update length\n\t for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n\t this._length[j] += carry;\n\t carry = this._length[j] / 0x0100000000 | 0;\n\t if (carry > 0) this._length[j] -= 0x0100000000 * carry;\n\t }\n\t\n\t return this;\n\t};\n\t\n\tHashBase.prototype._update = function () {\n\t throw new Error('_update is not implemented');\n\t};\n\t\n\tHashBase.prototype.digest = function (encoding) {\n\t if (this._finalized) throw new Error('Digest already called');\n\t this._finalized = true;\n\t\n\t var digest = this._digest();\n\t if (encoding !== undefined) digest = digest.toString(encoding);\n\t\n\t // reset state\n\t this._block.fill(0);\n\t this._blockOffset = 0;\n\t for (var i = 0; i < 4; ++i) {\n\t this._length[i] = 0;\n\t }return digest;\n\t};\n\t\n\tHashBase.prototype._digest = function () {\n\t throw new Error('_digest is not implemented');\n\t};\n\t\n\tmodule.exports = HashBase;\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar AuthCipher = __webpack_require__(169);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar MODES = __webpack_require__(158);\n\tvar StreamCipher = __webpack_require__(172);\n\tvar Transform = __webpack_require__(145);\n\tvar aes = __webpack_require__(170);\n\tvar ebtk = __webpack_require__(173);\n\tvar inherits = __webpack_require__(111);\n\t\n\tfunction Decipher(mode, key, iv) {\n\t Transform.call(this);\n\t\n\t this._cache = new Splitter();\n\t this._last = void 0;\n\t this._cipher = new aes.AES(key);\n\t this._prev = Buffer.from(iv);\n\t this._mode = mode;\n\t this._autopadding = true;\n\t}\n\t\n\tinherits(Decipher, Transform);\n\t\n\tDecipher.prototype._update = function (data) {\n\t this._cache.add(data);\n\t var chunk;\n\t var thing;\n\t var out = [];\n\t while (chunk = this._cache.get(this._autopadding)) {\n\t thing = this._mode.decrypt(this, chunk);\n\t out.push(thing);\n\t }\n\t return Buffer.concat(out);\n\t};\n\t\n\tDecipher.prototype._final = function () {\n\t var chunk = this._cache.flush();\n\t if (this._autopadding) {\n\t return unpad(this._mode.decrypt(this, chunk));\n\t } else if (chunk) {\n\t throw new Error('data not multiple of block length');\n\t }\n\t};\n\t\n\tDecipher.prototype.setAutoPadding = function (setTo) {\n\t this._autopadding = !!setTo;\n\t return this;\n\t};\n\t\n\tfunction Splitter() {\n\t this.cache = Buffer.allocUnsafe(0);\n\t}\n\t\n\tSplitter.prototype.add = function (data) {\n\t this.cache = Buffer.concat([this.cache, data]);\n\t};\n\t\n\tSplitter.prototype.get = function (autoPadding) {\n\t var out;\n\t if (autoPadding) {\n\t if (this.cache.length > 16) {\n\t out = this.cache.slice(0, 16);\n\t this.cache = this.cache.slice(16);\n\t return out;\n\t }\n\t } else {\n\t if (this.cache.length >= 16) {\n\t out = this.cache.slice(0, 16);\n\t this.cache = this.cache.slice(16);\n\t return out;\n\t }\n\t }\n\t\n\t return null;\n\t};\n\t\n\tSplitter.prototype.flush = function () {\n\t if (this.cache.length) return this.cache;\n\t};\n\t\n\tfunction unpad(last) {\n\t var padded = last[15];\n\t var i = -1;\n\t while (++i < padded) {\n\t if (last[i + (16 - padded)] !== padded) {\n\t throw new Error('unable to decrypt data');\n\t }\n\t }\n\t if (padded === 16) return;\n\t\n\t return last.slice(0, 16 - padded);\n\t}\n\t\n\tfunction createDecipheriv(suite, password, iv) {\n\t var config = MODES[suite.toLowerCase()];\n\t if (!config) throw new TypeError('invalid suite type');\n\t\n\t if (typeof iv === 'string') iv = Buffer.from(iv);\n\t if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length);\n\t\n\t if (typeof password === 'string') password = Buffer.from(password);\n\t if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length);\n\t\n\t if (config.type === 'stream') {\n\t return new StreamCipher(config.module, password, iv, true);\n\t } else if (config.type === 'auth') {\n\t return new AuthCipher(config.module, password, iv, true);\n\t }\n\t\n\t return new Decipher(config.module, password, iv);\n\t}\n\t\n\tfunction createDecipher(suite, password) {\n\t var config = MODES[suite.toLowerCase()];\n\t if (!config) throw new TypeError('invalid suite type');\n\t\n\t var keys = ebtk(password, false, config.key, config.iv);\n\t return createDecipheriv(suite, keys.key, keys.iv);\n\t}\n\t\n\texports.createDecipher = createDecipher;\n\texports.createDecipheriv = createDecipheriv;\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar BigInteger = __webpack_require__(178);\n\tvar ecurve = __webpack_require__(182);\n\tvar secp256k1 = ecurve.getCurveByName('secp256k1');\n\tBigInteger = __webpack_require__(178);\n\tvar base58 = __webpack_require__(148);\n\tvar hash = __webpack_require__(109);\n\tvar config = __webpack_require__(42);\n\tvar assert = __webpack_require__(105);\n\t\n\tvar G = secp256k1.G;\n\tvar n = secp256k1.n;\n\t\n\tvar PublicKey = function () {\n\t\n\t /** @param {ecurve.Point} public key */\n\t function PublicKey(Q) {\n\t _classCallCheck(this, PublicKey);\n\t\n\t this.Q = Q;\n\t }\n\t\n\t _createClass(PublicKey, [{\n\t key: 'toBuffer',\n\t value: function toBuffer() {\n\t var compressed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.Q ? this.Q.compressed : null;\n\t\n\t if (this.Q === null) return Buffer.from(\"000000000000000000000000000000000000000000000000000000000000000000\", \"hex\");\n\t return this.Q.getEncoded(compressed);\n\t }\n\t }, {\n\t key: 'toUncompressed',\n\t value: function toUncompressed() {\n\t var buf = this.Q.getEncoded(false);\n\t var point = ecurve.Point.decodeFrom(secp256k1, buf);\n\t return PublicKey.fromPoint(point);\n\t }\n\t\n\t /** bts::blockchain::address (unique but not a full public key) */\n\t\n\t }, {\n\t key: 'toBlockchainAddress',\n\t value: function toBlockchainAddress() {\n\t var pub_buf = this.toBuffer();\n\t var pub_sha = hash.sha512(pub_buf);\n\t return hash.ripemd160(pub_sha);\n\t }\n\t }, {\n\t key: 'toString',\n\t value: function toString() {\n\t var address_prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : config.get('address_prefix');\n\t\n\t return this.toPublicKeyString(address_prefix);\n\t }\n\t\n\t /**\n\t Full public key\n\t {return} string\n\t */\n\t\n\t }, {\n\t key: 'toPublicKeyString',\n\t value: function toPublicKeyString() {\n\t var address_prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : config.get('address_prefix');\n\t\n\t if (this.pubdata) return address_prefix + this.pubdata;\n\t var pub_buf = this.toBuffer();\n\t var checksum = hash.ripemd160(pub_buf);\n\t var addy = Buffer.concat([pub_buf, checksum.slice(0, 4)]);\n\t this.pubdata = base58.encode(addy);\n\t return address_prefix + this.pubdata;\n\t }\n\t\n\t /**\n\t @arg {string} public_key - like STMXyz...\n\t @arg {string} address_prefix - like STM\n\t @return PublicKey or `null` (if the public_key string is invalid)\n\t @deprecated fromPublicKeyString (use fromString instead)\n\t */\n\t\n\t }, {\n\t key: 'toAddressString',\n\t value: function toAddressString() {\n\t var address_prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : config.get('address_prefix');\n\t\n\t var pub_buf = this.toBuffer();\n\t var pub_sha = hash.sha512(pub_buf);\n\t var addy = hash.ripemd160(pub_sha);\n\t var checksum = hash.ripemd160(addy);\n\t addy = Buffer.concat([addy, checksum.slice(0, 4)]);\n\t return address_prefix + base58.encode(addy);\n\t }\n\t }, {\n\t key: 'toPtsAddy',\n\t value: function toPtsAddy() {\n\t var pub_buf = this.toBuffer();\n\t var pub_sha = hash.sha256(pub_buf);\n\t var addy = hash.ripemd160(pub_sha);\n\t addy = Buffer.concat([new Buffer([0x38]), addy]); //version 56(decimal)\n\t\n\t var checksum = hash.sha256(addy);\n\t checksum = hash.sha256(checksum);\n\t\n\t addy = Buffer.concat([addy, checksum.slice(0, 4)]);\n\t return base58.encode(addy);\n\t }\n\t }, {\n\t key: 'child',\n\t value: function child(offset) {\n\t\n\t assert(Buffer.isBuffer(offset), \"Buffer required: offset\");\n\t assert.equal(offset.length, 32, \"offset length\");\n\t\n\t offset = Buffer.concat([this.toBuffer(), offset]);\n\t offset = hash.sha256(offset);\n\t\n\t var c = BigInteger.fromBuffer(offset);\n\t\n\t if (c.compareTo(n) >= 0) throw new Error(\"Child offset went out of bounds, try again\");\n\t\n\t var cG = G.multiply(c);\n\t var Qprime = this.Q.add(cG);\n\t\n\t if (secp256k1.isInfinity(Qprime)) throw new Error(\"Child offset derived to an invalid key, try again\");\n\t\n\t return PublicKey.fromPoint(Qprime);\n\t }\n\t\n\t // toByteBuffer() {\n\t // var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n\t // this.appendByteBuffer(b);\n\t // return b.copy(0, b.offset);\n\t // }\n\t\n\t }, {\n\t key: 'toHex',\n\t value: function toHex() {\n\t return this.toBuffer().toString('hex');\n\t }\n\t }], [{\n\t key: 'fromBinary',\n\t value: function fromBinary(bin) {\n\t return PublicKey.fromBuffer(new Buffer(bin, 'binary'));\n\t }\n\t }, {\n\t key: 'fromBuffer',\n\t value: function fromBuffer(buffer) {\n\t if (buffer.toString(\"hex\") === \"000000000000000000000000000000000000000000000000000000000000000000\") return new PublicKey(null);\n\t return new PublicKey(ecurve.Point.decodeFrom(secp256k1, buffer));\n\t }\n\t }, {\n\t key: 'fromPoint',\n\t value: function fromPoint(point) {\n\t return new PublicKey(point);\n\t }\n\t }, {\n\t key: 'fromString',\n\t value: function fromString(public_key) {\n\t var address_prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : config.get('address_prefix');\n\t\n\t try {\n\t return PublicKey.fromStringOrThrow(public_key, address_prefix);\n\t } catch (e) {\n\t return null;\n\t }\n\t }\n\t\n\t /**\n\t @arg {string} public_key - like STMXyz...\n\t @arg {string} address_prefix - like STM\n\t @throws {Error} if public key is invalid\n\t @return PublicKey\n\t */\n\t\n\t }, {\n\t key: 'fromStringOrThrow',\n\t value: function fromStringOrThrow(public_key) {\n\t var address_prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : config.get('address_prefix');\n\t\n\t var prefix = public_key.slice(0, address_prefix.length);\n\t assert.equal(address_prefix, prefix, 'Expecting key to begin with ' + address_prefix + ', instead got ' + prefix);\n\t public_key = public_key.slice(address_prefix.length);\n\t\n\t public_key = new Buffer(base58.decode(public_key), 'binary');\n\t var checksum = public_key.slice(-4);\n\t public_key = public_key.slice(0, -4);\n\t var new_checksum = hash.ripemd160(public_key);\n\t new_checksum = new_checksum.slice(0, 4);\n\t assert.deepEqual(checksum, new_checksum, 'Checksum did not match');\n\t return PublicKey.fromBuffer(public_key);\n\t }\n\t }, {\n\t key: 'fromHex',\n\t value: function fromHex(hex) {\n\t return PublicKey.fromBuffer(new Buffer(hex, 'hex'));\n\t }\n\t }, {\n\t key: 'fromStringHex',\n\t value: function fromStringHex(hex) {\n\t return PublicKey.fromString(new Buffer(hex, 'hex'));\n\t }\n\t\n\t /* </HEX> */\n\t\n\t }]);\n\t\n\t return PublicKey;\n\t}();\n\t\n\tmodule.exports = PublicKey;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar BigInteger = __webpack_require__(179);\n\t\n\t//addons\n\t__webpack_require__(181);\n\t\n\tmodule.exports = BigInteger;\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\t// (public) Constructor\n\tfunction BigInteger(a, b, c) {\n\t if (!(this instanceof BigInteger)) return new BigInteger(a, b, c);\n\t\n\t if (a != null) {\n\t if (\"number\" == typeof a) this.fromNumber(a, b, c);else if (b == null && \"string\" != typeof a) this.fromString(a, 256);else this.fromString(a, b);\n\t }\n\t}\n\t\n\tvar proto = BigInteger.prototype;\n\t\n\t// duck-typed isBigInteger\n\tproto.__bigi = __webpack_require__(180).version;\n\tBigInteger.isBigInteger = function (obj, check_ver) {\n\t return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi);\n\t};\n\t\n\t// Bits per digit\n\tvar dbits;\n\t\n\t// am: Compute w_j += (x*this_i), propagate carries,\n\t// c is initial carry, returns final carry.\n\t// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n\t// We need to select the fastest one that works in this environment.\n\t\n\t// am1: use a single mult and divide to get the high bits,\n\t// max digit bits should be 26 because\n\t// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n\tfunction am1(i, x, w, j, c, n) {\n\t while (--n >= 0) {\n\t var v = x * this[i++] + w[j] + c;\n\t c = Math.floor(v / 0x4000000);\n\t w[j++] = v & 0x3ffffff;\n\t }\n\t return c;\n\t}\n\t// am2 avoids a big mult-and-extract completely.\n\t// Max digit bits should be <= 30 because we do bitwise ops\n\t// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n\tfunction am2(i, x, w, j, c, n) {\n\t var xl = x & 0x7fff,\n\t xh = x >> 15;\n\t while (--n >= 0) {\n\t var l = this[i] & 0x7fff;\n\t var h = this[i++] >> 15;\n\t var m = xh * l + h * xl;\n\t l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n\t c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n\t w[j++] = l & 0x3fffffff;\n\t }\n\t return c;\n\t}\n\t// Alternately, set max digit bits to 28 since some\n\t// browsers slow down when dealing with 32-bit numbers.\n\tfunction am3(i, x, w, j, c, n) {\n\t var xl = x & 0x3fff,\n\t xh = x >> 14;\n\t while (--n >= 0) {\n\t var l = this[i] & 0x3fff;\n\t var h = this[i++] >> 14;\n\t var m = xh * l + h * xl;\n\t l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n\t c = (l >> 28) + (m >> 14) + xh * h;\n\t w[j++] = l & 0xfffffff;\n\t }\n\t return c;\n\t}\n\t\n\t// wtf?\n\tBigInteger.prototype.am = am1;\n\tdbits = 26;\n\t\n\tBigInteger.prototype.DB = dbits;\n\tBigInteger.prototype.DM = (1 << dbits) - 1;\n\tvar DV = BigInteger.prototype.DV = 1 << dbits;\n\t\n\tvar BI_FP = 52;\n\tBigInteger.prototype.FV = Math.pow(2, BI_FP);\n\tBigInteger.prototype.F1 = BI_FP - dbits;\n\tBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n\t\n\t// Digit conversions\n\tvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\n\tvar BI_RC = new Array();\n\tvar rr, vv;\n\trr = \"0\".charCodeAt(0);\n\tfor (vv = 0; vv <= 9; ++vv) {\n\t BI_RC[rr++] = vv;\n\t}rr = \"a\".charCodeAt(0);\n\tfor (vv = 10; vv < 36; ++vv) {\n\t BI_RC[rr++] = vv;\n\t}rr = \"A\".charCodeAt(0);\n\tfor (vv = 10; vv < 36; ++vv) {\n\t BI_RC[rr++] = vv;\n\t}function int2char(n) {\n\t return BI_RM.charAt(n);\n\t}\n\t\n\tfunction intAt(s, i) {\n\t var c = BI_RC[s.charCodeAt(i)];\n\t return c == null ? -1 : c;\n\t}\n\t\n\t// (protected) copy this to r\n\tfunction bnpCopyTo(r) {\n\t for (var i = this.t - 1; i >= 0; --i) {\n\t r[i] = this[i];\n\t }r.t = this.t;\n\t r.s = this.s;\n\t}\n\t\n\t// (protected) set from integer value x, -DV <= x < DV\n\tfunction bnpFromInt(x) {\n\t this.t = 1;\n\t this.s = x < 0 ? -1 : 0;\n\t if (x > 0) this[0] = x;else if (x < -1) this[0] = x + DV;else this.t = 0;\n\t}\n\t\n\t// return bigint initialized to value\n\tfunction nbv(i) {\n\t var r = new BigInteger();\n\t r.fromInt(i);\n\t return r;\n\t}\n\t\n\t// (protected) set from string and radix\n\tfunction bnpFromString(s, b) {\n\t var self = this;\n\t\n\t var k;\n\t if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 256) k = 8; // byte array\n\t else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else {\n\t self.fromRadix(s, b);\n\t return;\n\t }\n\t self.t = 0;\n\t self.s = 0;\n\t var i = s.length,\n\t mi = false,\n\t sh = 0;\n\t while (--i >= 0) {\n\t var x = k == 8 ? s[i] & 0xff : intAt(s, i);\n\t if (x < 0) {\n\t if (s.charAt(i) == \"-\") mi = true;\n\t continue;\n\t }\n\t mi = false;\n\t if (sh == 0) self[self.t++] = x;else if (sh + k > self.DB) {\n\t self[self.t - 1] |= (x & (1 << self.DB - sh) - 1) << sh;\n\t self[self.t++] = x >> self.DB - sh;\n\t } else self[self.t - 1] |= x << sh;\n\t sh += k;\n\t if (sh >= self.DB) sh -= self.DB;\n\t }\n\t if (k == 8 && (s[0] & 0x80) != 0) {\n\t self.s = -1;\n\t if (sh > 0) self[self.t - 1] |= (1 << self.DB - sh) - 1 << sh;\n\t }\n\t self.clamp();\n\t if (mi) BigInteger.ZERO.subTo(self, self);\n\t}\n\t\n\t// (protected) clamp off excess high words\n\tfunction bnpClamp() {\n\t var c = this.s & this.DM;\n\t while (this.t > 0 && this[this.t - 1] == c) {\n\t --this.t;\n\t }\n\t}\n\t\n\t// (public) return string representation in given radix\n\tfunction bnToString(b) {\n\t var self = this;\n\t if (self.s < 0) return \"-\" + self.negate().toString(b);\n\t var k;\n\t if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else return self.toRadix(b);\n\t var km = (1 << k) - 1,\n\t d,\n\t m = false,\n\t r = \"\",\n\t i = self.t;\n\t var p = self.DB - i * self.DB % k;\n\t if (i-- > 0) {\n\t if (p < self.DB && (d = self[i] >> p) > 0) {\n\t m = true;\n\t r = int2char(d);\n\t }\n\t while (i >= 0) {\n\t if (p < k) {\n\t d = (self[i] & (1 << p) - 1) << k - p;\n\t d |= self[--i] >> (p += self.DB - k);\n\t } else {\n\t d = self[i] >> (p -= k) & km;\n\t if (p <= 0) {\n\t p += self.DB;\n\t --i;\n\t }\n\t }\n\t if (d > 0) m = true;\n\t if (m) r += int2char(d);\n\t }\n\t }\n\t return m ? r : \"0\";\n\t}\n\t\n\t// (public) -this\n\tfunction bnNegate() {\n\t var r = new BigInteger();\n\t BigInteger.ZERO.subTo(this, r);\n\t return r;\n\t}\n\t\n\t// (public) |this|\n\tfunction bnAbs() {\n\t return this.s < 0 ? this.negate() : this;\n\t}\n\t\n\t// (public) return + if this > a, - if this < a, 0 if equal\n\tfunction bnCompareTo(a) {\n\t var r = this.s - a.s;\n\t if (r != 0) return r;\n\t var i = this.t;\n\t r = i - a.t;\n\t if (r != 0) return this.s < 0 ? -r : r;\n\t while (--i >= 0) {\n\t if ((r = this[i] - a[i]) != 0) return r;\n\t }return 0;\n\t}\n\t\n\t// returns bit length of the integer x\n\tfunction nbits(x) {\n\t var r = 1,\n\t t;\n\t if ((t = x >>> 16) != 0) {\n\t x = t;\n\t r += 16;\n\t }\n\t if ((t = x >> 8) != 0) {\n\t x = t;\n\t r += 8;\n\t }\n\t if ((t = x >> 4) != 0) {\n\t x = t;\n\t r += 4;\n\t }\n\t if ((t = x >> 2) != 0) {\n\t x = t;\n\t r += 2;\n\t }\n\t if ((t = x >> 1) != 0) {\n\t x = t;\n\t r += 1;\n\t }\n\t return r;\n\t}\n\t\n\t// (public) return the number of bits in \"this\"\n\tfunction bnBitLength() {\n\t if (this.t <= 0) return 0;\n\t return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n\t}\n\t\n\t// (public) return the number of bytes in \"this\"\n\tfunction bnByteLength() {\n\t return this.bitLength() >> 3;\n\t}\n\t\n\t// (protected) r = this << n*DB\n\tfunction bnpDLShiftTo(n, r) {\n\t var i;\n\t for (i = this.t - 1; i >= 0; --i) {\n\t r[i + n] = this[i];\n\t }for (i = n - 1; i >= 0; --i) {\n\t r[i] = 0;\n\t }r.t = this.t + n;\n\t r.s = this.s;\n\t}\n\t\n\t// (protected) r = this >> n*DB\n\tfunction bnpDRShiftTo(n, r) {\n\t for (var i = n; i < this.t; ++i) {\n\t r[i - n] = this[i];\n\t }r.t = Math.max(this.t - n, 0);\n\t r.s = this.s;\n\t}\n\t\n\t// (protected) r = this << n\n\tfunction bnpLShiftTo(n, r) {\n\t var self = this;\n\t var bs = n % self.DB;\n\t var cbs = self.DB - bs;\n\t var bm = (1 << cbs) - 1;\n\t var ds = Math.floor(n / self.DB),\n\t c = self.s << bs & self.DM,\n\t i;\n\t for (i = self.t - 1; i >= 0; --i) {\n\t r[i + ds + 1] = self[i] >> cbs | c;\n\t c = (self[i] & bm) << bs;\n\t }\n\t for (i = ds - 1; i >= 0; --i) {\n\t r[i] = 0;\n\t }r[ds] = c;\n\t r.t = self.t + ds + 1;\n\t r.s = self.s;\n\t r.clamp();\n\t}\n\t\n\t// (protected) r = this >> n\n\tfunction bnpRShiftTo(n, r) {\n\t var self = this;\n\t r.s = self.s;\n\t var ds = Math.floor(n / self.DB);\n\t if (ds >= self.t) {\n\t r.t = 0;\n\t return;\n\t }\n\t var bs = n % self.DB;\n\t var cbs = self.DB - bs;\n\t var bm = (1 << bs) - 1;\n\t r[0] = self[ds] >> bs;\n\t for (var i = ds + 1; i < self.t; ++i) {\n\t r[i - ds - 1] |= (self[i] & bm) << cbs;\n\t r[i - ds] = self[i] >> bs;\n\t }\n\t if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs;\n\t r.t = self.t - ds;\n\t r.clamp();\n\t}\n\t\n\t// (protected) r = this - a\n\tfunction bnpSubTo(a, r) {\n\t var self = this;\n\t var i = 0,\n\t c = 0,\n\t m = Math.min(a.t, self.t);\n\t while (i < m) {\n\t c += self[i] - a[i];\n\t r[i++] = c & self.DM;\n\t c >>= self.DB;\n\t }\n\t if (a.t < self.t) {\n\t c -= a.s;\n\t while (i < self.t) {\n\t c += self[i];\n\t r[i++] = c & self.DM;\n\t c >>= self.DB;\n\t }\n\t c += self.s;\n\t } else {\n\t c += self.s;\n\t while (i < a.t) {\n\t c -= a[i];\n\t r[i++] = c & self.DM;\n\t c >>= self.DB;\n\t }\n\t c -= a.s;\n\t }\n\t r.s = c < 0 ? -1 : 0;\n\t if (c < -1) r[i++] = self.DV + c;else if (c > 0) r[i++] = c;\n\t r.t = i;\n\t r.clamp();\n\t}\n\t\n\t// (protected) r = this * a, r != this,a (HAC 14.12)\n\t// \"this\" should be the larger one if appropriate.\n\tfunction bnpMultiplyTo(a, r) {\n\t var x = this.abs(),\n\t y = a.abs();\n\t var i = x.t;\n\t r.t = i + y.t;\n\t while (--i >= 0) {\n\t r[i] = 0;\n\t }for (i = 0; i < y.t; ++i) {\n\t r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n\t }r.s = 0;\n\t r.clamp();\n\t if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n\t}\n\t\n\t// (protected) r = this^2, r != this (HAC 14.16)\n\tfunction bnpSquareTo(r) {\n\t var x = this.abs();\n\t var i = r.t = 2 * x.t;\n\t while (--i >= 0) {\n\t r[i] = 0;\n\t }for (i = 0; i < x.t - 1; ++i) {\n\t var c = x.am(i, x[i], r, 2 * i, 0, 1);\n\t if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n\t r[i + x.t] -= x.DV;\n\t r[i + x.t + 1] = 1;\n\t }\n\t }\n\t if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n\t r.s = 0;\n\t r.clamp();\n\t}\n\t\n\t// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n\t// r != q, this != m. q or r may be null.\n\tfunction bnpDivRemTo(m, q, r) {\n\t var self = this;\n\t var pm = m.abs();\n\t if (pm.t <= 0) return;\n\t var pt = self.abs();\n\t if (pt.t < pm.t) {\n\t if (q != null) q.fromInt(0);\n\t if (r != null) self.copyTo(r);\n\t return;\n\t }\n\t if (r == null) r = new BigInteger();\n\t var y = new BigInteger(),\n\t ts = self.s,\n\t ms = m.s;\n\t var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus\n\t if (nsh > 0) {\n\t pm.lShiftTo(nsh, y);\n\t pt.lShiftTo(nsh, r);\n\t } else {\n\t pm.copyTo(y);\n\t pt.copyTo(r);\n\t }\n\t var ys = y.t;\n\t var y0 = y[ys - 1];\n\t if (y0 == 0) return;\n\t var yt = y0 * (1 << self.F1) + (ys > 1 ? y[ys - 2] >> self.F2 : 0);\n\t var d1 = self.FV / yt,\n\t d2 = (1 << self.F1) / yt,\n\t e = 1 << self.F2;\n\t var i = r.t,\n\t j = i - ys,\n\t t = q == null ? new BigInteger() : q;\n\t y.dlShiftTo(j, t);\n\t if (r.compareTo(t) >= 0) {\n\t r[r.t++] = 1;\n\t r.subTo(t, r);\n\t }\n\t BigInteger.ONE.dlShiftTo(ys, t);\n\t t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n\t while (y.t < ys) {\n\t y[y.t++] = 0;\n\t }while (--j >= 0) {\n\t // Estimate quotient digit\n\t var qd = r[--i] == y0 ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n\t if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n\t // Try it out\n\t y.dlShiftTo(j, t);\n\t r.subTo(t, r);\n\t while (r[i] < --qd) {\n\t r.subTo(t, r);\n\t }\n\t }\n\t }\n\t if (q != null) {\n\t r.drShiftTo(ys, q);\n\t if (ts != ms) BigInteger.ZERO.subTo(q, q);\n\t }\n\t r.t = ys;\n\t r.clamp();\n\t if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder\n\t if (ts < 0) BigInteger.ZERO.subTo(r, r);\n\t}\n\t\n\t// (public) this mod a\n\tfunction bnMod(a) {\n\t var r = new BigInteger();\n\t this.abs().divRemTo(a, null, r);\n\t if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n\t return r;\n\t}\n\t\n\t// Modular reduction using \"classic\" algorithm\n\tfunction Classic(m) {\n\t this.m = m;\n\t}\n\t\n\tfunction cConvert(x) {\n\t if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);else return x;\n\t}\n\t\n\tfunction cRevert(x) {\n\t return x;\n\t}\n\t\n\tfunction cReduce(x) {\n\t x.divRemTo(this.m, null, x);\n\t}\n\t\n\tfunction cMulTo(x, y, r) {\n\t x.multiplyTo(y, r);\n\t this.reduce(r);\n\t}\n\t\n\tfunction cSqrTo(x, r) {\n\t x.squareTo(r);\n\t this.reduce(r);\n\t}\n\t\n\tClassic.prototype.convert = cConvert;\n\tClassic.prototype.revert = cRevert;\n\tClassic.prototype.reduce = cReduce;\n\tClassic.prototype.mulTo = cMulTo;\n\tClassic.prototype.sqrTo = cSqrTo;\n\t\n\t// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n\t// justification:\n\t// xy == 1 (mod m)\n\t// xy = 1+km\n\t// xy(2-xy) = (1+km)(1-km)\n\t// x[y(2-xy)] = 1-k^2m^2\n\t// x[y(2-xy)] == 1 (mod m^2)\n\t// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n\t// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n\t// JS multiply \"overflows\" differently from C/C++, so care is needed here.\n\tfunction bnpInvDigit() {\n\t if (this.t < 1) return 0;\n\t var x = this[0];\n\t if ((x & 1) == 0) return 0;\n\t var y = x & 3; // y == 1/x mod 2^2\n\t y = y * (2 - (x & 0xf) * y) & 0xf; // y == 1/x mod 2^4\n\t y = y * (2 - (x & 0xff) * y) & 0xff; // y == 1/x mod 2^8\n\t y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff; // y == 1/x mod 2^16\n\t // last step - calculate inverse mod DV directly\n\t // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n\t y = y * (2 - x * y % this.DV) % this.DV; // y == 1/x mod 2^dbits\n\t // we really want the negative inverse, and -DV < y < DV\n\t return y > 0 ? this.DV - y : -y;\n\t}\n\t\n\t// Montgomery reduction\n\tfunction Montgomery(m) {\n\t this.m = m;\n\t this.mp = m.invDigit();\n\t this.mpl = this.mp & 0x7fff;\n\t this.mph = this.mp >> 15;\n\t this.um = (1 << m.DB - 15) - 1;\n\t this.mt2 = 2 * m.t;\n\t}\n\t\n\t// xR mod m\n\tfunction montConvert(x) {\n\t var r = new BigInteger();\n\t x.abs().dlShiftTo(this.m.t, r);\n\t r.divRemTo(this.m, null, r);\n\t if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n\t return r;\n\t}\n\t\n\t// x/R mod m\n\tfunction montRevert(x) {\n\t var r = new BigInteger();\n\t x.copyTo(r);\n\t this.reduce(r);\n\t return r;\n\t}\n\t\n\t// x = x/R mod m (HAC 14.32)\n\tfunction montReduce(x) {\n\t while (x.t <= this.mt2) {\n\t // pad x so am has enough room later\n\t x[x.t++] = 0;\n\t }for (var i = 0; i < this.m.t; ++i) {\n\t // faster way of calculating u0 = x[i]*mp mod DV\n\t var j = x[i] & 0x7fff;\n\t var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM;\n\t // use am to combine the multiply-shift-add into one call\n\t j = i + this.m.t;\n\t x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n\t // propagate carry\n\t while (x[j] >= x.DV) {\n\t x[j] -= x.DV;\n\t x[++j]++;\n\t }\n\t }\n\t x.clamp();\n\t x.drShiftTo(this.m.t, x);\n\t if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n\t}\n\t\n\t// r = \"x^2/R mod m\"; x != r\n\tfunction montSqrTo(x, r) {\n\t x.squareTo(r);\n\t this.reduce(r);\n\t}\n\t\n\t// r = \"xy/R mod m\"; x,y != r\n\tfunction montMulTo(x, y, r) {\n\t x.multiplyTo(y, r);\n\t this.reduce(r);\n\t}\n\t\n\tMontgomery.prototype.convert = montConvert;\n\tMontgomery.prototype.revert = montRevert;\n\tMontgomery.prototype.reduce = montReduce;\n\tMontgomery.prototype.mulTo = montMulTo;\n\tMontgomery.prototype.sqrTo = montSqrTo;\n\t\n\t// (protected) true iff this is even\n\tfunction bnpIsEven() {\n\t return (this.t > 0 ? this[0] & 1 : this.s) == 0;\n\t}\n\t\n\t// (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n\tfunction bnpExp(e, z) {\n\t if (e > 0xffffffff || e < 1) return BigInteger.ONE;\n\t var r = new BigInteger(),\n\t r2 = new BigInteger(),\n\t g = z.convert(this),\n\t i = nbits(e) - 1;\n\t g.copyTo(r);\n\t while (--i >= 0) {\n\t z.sqrTo(r, r2);\n\t if ((e & 1 << i) > 0) z.mulTo(r2, g, r);else {\n\t var t = r;\n\t r = r2;\n\t r2 = t;\n\t }\n\t }\n\t return z.revert(r);\n\t}\n\t\n\t// (public) this^e % m, 0 <= e < 2^32\n\tfunction bnModPowInt(e, m) {\n\t var z;\n\t if (e < 256 || m.isEven()) z = new Classic(m);else z = new Montgomery(m);\n\t return this.exp(e, z);\n\t}\n\t\n\t// protected\n\tproto.copyTo = bnpCopyTo;\n\tproto.fromInt = bnpFromInt;\n\tproto.fromString = bnpFromString;\n\tproto.clamp = bnpClamp;\n\tproto.dlShiftTo = bnpDLShiftTo;\n\tproto.drShiftTo = bnpDRShiftTo;\n\tproto.lShiftTo = bnpLShiftTo;\n\tproto.rShiftTo = bnpRShiftTo;\n\tproto.subTo = bnpSubTo;\n\tproto.multiplyTo = bnpMultiplyTo;\n\tproto.squareTo = bnpSquareTo;\n\tproto.divRemTo = bnpDivRemTo;\n\tproto.invDigit = bnpInvDigit;\n\tproto.isEven = bnpIsEven;\n\tproto.exp = bnpExp;\n\t\n\t// public\n\tproto.toString = bnToString;\n\tproto.negate = bnNegate;\n\tproto.abs = bnAbs;\n\tproto.compareTo = bnCompareTo;\n\tproto.bitLength = bnBitLength;\n\tproto.byteLength = bnByteLength;\n\tproto.mod = bnMod;\n\tproto.modPowInt = bnModPowInt;\n\t\n\t// (public)\n\tfunction bnClone() {\n\t var r = new BigInteger();\n\t this.copyTo(r);\n\t return r;\n\t}\n\t\n\t// (public) return value as integer\n\tfunction bnIntValue() {\n\t if (this.s < 0) {\n\t if (this.t == 1) return this[0] - this.DV;else if (this.t == 0) return -1;\n\t } else if (this.t == 1) return this[0];else if (this.t == 0) return 0;\n\t // assumes 16 < DB < 32\n\t return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0];\n\t}\n\t\n\t// (public) return value as byte\n\tfunction bnByteValue() {\n\t return this.t == 0 ? this.s : this[0] << 24 >> 24;\n\t}\n\t\n\t// (public) return value as short (assumes DB>=16)\n\tfunction bnShortValue() {\n\t return this.t == 0 ? this.s : this[0] << 16 >> 16;\n\t}\n\t\n\t// (protected) return x s.t. r^x < DV\n\tfunction bnpChunkSize(r) {\n\t return Math.floor(Math.LN2 * this.DB / Math.log(r));\n\t}\n\t\n\t// (public) 0 if this == 0, 1 if this > 0\n\tfunction bnSigNum() {\n\t if (this.s < 0) return -1;else if (this.t <= 0 || this.t == 1 && this[0] <= 0) return 0;else return 1;\n\t}\n\t\n\t// (protected) convert to radix string\n\tfunction bnpToRadix(b) {\n\t if (b == null) b = 10;\n\t if (this.signum() == 0 || b < 2 || b > 36) return \"0\";\n\t var cs = this.chunkSize(b);\n\t var a = Math.pow(b, cs);\n\t var d = nbv(a),\n\t y = new BigInteger(),\n\t z = new BigInteger(),\n\t r = \"\";\n\t this.divRemTo(d, y, z);\n\t while (y.signum() > 0) {\n\t r = (a + z.intValue()).toString(b).substr(1) + r;\n\t y.divRemTo(d, y, z);\n\t }\n\t return z.intValue().toString(b) + r;\n\t}\n\t\n\t// (protected) convert from radix string\n\tfunction bnpFromRadix(s, b) {\n\t var self = this;\n\t self.fromInt(0);\n\t if (b == null) b = 10;\n\t var cs = self.chunkSize(b);\n\t var d = Math.pow(b, cs),\n\t mi = false,\n\t j = 0,\n\t w = 0;\n\t for (var i = 0; i < s.length; ++i) {\n\t var x = intAt(s, i);\n\t if (x < 0) {\n\t if (s.charAt(i) == \"-\" && self.signum() == 0) mi = true;\n\t continue;\n\t }\n\t w = b * w + x;\n\t if (++j >= cs) {\n\t self.dMultiply(d);\n\t self.dAddOffset(w, 0);\n\t j = 0;\n\t w = 0;\n\t }\n\t }\n\t if (j > 0) {\n\t self.dMultiply(Math.pow(b, j));\n\t self.dAddOffset(w, 0);\n\t }\n\t if (mi) BigInteger.ZERO.subTo(self, self);\n\t}\n\t\n\t// (protected) alternate constructor\n\tfunction bnpFromNumber(a, b, c) {\n\t var self = this;\n\t if (\"number\" == typeof b) {\n\t // new BigInteger(int,int,RNG)\n\t if (a < 2) self.fromInt(1);else {\n\t self.fromNumber(a, c);\n\t if (!self.testBit(a - 1)) // force MSB set\n\t self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self);\n\t if (self.isEven()) self.dAddOffset(1, 0); // force odd\n\t while (!self.isProbablePrime(b)) {\n\t self.dAddOffset(2, 0);\n\t if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self);\n\t }\n\t }\n\t } else {\n\t // new BigInteger(int,RNG)\n\t var x = new Array(),\n\t t = a & 7;\n\t x.length = (a >> 3) + 1;\n\t b.nextBytes(x);\n\t if (t > 0) x[0] &= (1 << t) - 1;else x[0] = 0;\n\t self.fromString(x, 256);\n\t }\n\t}\n\t\n\t// (public) convert to bigendian byte array\n\tfunction bnToByteArray() {\n\t var self = this;\n\t var i = self.t,\n\t r = new Array();\n\t r[0] = self.s;\n\t var p = self.DB - i * self.DB % 8,\n\t d,\n\t k = 0;\n\t if (i-- > 0) {\n\t if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p) r[k++] = d | self.s << self.DB - p;\n\t while (i >= 0) {\n\t if (p < 8) {\n\t d = (self[i] & (1 << p) - 1) << 8 - p;\n\t d |= self[--i] >> (p += self.DB - 8);\n\t } else {\n\t d = self[i] >> (p -= 8) & 0xff;\n\t if (p <= 0) {\n\t p += self.DB;\n\t --i;\n\t }\n\t }\n\t if ((d & 0x80) != 0) d |= -256;\n\t if (k === 0 && (self.s & 0x80) != (d & 0x80)) ++k;\n\t if (k > 0 || d != self.s) r[k++] = d;\n\t }\n\t }\n\t return r;\n\t}\n\t\n\tfunction bnEquals(a) {\n\t return this.compareTo(a) == 0;\n\t}\n\t\n\tfunction bnMin(a) {\n\t return this.compareTo(a) < 0 ? this : a;\n\t}\n\t\n\tfunction bnMax(a) {\n\t return this.compareTo(a) > 0 ? this : a;\n\t}\n\t\n\t// (protected) r = this op a (bitwise)\n\tfunction bnpBitwiseTo(a, op, r) {\n\t var self = this;\n\t var i,\n\t f,\n\t m = Math.min(a.t, self.t);\n\t for (i = 0; i < m; ++i) {\n\t r[i] = op(self[i], a[i]);\n\t }if (a.t < self.t) {\n\t f = a.s & self.DM;\n\t for (i = m; i < self.t; ++i) {\n\t r[i] = op(self[i], f);\n\t }r.t = self.t;\n\t } else {\n\t f = self.s & self.DM;\n\t for (i = m; i < a.t; ++i) {\n\t r[i] = op(f, a[i]);\n\t }r.t = a.t;\n\t }\n\t r.s = op(self.s, a.s);\n\t r.clamp();\n\t}\n\t\n\t// (public) this & a\n\tfunction op_and(x, y) {\n\t return x & y;\n\t}\n\t\n\tfunction bnAnd(a) {\n\t var r = new BigInteger();\n\t this.bitwiseTo(a, op_and, r);\n\t return r;\n\t}\n\t\n\t// (public) this | a\n\tfunction op_or(x, y) {\n\t return x | y;\n\t}\n\t\n\tfunction bnOr(a) {\n\t var r = new BigInteger();\n\t this.bitwiseTo(a, op_or, r);\n\t return r;\n\t}\n\t\n\t// (public) this ^ a\n\tfunction op_xor(x, y) {\n\t return x ^ y;\n\t}\n\t\n\tfunction bnXor(a) {\n\t var r = new BigInteger();\n\t this.bitwiseTo(a, op_xor, r);\n\t return r;\n\t}\n\t\n\t// (public) this & ~a\n\tfunction op_andnot(x, y) {\n\t return x & ~y;\n\t}\n\t\n\tfunction bnAndNot(a) {\n\t var r = new BigInteger();\n\t this.bitwiseTo(a, op_andnot, r);\n\t return r;\n\t}\n\t\n\t// (public) ~this\n\tfunction bnNot() {\n\t var r = new BigInteger();\n\t for (var i = 0; i < this.t; ++i) {\n\t r[i] = this.DM & ~this[i];\n\t }r.t = this.t;\n\t r.s = ~this.s;\n\t return r;\n\t}\n\t\n\t// (public) this << n\n\tfunction bnShiftLeft(n) {\n\t var r = new BigInteger();\n\t if (n < 0) this.rShiftTo(-n, r);else this.lShiftTo(n, r);\n\t return r;\n\t}\n\t\n\t// (public) this >> n\n\tfunction bnShiftRight(n) {\n\t var r = new BigInteger();\n\t if (n < 0) this.lShiftTo(-n, r);else this.rShiftTo(n, r);\n\t return r;\n\t}\n\t\n\t// return index of lowest 1-bit in x, x < 2^31\n\tfunction lbit(x) {\n\t if (x == 0) return -1;\n\t var r = 0;\n\t if ((x & 0xffff) == 0) {\n\t x >>= 16;\n\t r += 16;\n\t }\n\t if ((x & 0xff) == 0) {\n\t x >>= 8;\n\t r += 8;\n\t }\n\t if ((x & 0xf) == 0) {\n\t x >>= 4;\n\t r += 4;\n\t }\n\t if ((x & 3) == 0) {\n\t x >>= 2;\n\t r += 2;\n\t }\n\t if ((x & 1) == 0) ++r;\n\t return r;\n\t}\n\t\n\t// (public) returns index of lowest 1-bit (or -1 if none)\n\tfunction bnGetLowestSetBit() {\n\t for (var i = 0; i < this.t; ++i) {\n\t if (this[i] != 0) return i * this.DB + lbit(this[i]);\n\t }if (this.s < 0) return this.t * this.DB;\n\t return -1;\n\t}\n\t\n\t// return number of 1 bits in x\n\tfunction cbit(x) {\n\t var r = 0;\n\t while (x != 0) {\n\t x &= x - 1;\n\t ++r;\n\t }\n\t return r;\n\t}\n\t\n\t// (public) return number of set bits\n\tfunction bnBitCount() {\n\t var r = 0,\n\t x = this.s & this.DM;\n\t for (var i = 0; i < this.t; ++i) {\n\t r += cbit(this[i] ^ x);\n\t }return r;\n\t}\n\t\n\t// (public) true iff nth bit is set\n\tfunction bnTestBit(n) {\n\t var j = Math.floor(n / this.DB);\n\t if (j >= this.t) return this.s != 0;\n\t return (this[j] & 1 << n % this.DB) != 0;\n\t}\n\t\n\t// (protected) this op (1<<n)\n\tfunction bnpChangeBit(n, op) {\n\t var r = BigInteger.ONE.shiftLeft(n);\n\t this.bitwiseTo(r, op, r);\n\t return r;\n\t}\n\t\n\t// (public) this | (1<<n)\n\tfunction bnSetBit(n) {\n\t return this.changeBit(n, op_or);\n\t}\n\t\n\t// (public) this & ~(1<<n)\n\tfunction bnClearBit(n) {\n\t return this.changeBit(n, op_andnot);\n\t}\n\t\n\t// (public) this ^ (1<<n)\n\tfunction bnFlipBit(n) {\n\t return this.changeBit(n, op_xor);\n\t}\n\t\n\t// (protected) r = this + a\n\tfunction bnpAddTo(a, r) {\n\t var self = this;\n\t\n\t var i = 0,\n\t c = 0,\n\t m = Math.min(a.t, self.t);\n\t while (i < m) {\n\t c += self[i] + a[i];\n\t r[i++] = c & self.DM;\n\t c >>= self.DB;\n\t }\n\t if (a.t < self.t) {\n\t c += a.s;\n\t while (i < self.t) {\n\t c += self[i];\n\t r[i++] = c & self.DM;\n\t c >>= self.DB;\n\t }\n\t c += self.s;\n\t } else {\n\t c += self.s;\n\t while (i < a.t) {\n\t c += a[i];\n\t r[i++] = c & self.DM;\n\t c >>= self.DB;\n\t }\n\t c += a.s;\n\t }\n\t r.s = c < 0 ? -1 : 0;\n\t if (c > 0) r[i++] = c;else if (c < -1) r[i++] = self.DV + c;\n\t r.t = i;\n\t r.clamp();\n\t}\n\t\n\t// (public) this + a\n\tfunction bnAdd(a) {\n\t var r = new BigInteger();\n\t this.addTo(a, r);\n\t return r;\n\t}\n\t\n\t// (public) this - a\n\tfunction bnSubtract(a) {\n\t var r = new BigInteger();\n\t this.subTo(a, r);\n\t return r;\n\t}\n\t\n\t// (public) this * a\n\tfunction bnMultiply(a) {\n\t var r = new BigInteger();\n\t this.multiplyTo(a, r);\n\t return r;\n\t}\n\t\n\t// (public) this^2\n\tfunction bnSquare() {\n\t var r = new BigInteger();\n\t this.squareTo(r);\n\t return r;\n\t}\n\t\n\t// (public) this / a\n\tfunction bnDivide(a) {\n\t var r = new BigInteger();\n\t this.divRemTo(a, r, null);\n\t return r;\n\t}\n\t\n\t// (public) this % a\n\tfunction bnRemainder(a) {\n\t var r = new BigInteger();\n\t this.divRemTo(a, null, r);\n\t return r;\n\t}\n\t\n\t// (public) [this/a,this%a]\n\tfunction bnDivideAndRemainder(a) {\n\t var q = new BigInteger(),\n\t r = new BigInteger();\n\t this.divRemTo(a, q, r);\n\t return new Array(q, r);\n\t}\n\t\n\t// (protected) this *= n, this >= 0, 1 < n < DV\n\tfunction bnpDMultiply(n) {\n\t this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\n\t ++this.t;\n\t this.clamp();\n\t}\n\t\n\t// (protected) this += n << w words, this >= 0\n\tfunction bnpDAddOffset(n, w) {\n\t if (n == 0) return;\n\t while (this.t <= w) {\n\t this[this.t++] = 0;\n\t }this[w] += n;\n\t while (this[w] >= this.DV) {\n\t this[w] -= this.DV;\n\t if (++w >= this.t) this[this.t++] = 0;\n\t ++this[w];\n\t }\n\t}\n\t\n\t// A \"null\" reducer\n\tfunction NullExp() {}\n\t\n\tfunction nNop(x) {\n\t return x;\n\t}\n\t\n\tfunction nMulTo(x, y, r) {\n\t x.multiplyTo(y, r);\n\t}\n\t\n\tfunction nSqrTo(x, r) {\n\t x.squareTo(r);\n\t}\n\t\n\tNullExp.prototype.convert = nNop;\n\tNullExp.prototype.revert = nNop;\n\tNullExp.prototype.mulTo = nMulTo;\n\tNullExp.prototype.sqrTo = nSqrTo;\n\t\n\t// (public) this^e\n\tfunction bnPow(e) {\n\t return this.exp(e, new NullExp());\n\t}\n\t\n\t// (protected) r = lower n words of \"this * a\", a.t <= n\n\t// \"this\" should be the larger one if appropriate.\n\tfunction bnpMultiplyLowerTo(a, n, r) {\n\t var i = Math.min(this.t + a.t, n);\n\t r.s = 0; // assumes a,this >= 0\n\t r.t = i;\n\t while (i > 0) {\n\t r[--i] = 0;\n\t }var j;\n\t for (j = r.t - this.t; i < j; ++i) {\n\t r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\n\t }for (j = Math.min(a.t, n); i < j; ++i) {\n\t this.am(0, a[i], r, i, 0, n - i);\n\t }r.clamp();\n\t}\n\t\n\t// (protected) r = \"this * a\" without lower n words, n > 0\n\t// \"this\" should be the larger one if appropriate.\n\tfunction bnpMultiplyUpperTo(a, n, r) {\n\t --n;\n\t var i = r.t = this.t + a.t - n;\n\t r.s = 0; // assumes a,this >= 0\n\t while (--i >= 0) {\n\t r[i] = 0;\n\t }for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\n\t r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\n\t }r.clamp();\n\t r.drShiftTo(1, r);\n\t}\n\t\n\t// Barrett modular reduction\n\tfunction Barrett(m) {\n\t // setup Barrett\n\t this.r2 = new BigInteger();\n\t this.q3 = new BigInteger();\n\t BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\n\t this.mu = this.r2.divide(m);\n\t this.m = m;\n\t}\n\t\n\tfunction barrettConvert(x) {\n\t if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);else if (x.compareTo(this.m) < 0) return x;else {\n\t var r = new BigInteger();\n\t x.copyTo(r);\n\t this.reduce(r);\n\t return r;\n\t }\n\t}\n\t\n\tfunction barrettRevert(x) {\n\t return x;\n\t}\n\t\n\t// x = x mod m (HAC 14.42)\n\tfunction barrettReduce(x) {\n\t var self = this;\n\t x.drShiftTo(self.m.t - 1, self.r2);\n\t if (x.t > self.m.t + 1) {\n\t x.t = self.m.t + 1;\n\t x.clamp();\n\t }\n\t self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3);\n\t self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2);\n\t while (x.compareTo(self.r2) < 0) {\n\t x.dAddOffset(1, self.m.t + 1);\n\t }x.subTo(self.r2, x);\n\t while (x.compareTo(self.m) >= 0) {\n\t x.subTo(self.m, x);\n\t }\n\t}\n\t\n\t// r = x^2 mod m; x != r\n\tfunction barrettSqrTo(x, r) {\n\t x.squareTo(r);\n\t this.reduce(r);\n\t}\n\t\n\t// r = x*y mod m; x,y != r\n\tfunction barrettMulTo(x, y, r) {\n\t x.multiplyTo(y, r);\n\t this.reduce(r);\n\t}\n\t\n\tBarrett.prototype.convert = barrettConvert;\n\tBarrett.prototype.revert = barrettRevert;\n\tBarrett.prototype.reduce = barrettReduce;\n\tBarrett.prototype.mulTo = barrettMulTo;\n\tBarrett.prototype.sqrTo = barrettSqrTo;\n\t\n\t// (public) this^e % m (HAC 14.85)\n\tfunction bnModPow(e, m) {\n\t var i = e.bitLength(),\n\t k,\n\t r = nbv(1),\n\t z;\n\t if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6;\n\t if (i < 8) z = new Classic(m);else if (m.isEven()) z = new Barrett(m);else z = new Montgomery(m);\n\t\n\t // precomputation\n\t var g = new Array(),\n\t n = 3,\n\t k1 = k - 1,\n\t km = (1 << k) - 1;\n\t g[1] = z.convert(this);\n\t if (k > 1) {\n\t var g2 = new BigInteger();\n\t z.sqrTo(g[1], g2);\n\t while (n <= km) {\n\t g[n] = new BigInteger();\n\t z.mulTo(g2, g[n - 2], g[n]);\n\t n += 2;\n\t }\n\t }\n\t\n\t var j = e.t - 1,\n\t w,\n\t is1 = true,\n\t r2 = new BigInteger(),\n\t t;\n\t i = nbits(e[j]) - 1;\n\t while (j >= 0) {\n\t if (i >= k1) w = e[j] >> i - k1 & km;else {\n\t w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n\t if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n\t }\n\t\n\t n = k;\n\t while ((w & 1) == 0) {\n\t w >>= 1;\n\t --n;\n\t }\n\t if ((i -= n) < 0) {\n\t i += this.DB;\n\t --j;\n\t }\n\t if (is1) {\n\t // ret == 1, don't bother squaring or multiplying it\n\t g[w].copyTo(r);\n\t is1 = false;\n\t } else {\n\t while (n > 1) {\n\t z.sqrTo(r, r2);\n\t z.sqrTo(r2, r);\n\t n -= 2;\n\t }\n\t if (n > 0) z.sqrTo(r, r2);else {\n\t t = r;\n\t r = r2;\n\t r2 = t;\n\t }\n\t z.mulTo(r2, g[w], r);\n\t }\n\t\n\t while (j >= 0 && (e[j] & 1 << i) == 0) {\n\t z.sqrTo(r, r2);\n\t t = r;\n\t r = r2;\n\t r2 = t;\n\t if (--i < 0) {\n\t i = this.DB - 1;\n\t --j;\n\t }\n\t }\n\t }\n\t return z.revert(r);\n\t}\n\t\n\t// (public) gcd(this,a) (HAC 14.54)\n\tfunction bnGCD(a) {\n\t var x = this.s < 0 ? this.negate() : this.clone();\n\t var y = a.s < 0 ? a.negate() : a.clone();\n\t if (x.compareTo(y) < 0) {\n\t var t = x;\n\t x = y;\n\t y = t;\n\t }\n\t var i = x.getLowestSetBit(),\n\t g = y.getLowestSetBit();\n\t if (g < 0) return x;\n\t if (i < g) g = i;\n\t if (g > 0) {\n\t x.rShiftTo(g, x);\n\t y.rShiftTo(g, y);\n\t }\n\t while (x.signum() > 0) {\n\t if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);\n\t if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);\n\t if (x.compareTo(y) >= 0) {\n\t x.subTo(y, x);\n\t x.rShiftTo(1, x);\n\t } else {\n\t y.subTo(x, y);\n\t y.rShiftTo(1, y);\n\t }\n\t }\n\t if (g > 0) y.lShiftTo(g, y);\n\t return y;\n\t}\n\t\n\t// (protected) this % n, n < 2^26\n\tfunction bnpModInt(n) {\n\t if (n <= 0) return 0;\n\t var d = this.DV % n,\n\t r = this.s < 0 ? n - 1 : 0;\n\t if (this.t > 0) if (d == 0) r = this[0] % n;else for (var i = this.t - 1; i >= 0; --i) {\n\t r = (d * r + this[i]) % n;\n\t }return r;\n\t}\n\t\n\t// (public) 1/this % m (HAC 14.61)\n\tfunction bnModInverse(m) {\n\t var ac = m.isEven();\n\t if (this.signum() === 0) throw new Error('division by zero');\n\t if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO;\n\t var u = m.clone(),\n\t v = this.clone();\n\t var a = nbv(1),\n\t b = nbv(0),\n\t c = nbv(0),\n\t d = nbv(1);\n\t while (u.signum() != 0) {\n\t while (u.isEven()) {\n\t u.rShiftTo(1, u);\n\t if (ac) {\n\t if (!a.isEven() || !b.isEven()) {\n\t a.addTo(this, a);\n\t b.subTo(m, b);\n\t }\n\t a.rShiftTo(1, a);\n\t } else if (!b.isEven()) b.subTo(m, b);\n\t b.rShiftTo(1, b);\n\t }\n\t while (v.isEven()) {\n\t v.rShiftTo(1, v);\n\t if (ac) {\n\t if (!c.isEven() || !d.isEven()) {\n\t c.addTo(this, c);\n\t d.subTo(m, d);\n\t }\n\t c.rShiftTo(1, c);\n\t } else if (!d.isEven()) d.subTo(m, d);\n\t d.rShiftTo(1, d);\n\t }\n\t if (u.compareTo(v) >= 0) {\n\t u.subTo(v, u);\n\t if (ac) a.subTo(c, a);\n\t b.subTo(d, b);\n\t } else {\n\t v.subTo(u, v);\n\t if (ac) c.subTo(a, c);\n\t d.subTo(b, d);\n\t }\n\t }\n\t if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;\n\t while (d.compareTo(m) >= 0) {\n\t d.subTo(m, d);\n\t }while (d.signum() < 0) {\n\t d.addTo(m, d);\n\t }return d;\n\t}\n\t\n\tvar lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];\n\t\n\tvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n\t\n\t// (public) test primality with certainty >= 1-.5^t\n\tfunction bnIsProbablePrime(t) {\n\t var i,\n\t x = this.abs();\n\t if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n\t for (i = 0; i < lowprimes.length; ++i) {\n\t if (x[0] == lowprimes[i]) return true;\n\t }return false;\n\t }\n\t if (x.isEven()) return false;\n\t i = 1;\n\t while (i < lowprimes.length) {\n\t var m = lowprimes[i],\n\t j = i + 1;\n\t while (j < lowprimes.length && m < lplim) {\n\t m *= lowprimes[j++];\n\t }m = x.modInt(m);\n\t while (i < j) {\n\t if (m % lowprimes[i++] == 0) return false;\n\t }\n\t }\n\t return x.millerRabin(t);\n\t}\n\t\n\t// (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n\tfunction bnpMillerRabin(t) {\n\t var n1 = this.subtract(BigInteger.ONE);\n\t var k = n1.getLowestSetBit();\n\t if (k <= 0) return false;\n\t var r = n1.shiftRight(k);\n\t t = t + 1 >> 1;\n\t if (t > lowprimes.length) t = lowprimes.length;\n\t var a = new BigInteger(null);\n\t var j,\n\t bases = [];\n\t for (var i = 0; i < t; ++i) {\n\t for (;;) {\n\t j = lowprimes[Math.floor(Math.random() * lowprimes.length)];\n\t if (bases.indexOf(j) == -1) break;\n\t }\n\t bases.push(j);\n\t a.fromInt(j);\n\t var y = a.modPow(r, this);\n\t if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n\t var j = 1;\n\t while (j++ < k && y.compareTo(n1) != 0) {\n\t y = y.modPowInt(2, this);\n\t if (y.compareTo(BigInteger.ONE) == 0) return false;\n\t }\n\t if (y.compareTo(n1) != 0) return false;\n\t }\n\t }\n\t return true;\n\t}\n\t\n\t// protected\n\tproto.chunkSize = bnpChunkSize;\n\tproto.toRadix = bnpToRadix;\n\tproto.fromRadix = bnpFromRadix;\n\tproto.fromNumber = bnpFromNumber;\n\tproto.bitwiseTo = bnpBitwiseTo;\n\tproto.changeBit = bnpChangeBit;\n\tproto.addTo = bnpAddTo;\n\tproto.dMultiply = bnpDMultiply;\n\tproto.dAddOffset = bnpDAddOffset;\n\tproto.multiplyLowerTo = bnpMultiplyLowerTo;\n\tproto.multiplyUpperTo = bnpMultiplyUpperTo;\n\tproto.modInt = bnpModInt;\n\tproto.millerRabin = bnpMillerRabin;\n\t\n\t// public\n\tproto.clone = bnClone;\n\tproto.intValue = bnIntValue;\n\tproto.byteValue = bnByteValue;\n\tproto.shortValue = bnShortValue;\n\tproto.signum = bnSigNum;\n\tproto.toByteArray = bnToByteArray;\n\tproto.equals = bnEquals;\n\tproto.min = bnMin;\n\tproto.max = bnMax;\n\tproto.and = bnAnd;\n\tproto.or = bnOr;\n\tproto.xor = bnXor;\n\tproto.andNot = bnAndNot;\n\tproto.not = bnNot;\n\tproto.shiftLeft = bnShiftLeft;\n\tproto.shiftRight = bnShiftRight;\n\tproto.getLowestSetBit = bnGetLowestSetBit;\n\tproto.bitCount = bnBitCount;\n\tproto.testBit = bnTestBit;\n\tproto.setBit = bnSetBit;\n\tproto.clearBit = bnClearBit;\n\tproto.flipBit = bnFlipBit;\n\tproto.add = bnAdd;\n\tproto.subtract = bnSubtract;\n\tproto.multiply = bnMultiply;\n\tproto.divide = bnDivide;\n\tproto.remainder = bnRemainder;\n\tproto.divideAndRemainder = bnDivideAndRemainder;\n\tproto.modPow = bnModPow;\n\tproto.modInverse = bnModInverse;\n\tproto.pow = bnPow;\n\tproto.gcd = bnGCD;\n\tproto.isProbablePrime = bnIsProbablePrime;\n\t\n\t// JSBN-specific extension\n\tproto.square = bnSquare;\n\t\n\t// constants\n\tBigInteger.ZERO = nbv(0);\n\tBigInteger.ONE = nbv(1);\n\tBigInteger.valueOf = nbv;\n\t\n\tmodule.exports = BigInteger;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\"name\":\"bigi\",\"version\":\"1.4.2\",\"description\":\"Big integers.\",\"keywords\":[\"cryptography\",\"math\",\"bitcoin\",\"arbitrary\",\"precision\",\"arithmetic\",\"big\",\"integer\",\"int\",\"number\",\"biginteger\",\"bigint\",\"bignumber\",\"decimal\",\"float\"],\"devDependencies\":{\"coveralls\":\"^2.11.2\",\"istanbul\":\"^0.3.5\",\"jshint\":\"^2.5.1\",\"mocha\":\"^2.1.0\",\"mochify\":\"^2.1.0\"},\"repository\":{\"url\":\"https://github.com/cryptocoinjs/bigi\",\"type\":\"git\"},\"main\":\"./lib/index.js\",\"scripts\":{\"browser-test\":\"./node_modules/.bin/mochify --wd -R spec\",\"test\":\"./node_modules/.bin/_mocha -- test/*.js\",\"jshint\":\"./node_modules/.bin/jshint --config jshint.json lib/*.js ; true\",\"unit\":\"./node_modules/.bin/mocha\",\"coverage\":\"./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js\",\"coveralls\":\"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info\"},\"dependencies\":{},\"testling\":{\"files\":\"test/*.js\",\"harness\":\"mocha\",\"browsers\":[\"ie/9..latest\",\"firefox/latest\",\"chrome/latest\",\"safari/6.0..latest\",\"iphone/6.0..latest\",\"android-browser/4.2..latest\"]}}\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\t// FIXME: Kind of a weird way to throw exceptions, consider removing\n\tvar assert = __webpack_require__(105);\n\tvar BigInteger = __webpack_require__(179);\n\t\n\t/**\n\t * Turns a byte array into a big integer.\n\t *\n\t * This function will interpret a byte array as a big integer in big\n\t * endian notation.\n\t */\n\tBigInteger.fromByteArrayUnsigned = function (byteArray) {\n\t // BigInteger expects a DER integer conformant byte array\n\t if (byteArray[0] & 0x80) {\n\t return new BigInteger([0].concat(byteArray));\n\t }\n\t\n\t return new BigInteger(byteArray);\n\t};\n\t\n\t/**\n\t * Returns a byte array representation of the big integer.\n\t *\n\t * This returns the absolute of the contained value in big endian\n\t * form. A value of zero results in an empty array.\n\t */\n\tBigInteger.prototype.toByteArrayUnsigned = function () {\n\t var byteArray = this.toByteArray();\n\t return byteArray[0] === 0 ? byteArray.slice(1) : byteArray;\n\t};\n\t\n\tBigInteger.fromDERInteger = function (byteArray) {\n\t return new BigInteger(byteArray);\n\t};\n\t\n\t/*\n\t * Converts BigInteger to a DER integer representation.\n\t *\n\t * The format for this value uses the most significant bit as a sign\n\t * bit. If the most significant bit is already set and the integer is\n\t * positive, a 0x00 is prepended.\n\t *\n\t * Examples:\n\t *\n\t * 0 => 0x00\n\t * 1 => 0x01\n\t * -1 => 0xff\n\t * 127 => 0x7f\n\t * -127 => 0x81\n\t * 128 => 0x0080\n\t * -128 => 0x80\n\t * 255 => 0x00ff\n\t * -255 => 0xff01\n\t * 16300 => 0x3fac\n\t * -16300 => 0xc054\n\t * 62300 => 0x00f35c\n\t * -62300 => 0xff0ca4\n\t*/\n\tBigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray;\n\t\n\tBigInteger.fromBuffer = function (buffer) {\n\t // BigInteger expects a DER integer conformant byte array\n\t if (buffer[0] & 0x80) {\n\t var byteArray = Array.prototype.slice.call(buffer);\n\t\n\t return new BigInteger([0].concat(byteArray));\n\t }\n\t\n\t return new BigInteger(buffer);\n\t};\n\t\n\tBigInteger.fromHex = function (hex) {\n\t if (hex === '') return BigInteger.ZERO;\n\t\n\t assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string');\n\t assert.equal(hex.length % 2, 0, 'Incomplete hex');\n\t return new BigInteger(hex, 16);\n\t};\n\t\n\tBigInteger.prototype.toBuffer = function (size) {\n\t var byteArray = this.toByteArrayUnsigned();\n\t var zeros = [];\n\t\n\t var padding = size - byteArray.length;\n\t while (zeros.length < padding) {\n\t zeros.push(0);\n\t }return new Buffer(zeros.concat(byteArray));\n\t};\n\t\n\tBigInteger.prototype.toHex = function (size) {\n\t return this.toBuffer(size).toString('hex');\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Point = __webpack_require__(183);\n\tvar Curve = __webpack_require__(184);\n\t\n\tvar getCurveByName = __webpack_require__(185);\n\t\n\tmodule.exports = {\n\t Curve: Curve,\n\t Point: Point,\n\t getCurveByName: getCurveByName\n\t};\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar assert = __webpack_require__(105);\n\tvar Buffer = __webpack_require__(121).Buffer;\n\tvar BigInteger = __webpack_require__(178);\n\t\n\tvar THREE = BigInteger.valueOf(3);\n\t\n\tfunction Point(curve, x, y, z) {\n\t assert.notStrictEqual(z, undefined, 'Missing Z coordinate');\n\t\n\t this.curve = curve;\n\t this.x = x;\n\t this.y = y;\n\t this.z = z;\n\t this._zInv = null;\n\t\n\t this.compressed = true;\n\t}\n\t\n\tObject.defineProperty(Point.prototype, 'zInv', {\n\t get: function get() {\n\t if (this._zInv === null) {\n\t this._zInv = this.z.modInverse(this.curve.p);\n\t }\n\t\n\t return this._zInv;\n\t }\n\t});\n\t\n\tObject.defineProperty(Point.prototype, 'affineX', {\n\t get: function get() {\n\t return this.x.multiply(this.zInv).mod(this.curve.p);\n\t }\n\t});\n\t\n\tObject.defineProperty(Point.prototype, 'affineY', {\n\t get: function get() {\n\t return this.y.multiply(this.zInv).mod(this.curve.p);\n\t }\n\t});\n\t\n\tPoint.fromAffine = function (curve, x, y) {\n\t return new Point(curve, x, y, BigInteger.ONE);\n\t};\n\t\n\tPoint.prototype.equals = function (other) {\n\t if (other === this) return true;\n\t if (this.curve.isInfinity(this)) return this.curve.isInfinity(other);\n\t if (this.curve.isInfinity(other)) return this.curve.isInfinity(this);\n\t\n\t // u = Y2 * Z1 - Y1 * Z2\n\t var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p);\n\t\n\t if (u.signum() !== 0) return false;\n\t\n\t // v = X2 * Z1 - X1 * Z2\n\t var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p);\n\t\n\t return v.signum() === 0;\n\t};\n\t\n\tPoint.prototype.negate = function () {\n\t var y = this.curve.p.subtract(this.y);\n\t\n\t return new Point(this.curve, this.x, y, this.z);\n\t};\n\t\n\tPoint.prototype.add = function (b) {\n\t if (this.curve.isInfinity(this)) return b;\n\t if (this.curve.isInfinity(b)) return this;\n\t\n\t var x1 = this.x;\n\t var y1 = this.y;\n\t var x2 = b.x;\n\t var y2 = b.y;\n\t\n\t // u = Y2 * Z1 - Y1 * Z2\n\t var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p);\n\t // v = X2 * Z1 - X1 * Z2\n\t var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p);\n\t\n\t if (v.signum() === 0) {\n\t if (u.signum() === 0) {\n\t return this.twice(); // this == b, so double\n\t }\n\t\n\t return this.curve.infinity; // this = -b, so infinity\n\t }\n\t\n\t var v2 = v.square();\n\t var v3 = v2.multiply(v);\n\t var x1v2 = x1.multiply(v2);\n\t var zu2 = u.square().multiply(this.z);\n\t\n\t // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)\n\t var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p);\n\t // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3\n\t var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.p);\n\t // z3 = v^3 * z1 * z2\n\t var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p);\n\t\n\t return new Point(this.curve, x3, y3, z3);\n\t};\n\t\n\tPoint.prototype.twice = function () {\n\t if (this.curve.isInfinity(this)) return this;\n\t if (this.y.signum() === 0) return this.curve.infinity;\n\t\n\t var x1 = this.x;\n\t var y1 = this.y;\n\t\n\t var y1z1 = y1.multiply(this.z).mod(this.curve.p);\n\t var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p);\n\t var a = this.curve.a;\n\t\n\t // w = 3 * x1^2 + a * z1^2\n\t var w = x1.square().multiply(THREE);\n\t\n\t if (a.signum() !== 0) {\n\t w = w.add(this.z.square().multiply(a));\n\t }\n\t\n\t w = w.mod(this.curve.p);\n\t // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)\n\t var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p);\n\t // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3\n\t var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p);\n\t // z3 = 8 * (y1 * z1)^3\n\t var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p);\n\t\n\t return new Point(this.curve, x3, y3, z3);\n\t};\n\t\n\t// Simple NAF (Non-Adjacent Form) multiplication algorithm\n\t// TODO: modularize the multiplication algorithm\n\tPoint.prototype.multiply = function (k) {\n\t if (this.curve.isInfinity(this)) return this;\n\t if (k.signum() === 0) return this.curve.infinity;\n\t\n\t var e = k;\n\t var h = e.multiply(THREE);\n\t\n\t var neg = this.negate();\n\t var R = this;\n\t\n\t for (var i = h.bitLength() - 2; i > 0; --i) {\n\t var hBit = h.testBit(i);\n\t var eBit = e.testBit(i);\n\t\n\t R = R.twice();\n\t\n\t if (hBit !== eBit) {\n\t R = R.add(hBit ? this : neg);\n\t }\n\t }\n\t\n\t return R;\n\t};\n\t\n\t// Compute this*j + x*k (simultaneous multiplication)\n\tPoint.prototype.multiplyTwo = function (j, x, k) {\n\t var i = Math.max(j.bitLength(), k.bitLength()) - 1;\n\t var R = this.curve.infinity;\n\t var both = this.add(x);\n\t\n\t while (i >= 0) {\n\t var jBit = j.testBit(i);\n\t var kBit = k.testBit(i);\n\t\n\t R = R.twice();\n\t\n\t if (jBit) {\n\t if (kBit) {\n\t R = R.add(both);\n\t } else {\n\t R = R.add(this);\n\t }\n\t } else if (kBit) {\n\t R = R.add(x);\n\t }\n\t --i;\n\t }\n\t\n\t return R;\n\t};\n\t\n\tPoint.prototype.getEncoded = function (compressed) {\n\t if (compressed == null) compressed = this.compressed;\n\t if (this.curve.isInfinity(this)) return Buffer.alloc(1, 0); // Infinity point encoded is simply '00'\n\t\n\t var x = this.affineX;\n\t var y = this.affineY;\n\t var byteLength = this.curve.pLength;\n\t var buffer;\n\t\n\t // 0x02/0x03 | X\n\t if (compressed) {\n\t buffer = Buffer.allocUnsafe(1 + byteLength);\n\t buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0);\n\t\n\t // 0x04 | X | Y\n\t } else {\n\t buffer = Buffer.allocUnsafe(1 + byteLength + byteLength);\n\t buffer.writeUInt8(0x04, 0);\n\t\n\t y.toBuffer(byteLength).copy(buffer, 1 + byteLength);\n\t }\n\t\n\t x.toBuffer(byteLength).copy(buffer, 1);\n\t\n\t return buffer;\n\t};\n\t\n\tPoint.decodeFrom = function (curve, buffer) {\n\t var type = buffer.readUInt8(0);\n\t var compressed = type !== 4;\n\t\n\t var byteLength = Math.floor((curve.p.bitLength() + 7) / 8);\n\t var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength));\n\t\n\t var Q;\n\t if (compressed) {\n\t assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length');\n\t assert(type === 0x02 || type === 0x03, 'Invalid sequence tag');\n\t\n\t var isOdd = type === 0x03;\n\t Q = curve.pointFromX(isOdd, x);\n\t } else {\n\t assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length');\n\t\n\t var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength));\n\t Q = Point.fromAffine(curve, x, y);\n\t }\n\t\n\t Q.compressed = compressed;\n\t return Q;\n\t};\n\t\n\tPoint.prototype.toString = function () {\n\t if (this.curve.isInfinity(this)) return '(INFINITY)';\n\t\n\t return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')';\n\t};\n\t\n\tmodule.exports = Point;\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar assert = __webpack_require__(105);\n\tvar BigInteger = __webpack_require__(178);\n\t\n\tvar Point = __webpack_require__(183);\n\t\n\tfunction Curve(p, a, b, Gx, Gy, n, h) {\n\t this.p = p;\n\t this.a = a;\n\t this.b = b;\n\t this.G = Point.fromAffine(this, Gx, Gy);\n\t this.n = n;\n\t this.h = h;\n\t\n\t this.infinity = new Point(this, null, null, BigInteger.ZERO);\n\t\n\t // result caching\n\t this.pOverFour = p.add(BigInteger.ONE).shiftRight(2);\n\t\n\t // determine size of p in bytes\n\t this.pLength = Math.floor((this.p.bitLength() + 7) / 8);\n\t}\n\t\n\tCurve.prototype.pointFromX = function (isOdd, x) {\n\t var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p);\n\t var beta = alpha.modPow(this.pOverFour, this.p); // XXX: not compatible with all curves\n\t\n\t var y = beta;\n\t if (beta.isEven() ^ !isOdd) {\n\t y = this.p.subtract(y); // -y % p\n\t }\n\t\n\t return Point.fromAffine(this, x, y);\n\t};\n\t\n\tCurve.prototype.isInfinity = function (Q) {\n\t if (Q === this.infinity) return true;\n\t\n\t return Q.z.signum() === 0 && Q.y.signum() !== 0;\n\t};\n\t\n\tCurve.prototype.isOnCurve = function (Q) {\n\t if (this.isInfinity(Q)) return true;\n\t\n\t var x = Q.affineX;\n\t var y = Q.affineY;\n\t var a = this.a;\n\t var b = this.b;\n\t var p = this.p;\n\t\n\t // Check that xQ and yQ are integers in the interval [0, p - 1]\n\t if (x.signum() < 0 || x.compareTo(p) >= 0) return false;\n\t if (y.signum() < 0 || y.compareTo(p) >= 0) return false;\n\t\n\t // and check that y^2 = x^3 + ax + b (mod p)\n\t var lhs = y.square().mod(p);\n\t var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p);\n\t return lhs.equals(rhs);\n\t};\n\t\n\t/**\n\t * Validate an elliptic curve point.\n\t *\n\t * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive\n\t */\n\tCurve.prototype.validate = function (Q) {\n\t // Check Q != O\n\t assert(!this.isInfinity(Q), 'Point is at infinity');\n\t assert(this.isOnCurve(Q), 'Point is not on the curve');\n\t\n\t // Check nQ = O (where Q is a scalar multiple of G)\n\t var nQ = Q.multiply(this.n);\n\t assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G');\n\t\n\t return true;\n\t};\n\t\n\tmodule.exports = Curve;\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar BigInteger = __webpack_require__(178);\n\t\n\tvar curves = __webpack_require__(186);\n\tvar Curve = __webpack_require__(184);\n\t\n\tfunction getCurveByName(name) {\n\t var curve = curves[name];\n\t if (!curve) return null;\n\t\n\t var p = new BigInteger(curve.p, 16);\n\t var a = new BigInteger(curve.a, 16);\n\t var b = new BigInteger(curve.b, 16);\n\t var n = new BigInteger(curve.n, 16);\n\t var h = new BigInteger(curve.h, 16);\n\t var Gx = new BigInteger(curve.Gx, 16);\n\t var Gy = new BigInteger(curve.Gy, 16);\n\t\n\t return new Curve(p, a, b, Gx, Gy, n, h);\n\t}\n\t\n\tmodule.exports = getCurveByName;\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = {\"secp128r1\":{\"p\":\"fffffffdffffffffffffffffffffffff\",\"a\":\"fffffffdfffffffffffffffffffffffc\",\"b\":\"e87579c11079f43dd824993c2cee5ed3\",\"n\":\"fffffffe0000000075a30d1b9038a115\",\"h\":\"01\",\"Gx\":\"161ff7528b899b2d0c28607ca52c5b86\",\"Gy\":\"cf5ac8395bafeb13c02da292dded7a83\"},\"secp160k1\":{\"p\":\"fffffffffffffffffffffffffffffffeffffac73\",\"a\":\"00\",\"b\":\"07\",\"n\":\"0100000000000000000001b8fa16dfab9aca16b6b3\",\"h\":\"01\",\"Gx\":\"3b4c382ce37aa192a4019e763036f4f5dd4d7ebb\",\"Gy\":\"938cf935318fdced6bc28286531733c3f03c4fee\"},\"secp160r1\":{\"p\":\"ffffffffffffffffffffffffffffffff7fffffff\",\"a\":\"ffffffffffffffffffffffffffffffff7ffffffc\",\"b\":\"1c97befc54bd7a8b65acf89f81d4d4adc565fa45\",\"n\":\"0100000000000000000001f4c8f927aed3ca752257\",\"h\":\"01\",\"Gx\":\"4a96b5688ef573284664698968c38bb913cbfc82\",\"Gy\":\"23a628553168947d59dcc912042351377ac5fb32\"},\"secp192k1\":{\"p\":\"fffffffffffffffffffffffffffffffffffffffeffffee37\",\"a\":\"00\",\"b\":\"03\",\"n\":\"fffffffffffffffffffffffe26f2fc170f69466a74defd8d\",\"h\":\"01\",\"Gx\":\"db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d\",\"Gy\":\"9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d\"},\"secp192r1\":{\"p\":\"fffffffffffffffffffffffffffffffeffffffffffffffff\",\"a\":\"fffffffffffffffffffffffffffffffefffffffffffffffc\",\"b\":\"64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1\",\"n\":\"ffffffffffffffffffffffff99def836146bc9b1b4d22831\",\"h\":\"01\",\"Gx\":\"188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012\",\"Gy\":\"07192b95ffc8da78631011ed6b24cdd573f977a11e794811\"},\"secp256k1\":{\"p\":\"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\",\"a\":\"00\",\"b\":\"07\",\"n\":\"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\",\"h\":\"01\",\"Gx\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"Gy\":\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\"},\"secp256r1\":{\"p\":\"ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\",\"a\":\"ffffffff00000001000000000000000000000000fffffffffffffffffffffffc\",\"b\":\"5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\",\"n\":\"ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\",\"h\":\"01\",\"Gx\":\"6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\",\"Gy\":\"4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"}}\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ecurve = __webpack_require__(182);\n\tvar Point = ecurve.Point;\n\tvar secp256k1 = ecurve.getCurveByName('secp256k1');\n\tvar BigInteger = __webpack_require__(178);\n\tvar base58 = __webpack_require__(148);\n\tvar assert = __webpack_require__(105);\n\tvar hash = __webpack_require__(109);\n\tvar PublicKey = __webpack_require__(177);\n\t\n\tvar G = secp256k1.G;\n\tvar n = secp256k1.n;\n\t\n\tvar PrivateKey = function () {\n\t\n\t /**\n\t @private see static functions\n\t @param {BigInteger}\n\t */\n\t function PrivateKey(d) {\n\t _classCallCheck(this, PrivateKey);\n\t\n\t this.d = d;\n\t }\n\t\n\t _createClass(PrivateKey, [{\n\t key: 'toWif',\n\t value: function toWif() {\n\t var private_key = this.toBuffer();\n\t // checksum includes the version\n\t private_key = Buffer.concat([new Buffer([0x80]), private_key]);\n\t var checksum = hash.sha256(private_key);\n\t checksum = hash.sha256(checksum);\n\t checksum = checksum.slice(0, 4);\n\t var private_wif = Buffer.concat([private_key, checksum]);\n\t return base58.encode(private_wif);\n\t }\n\t\n\t /** Alias for {@link toWif} */\n\t\n\t }, {\n\t key: 'toString',\n\t value: function toString() {\n\t return this.toWif();\n\t }\n\t\n\t /**\n\t @return {Point}\n\t */\n\t\n\t }, {\n\t key: 'toPublicKeyPoint',\n\t value: function toPublicKeyPoint() {\n\t var Q;\n\t return Q = secp256k1.G.multiply(this.d);\n\t }\n\t }, {\n\t key: 'toPublic',\n\t value: function toPublic() {\n\t if (this.public_key) {\n\t return this.public_key;\n\t }\n\t return this.public_key = PublicKey.fromPoint(this.toPublicKeyPoint());\n\t }\n\t }, {\n\t key: 'toBuffer',\n\t value: function toBuffer() {\n\t return this.d.toBuffer(32);\n\t }\n\t\n\t /** ECIES */\n\t\n\t }, {\n\t key: 'get_shared_secret',\n\t value: function get_shared_secret(public_key) {\n\t public_key = toPublic(public_key);\n\t var KB = public_key.toUncompressed().toBuffer();\n\t var KBP = Point.fromAffine(secp256k1, BigInteger.fromBuffer(KB.slice(1, 33)), // x\n\t BigInteger.fromBuffer(KB.slice(33, 65)) // y\n\t );\n\t var r = this.toBuffer();\n\t var P = KBP.multiply(BigInteger.fromBuffer(r));\n\t var S = P.affineX.toBuffer({ size: 32 });\n\t // SHA512 used in ECIES\n\t return hash.sha512(S);\n\t }\n\t\n\t // /** ECIES (does not always match the Point.fromAffine version above) */\n\t // get_shared_secret(public_key){\n\t // public_key = toPublic(public_key)\n\t // var P = public_key.Q.multiply( this.d );\n\t // var S = P.affineX.toBuffer({size: 32});\n\t // // ECIES, adds an extra sha512\n\t // return hash.sha512(S);\n\t // }\n\t\n\t /** @throws {Error} - overflow of the key could not be derived */\n\t\n\t }, {\n\t key: 'child',\n\t value: function child(offset) {\n\t offset = Buffer.concat([this.toPublicKey().toBuffer(), offset]);\n\t offset = hash.sha256(offset);\n\t var c = BigInteger.fromBuffer(offset);\n\t\n\t if (c.compareTo(n) >= 0) throw new Error(\"Child offset went out of bounds, try again\");\n\t\n\t var derived = this.d.add(c); //.mod(n)\n\t\n\t if (derived.signum() === 0) throw new Error(\"Child offset derived to an invalid key, try again\");\n\t\n\t return new PrivateKey(derived);\n\t }\n\t\n\t // toByteBuffer() {\n\t // var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n\t // this.appendByteBuffer(b);\n\t // return b.copy(0, b.offset);\n\t // }\n\t\n\t }, {\n\t key: 'toHex',\n\t value: function toHex() {\n\t return this.toBuffer().toString('hex');\n\t }\n\t }, {\n\t key: 'toPublicKey',\n\t value: function toPublicKey() {\n\t return this.toPublic();\n\t }\n\t\n\t /* </helper_functions> */\n\t\n\t }], [{\n\t key: 'fromBuffer',\n\t value: function fromBuffer(buf) {\n\t if (!Buffer.isBuffer(buf)) {\n\t throw new Error(\"Expecting paramter to be a Buffer type\");\n\t }\n\t if (32 !== buf.length) {\n\t console.log('WARN: Expecting 32 bytes, instead got ' + buf.length + ', stack trace:', new Error().stack);\n\t }\n\t if (buf.length === 0) {\n\t throw new Error(\"Empty buffer\");\n\t }\n\t return new PrivateKey(BigInteger.fromBuffer(buf));\n\t }\n\t\n\t /** @arg {string} seed - any length string. This is private, the same seed produces the same private key every time. */\n\t\n\t }, {\n\t key: 'fromSeed',\n\t value: function fromSeed(seed) {\n\t // generate_private_key\n\t if (!(typeof seed === 'string')) {\n\t throw new Error('seed must be of type string');\n\t }\n\t return PrivateKey.fromBuffer(hash.sha256(seed));\n\t }\n\t }, {\n\t key: 'isWif',\n\t value: function isWif(text) {\n\t try {\n\t this.fromWif(text);\n\t return true;\n\t } catch (e) {\n\t return false;\n\t }\n\t }\n\t\n\t /**\n\t @throws {AssertError|Error} parsing key\n\t @return {string} Wallet Import Format (still a secret, Not encrypted)\n\t */\n\t\n\t }, {\n\t key: 'fromWif',\n\t value: function fromWif(_private_wif) {\n\t var private_wif = new Buffer(base58.decode(_private_wif));\n\t var version = private_wif.readUInt8(0);\n\t assert.equal(0x80, version, 'Expected version ' + 0x80 + ', instead got ' + version);\n\t // checksum includes the version\n\t var private_key = private_wif.slice(0, -4);\n\t var checksum = private_wif.slice(-4);\n\t var new_checksum = hash.sha256(private_key);\n\t new_checksum = hash.sha256(new_checksum);\n\t new_checksum = new_checksum.slice(0, 4);\n\t if (checksum.toString() !== new_checksum.toString()) throw new Error('Invalid WIF key (checksum miss-match)');\n\t\n\t private_key = private_key.slice(1);\n\t return PrivateKey.fromBuffer(private_key);\n\t }\n\t }, {\n\t key: 'fromHex',\n\t value: function fromHex(hex) {\n\t return PrivateKey.fromBuffer(new Buffer(hex, 'hex'));\n\t }\n\t }]);\n\t\n\t return PrivateKey;\n\t}();\n\t\n\tmodule.exports = PrivateKey;\n\t\n\tvar toPublic = function toPublic(data) {\n\t return data == null ? data : data.Q ? data : PublicKey.fromStringOrThrow(data);\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ecdsa = __webpack_require__(189);\n\tvar hash = __webpack_require__(109);\n\tvar curve = __webpack_require__(182).getCurveByName('secp256k1');\n\tvar assert = __webpack_require__(105);\n\tvar BigInteger = __webpack_require__(178);\n\tvar PublicKey = __webpack_require__(177);\n\tvar PrivateKey = __webpack_require__(187);\n\t\n\tvar Signature = function () {\n\t function Signature(r1, s1, i1) {\n\t _classCallCheck(this, Signature);\n\t\n\t this.r = r1;\n\t this.s = s1;\n\t this.i = i1;\n\t assert.equal(this.r != null, true, 'Missing parameter');\n\t assert.equal(this.s != null, true, 'Missing parameter');\n\t assert.equal(this.i != null, true, 'Missing parameter');\n\t }\n\t\n\t _createClass(Signature, [{\n\t key: 'toBuffer',\n\t value: function toBuffer() {\n\t var buf;\n\t buf = new Buffer(65);\n\t buf.writeUInt8(this.i, 0);\n\t this.r.toBuffer(32).copy(buf, 1);\n\t this.s.toBuffer(32).copy(buf, 33);\n\t return buf;\n\t }\n\t }, {\n\t key: 'recoverPublicKeyFromBuffer',\n\t value: function recoverPublicKeyFromBuffer(buffer) {\n\t return this.recoverPublicKey(hash.sha256(buffer));\n\t }\n\t }, {\n\t key: 'recoverPublicKey',\n\t\n\t\n\t /**\n\t @return {PublicKey}\n\t */\n\t value: function recoverPublicKey(sha256_buffer) {\n\t var Q = void 0,\n\t e = void 0,\n\t i = void 0;\n\t e = BigInteger.fromBuffer(sha256_buffer);\n\t i = this.i;\n\t i -= 27;\n\t i = i & 3;\n\t Q = ecdsa.recoverPubKey(curve, e, this, i);\n\t return PublicKey.fromPoint(Q);\n\t }\n\t }, {\n\t key: 'verifyBuffer',\n\t\n\t\n\t /**\n\t @param {Buffer} un-hashed\n\t @param {./PublicKey}\n\t @return {boolean}\n\t */\n\t value: function verifyBuffer(buf, public_key) {\n\t var _hash = hash.sha256(buf);\n\t return this.verifyHash(_hash, public_key);\n\t }\n\t }, {\n\t key: 'verifyHash',\n\t value: function verifyHash(hash, public_key) {\n\t assert.equal(hash.length, 32, \"A SHA 256 should be 32 bytes long, instead got \" + hash.length);\n\t return ecdsa.verify(curve, hash, {\n\t r: this.r,\n\t s: this.s\n\t }, public_key.Q);\n\t }\n\t }, {\n\t key: 'toHex',\n\t value: function toHex() {\n\t return this.toBuffer().toString(\"hex\");\n\t }\n\t }, {\n\t key: 'verifyHex',\n\t value: function verifyHex(hex, public_key) {\n\t var buf;\n\t buf = new Buffer(hex, 'hex');\n\t return this.verifyBuffer(buf, public_key);\n\t }\n\t }], [{\n\t key: 'fromBuffer',\n\t value: function fromBuffer(buf) {\n\t var i, r, s;\n\t assert.equal(buf.length, 65, 'Invalid signature length');\n\t i = buf.readUInt8(0);\n\t assert.equal(i - 27, i - 27 & 7, 'Invalid signature parameter');\n\t r = BigInteger.fromBuffer(buf.slice(1, 33));\n\t s = BigInteger.fromBuffer(buf.slice(33));\n\t return new Signature(r, s, i);\n\t }\n\t }, {\n\t key: 'signBuffer',\n\t\n\t\n\t /**\n\t @param {Buffer} buf\n\t @param {PrivateKey} private_key\n\t @return {Signature}\n\t */\n\t value: function signBuffer(buf, private_key) {\n\t var _hash = hash.sha256(buf);\n\t return Signature.signBufferSha256(_hash, private_key);\n\t }\n\t\n\t /** Sign a buffer of exactally 32 bytes in size (sha256(text))\n\t @param {Buffer} buf - 32 bytes binary\n\t @param {PrivateKey} private_key\n\t @return {Signature}\n\t */\n\t\n\t }, {\n\t key: 'signBufferSha256',\n\t value: function signBufferSha256(buf_sha256, private_key) {\n\t if (buf_sha256.length !== 32 || !Buffer.isBuffer(buf_sha256)) throw new Error(\"buf_sha256: 32 byte buffer requred\");\n\t private_key = toPrivateObj(private_key);\n\t assert(private_key, 'private_key required');\n\t\n\t var der, e, ecsignature, i, lenR, lenS, nonce;\n\t i = null;\n\t nonce = 0;\n\t e = BigInteger.fromBuffer(buf_sha256);\n\t while (true) {\n\t ecsignature = ecdsa.sign(curve, buf_sha256, private_key.d, nonce++);\n\t der = ecsignature.toDER();\n\t lenR = der[3];\n\t lenS = der[5 + lenR];\n\t if (lenR === 32 && lenS === 32) {\n\t i = ecdsa.calcPubKeyRecoveryParam(curve, e, ecsignature, private_key.toPublicKey().Q);\n\t i += 4; // compressed\n\t i += 27; // compact // 24 or 27 :( forcing odd-y 2nd key candidate)\n\t break;\n\t }\n\t if (nonce % 10 === 0) {\n\t console.log(\"WARN: \" + nonce + \" attempts to find canonical signature\");\n\t }\n\t }\n\t return new Signature(ecsignature.r, ecsignature.s, i);\n\t }\n\t }, {\n\t key: 'sign',\n\t value: function sign(string, private_key) {\n\t return Signature.signBuffer(new Buffer(string), private_key);\n\t }\n\t }, {\n\t key: 'fromHex',\n\t\n\t\n\t // toByteBuffer() {\n\t // var b;\n\t // b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n\t // this.appendByteBuffer(b);\n\t // return b.copy(0, b.offset);\n\t // };\n\t\n\t value: function fromHex(hex) {\n\t return Signature.fromBuffer(new Buffer(hex, \"hex\"));\n\t }\n\t }, {\n\t key: 'signHex',\n\t value: function signHex(hex, private_key) {\n\t var buf;\n\t buf = new Buffer(hex, 'hex');\n\t return Signature.signBuffer(buf, private_key);\n\t }\n\t }]);\n\t\n\t return Signature;\n\t}();\n\t\n\tvar toPrivateObj = function toPrivateObj(o) {\n\t return o ? o.d ? o : PrivateKey.fromWif(o) : o /*null or undefined*/;\n\t};\n\tmodule.exports = Signature;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar assert = __webpack_require__(105); // from github.com/bitcoinjs/bitcoinjs-lib from github.com/cryptocoinjs/ecdsa\n\tvar crypto = __webpack_require__(109);\n\tvar enforceType = __webpack_require__(190);\n\t\n\tvar BigInteger = __webpack_require__(178);\n\tvar ECSignature = __webpack_require__(191);\n\t\n\t// https://tools.ietf.org/html/rfc6979#section-3.2\n\tfunction deterministicGenerateK(curve, hash, d, checkSig, nonce) {\n\t\n\t enforceType('Buffer', hash);\n\t enforceType(BigInteger, d);\n\t\n\t if (nonce) {\n\t hash = crypto.sha256(Buffer.concat([hash, new Buffer(nonce)]));\n\t }\n\t\n\t // sanity check\n\t assert.equal(hash.length, 32, 'Hash must be 256 bit');\n\t\n\t var x = d.toBuffer(32);\n\t var k = new Buffer(32);\n\t var v = new Buffer(32);\n\t\n\t // Step B\n\t v.fill(1);\n\t\n\t // Step C\n\t k.fill(0);\n\t\n\t // Step D\n\t k = crypto.HmacSHA256(Buffer.concat([v, new Buffer([0]), x, hash]), k);\n\t\n\t // Step E\n\t v = crypto.HmacSHA256(v, k);\n\t\n\t // Step F\n\t k = crypto.HmacSHA256(Buffer.concat([v, new Buffer([1]), x, hash]), k);\n\t\n\t // Step G\n\t v = crypto.HmacSHA256(v, k);\n\t\n\t // Step H1/H2a, ignored as tlen === qlen (256 bit)\n\t // Step H2b\n\t v = crypto.HmacSHA256(v, k);\n\t\n\t var T = BigInteger.fromBuffer(v);\n\t\n\t // Step H3, repeat until T is within the interval [1, n - 1]\n\t while (T.signum() <= 0 || T.compareTo(curve.n) >= 0 || !checkSig(T)) {\n\t k = crypto.HmacSHA256(Buffer.concat([v, new Buffer([0])]), k);\n\t v = crypto.HmacSHA256(v, k);\n\t\n\t // Step H1/H2a, again, ignored as tlen === qlen (256 bit)\n\t // Step H2b again\n\t v = crypto.HmacSHA256(v, k);\n\t\n\t T = BigInteger.fromBuffer(v);\n\t }\n\t\n\t return T;\n\t}\n\t\n\tfunction sign(curve, hash, d, nonce) {\n\t\n\t var e = BigInteger.fromBuffer(hash);\n\t var n = curve.n;\n\t var G = curve.G;\n\t\n\t var r, s;\n\t var k = deterministicGenerateK(curve, hash, d, function (k) {\n\t // find canonically valid signature\n\t var Q = G.multiply(k);\n\t\n\t if (curve.isInfinity(Q)) return false;\n\t\n\t r = Q.affineX.mod(n);\n\t if (r.signum() === 0) return false;\n\t\n\t s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n);\n\t if (s.signum() === 0) return false;\n\t\n\t return true;\n\t }, nonce);\n\t\n\t var N_OVER_TWO = n.shiftRight(1);\n\t\n\t // enforce low S values, see bip62: 'low s values in signatures'\n\t if (s.compareTo(N_OVER_TWO) > 0) {\n\t s = n.subtract(s);\n\t }\n\t\n\t return new ECSignature(r, s);\n\t}\n\t\n\tfunction verifyRaw(curve, e, signature, Q) {\n\t var n = curve.n;\n\t var G = curve.G;\n\t\n\t var r = signature.r;\n\t var s = signature.s;\n\t\n\t // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]\n\t if (r.signum() <= 0 || r.compareTo(n) >= 0) return false;\n\t if (s.signum() <= 0 || s.compareTo(n) >= 0) return false;\n\t\n\t // c = s^-1 mod n\n\t var c = s.modInverse(n);\n\t\n\t // 1.4.4 Compute u1 = es^−1 mod n\n\t // u2 = rs^−1 mod n\n\t var u1 = e.multiply(c).mod(n);\n\t var u2 = r.multiply(c).mod(n);\n\t\n\t // 1.4.5 Compute R = (xR, yR) = u1G + u2Q\n\t var R = G.multiplyTwo(u1, Q, u2);\n\t\n\t // 1.4.5 (cont.) Enforce R is not at infinity\n\t if (curve.isInfinity(R)) return false;\n\t\n\t // 1.4.6 Convert the field element R.x to an integer\n\t var xR = R.affineX;\n\t\n\t // 1.4.7 Set v = xR mod n\n\t var v = xR.mod(n);\n\t\n\t // 1.4.8 If v = r, output \"valid\", and if v != r, output \"invalid\"\n\t return v.equals(r);\n\t}\n\t\n\tfunction verify(curve, hash, signature, Q) {\n\t // 1.4.2 H = Hash(M), already done by the user\n\t // 1.4.3 e = H\n\t var e = BigInteger.fromBuffer(hash);\n\t return verifyRaw(curve, e, signature, Q);\n\t}\n\t\n\t/**\n\t * Recover a public key from a signature.\n\t *\n\t * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, \"Public\n\t * Key Recovery Operation\".\n\t *\n\t * http://www.secg.org/download/aid-780/sec1-v2.pdf\n\t */\n\tfunction recoverPubKey(curve, e, signature, i) {\n\t assert.strictEqual(i & 3, i, 'Recovery param is more than two bits');\n\t\n\t var n = curve.n;\n\t var G = curve.G;\n\t\n\t var r = signature.r;\n\t var s = signature.s;\n\t\n\t assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value');\n\t assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value');\n\t\n\t // A set LSB signifies that the y-coordinate is odd\n\t var isYOdd = i & 1;\n\t\n\t // The more significant bit specifies whether we should use the\n\t // first or second candidate key.\n\t var isSecondKey = i >> 1;\n\t\n\t // 1.1 Let x = r + jn\n\t var x = isSecondKey ? r.add(n) : r;\n\t var R = curve.pointFromX(isYOdd, x);\n\t\n\t // 1.4 Check that nR is at infinity\n\t var nR = R.multiply(n);\n\t assert(curve.isInfinity(nR), 'nR is not a valid curve point');\n\t\n\t // Compute -e from e\n\t var eNeg = e.negate().mod(n);\n\t\n\t // 1.6.1 Compute Q = r^-1 (sR - eG)\n\t // Q = r^-1 (sR + -eG)\n\t var rInv = r.modInverse(n);\n\t\n\t var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv);\n\t curve.validate(Q);\n\t\n\t return Q;\n\t}\n\t\n\t/**\n\t * Calculate pubkey extraction parameter.\n\t *\n\t * When extracting a pubkey from a signature, we have to\n\t * distinguish four different cases. Rather than putting this\n\t * burden on the verifier, Bitcoin includes a 2-bit value with the\n\t * signature.\n\t *\n\t * This function simply tries all four cases and returns the value\n\t * that resulted in a successful pubkey recovery.\n\t */\n\tfunction calcPubKeyRecoveryParam(curve, e, signature, Q) {\n\t for (var i = 0; i < 4; i++) {\n\t var Qprime = recoverPubKey(curve, e, signature, i);\n\t\n\t // 1.6.2 Verify Q\n\t if (Qprime.equals(Q)) {\n\t return i;\n\t }\n\t }\n\t\n\t throw new Error('Unable to find valid recovery factor');\n\t}\n\t\n\tmodule.exports = {\n\t calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,\n\t deterministicGenerateK: deterministicGenerateK,\n\t recoverPubKey: recoverPubKey,\n\t sign: sign,\n\t verify: verify,\n\t verifyRaw: verifyRaw\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tmodule.exports = function enforce(type, value) {\n\t // Copied from https://github.com/bitcoinjs/bitcoinjs-lib\n\t switch (type) {\n\t case 'Array':\n\t {\n\t if (Array.isArray(value)) return;\n\t break;\n\t }\n\t\n\t case 'Boolean':\n\t {\n\t if (typeof value === 'boolean') return;\n\t break;\n\t }\n\t\n\t case 'Buffer':\n\t {\n\t if (Buffer.isBuffer(value)) return;\n\t break;\n\t }\n\t\n\t case 'Number':\n\t {\n\t if (typeof value === 'number') return;\n\t break;\n\t }\n\t\n\t case 'String':\n\t {\n\t if (typeof value === 'string') return;\n\t break;\n\t }\n\t\n\t default:\n\t {\n\t if (getName(value.constructor) === getName(type)) return;\n\t }\n\t }\n\t\n\t throw new TypeError('Expected ' + (getName(type) || type) + ', got ' + value);\n\t};\n\t\n\tfunction getName(fn) {\n\t // Why not fn.name: https://kangax.github.io/compat-table/es6/#function_name_property\n\t var match = fn.toString().match(/function (.*?)\\(/);\n\t return match ? match[1] : null;\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar assert = __webpack_require__(105); // from https://github.com/bitcoinjs/bitcoinjs-lib\n\tvar enforceType = __webpack_require__(190);\n\t\n\tvar BigInteger = __webpack_require__(178);\n\t\n\tfunction ECSignature(r, s) {\n\t enforceType(BigInteger, r);\n\t enforceType(BigInteger, s);\n\t\n\t this.r = r;\n\t this.s = s;\n\t}\n\t\n\t// Import operations\n\tECSignature.parseCompact = function (buffer) {\n\t assert.equal(buffer.length, 65, 'Invalid signature length');\n\t var i = buffer.readUInt8(0) - 27;\n\t\n\t // At most 3 bits\n\t assert.equal(i, i & 7, 'Invalid signature parameter');\n\t var compressed = !!(i & 4);\n\t\n\t // Recovery param only\n\t i = i & 3;\n\t\n\t var r = BigInteger.fromBuffer(buffer.slice(1, 33));\n\t var s = BigInteger.fromBuffer(buffer.slice(33));\n\t\n\t return {\n\t compressed: compressed,\n\t i: i,\n\t signature: new ECSignature(r, s)\n\t };\n\t};\n\t\n\tECSignature.fromDER = function (buffer) {\n\t assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence');\n\t assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length');\n\t assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer');\n\t\n\t var rLen = buffer.readUInt8(3);\n\t assert(rLen > 0, 'R length is zero');\n\t\n\t var offset = 4 + rLen;\n\t assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)');\n\t\n\t var sLen = buffer.readUInt8(offset + 1);\n\t assert(sLen > 0, 'S length is zero');\n\t\n\t var rB = buffer.slice(4, offset);\n\t var sB = buffer.slice(offset + 2);\n\t offset += 2 + sLen;\n\t\n\t if (rLen > 1 && rB.readUInt8(0) === 0x00) {\n\t assert(rB.readUInt8(1) & 0x80, 'R value excessively padded');\n\t }\n\t\n\t if (sLen > 1 && sB.readUInt8(0) === 0x00) {\n\t assert(sB.readUInt8(1) & 0x80, 'S value excessively padded');\n\t }\n\t\n\t assert.equal(offset, buffer.length, 'Invalid DER encoding');\n\t var r = BigInteger.fromDERInteger(rB);\n\t var s = BigInteger.fromDERInteger(sB);\n\t\n\t assert(r.signum() >= 0, 'R value is negative');\n\t assert(s.signum() >= 0, 'S value is negative');\n\t\n\t return new ECSignature(r, s);\n\t};\n\t\n\t// FIXME: 0x00, 0x04, 0x80 are SIGHASH_* boundary constants, importing Transaction causes a circular dependency\n\tECSignature.parseScriptSignature = function (buffer) {\n\t var hashType = buffer.readUInt8(buffer.length - 1);\n\t var hashTypeMod = hashType & ~0x80;\n\t\n\t assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType');\n\t\n\t return {\n\t signature: ECSignature.fromDER(buffer.slice(0, -1)),\n\t hashType: hashType\n\t };\n\t};\n\t\n\t// Export operations\n\tECSignature.prototype.toCompact = function (i, compressed) {\n\t if (compressed) i += 4;\n\t i += 27;\n\t\n\t var buffer = new Buffer(65);\n\t buffer.writeUInt8(i, 0);\n\t\n\t this.r.toBuffer(32).copy(buffer, 1);\n\t this.s.toBuffer(32).copy(buffer, 33);\n\t\n\t return buffer;\n\t};\n\t\n\tECSignature.prototype.toDER = function () {\n\t var rBa = this.r.toDERInteger();\n\t var sBa = this.s.toDERInteger();\n\t\n\t var sequence = [];\n\t\n\t // INTEGER\n\t sequence.push(0x02, rBa.length);\n\t sequence = sequence.concat(rBa);\n\t\n\t // INTEGER\n\t sequence.push(0x02, sBa.length);\n\t sequence = sequence.concat(sBa);\n\t\n\t // SEQUENCE\n\t sequence.unshift(0x30, sequence.length);\n\t\n\t return new Buffer(sequence);\n\t};\n\t\n\tECSignature.prototype.toScriptSignature = function (hashType) {\n\t var hashTypeBuffer = new Buffer(1);\n\t hashTypeBuffer.writeUInt8(hashType, 0);\n\t\n\t return Buffer.concat([this.toDER(), hashTypeBuffer]);\n\t};\n\t\n\tmodule.exports = ECSignature;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.normalize = normalize;\n\tfunction normalize(brain_key) {\n\t if (typeof brain_key !== 'string') {\n\t throw new Error(\"string required for brain_key\");\n\t }\n\t brain_key = brain_key.trim();\n\t return brain_key.split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n\t}\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar PrivateKey = __webpack_require__(187);\n\tvar hash = __webpack_require__(109);\n\tvar secureRandom = __webpack_require__(151);\n\t\n\t// hash for .25 second\n\tvar HASH_POWER_MILLS = 250;\n\t\n\tvar entropyPos = 0,\n\t entropyCount = 0;\n\tvar entropyArray = secureRandom.randomBuffer(101);\n\t\n\tmodule.exports = {\n\t addEntropy: function addEntropy() {\n\t entropyCount++;\n\t\n\t for (var _len = arguments.length, ints = Array(_len), _key = 0; _key < _len; _key++) {\n\t ints[_key] = arguments[_key];\n\t }\n\t\n\t var _iteratorNormalCompletion = true;\n\t var _didIteratorError = false;\n\t var _iteratorError = undefined;\n\t\n\t try {\n\t for (var _iterator = ints[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t var i = _step.value;\n\t\n\t var pos = entropyPos++ % 101;\n\t var i2 = entropyArray[pos] += i;\n\t if (i2 > 9007199254740991) entropyArray[pos] = 0;\n\t }\n\t } catch (err) {\n\t _didIteratorError = true;\n\t _iteratorError = err;\n\t } finally {\n\t try {\n\t if (!_iteratorNormalCompletion && _iterator.return) {\n\t _iterator.return();\n\t }\n\t } finally {\n\t if (_didIteratorError) {\n\t throw _iteratorError;\n\t }\n\t }\n\t }\n\t },\n\t\n\t\n\t /**\n\t A week random number generator can run out of entropy. This should ensure even the worst random number implementation will be reasonably safe.\n\t @param1 string entropy of at least 32 bytes\n\t */\n\t random32ByteBuffer: function random32ByteBuffer() {\n\t var entropy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.browserEntropy();\n\t\n\t\n\t if (!(typeof entropy === 'string')) {\n\t throw new Error(\"string required for entropy\");\n\t }\n\t\n\t if (entropy.length < 32) {\n\t throw new Error(\"expecting at least 32 bytes of entropy\");\n\t }\n\t\n\t var start_t = Date.now();\n\t\n\t while (Date.now() - start_t < HASH_POWER_MILLS) {\n\t entropy = hash.sha256(entropy);\n\t }var hash_array = [];\n\t hash_array.push(entropy);\n\t\n\t // Hashing for 1 second may helps the computer is not low on entropy (this method may be called back-to-back).\n\t hash_array.push(secureRandom.randomBuffer(32));\n\t\n\t return hash.sha256(Buffer.concat(hash_array));\n\t },\n\t get_random_key: function get_random_key(entropy) {\n\t return PrivateKey.fromBuffer(this.random32ByteBuffer(entropy));\n\t },\n\t\n\t\n\t // Turn invisible space like characters into a single space\n\t // normalize_brain_key(brain_key){\n\t // if (!(typeof brain_key === 'string')) {\n\t // throw new Error(\"string required for brain_key\");\n\t // }\n\t // brain_key = brain_key.trim();\n\t // return brain_key.split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n\t // },\n\t\n\t browserEntropy: function browserEntropy() {\n\t var entropyStr = Array(entropyArray).join();\n\t try {\n\t entropyStr += new Date().toString() + \" \" + window.screen.height + \" \" + window.screen.width + \" \" + window.screen.colorDepth + \" \" + \" \" + window.screen.availHeight + \" \" + window.screen.availWidth + \" \" + window.screen.pixelDepth + navigator.language + \" \" + window.location + \" \" + window.history.length;\n\t\n\t for (var i = 0, mimeType; i < navigator.mimeTypes.length; i++) {\n\t mimeType = navigator.mimeTypes[i];\n\t entropyStr += mimeType.description + \" \" + mimeType.type + \" \" + mimeType.suffixes + \" \";\n\t }\n\t console.log(\"INFO\\tbrowserEntropy gathered\", entropyCount, 'events');\n\t } catch (error) {\n\t //nodejs:ReferenceError: window is not defined\n\t entropyStr += hash.sha256(new Date().toString());\n\t }\n\t\n\t var b = new Buffer(entropyStr);\n\t entropyStr += b.toString('binary') + \" \" + new Date().toString();\n\t return entropyStr;\n\t }\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\texports.toImpliedDecimal = toImpliedDecimal;\n\texports.fromImpliedDecimal = fromImpliedDecimal;\n\t\n\tvar _assert = __webpack_require__(105);\n\t\n\tvar _assert2 = _interopRequireDefault(_assert);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t/**\n\t Convert 12.34 with a precision of 3 into 12340\n\t\n\t @arg {number|string} number - Use strings for large numbers. This may contain one decimal but no sign\n\t @arg {number} precision - number of implied decimal places (usually causes right zero padding)\n\t @return {string} -\n\t*/\n\tfunction toImpliedDecimal(number, precision) {\n\t\n\t if (typeof number === \"number\") {\n\t (0, _assert2.default)(number <= 9007199254740991, \"overflow\");\n\t number = \"\" + number;\n\t } else if (number.toString) number = number.toString();\n\t\n\t (0, _assert2.default)(typeof number === \"string\", \"number should be an actual number or string: \" + (typeof number === \"undefined\" ? \"undefined\" : _typeof(number)));\n\t number = number.trim();\n\t (0, _assert2.default)(/^[0-9]*\\.?[0-9]*$/.test(number), \"Invalid decimal number \" + number);\n\t\n\t var _number$split = number.split(\".\"),\n\t _number$split2 = _slicedToArray(_number$split, 2),\n\t _number$split2$ = _number$split2[0],\n\t whole = _number$split2$ === undefined ? \"\" : _number$split2$,\n\t _number$split2$2 = _number$split2[1],\n\t decimal = _number$split2$2 === undefined ? \"\" : _number$split2$2;\n\t\n\t var padding = precision - decimal.length;\n\t (0, _assert2.default)(padding >= 0, \"Too many decimal digits in \" + number + \" to create an implied decimal of \" + precision);\n\t\n\t for (var i = 0; i < padding; i++) {\n\t decimal += \"0\";\n\t }while (whole.charAt(0) === \"0\") {\n\t whole = whole.substring(1);\n\t }return whole + decimal;\n\t}\n\t\n\tfunction fromImpliedDecimal(number, precision) {\n\t if (typeof number === \"number\") {\n\t (0, _assert2.default)(number <= 9007199254740991, \"overflow\");\n\t number = \"\" + number;\n\t } else if (number.toString) number = number.toString();\n\t\n\t while (number.length < precision + 1) {\n\t // 0.123\n\t number = \"0\" + number;\n\t } // 44000 => 44.000\n\t var dec_string = number.substring(number.length - precision);\n\t return number.substring(0, number.length - precision) + (dec_string ? \".\" + dec_string : \"\");\n\t}\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _my;\n\tvar is_empty;\n\tvar is_digits;\n\tvar to_number;\n\tvar require_match;\n\tvar require_object_id;\n\tvar require_object_type;\n\tvar get_instance;\n\tvar require_relative_type;\n\tvar get_relative_instance;\n\tvar require_protocol_type;\n\tvar get_protocol_instance;\n\tvar get_protocol_type;\n\tvar require_implementation_type;\n\tvar get_implementation_instance;\n\tvar Long = __webpack_require__(153).Long;\n\t// var BigInteger = require('bigi');\n\t\n\tvar chain_types = __webpack_require__(196);\n\t\n\tvar MAX_SAFE_INT = 9007199254740991;\n\tvar MIN_SAFE_INT = -9007199254740991;\n\t\n\t/**\n\t Most validations are skipped and the value returned unchanged when an empty string, null, or undefined is encountered (except \"required\"). \n\t\n\t Validations support a string format for dealing with large numbers.\n\t*/\n\tmodule.exports = _my = {\n\t\n\t is_empty: is_empty = function is_empty(value) {\n\t return value === null || value === undefined;\n\t },\n\t\n\t required: function required(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (is_empty(value)) {\n\t throw new Error('value required ' + field_name + ' ' + value);\n\t }\n\t return value;\n\t },\n\t require_long: function require_long(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (!Long.isLong(value)) {\n\t throw new Error('Long value required ' + field_name + ' ' + value);\n\t }\n\t return value;\n\t },\n\t string: function string(value) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (typeof value !== \"string\") {\n\t throw new Error('string required: ' + value);\n\t }\n\t return value;\n\t },\n\t number: function number(value) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (typeof value !== \"number\") {\n\t throw new Error('number required: ' + value);\n\t }\n\t return value;\n\t },\n\t whole_number: function whole_number(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (/\\./.test(value)) {\n\t throw new Error('whole number required ' + field_name + ' ' + value);\n\t }\n\t return value;\n\t },\n\t unsigned: function unsigned(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (/-/.test(value)) {\n\t throw new Error('unsigned required ' + field_name + ' ' + value);\n\t }\n\t return value;\n\t },\n\t\n\t\n\t is_digits: is_digits = function is_digits(value) {\n\t if (typeof value === \"numeric\") {\n\t return true;\n\t }\n\t return (/^[0-9]+$/.test(value)\n\t );\n\t },\n\t\n\t to_number: to_number = function to_number(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t _my.no_overflow53(value, field_name);\n\t var int_value = function () {\n\t if (typeof value === \"number\") {\n\t return value;\n\t } else {\n\t return parseInt(value);\n\t }\n\t }();\n\t return int_value;\n\t },\n\t\n\t to_long: function to_long(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (Long.isLong(value)) {\n\t return value;\n\t }\n\t\n\t _my.no_overflow64(value, field_name);\n\t if (typeof value === \"number\") {\n\t value = \"\" + value;\n\t }\n\t return Long.fromString(value);\n\t },\n\t to_string: function to_string(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (typeof value === \"string\") {\n\t return value;\n\t }\n\t if (typeof value === \"number\") {\n\t _my.no_overflow53(value, field_name);\n\t return \"\" + value;\n\t }\n\t if (Long.isLong(value)) {\n\t return value.toString();\n\t }\n\t throw 'unsupported type ' + field_name + ': (' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + ') ' + value;\n\t },\n\t require_test: function require_test(regex, value) {\n\t var field_name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t if (!regex.test(value)) {\n\t throw new Error('unmatched ' + regex + ' ' + field_name + ' ' + value);\n\t }\n\t return value;\n\t },\n\t\n\t\n\t require_match: require_match = function require_match(regex, value) {\n\t var field_name = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t var match = value.match(regex);\n\t if (match === null) {\n\t throw new Error('unmatched ' + regex + ' ' + field_name + ' ' + value);\n\t }\n\t return match;\n\t },\n\t\n\t // require_object_id: require_object_id=function(value, field_name){\n\t // return require_match(\n\t // /^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/,\n\t // value,\n\t // field_name\n\t // );\n\t // },\n\t\n\t // Does not support over 53 bits\n\t require_range: function require_range(min, max, value) {\n\t var field_name = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t var number = to_number(value);\n\t if (value < min || value > max) {\n\t throw new Error('out of range ' + value + ' ' + field_name + ' ' + value);\n\t }\n\t return value;\n\t },\n\t\n\t\n\t require_object_type: require_object_type = function require_object_type() {\n\t var reserved_spaces = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\t var type = arguments[1];\n\t var value = arguments[2];\n\t var field_name = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : \"\";\n\t\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t var object_type = chain_types.object_type[type];\n\t if (!object_type) {\n\t throw new Error('Unknown object type: ' + type + ', ' + field_name + ', ' + value);\n\t }\n\t var re = new RegExp(reserved_spaces + '.' + object_type + '.[0-9]+$');\n\t if (!re.test(value)) {\n\t throw new Error('Expecting ' + type + ' in format ' + (reserved_spaces + '.' + object_type + '.[0-9]+ ') + ('instead of ' + value + ' ' + field_name + ' ' + value));\n\t }\n\t return value;\n\t },\n\t\n\t get_instance: get_instance = function get_instance(reserve_spaces, type, value, field_name) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t require_object_type(reserve_spaces, type, value, field_name);\n\t return to_number(value.split('.')[2]);\n\t },\n\t\n\t require_relative_type: require_relative_type = function require_relative_type(type, value, field_name) {\n\t require_object_type(0, type, value, field_name);\n\t return value;\n\t },\n\t\n\t get_relative_instance: get_relative_instance = function get_relative_instance(type, value, field_name) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t require_object_type(0, type, value, field_name);\n\t return to_number(value.split('.')[2]);\n\t },\n\t\n\t require_protocol_type: require_protocol_type = function require_protocol_type(type, value, field_name) {\n\t require_object_type(1, type, value, field_name);\n\t return value;\n\t },\n\t\n\t get_protocol_instance: get_protocol_instance = function get_protocol_instance(type, value, field_name) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t require_object_type(1, type, value, field_name);\n\t return to_number(value.split('.')[2]);\n\t },\n\t\n\t get_protocol_type: get_protocol_type = function get_protocol_type(value, field_name) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t require_object_id(value, field_name);\n\t var values = value.split('.');\n\t return to_number(values[1]);\n\t },\n\t\n\t get_protocol_type_name: function get_protocol_type_name(value, field_name) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t var type_id = get_protocol_type(value, field_name);\n\t return Object.keys(chain_types.object_type)[type_id];\n\t },\n\t\n\t\n\t require_implementation_type: require_implementation_type = function require_implementation_type(type, value, field_name) {\n\t require_object_type(2, type, value, field_name);\n\t return value;\n\t },\n\t\n\t get_implementation_instance: get_implementation_instance = function get_implementation_instance(type, value, field_name) {\n\t if (is_empty(value)) {\n\t return value;\n\t }\n\t require_object_type(2, type, value, field_name);\n\t return to_number(value.split('.')[2]);\n\t },\n\t\n\t // signed / unsigned decimal\n\t no_overflow53: function no_overflow53(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t if (typeof value === \"number\") {\n\t if (value > MAX_SAFE_INT || value < MIN_SAFE_INT) {\n\t throw new Error('overflow ' + field_name + ' ' + value);\n\t }\n\t return;\n\t }\n\t if (typeof value === \"string\") {\n\t var int = parseInt(value);\n\t if (value > MAX_SAFE_INT || value < MIN_SAFE_INT) {\n\t throw new Error('overflow ' + field_name + ' ' + value);\n\t }\n\t return;\n\t }\n\t if (Long.isLong(value)) {\n\t // typeof value.toInt() is 'number'\n\t _my.no_overflow53(value.toInt(), field_name);\n\t return;\n\t }\n\t throw 'unsupported type ' + field_name + ': (' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + ') ' + value;\n\t },\n\t\n\t\n\t // signed / unsigned whole numbers only\n\t no_overflow64: function no_overflow64(value) {\n\t var field_name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n\t\n\t // https://github.com/dcodeIO/Long.js/issues/20\n\t if (Long.isLong(value)) {\n\t return;\n\t }\n\t\n\t // BigInteger#isBigInteger https://github.com/cryptocoinjs/bigi/issues/20\n\t if (value.t !== undefined && value.s !== undefined) {\n\t _my.no_overflow64(value.toString(), field_name);\n\t return;\n\t }\n\t\n\t if (typeof value === \"string\") {\n\t // remove leading zeros, will cause a false positive\n\t value = value.replace(/^0+/, '');\n\t // remove trailing zeros\n\t while (/0$/.test(value)) {\n\t value = value.substring(0, value.length - 1);\n\t }\n\t if (/\\.$/.test(value)) {\n\t // remove trailing dot\n\t value = value.substring(0, value.length - 1);\n\t }\n\t if (value === \"\") {\n\t value = \"0\";\n\t }\n\t var long_string = Long.fromString(value).toString();\n\t if (long_string !== value.trim()) {\n\t throw new Error('overflow ' + field_name + ' ' + value);\n\t }\n\t return;\n\t }\n\t if (typeof value === \"number\") {\n\t if (value > MAX_SAFE_INT || value < MIN_SAFE_INT) {\n\t throw new Error('overflow ' + field_name + ' ' + value);\n\t }\n\t return;\n\t }\n\t\n\t throw 'unsupported type ' + field_name + ': (' + (typeof value === 'undefined' ? 'undefined' : _typeof(value)) + ') ' + value;\n\t }\n\t};\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar ChainTypes = {};\n\t\n\tChainTypes.reserved_spaces = {\n\t relative_protocol_ids: 0,\n\t protocol_ids: 1,\n\t implementation_ids: 2\n\t};\n\t\n\tChainTypes.operations = {\n\t vote: 0,\n\t comment: 1,\n\t transfer: 2,\n\t transfer_to_vesting: 3,\n\t withdraw_vesting: 4,\n\t limit_order_create: 5,\n\t limit_order_cancel: 6,\n\t feed_publish: 7,\n\t convert: 8,\n\t account_create: 9,\n\t account_update: 10,\n\t witness_update: 11,\n\t account_witness_vote: 12,\n\t account_witness_proxy: 13,\n\t pow: 14,\n\t custom: 15,\n\t report_over_production: 16,\n\t delete_comment: 17,\n\t custom_json: 18,\n\t comment_options: 19,\n\t set_withdraw_vesting_route: 20,\n\t limit_order_create2: 21,\n\t claim_account: 22,\n\t create_claimed_account: 23,\n\t request_account_recovery: 24,\n\t recover_account: 25,\n\t change_recovery_account: 26,\n\t escrow_transfer: 27,\n\t escrow_dispute: 28,\n\t escrow_release: 29,\n\t pow2: 30,\n\t escrow_approve: 31,\n\t transfer_to_savings: 32,\n\t transfer_from_savings: 33,\n\t cancel_transfer_from_savings: 34,\n\t custom_binary: 35,\n\t decline_voting_rights: 36,\n\t reset_account: 37,\n\t set_reset_account: 38,\n\t claim_reward_balance: 39,\n\t delegate_vesting_shares: 40,\n\t account_create_with_delegation: 41,\n\t witness_set_properties: 42,\n\t account_update2: 43,\n\t create_proposal: 44,\n\t update_proposal_votes: 45,\n\t remove_proposal: 46,\n\t update_proposal: 47,\n\t fill_convert_request: 48,\n\t author_reward: 49,\n\t curation_reward: 50,\n\t comment_reward: 51,\n\t liquidity_reward: 52,\n\t interest: 53,\n\t fill_vesting_withdraw: 54,\n\t fill_order: 55,\n\t shutdown_witness: 56,\n\t fill_transfer_from_savings: 57,\n\t hardfork: 58,\n\t comment_payout_update: 59,\n\t return_vesting_delegation: 60,\n\t comment_benefactor_reward: 61,\n\t producer_reward: 62,\n\t clear_null_account_balance: 63,\n\t proposal_pay: 64,\n\t sps_fund: 65,\n\t hardfork_hive: 66,\n\t hardfork_hive_restore: 67,\n\t delayed_voting: 68,\n\t consolidate_treasury_balance: 69,\n\t effective_comment_vote: 70,\n\t ineffective_delete_comment: 71,\n\t sps_convert: 72\n\t};\n\t\n\t//types.hpp\n\tChainTypes.object_type = {\n\t \"null\": 0,\n\t base: 1\n\t};\n\t\n\tmodule.exports = ChainTypes;\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar Long = __webpack_require__(153).Long;\n\t\n\tvar v = __webpack_require__(195);\n\tvar DB_MAX_INSTANCE_ID = Long.fromNumber(Math.pow(2, 48) - 1);\n\t\n\tvar ObjectId = function () {\n\t function ObjectId(space, type, instance) {\n\t _classCallCheck(this, ObjectId);\n\t\n\t this.space = space;\n\t this.type = type;\n\t this.instance = instance;\n\t var instance_string = this.instance.toString();\n\t var object_id = this.space + '.' + this.type + '.' + instance_string;\n\t if (!v.is_digits(instance_string)) {\n\t throw new ('Invalid object id ' + object_id)();\n\t }\n\t }\n\t\n\t _createClass(ObjectId, [{\n\t key: 'toLong',\n\t value: function toLong() {\n\t return Long.fromNumber(this.space).shiftLeft(56).or(Long.fromNumber(this.type).shiftLeft(48).or(this.instance));\n\t }\n\t }, {\n\t key: 'appendByteBuffer',\n\t value: function appendByteBuffer(b) {\n\t return b.writeUint64(this.toLong());\n\t }\n\t }, {\n\t key: 'toString',\n\t value: function toString() {\n\t return this.space + '.' + this.type + '.' + this.instance.toString();\n\t }\n\t }], [{\n\t key: 'fromString',\n\t value: function fromString(value) {\n\t if (value.space !== undefined && value.type !== undefined && value.instance !== undefined) {\n\t return value;\n\t }\n\t var params = v.require_match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/, v.required(value, \"object_id\"), \"object_id\");\n\t return new ObjectId(parseInt(params[1]), parseInt(params[2]), Long.fromString(params[3]));\n\t }\n\t }, {\n\t key: 'fromLong',\n\t value: function fromLong(long) {\n\t var space = long.shiftRight(56).toInt();\n\t var type = long.shiftRight(48).toInt() & 0x00ff;\n\t var instance = long.and(DB_MAX_INSTANCE_ID);\n\t return new ObjectId(space, type, instance);\n\t }\n\t }, {\n\t key: 'fromByteBuffer',\n\t value: function fromByteBuffer(b) {\n\t return ObjectId.fromLong(b.readUint64());\n\t }\n\t }]);\n\t\n\t return ObjectId;\n\t}();\n\t\n\tmodule.exports = ObjectId;\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tvar _ecc = __webpack_require__(103);\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar FastParser = function () {\n\t function FastParser() {\n\t _classCallCheck(this, FastParser);\n\t }\n\t\n\t _createClass(FastParser, null, [{\n\t key: 'fixed_data',\n\t value: function fixed_data(b, len, buffer) {\n\t if (!b) {\n\t return;\n\t }\n\t if (buffer) {\n\t var data = buffer.slice(0, len).toString('binary');\n\t b.append(data, 'binary');\n\t while (len-- > data.length) {\n\t b.writeUint8(0);\n\t }\n\t } else {\n\t var b_copy = b.copy(b.offset, b.offset + len);\n\t b.skip(len);\n\t return new Buffer(b_copy.toBinary(), 'binary');\n\t }\n\t }\n\t }, {\n\t key: 'public_key',\n\t value: function public_key(b, _public_key) {\n\t if (!b) {\n\t return;\n\t }\n\t if (_public_key) {\n\t var buffer = _public_key.toBuffer();\n\t b.append(buffer.toString('binary'), 'binary');\n\t return;\n\t } else {\n\t buffer = FastParser.fixed_data(b, 33);\n\t return _ecc.PublicKey.fromBuffer(buffer);\n\t }\n\t }\n\t }, {\n\t key: 'ripemd160',\n\t value: function ripemd160(b, _ripemd) {\n\t if (!b) {\n\t return;\n\t }\n\t if (_ripemd) {\n\t FastParser.fixed_data(b, 20, _ripemd);\n\t return;\n\t } else {\n\t return FastParser.fixed_data(b, 20);\n\t }\n\t }\n\t }, {\n\t key: 'time_point_sec',\n\t value: function time_point_sec(b, epoch) {\n\t if (epoch) {\n\t epoch = Math.ceil(epoch / 1000);\n\t b.writeInt32(epoch);\n\t return;\n\t } else {\n\t epoch = b.readInt32(); // fc::time_point_sec\n\t return new Date(epoch * 1000);\n\t }\n\t }\n\t }]);\n\t\n\t return FastParser;\n\t}();\n\t\n\tmodule.exports = FastParser;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(process, Buffer) {'use strict';\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\tvar ByteBuffer = __webpack_require__(153);\n\tvar EC = __webpack_require__(200);\n\t\n\tvar HEX_DUMP = process.env.npm_config__graphene_serializer_hex_dump;\n\t\n\tvar Serializer = function () {\n\t function Serializer(operation_name, types) {\n\t _classCallCheck(this, Serializer);\n\t\n\t this.operation_name = operation_name;\n\t this.types = types;\n\t if (this.types) this.keys = Object.keys(this.types);\n\t\n\t Serializer.printDebug = true;\n\t }\n\t\n\t _createClass(Serializer, [{\n\t key: 'fromByteBuffer',\n\t value: function fromByteBuffer(b) {\n\t var object = {};\n\t var field = null;\n\t try {\n\t var iterable = this.keys;\n\t for (var i = 0, field; i < iterable.length; i++) {\n\t field = iterable[i];\n\t var type = this.types[field];\n\t try {\n\t if (HEX_DUMP) {\n\t if (type.operation_name) {\n\t console.error(type.operation_name);\n\t } else {\n\t var o1 = b.offset;\n\t type.fromByteBuffer(b);\n\t var o2 = b.offset;\n\t b.offset = o1;\n\t //b.reset()\n\t var _b = b.copy(o1, o2);\n\t console.error(this.operation_name + '.' + field + '\\t', _b.toHex());\n\t }\n\t }\n\t object[field] = type.fromByteBuffer(b);\n\t } catch (e) {\n\t if (Serializer.printDebug) {\n\t console.error('Error reading ' + this.operation_name + '.' + field + ' in data:');\n\t b.printDebug();\n\t }\n\t throw e;\n\t }\n\t }\n\t } catch (error) {\n\t EC.throw(this.operation_name + '.' + field, error);\n\t }\n\t\n\t return object;\n\t }\n\t }, {\n\t key: 'appendByteBuffer',\n\t value: function appendByteBuffer(b, object) {\n\t var field = null;\n\t try {\n\t var iterable = this.keys;\n\t for (var i = 0, field; i < iterable.length; i++) {\n\t field = iterable[i];\n\t var type = this.types[field];\n\t type.appendByteBuffer(b, object[field]);\n\t }\n\t } catch (error) {\n\t try {\n\t EC.throw(this.operation_name + '.' + field + \" = \" + JSON.stringify(object[field]), error);\n\t } catch (e) {\n\t // circular ref\n\t EC.throw(this.operation_name + '.' + field + \" = \" + object[field], error);\n\t }\n\t }\n\t return;\n\t }\n\t }, {\n\t key: 'fromObject',\n\t value: function fromObject(serialized_object) {\n\t var result = {};\n\t var field = null;\n\t try {\n\t var iterable = this.keys;\n\t for (var i = 0, field; i < iterable.length; i++) {\n\t field = iterable[i];\n\t var type = this.types[field];\n\t var value = serialized_object[field];\n\t //DEBUG value = value.resolve if value.resolve\n\t //DEBUG console.log('... value',field,value)\n\t var object = type.fromObject(value);\n\t result[field] = object;\n\t }\n\t } catch (error) {\n\t EC.throw(this.operation_name + '.' + field, error);\n\t }\n\t\n\t return result;\n\t }\n\t\n\t /**\n\t @arg {boolean} [debug.use_default = false] - more template friendly\n\t @arg {boolean} [debug.annotate = false] - add user-friendly information\n\t */\n\t\n\t }, {\n\t key: 'toObject',\n\t value: function toObject() {\n\t var serialized_object = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\t var debug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { use_default: false, annotate: false };\n\t\n\t var result = {};\n\t var field = null;\n\t try {\n\t if (!this.types) return result;\n\t\n\t var iterable = this.keys;\n\t for (var i = 0, field; i < iterable.length; i++) {\n\t field = iterable[i];\n\t var type = this.types[field];\n\t var object = type.toObject(typeof serialized_object !== \"undefined\" && serialized_object !== null ? serialized_object[field] : undefined, debug);\n\t result[field] = object;\n\t if (HEX_DUMP) {\n\t var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n\t var has_value = typeof serialized_object !== \"undefined\" && serialized_object !== null;\n\t if (has_value) {\n\t var value = serialized_object[field];\n\t if (value) type.appendByteBuffer(b, value);\n\t }\n\t b = b.copy(0, b.offset);\n\t console.error(this.operation_name + '.' + field, b.toHex());\n\t }\n\t }\n\t } catch (error) {\n\t EC.throw(this.operation_name + '.' + field, error);\n\t }\n\t\n\t return result;\n\t }\n\t\n\t /** Sort by the first element in a operation */\n\t\n\t }, {\n\t key: 'compare',\n\t value: function compare(a, b) {\n\t\n\t var first_key = this.keys[0];\n\t var first_type = this.types[first_key];\n\t\n\t var valA = a[first_key];\n\t var valB = b[first_key];\n\t\n\t if (first_type.compare) return first_type.compare(valA, valB);\n\t\n\t if (typeof valA === \"number\" && typeof valB === \"number\") return valA - valB;\n\t\n\t var encoding = void 0;\n\t if (Buffer.isBuffer(valA) && Buffer.isBuffer(valB)) {\n\t // A binary string compare does not work. If localeCompare is well supported that could replace HEX. Performanance is very good so comparing HEX works.\n\t encoding = \"hex\";\n\t }\n\t\n\t var strA = valA.toString(encoding);\n\t var strB = valB.toString(encoding);\n\t return strA > strB ? 1 : strA < strB ? -1 : 0;\n\t }\n\t\n\t // <helper_functions>\n\t\n\t }, {\n\t key: 'fromHex',\n\t value: function fromHex(hex) {\n\t var b = ByteBuffer.fromHex(hex, ByteBuffer.LITTLE_ENDIAN);\n\t return this.fromByteBuffer(b);\n\t }\n\t }, {\n\t key: 'fromBuffer',\n\t value: function fromBuffer(buffer) {\n\t var b = ByteBuffer.fromBinary(buffer.toString(\"binary\"), ByteBuffer.LITTLE_ENDIAN);\n\t return this.fromByteBuffer(b);\n\t }\n\t }, {\n\t key: 'toHex',\n\t value: function toHex(object) {\n\t // return this.toBuffer(object).toString(\"hex\")\n\t var b = this.toByteBuffer(object);\n\t return b.toHex();\n\t }\n\t }, {\n\t key: 'toByteBuffer',\n\t value: function toByteBuffer(object) {\n\t var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n\t this.appendByteBuffer(b, object);\n\t return b.copy(0, b.offset);\n\t }\n\t }, {\n\t key: 'toBuffer',\n\t value: function toBuffer(object) {\n\t return new Buffer(this.toByteBuffer(object).toBinary(), 'binary');\n\t }\n\t }]);\n\t\n\t return Serializer;\n\t}();\n\t\n\tmodule.exports = Serializer;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(5), __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\t\n\tfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\t\n\t/** Exception nesting. */\n\tvar ErrorWithCause = function () {\n\t function ErrorWithCause(message, cause) {\n\t _classCallCheck(this, ErrorWithCause);\n\t\n\t this.message = message;\n\t if (typeof cause !== \"undefined\" && cause !== null ? cause.message : undefined) {\n\t this.message = \"cause\\t\" + cause.message + \"\\t\" + this.message;\n\t }\n\t\n\t var stack = \"\"; //(new Error).stack\n\t if (typeof cause !== \"undefined\" && cause !== null ? cause.stack : undefined) {\n\t stack = \"caused by\\n\\t\" + cause.stack + \"\\t\" + stack;\n\t }\n\t\n\t this.stack = this.message + \"\\n\" + stack;\n\t }\n\t\n\t _createClass(ErrorWithCause, null, [{\n\t key: \"throw\",\n\t value: function _throw(message, cause) {\n\t var msg = message;\n\t if (typeof cause !== \"undefined\" && cause !== null ? cause.message : undefined) {\n\t msg += \"\\t cause: \" + cause.message + \" \";\n\t }\n\t if (typeof cause !== \"undefined\" && cause !== null ? cause.stack : undefined) {\n\t msg += \"\\n stack: \" + cause.stack + \" \";\n\t }\n\t throw new Error(msg);\n\t }\n\t }]);\n\t\n\t return ErrorWithCause;\n\t}();\n\t\n\tmodule.exports = ErrorWithCause;\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = {\n\t\n\t // Primary class for creating operations\n\t Serializer: __webpack_require__(199),\n\t\n\t // helper functions for creating operations\n\t fp: __webpack_require__(198),\n\t\n\t // Low level types\n\t types: __webpack_require__(98),\n\t\n\t // Higher level operations (made out of generic types)\n\t ops: __webpack_require__(202),\n\t\n\t // Utility that generates JSON examples\n\t template: __webpack_require__(203),\n\t\n\t number_utils: __webpack_require__(194),\n\t\n\t ChainTypes: __webpack_require__(196),\n\t\n\t makeBitMaskFilter: __webpack_require__(204)\n\t};\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _types = __webpack_require__(98);\n\t\n\tvar _types2 = _interopRequireDefault(_types);\n\t\n\tvar _serializer = __webpack_require__(199);\n\t\n\tvar _serializer2 = _interopRequireDefault(_serializer);\n\t\n\tvar _config = __webpack_require__(42);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar uint8 = _types2.default.uint8,\n\t uint16 = _types2.default.uint16,\n\t int16 = _types2.default.int16,\n\t uint32 = _types2.default.uint32,\n\t uint64 = _types2.default.uint64,\n\t int64 = _types2.default.int64,\n\t uint128 = _types2.default.uint128,\n\t string = _types2.default.string,\n\t string_binary = _types2.default.string_binary,\n\t bytes = _types2.default.bytes,\n\t bool = _types2.default.bool,\n\t array = _types2.default.array,\n\t static_variant = _types2.default.static_variant,\n\t map = _types2.default.map,\n\t set = _types2.default.set,\n\t public_key = _types2.default.public_key,\n\t time_point_sec = _types2.default.time_point_sec,\n\t optional = _types2.default.optional,\n\t asset = _types2.default.asset,\n\t asset_symbol = _types2.default.asset_symbol; // This file is merge updated from hived's js_operation_serializer program.\n\t/*\n\t\n\t./js_operation_serializer |\n\tsed 's/void/future_extensions/g'|\n\tsed 's/steemit_protocol:://g'|\n\tsed 's/14static_variantIJNS_12fixed_stringINSt3__14pairIyyEEEEEEE/string/g'|\n\tsed 's/steemit_future_extensions/future_extensions/g'|\n\tsed 's/steemit_protocol_//g' > tmp.coffee\n\t\n\t*/\n\t// coffee tmp.coffee # fix errors until you see: `ChainTypes is not defined`\n\t\n\t/*\n\t\n\t remove these 7 lines from tmp.coffee:\n\t\n\tstatic_variant [\n\t pow2\n\t equihash_pow\n\t] = static_variant [\n\t pow2\n\t equihash_pow\n\t]\n\t\n\t*/\n\t\n\t// npm i -g decaffeinate\n\t// decaffeinate tmp.coffee\n\t\n\t// Merge tmp.js - See \"Generated code follows\" below\n\t\n\tvar future_extensions = _types2.default.void;\n\tvar hardfork_version_vote = _types2.default.void;\n\tvar version = _types2.default.void;\n\tvar required_automated_actions = _types2.default.void;\n\tvar optional_automated_actions = _types2.default.void;\n\t\n\t// Place-holder, their are dependencies on \"operation\" .. The final list of\n\t// operations is not avialble until the very end of the generated code.\n\t// See: operation.st_operations = ...\n\tvar operation = static_variant();\n\tmodule.exports.operation = operation;\n\t\n\t// For module.exports\n\tvar Serializer = function Serializer(operation_name, serilization_types_object) {\n\t var s = new _serializer2.default(operation_name, serilization_types_object);\n\t return module.exports[operation_name] = s;\n\t};\n\t\n\tvar beneficiaries = new Serializer(\"beneficiaries\", {\n\t account: string,\n\t weight: uint16\n\t});\n\t\n\tvar comment_payout_beneficiaries = new Serializer(0, {\n\t beneficiaries: set(beneficiaries)\n\t});\n\t\n\tvar votable_asset_options = new Serializer(\"votable_asset_options\", {\n\t max_accepted_payout: int64,\n\t allow_curation_rewards: bool,\n\t beneficiaries: comment_payout_beneficiaries\n\t});\n\t\n\tvar allowed_vote_assets = new Serializer(1, {\n\t votable_assets: map(asset_symbol, votable_asset_options)\n\t});\n\t\n\tvar smt_generation_unit = new Serializer(\"smt_generation_unit\", {\n\t hive_unit: map(string, uint16),\n\t token_unit: map(string, uint16)\n\t});\n\t\n\tvar smt_capped_generation_policy = new Serializer(0, {\n\t generation_unit: smt_generation_unit,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_emissions_unit = new Serializer(\"smt_emissions_unit\", {\n\t token_unit: map(string, uint16)\n\t});\n\t\n\tvar smt_param_allow_voting = new Serializer(0, {\n\t value: bool\n\t});\n\t\n\tvar smt_param_windows_v1 = new Serializer(0, {\n\t cashout_window_seconds: uint32,\n\t reverse_auction_window_seconds: uint32\n\t});\n\t\n\tvar smt_param_vote_regeneration_period_seconds_v1 = new Serializer(1, {\n\t vote_regeneration_period_seconds: uint32,\n\t votes_per_regeneration_period: uint32\n\t});\n\t\n\tvar smt_param_rewards_v1 = new Serializer(2, {\n\t content_constant: uint128,\n\t percent_curation_rewards: uint16,\n\t author_reward_curve: int64,\n\t curation_reward_curve: int64\n\t});\n\t\n\tvar smt_param_allow_downvotes = new Serializer(3, {\n\t value: bool\n\t});\n\t\n\tvar update_proposal_end_date = new Serializer(1, {\n\t end_date: time_point_sec\n\t});\n\t\n\t// Custom-types after Generated code\n\t\n\t// ## Generated code follows\n\t// -------------------------------\n\t/*\n\tWhen updating generated code (fix closing notation)\n\tReplace: var operation = static_variant([\n\twith: operation.st_operations = [\n\t\n\tDelete (these are custom types instead):\n\tlet public_key = new Serializer(\n\t \"public_key\",\n\t {key_data: bytes(33)}\n\t);\n\t\n\tlet asset = new Serializer(\n\t \"asset\",\n\t {amount: int64,\n\t symbol: uint64}\n\t);\n\t\n\tReplace: authority.prototype.account_authority_map\n\tWith: map((string), (uint16))\n\t*/\n\tvar signed_transaction = new Serializer(\"signed_transaction\", {\n\t ref_block_num: uint16,\n\t ref_block_prefix: uint32,\n\t expiration: time_point_sec,\n\t operations: array(operation),\n\t extensions: set(future_extensions),\n\t signatures: array(bytes(65))\n\t});\n\t\n\tvar signed_block = new Serializer(\"signed_block\", {\n\t previous: bytes(20),\n\t timestamp: time_point_sec,\n\t witness: string,\n\t transaction_merkle_root: bytes(20),\n\t extensions: set(static_variant([future_extensions, version, hardfork_version_vote, required_automated_actions, optional_automated_actions])),\n\t witness_signature: bytes(65),\n\t transactions: array(signed_transaction)\n\t});\n\t\n\tvar block_header = new Serializer(\"block_header\", {\n\t previous: bytes(20),\n\t timestamp: time_point_sec,\n\t witness: string,\n\t transaction_merkle_root: bytes(20),\n\t extensions: set(static_variant([future_extensions, version, hardfork_version_vote]))\n\t});\n\t\n\tvar signed_block_header = new Serializer(\"signed_block_header\", {\n\t previous: bytes(20),\n\t timestamp: time_point_sec,\n\t witness: string,\n\t transaction_merkle_root: bytes(20),\n\t extensions: set(static_variant([future_extensions, version, hardfork_version_vote, required_automated_actions, optional_automated_actions])),\n\t witness_signature: bytes(65)\n\t});\n\t\n\tvar vote = new Serializer(\"vote\", {\n\t voter: string,\n\t author: string,\n\t permlink: string,\n\t weight: int16\n\t});\n\t\n\tvar comment = new Serializer(\"comment\", {\n\t parent_author: string,\n\t parent_permlink: string,\n\t author: string,\n\t permlink: string,\n\t title: string,\n\t body: string,\n\t json_metadata: string\n\t});\n\t\n\tvar transfer = new Serializer(\"transfer\", {\n\t from: string,\n\t to: string,\n\t amount: asset,\n\t memo: string\n\t});\n\t\n\tvar transfer_to_vesting = new Serializer(\"transfer_to_vesting\", {\n\t from: string,\n\t to: string,\n\t amount: asset\n\t});\n\t\n\tvar withdraw_vesting = new Serializer(\"withdraw_vesting\", {\n\t account: string,\n\t vesting_shares: asset\n\t});\n\t\n\tvar limit_order_create = new Serializer(\"limit_order_create\", {\n\t owner: string,\n\t orderid: uint32,\n\t amount_to_sell: asset,\n\t min_to_receive: asset,\n\t fill_or_kill: bool,\n\t expiration: time_point_sec\n\t});\n\t\n\tvar limit_order_cancel = new Serializer(\"limit_order_cancel\", {\n\t owner: string,\n\t orderid: uint32\n\t});\n\t\n\tvar price = new Serializer(\"price\", {\n\t base: asset,\n\t quote: asset\n\t});\n\t\n\tvar feed_publish = new Serializer(\"feed_publish\", {\n\t publisher: string,\n\t exchange_rate: price\n\t});\n\t\n\tvar convert = new Serializer(\"convert\", {\n\t owner: string,\n\t requestid: uint32,\n\t amount: asset\n\t});\n\t\n\tvar collateralized_convert = new Serializer(\"collateralized_convert\", {\n\t owner: string,\n\t requestid: uint32,\n\t amount: asset\n\t});\n\t\n\tvar authority = new Serializer(\"authority\", {\n\t weight_threshold: uint32,\n\t account_auths: map(string, uint16),\n\t key_auths: map(public_key, uint16)\n\t});\n\t\n\tvar account_create = new Serializer(\"account_create\", {\n\t fee: asset,\n\t creator: string,\n\t new_account_name: string,\n\t owner: authority,\n\t active: authority,\n\t posting: authority,\n\t memo_key: public_key,\n\t json_metadata: string\n\t});\n\t\n\tvar account_update = new Serializer(\"account_update\", {\n\t account: string,\n\t owner: optional(authority),\n\t active: optional(authority),\n\t posting: optional(authority),\n\t memo_key: public_key,\n\t json_metadata: string\n\t});\n\t\n\tvar chain_properties = new Serializer(\"chain_properties\", {\n\t account_creation_fee: asset,\n\t maximum_block_size: uint32,\n\t hbd_interest_rate: uint16\n\t});\n\t\n\tvar witness_update = new Serializer(\"witness_update\", {\n\t owner: string,\n\t url: string,\n\t block_signing_key: public_key,\n\t props: chain_properties,\n\t fee: asset\n\t});\n\t\n\tvar account_witness_vote = new Serializer(\"account_witness_vote\", {\n\t account: string,\n\t witness: string,\n\t approve: bool\n\t});\n\t\n\tvar account_witness_proxy = new Serializer(\"account_witness_proxy\", {\n\t account: string,\n\t proxy: string\n\t});\n\t\n\tvar pow = new Serializer(\"pow\", {\n\t worker: public_key,\n\t input: bytes(32),\n\t signature: bytes(65),\n\t work: bytes(32)\n\t});\n\t\n\tvar custom = new Serializer(\"custom\", {\n\t required_auths: set(string),\n\t id: uint16,\n\t data: bytes()\n\t});\n\t\n\tvar report_over_production = new Serializer(\"report_over_production\", {\n\t reporter: string,\n\t first_block: signed_block_header,\n\t second_block: signed_block_header\n\t});\n\t\n\tvar delete_comment = new Serializer(\"delete_comment\", {\n\t author: string,\n\t permlink: string\n\t});\n\t\n\tvar custom_json = new Serializer(\"custom_json\", {\n\t required_auths: set(string),\n\t required_posting_auths: set(string),\n\t id: string,\n\t json: string\n\t});\n\t\n\tvar comment_options = new Serializer(\"comment_options\", {\n\t author: string,\n\t permlink: string,\n\t max_accepted_payout: asset,\n\t percent_hbd: uint16,\n\t allow_votes: bool,\n\t allow_curation_rewards: bool,\n\t extensions: set(static_variant([comment_payout_beneficiaries, allowed_vote_assets]))\n\t});\n\t\n\tvar set_withdraw_vesting_route = new Serializer(\"set_withdraw_vesting_route\", {\n\t from_account: string,\n\t to_account: string,\n\t percent: uint16,\n\t auto_vest: bool\n\t});\n\t\n\tvar limit_order_create2 = new Serializer(\"limit_order_create2\", {\n\t owner: string,\n\t orderid: uint32,\n\t amount_to_sell: asset,\n\t exchange_rate: price,\n\t fill_or_kill: bool,\n\t expiration: time_point_sec\n\t});\n\t\n\tvar claim_account = new Serializer(\"claim_account\", {\n\t creator: string,\n\t fee: asset,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar create_claimed_account = new Serializer(\"create_claimed_account\", {\n\t creator: string,\n\t new_account_name: string,\n\t owner: authority,\n\t active: authority,\n\t posting: authority,\n\t memo_key: public_key,\n\t json_metadata: string,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar request_account_recovery = new Serializer(\"request_account_recovery\", {\n\t recovery_account: string,\n\t account_to_recover: string,\n\t new_owner_authority: authority,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar recover_account = new Serializer(\"recover_account\", {\n\t account_to_recover: string,\n\t new_owner_authority: authority,\n\t recent_owner_authority: authority,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar change_recovery_account = new Serializer(\"change_recovery_account\", {\n\t account_to_recover: string,\n\t new_recovery_account: string,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar escrow_transfer = new Serializer(\"escrow_transfer\", {\n\t from: string,\n\t to: string,\n\t hbd_amount: asset,\n\t hive_amount: asset,\n\t escrow_id: uint32,\n\t agent: string,\n\t fee: asset,\n\t json_meta: string,\n\t ratification_deadline: time_point_sec,\n\t escrow_expiration: time_point_sec\n\t});\n\t\n\tvar escrow_dispute = new Serializer(\"escrow_dispute\", {\n\t from: string,\n\t to: string,\n\t agent: string,\n\t who: string,\n\t escrow_id: uint32\n\t});\n\t\n\tvar escrow_release = new Serializer(\"escrow_release\", {\n\t from: string,\n\t to: string,\n\t agent: string,\n\t who: string,\n\t receiver: string,\n\t escrow_id: uint32,\n\t hbd_amount: asset,\n\t hive_amount: asset\n\t});\n\t\n\tvar pow2_input = new Serializer(\"pow2_input\", {\n\t worker_account: string,\n\t prev_block: bytes(20),\n\t nonce: uint64\n\t});\n\t\n\tvar pow2 = new Serializer(\"pow2\", {\n\t input: pow2_input,\n\t pow_summary: uint32\n\t});\n\t\n\tvar equihash_proof = new Serializer(\"equihash_proof\", {\n\t n: uint32,\n\t k: uint32,\n\t seed: bytes(32),\n\t inputs: array(uint32)\n\t});\n\t\n\tvar equihash_pow = new Serializer(\"equihash_pow\", {\n\t input: pow2_input,\n\t proof: equihash_proof,\n\t prev_block: bytes(20),\n\t pow_summary: uint32\n\t});\n\t\n\tvar escrow_approve = new Serializer(\"escrow_approve\", {\n\t from: string,\n\t to: string,\n\t agent: string,\n\t who: string,\n\t escrow_id: uint32,\n\t approve: bool\n\t});\n\t\n\tvar transfer_to_savings = new Serializer(\"transfer_to_savings\", {\n\t from: string,\n\t to: string,\n\t amount: asset,\n\t memo: string\n\t});\n\t\n\tvar transfer_from_savings = new Serializer(\"transfer_from_savings\", {\n\t from: string,\n\t request_id: uint32,\n\t to: string,\n\t amount: asset,\n\t memo: string\n\t});\n\t\n\tvar cancel_transfer_from_savings = new Serializer(\"cancel_transfer_from_savings\", {\n\t from: string,\n\t request_id: uint32\n\t});\n\t\n\tvar custom_binary = new Serializer(\"custom_binary\", {\n\t required_owner_auths: set(string),\n\t required_active_auths: set(string),\n\t required_posting_auths: set(string),\n\t required_auths: array(authority),\n\t id: string,\n\t data: bytes()\n\t});\n\t\n\tvar decline_voting_rights = new Serializer(\"decline_voting_rights\", {\n\t account: string,\n\t decline: bool\n\t});\n\t\n\tvar reset_account = new Serializer(\"reset_account\", {\n\t reset_account: string,\n\t account_to_reset: string,\n\t new_owner_authority: authority\n\t});\n\t\n\tvar set_reset_account = new Serializer(\"set_reset_account\", {\n\t account: string,\n\t current_reset_account: string,\n\t reset_account: string\n\t});\n\t\n\tvar claim_reward_balance = new Serializer(\"claim_reward_balance\", {\n\t account: string,\n\t reward_hive: asset,\n\t reward_hbd: asset,\n\t reward_vests: asset\n\t});\n\t\n\tvar delegate_vesting_shares = new Serializer(\"delegate_vesting_shares\", {\n\t delegator: string,\n\t delegatee: string,\n\t vesting_shares: asset\n\t});\n\t\n\tvar account_create_with_delegation = new Serializer(\"account_create_with_delegation\", {\n\t fee: asset,\n\t delegation: asset,\n\t creator: string,\n\t new_account_name: string,\n\t owner: authority,\n\t active: authority,\n\t posting: authority,\n\t memo_key: public_key,\n\t json_metadata: string,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar witness_set_properties = new Serializer(\"witness_set_properties\", {\n\t owner: string,\n\t props: map(string, bytes()),\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar account_update2 = new Serializer(\"account_update2\", {\n\t account: string,\n\t owner: optional(authority),\n\t active: optional(authority),\n\t posting: optional(authority),\n\t memo_key: optional(public_key),\n\t json_metadata: string,\n\t posting_json_metadata: string,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar create_proposal = new Serializer(\"create_proposal\", {\n\t creator: string,\n\t receiver: string,\n\t start_date: time_point_sec,\n\t end_date: time_point_sec,\n\t daily_pay: asset,\n\t subject: string,\n\t permlink: string,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar update_proposal_votes = new Serializer(\"update_proposal_votes\", {\n\t voter: string,\n\t proposal_ids: array(uint64),\n\t approve: bool,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar remove_proposal = new Serializer(\"remove_proposal\", {\n\t proposal_owner: string,\n\t proposal_ids: array(uint64),\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar update_proposal = new Serializer(\"update_proposal\", {\n\t proposal_id: uint64,\n\t creator: string,\n\t daily_pay: asset,\n\t subject: string,\n\t permlink: string,\n\t extensions: set(static_variant([future_extensions, update_proposal_end_date]))\n\t});\n\t\n\tvar recurrent_transfer = new Serializer(\"recurrent_transfer\", {\n\t from: string,\n\t to: string,\n\t amount: asset,\n\t memo: string,\n\t recurrence: uint16,\n\t executions: uint16,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar claim_reward_balance2 = new Serializer(\"claim_reward_balance2\", {\n\t account: string,\n\t reward_tokens: array(asset),\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar vote2 = new Serializer(\"vote2\", {\n\t voter: string,\n\t author: string,\n\t permlink: string,\n\t rshares: map(asset_symbol, int64),\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_create = new Serializer(\"smt_create\", {\n\t control_account: string,\n\t symbol: asset_symbol,\n\t smt_creation_fee: asset,\n\t precision: uint8,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_setup = new Serializer(\"smt_setup\", {\n\t control_account: string,\n\t symbol: asset_symbol,\n\t max_supply: int64,\n\t contribution_begin_time: time_point_sec,\n\t contribution_end_time: time_point_sec,\n\t launch_time: time_point_sec,\n\t hive_units_min: int64,\n\t min_unit_ratio: uint32,\n\t max_unit_ratio: uint32,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_setup_emissions = new Serializer(\"smt_setup_emissions\", {\n\t control_account: string,\n\t symbol: asset_symbol,\n\t schedule_time: time_point_sec,\n\t emissions_unit: smt_emissions_unit,\n\t interval_seconds: uint32,\n\t emission_count: uint32,\n\t lep_time: time_point_sec,\n\t rep_time: time_point_sec,\n\t lep_abs_amount: int64,\n\t rep_abs_amount: int64,\n\t lep_rel_amount_numerator: uint32,\n\t rep_rel_amount_numerator: uint32,\n\t rel_amount_denom_bits: uint8,\n\t remove: bool,\n\t floor_emissions: bool,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_setup_ico_tier = new Serializer(\"smt_setup_ico_tier\", {\n\t control_account: string,\n\t symbol: asset_symbol,\n\t hive_units_cap: int64,\n\t generation_policy: static_variant([smt_capped_generation_policy]),\n\t remove: bool,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_set_setup_parameters = new Serializer(\"smt_set_setup_parameters\", {\n\t control_account: string,\n\t symbol: asset_symbol,\n\t setup_parameters: set(static_variant([smt_param_allow_voting])),\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_set_runtime_parameters = new Serializer(\"smt_set_runtime_parameters\", {\n\t control_account: string,\n\t symbol: asset_symbol,\n\t runtime_parameters: set(static_variant([smt_param_windows_v1, smt_param_vote_regeneration_period_seconds_v1, smt_param_rewards_v1, smt_param_allow_downvotes])),\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar smt_contribute = new Serializer(\"smt_contribute\", {\n\t contributor: string,\n\t symbol: asset_symbol,\n\t contribution_id: uint32,\n\t contribution: asset,\n\t extensions: set(future_extensions)\n\t});\n\t\n\tvar fill_convert_request = new Serializer(\"fill_convert_request\", {\n\t owner: string,\n\t requestid: uint32,\n\t amount_in: asset,\n\t amount_out: asset\n\t});\n\t\n\tvar author_reward = new Serializer(\"author_reward\", {\n\t author: string,\n\t permlink: string,\n\t hbd_payout: asset,\n\t hive_payout: asset,\n\t vesting_payout: asset\n\t});\n\t\n\tvar curation_reward = new Serializer(\"curation_reward\", {\n\t curator: string,\n\t reward: asset,\n\t comment_author: string,\n\t comment_permlink: string\n\t});\n\t\n\tvar comment_reward = new Serializer(\"comment_reward\", {\n\t author: string,\n\t permlink: string,\n\t payout: asset\n\t});\n\t\n\tvar liquidity_reward = new Serializer(\"liquidity_reward\", {\n\t owner: string,\n\t payout: asset\n\t});\n\t\n\tvar interest = new Serializer(\"interest\", {\n\t owner: string,\n\t interest: asset\n\t});\n\t\n\tvar fill_vesting_withdraw = new Serializer(\"fill_vesting_withdraw\", {\n\t from_account: string,\n\t to_account: string,\n\t withdrawn: asset,\n\t deposited: asset\n\t});\n\t\n\tvar fill_order = new Serializer(\"fill_order\", {\n\t current_owner: string,\n\t current_orderid: uint32,\n\t current_pays: asset,\n\t open_owner: string,\n\t open_orderid: uint32,\n\t open_pays: asset\n\t});\n\t\n\tvar shutdown_witness = new Serializer(\"shutdown_witness\", { owner: string });\n\t\n\tvar fill_transfer_from_savings = new Serializer(\"fill_transfer_from_savings\", {\n\t from: string,\n\t to: string,\n\t amount: asset,\n\t request_id: uint32,\n\t memo: string\n\t});\n\t\n\tvar hardfork = new Serializer(\"hardfork\", { hardfork_id: uint32 });\n\t\n\tvar comment_payout_update = new Serializer(\"comment_payout_update\", {\n\t author: string,\n\t permlink: string\n\t});\n\t\n\tvar return_vesting_delegation = new Serializer(\"return_vesting_delegation\", {\n\t account: string,\n\t vesting_shares: asset\n\t});\n\t\n\tvar comment_benefactor_reward = new Serializer(\"comment_benefactor_reward\", {\n\t benefactor: string,\n\t author: string,\n\t permlink: string,\n\t reward: asset\n\t});\n\t\n\toperation.st_operations = [vote, comment, transfer, transfer_to_vesting, withdraw_vesting, limit_order_create, limit_order_cancel, feed_publish, convert, account_create, account_update, witness_update, account_witness_vote, account_witness_proxy, pow, custom, report_over_production, delete_comment, custom_json, comment_options, set_withdraw_vesting_route, limit_order_create2, claim_account, create_claimed_account, request_account_recovery, recover_account, change_recovery_account, escrow_transfer, escrow_dispute, escrow_release, pow2, escrow_approve, transfer_to_savings, transfer_from_savings, cancel_transfer_from_savings, custom_binary, decline_voting_rights, reset_account, set_reset_account, claim_reward_balance, delegate_vesting_shares, account_create_with_delegation, witness_set_properties, account_update2, create_proposal, update_proposal_votes, remove_proposal, update_proposal, collateralized_convert, recurrent_transfer, claim_reward_balance2, vote2, smt_setup, smt_setup_emissions, smt_setup_ico_tier, smt_set_setup_parameters, smt_set_runtime_parameters, smt_create, smt_contribute, fill_convert_request, author_reward, curation_reward, comment_reward, liquidity_reward, interest, fill_vesting_withdraw, fill_order, shutdown_witness, fill_transfer_from_savings, hardfork, comment_payout_update, return_vesting_delegation, comment_benefactor_reward];\n\t\n\tvar transaction = new Serializer(\"transaction\", {\n\t ref_block_num: uint16,\n\t ref_block_prefix: uint32,\n\t expiration: time_point_sec,\n\t operations: array(operation),\n\t extensions: set(future_extensions)\n\t});\n\t\n\t//# -------------------------------\n\t//# Generated code end S T O P\n\t//# -------------------------------\n\t\n\t// Custom Types (do not over-write)\n\t\n\tvar encrypted_memo = new Serializer(\"encrypted_memo\", { from: public_key,\n\t to: public_key,\n\t nonce: uint64,\n\t check: uint32,\n\t encrypted: string_binary });\n\t/*\n\t\n\t// Make sure all tests pass\n\n\tnpm test\n\n\t*/\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/** Console print any transaction object with zero default values. */\n\tmodule.exports = function template(op) {\n\t\n\t var object = op.toObject(void 0, { use_default: true, annotate: true });\n\t\n\t // visual (with descriptions)\n\t console.error(JSON.stringify(object, null, 4));\n\t\n\t // usable in a copy-paste\n\t\n\t object = op.toObject(void 0, { use_default: true, annotate: false });\n\t\n\t // copy-paste one-lineer\n\t console.error(JSON.stringify(object));\n\t};\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _jsbi = __webpack_require__(205);\n\t\n\tvar _jsbi2 = _interopRequireDefault(_jsbi);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar makeBitMaskFilter = function makeBitMaskFilter(allowedOperations) {\n\t return allowedOperations.reduce(function (_ref, allowedOperation) {\n\t var _ref2 = _slicedToArray(_ref, 2),\n\t low = _ref2[0],\n\t high = _ref2[1];\n\t\n\t return allowedOperation < 64 ? [_jsbi2.default.bitwiseOr(low, _jsbi2.default.leftShift(_jsbi2.default.BigInt(1), _jsbi2.default.BigInt(allowedOperation))), high] : [low, _jsbi2.default.bitwiseOr(high, _jsbi2.default.leftShift(_jsbi2.default.BigInt(1), _jsbi2.default.BigInt(allowedOperation - 64)))];\n\t }, [_jsbi2.default.BigInt(0), _jsbi2.default.BigInt(0)]).map(function (value) {\n\t return _jsbi2.default.notEqual(value, _jsbi2.default.BigInt(0)) ? value.toString() : null;\n\t });\n\t};\n\t\n\tmodule.exports = makeBitMaskFilter;\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;\"use strict\";\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t(function (e, t) {\n\t \"object\" == ( false ? \"undefined\" : _typeof(exports)) && \"undefined\" != typeof module ? module.exports = t() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (t), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (e = e || self, e.JSBI = t());\n\t})(undefined, function () {\n\t 'use strict';\n\t var v = Math.imul,\n\t f = Math.clz32;function e(t) {\n\t \"@babel/helpers - typeof\";\n\t return e = \"function\" == typeof Symbol && \"symbol\" == _typeof(Symbol.iterator) ? function (e) {\n\t return typeof e === \"undefined\" ? \"undefined\" : _typeof(e);\n\t } : function (e) {\n\t return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e === \"undefined\" ? \"undefined\" : _typeof(e);\n\t }, e(t);\n\t }function t(e, t) {\n\t if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n\t }function i(e, t) {\n\t for (var _, n = 0; n < t.length; n++) {\n\t _ = t[n], _.enumerable = _.enumerable || !1, _.configurable = !0, \"value\" in _ && (_.writable = !0), Object.defineProperty(e, _.key, _);\n\t }\n\t }function _(e, t, _) {\n\t return t && i(e.prototype, t), _ && i(e, _), e;\n\t }function n(e, t) {\n\t if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && g(e, t);\n\t }function l(e) {\n\t return l = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n\t return e.__proto__ || Object.getPrototypeOf(e);\n\t }, l(e);\n\t }function g(e, t) {\n\t return g = Object.setPrototypeOf || function (e, t) {\n\t return e.__proto__ = t, e;\n\t }, g(e, t);\n\t }function o() {\n\t if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;if (Reflect.construct.sham) return !1;if (\"function\" == typeof Proxy) return !0;try {\n\t return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0;\n\t } catch (t) {\n\t return !1;\n\t }\n\t }function a() {\n\t return a = o() ? Reflect.construct : function (e, t, i) {\n\t var _ = [null];_.push.apply(_, t);var n = Function.bind.apply(e, _),\n\t l = new n();return i && g(l, i.prototype), l;\n\t }, a.apply(null, arguments);\n\t }function s(e) {\n\t return -1 !== Function.toString.call(e).indexOf(\"[native code]\");\n\t }function u(e) {\n\t var t = \"function\" == typeof Map ? new Map() : void 0;return u = function u(e) {\n\t function i() {\n\t return a(e, arguments, l(this).constructor);\n\t }if (null === e || !s(e)) return e;if (\"function\" != typeof e) throw new TypeError(\"Super expression must either be null or a function\");if (\"undefined\" != typeof t) {\n\t if (t.has(e)) return t.get(e);t.set(e, i);\n\t }return i.prototype = Object.create(e.prototype, { constructor: { value: i, enumerable: !1, writable: !0, configurable: !0 } }), g(i, e);\n\t }, u(e);\n\t }function r(e) {\n\t if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e;\n\t }function d(e, t) {\n\t return t && (\"object\" == (typeof t === \"undefined\" ? \"undefined\" : _typeof(t)) || \"function\" == typeof t) ? t : r(e);\n\t }function h(e) {\n\t var t = o();return function () {\n\t var i,\n\t _ = l(e);if (t) {\n\t var n = l(this).constructor;i = Reflect.construct(_, arguments, n);\n\t } else i = _.apply(this, arguments);return d(this, i);\n\t };\n\t }function b(e, t) {\n\t if (e) {\n\t if (\"string\" == typeof e) return m(e, t);var i = Object.prototype.toString.call(e).slice(8, -1);return \"Object\" === i && e.constructor && (i = e.constructor.name), \"Map\" === i || \"Set\" === i ? Array.from(e) : \"Arguments\" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i) ? m(e, t) : void 0;\n\t }\n\t }function m(e, t) {\n\t (null == t || t > e.length) && (t = e.length);for (var _ = 0, n = Array(t); _ < t; _++) {\n\t n[_] = e[_];\n\t }return n;\n\t }function c(e, t) {\n\t var _;if (\"undefined\" == typeof Symbol || null == e[Symbol.iterator]) {\n\t if (Array.isArray(e) || (_ = b(e)) || t && e && \"number\" == typeof e.length) {\n\t _ && (e = _);var _n = 0,\n\t l = function l() {};return { s: l, n: function n() {\n\t return _n >= e.length ? { done: !0 } : { done: !1, value: e[_n++] };\n\t }, e: function e(t) {\n\t throw t;\n\t }, f: l };\n\t }throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t }var g,\n\t a = !0,\n\t s = !1;return { s: function s() {\n\t _ = e[Symbol.iterator]();\n\t }, n: function n() {\n\t var e = _.next();return a = e.done, e;\n\t }, e: function e(t) {\n\t s = !0, g = t;\n\t }, f: function f() {\n\t try {\n\t a || null == _.return || _.return();\n\t } finally {\n\t if (s) throw g;\n\t }\n\t } };\n\t }var y = function (i) {\n\t var g = Math.abs,\n\t o = Math.max;function l(e, i) {\n\t var _;if (t(this, l), e > l.__kMaxLength) throw new RangeError(\"Maximum BigInt size exceeded\");return _ = a.call(this, e), _.sign = i, _;\n\t }n(l, i);var a = h(l);return _(l, [{ key: \"toDebugString\", value: function value() {\n\t var e,\n\t t = [\"BigInt[\"],\n\t i = c(this);try {\n\t for (i.s(); !(e = i.n()).done;) {\n\t var _ = e.value;t.push((_ ? (_ >>> 0).toString(16) : _) + \", \");\n\t }\n\t } catch (e) {\n\t i.e(e);\n\t } finally {\n\t i.f();\n\t }return t.push(\"]\"), t.join(\"\");\n\t } }, { key: \"toString\", value: function value() {\n\t var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 10;if (2 > e || 36 < e) throw new RangeError(\"toString() radix argument must be between 2 and 36\");return 0 === this.length ? \"0\" : 0 == (e & e - 1) ? l.__toStringBasePowerOfTwo(this, e) : l.__toStringGeneric(this, e, !1);\n\t } }, { key: \"__copy\", value: function value() {\n\t for (var e = new l(this.length, this.sign), t = 0; t < this.length; t++) {\n\t e[t] = this[t];\n\t }return e;\n\t } }, { key: \"__trim\", value: function value() {\n\t for (var e = this.length, t = this[e - 1]; 0 === t;) {\n\t e--, t = this[e - 1], this.pop();\n\t }return 0 === e && (this.sign = !1), this;\n\t } }, { key: \"__initializeDigits\", value: function value() {\n\t for (var e = 0; e < this.length; e++) {\n\t this[e] = 0;\n\t }\n\t } }, { key: \"__clzmsd\", value: function value() {\n\t return l.__clz32(this[this.length - 1]);\n\t } }, { key: \"__inplaceMultiplyAdd\", value: function value(e, t, _) {\n\t _ > this.length && (_ = this.length);for (var n = 65535 & e, g = e >>> 16, o = 0, a = 65535 & t, s = t >>> 16, u = 0; u < _; u++) {\n\t var r = this.__digit(u),\n\t d = 65535 & r,\n\t h = r >>> 16,\n\t b = l.__imul(d, n),\n\t m = l.__imul(d, g),\n\t c = l.__imul(h, n),\n\t v = l.__imul(h, g),\n\t f = a + (65535 & b),\n\t y = s + o + (f >>> 16) + (b >>> 16) + (65535 & m) + (65535 & c);a = (m >>> 16) + (c >>> 16) + (65535 & v) + (y >>> 16), o = a >>> 16, a &= 65535, s = v >>> 16;this.__setDigit(u, 65535 & f | y << 16);\n\t }if (0 !== o || 0 !== a || 0 !== s) throw new Error(\"implementation bug\");\n\t } }, { key: \"__inplaceAdd\", value: function value(e, t, _) {\n\t for (var n, l = 0, g = 0; g < _; g++) {\n\t n = this.__halfDigit(t + g) + e.__halfDigit(g) + l, l = n >>> 16, this.__setHalfDigit(t + g, n);\n\t }return l;\n\t } }, { key: \"__inplaceSub\", value: function value(e, t, _) {\n\t var n = 0;if (1 & t) {\n\t t >>= 1;for (var l = this.__digit(t), g = 65535 & l, o = 0; o < _ - 1 >>> 1; o++) {\n\t var a = e.__digit(o),\n\t s = (l >>> 16) - (65535 & a) - n;n = 1 & s >>> 16, this.__setDigit(t + o, s << 16 | 65535 & g), l = this.__digit(t + o + 1), g = (65535 & l) - (a >>> 16) - n, n = 1 & g >>> 16;\n\t }var u = e.__digit(o),\n\t r = (l >>> 16) - (65535 & u) - n;n = 1 & r >>> 16, this.__setDigit(t + o, r << 16 | 65535 & g);if (t + o + 1 >= this.length) throw new RangeError(\"out of bounds\");0 == (1 & _) && (l = this.__digit(t + o + 1), g = (65535 & l) - (u >>> 16) - n, n = 1 & g >>> 16, this.__setDigit(t + e.length, 4294901760 & l | 65535 & g));\n\t } else {\n\t t >>= 1;for (var d = 0; d < e.length - 1; d++) {\n\t var h = this.__digit(t + d),\n\t b = e.__digit(d),\n\t m = (65535 & h) - (65535 & b) - n;n = 1 & m >>> 16;var c = (h >>> 16) - (b >>> 16) - n;n = 1 & c >>> 16, this.__setDigit(t + d, c << 16 | 65535 & m);\n\t }var v = this.__digit(t + d),\n\t f = e.__digit(d),\n\t y = (65535 & v) - (65535 & f) - n;n = 1 & y >>> 16;var k = 0;0 == (1 & _) && (k = (v >>> 16) - (f >>> 16) - n, n = 1 & k >>> 16), this.__setDigit(t + d, k << 16 | 65535 & y);\n\t }return n;\n\t } }, { key: \"__inplaceRightShift\", value: function value(e) {\n\t if (0 !== e) {\n\t for (var t, _ = this.__digit(0) >>> e, n = this.length - 1, l = 0; l < n; l++) {\n\t t = this.__digit(l + 1), this.__setDigit(l, t << 32 - e | _), _ = t >>> e;\n\t }this.__setDigit(n, _);\n\t }\n\t } }, { key: \"__digit\", value: function value(e) {\n\t return this[e];\n\t } }, { key: \"__unsignedDigit\", value: function value(e) {\n\t return this[e] >>> 0;\n\t } }, { key: \"__setDigit\", value: function value(e, t) {\n\t this[e] = 0 | t;\n\t } }, { key: \"__setDigitGrow\", value: function value(e, t) {\n\t this[e] = 0 | t;\n\t } }, { key: \"__halfDigitLength\", value: function value() {\n\t var e = this.length;return 65535 >= this.__unsignedDigit(e - 1) ? 2 * e - 1 : 2 * e;\n\t } }, { key: \"__halfDigit\", value: function value(e) {\n\t return 65535 & this[e >>> 1] >>> ((1 & e) << 4);\n\t } }, { key: \"__setHalfDigit\", value: function value(e, t) {\n\t var i = e >>> 1,\n\t _ = this.__digit(i),\n\t n = 1 & e ? 65535 & _ | t << 16 : 4294901760 & _ | 65535 & t;this.__setDigit(i, n);\n\t } }], [{ key: \"BigInt\", value: function value(t) {\n\t var i = Math.floor,\n\t _ = Number.isFinite;if (\"number\" == typeof t) {\n\t if (0 === t) return l.__zero();if ((0 | t) === t) return 0 > t ? l.__oneDigit(-t, !0) : l.__oneDigit(t, !1);if (!_(t) || i(t) !== t) throw new RangeError(\"The number \" + t + \" cannot be converted to BigInt because it is not an integer\");return l.__fromDouble(t);\n\t }if (\"string\" == typeof t) {\n\t var n = l.__fromString(t);if (null === n) throw new SyntaxError(\"Cannot convert \" + t + \" to a BigInt\");return n;\n\t }if (\"boolean\" == typeof t) return !0 === t ? l.__oneDigit(1, !1) : l.__zero();if (\"object\" === e(t)) {\n\t if (t.constructor === l) return t;var g = l.__toPrimitive(t);return l.BigInt(g);\n\t }throw new TypeError(\"Cannot convert \" + t + \" to a BigInt\");\n\t } }, { key: \"toNumber\", value: function value(e) {\n\t var t = e.length;if (0 === t) return 0;if (1 === t) {\n\t var i = e.__unsignedDigit(0);return e.sign ? -i : i;\n\t }var _ = e.__digit(t - 1),\n\t n = l.__clz32(_),\n\t g = 32 * t - n;if (1024 < g) return e.sign ? -Infinity : 1 / 0;var o = g - 1,\n\t a = _,\n\t s = t - 1,\n\t u = n + 1,\n\t r = 32 === u ? 0 : a << u;r >>>= 12;var d = u - 12,\n\t h = 12 <= u ? 0 : a << 20 + u,\n\t b = 20 + u;0 < d && 0 < s && (s--, a = e.__digit(s), r |= a >>> 32 - d, h = a << d, b = d), 0 < b && 0 < s && (s--, a = e.__digit(s), h |= a >>> 32 - b, b -= 32);var m = l.__decideRounding(e, b, s, a);if ((1 === m || 0 === m && 1 == (1 & h)) && (h = h + 1 >>> 0, 0 === h && (r++, 0 != r >>> 20 && (r = 0, o++, 1023 < o)))) return e.sign ? -Infinity : 1 / 0;var c = e.sign ? -2147483648 : 0;return o = o + 1023 << 20, l.__kBitConversionInts[1] = c | o | r, l.__kBitConversionInts[0] = h, l.__kBitConversionDouble[0];\n\t } }, { key: \"unaryMinus\", value: function value(e) {\n\t if (0 === e.length) return e;var t = e.__copy();return t.sign = !e.sign, t;\n\t } }, { key: \"bitwiseNot\", value: function value(e) {\n\t return e.sign ? l.__absoluteSubOne(e).__trim() : l.__absoluteAddOne(e, !0);\n\t } }, { key: \"exponentiate\", value: function value(e, t) {\n\t if (t.sign) throw new RangeError(\"Exponent must be positive\");if (0 === t.length) return l.__oneDigit(1, !1);if (0 === e.length) return e;if (1 === e.length && 1 === e.__digit(0)) return e.sign && 0 == (1 & t.__digit(0)) ? l.unaryMinus(e) : e;if (1 < t.length) throw new RangeError(\"BigInt too big\");var i = t.__unsignedDigit(0);if (1 === i) return e;if (i >= l.__kMaxLengthBits) throw new RangeError(\"BigInt too big\");if (1 === e.length && 2 === e.__digit(0)) {\n\t var _ = 1 + (i >>> 5),\n\t n = e.sign && 0 != (1 & i),\n\t g = new l(_, n);g.__initializeDigits();var o = 1 << (31 & i);return g.__setDigit(_ - 1, o), g;\n\t }var a = null,\n\t s = e;for (0 != (1 & i) && (a = e), i >>= 1; 0 !== i; i >>= 1) {\n\t s = l.multiply(s, s), 0 != (1 & i) && (null === a ? a = s : a = l.multiply(a, s));\n\t }return a;\n\t } }, { key: \"multiply\", value: function value(e, t) {\n\t if (0 === e.length) return e;if (0 === t.length) return t;var _ = e.length + t.length;32 <= e.__clzmsd() + t.__clzmsd() && _--;var n = new l(_, e.sign !== t.sign);n.__initializeDigits();for (var g = 0; g < e.length; g++) {\n\t l.__multiplyAccumulate(t, e.__digit(g), n, g);\n\t }return n.__trim();\n\t } }, { key: \"divide\", value: function value(e, t) {\n\t if (0 === t.length) throw new RangeError(\"Division by zero\");if (0 > l.__absoluteCompare(e, t)) return l.__zero();var i,\n\t _ = e.sign !== t.sign,\n\t n = t.__unsignedDigit(0);if (1 === t.length && 65535 >= n) {\n\t if (1 === n) return _ === e.sign ? e : l.unaryMinus(e);i = l.__absoluteDivSmall(e, n, null);\n\t } else i = l.__absoluteDivLarge(e, t, !0, !1);return i.sign = _, i.__trim();\n\t } }, { key: \"remainder\", value: function e(t, i) {\n\t if (0 === i.length) throw new RangeError(\"Division by zero\");if (0 > l.__absoluteCompare(t, i)) return t;var _ = i.__unsignedDigit(0);if (1 === i.length && 65535 >= _) {\n\t if (1 === _) return l.__zero();var n = l.__absoluteModSmall(t, _);return 0 === n ? l.__zero() : l.__oneDigit(n, t.sign);\n\t }var e = l.__absoluteDivLarge(t, i, !1, !0);return e.sign = t.sign, e.__trim();\n\t } }, { key: \"add\", value: function value(e, t) {\n\t var i = e.sign;return i === t.sign ? l.__absoluteAdd(e, t, i) : 0 <= l.__absoluteCompare(e, t) ? l.__absoluteSub(e, t, i) : l.__absoluteSub(t, e, !i);\n\t } }, { key: \"subtract\", value: function value(e, t) {\n\t var i = e.sign;return i === t.sign ? 0 <= l.__absoluteCompare(e, t) ? l.__absoluteSub(e, t, i) : l.__absoluteSub(t, e, !i) : l.__absoluteAdd(e, t, i);\n\t } }, { key: \"leftShift\", value: function value(e, t) {\n\t return 0 === t.length || 0 === e.length ? e : t.sign ? l.__rightShiftByAbsolute(e, t) : l.__leftShiftByAbsolute(e, t);\n\t } }, { key: \"signedRightShift\", value: function value(e, t) {\n\t return 0 === t.length || 0 === e.length ? e : t.sign ? l.__leftShiftByAbsolute(e, t) : l.__rightShiftByAbsolute(e, t);\n\t } }, { key: \"unsignedRightShift\", value: function value() {\n\t throw new TypeError(\"BigInts have no unsigned right shift; use >> instead\");\n\t } }, { key: \"lessThan\", value: function value(e, t) {\n\t return 0 > l.__compareToBigInt(e, t);\n\t } }, { key: \"lessThanOrEqual\", value: function value(e, t) {\n\t return 0 >= l.__compareToBigInt(e, t);\n\t } }, { key: \"greaterThan\", value: function value(e, t) {\n\t return 0 < l.__compareToBigInt(e, t);\n\t } }, { key: \"greaterThanOrEqual\", value: function value(e, t) {\n\t return 0 <= l.__compareToBigInt(e, t);\n\t } }, { key: \"equal\", value: function value(e, t) {\n\t if (e.sign !== t.sign) return !1;if (e.length !== t.length) return !1;for (var _ = 0; _ < e.length; _++) {\n\t if (e.__digit(_) !== t.__digit(_)) return !1;\n\t }return !0;\n\t } }, { key: \"notEqual\", value: function value(e, t) {\n\t return !l.equal(e, t);\n\t } }, { key: \"bitwiseAnd\", value: function value(e, t) {\n\t if (!e.sign && !t.sign) return l.__absoluteAnd(e, t).__trim();if (e.sign && t.sign) {\n\t var i = o(e.length, t.length) + 1,\n\t _ = l.__absoluteSubOne(e, i),\n\t n = l.__absoluteSubOne(t);return _ = l.__absoluteOr(_, n, _), l.__absoluteAddOne(_, !0, _).__trim();\n\t }if (e.sign) {\n\t var g = [t, e];e = g[0], t = g[1];\n\t }return l.__absoluteAndNot(e, l.__absoluteSubOne(t)).__trim();\n\t } }, { key: \"bitwiseXor\", value: function value(e, t) {\n\t if (!e.sign && !t.sign) return l.__absoluteXor(e, t).__trim();if (e.sign && t.sign) {\n\t var i = o(e.length, t.length),\n\t _ = l.__absoluteSubOne(e, i),\n\t n = l.__absoluteSubOne(t);return l.__absoluteXor(_, n, _).__trim();\n\t }var g = o(e.length, t.length) + 1;if (e.sign) {\n\t var a = [t, e];e = a[0], t = a[1];\n\t }var s = l.__absoluteSubOne(t, g);return s = l.__absoluteXor(s, e, s), l.__absoluteAddOne(s, !0, s).__trim();\n\t } }, { key: \"bitwiseOr\", value: function value(e, t) {\n\t var i = o(e.length, t.length);if (!e.sign && !t.sign) return l.__absoluteOr(e, t).__trim();if (e.sign && t.sign) {\n\t var _ = l.__absoluteSubOne(e, i),\n\t n = l.__absoluteSubOne(t);return _ = l.__absoluteAnd(_, n, _), l.__absoluteAddOne(_, !0, _).__trim();\n\t }if (e.sign) {\n\t var g = [t, e];e = g[0], t = g[1];\n\t }var a = l.__absoluteSubOne(t, i);return a = l.__absoluteAndNot(a, e, a), l.__absoluteAddOne(a, !0, a).__trim();\n\t } }, { key: \"asIntN\", value: function value(e, t) {\n\t if (0 === t.length) return t;if (0 === e) return l.__zero();if (e >= l.__kMaxLengthBits) return t;var _ = e + 31 >>> 5;if (t.length < _) return t;var n = t.__unsignedDigit(_ - 1),\n\t g = 1 << (31 & e - 1);if (t.length === _ && n < g) return t;if (!((n & g) === g)) return l.__truncateToNBits(e, t);if (!t.sign) return l.__truncateAndSubFromPowerOfTwo(e, t, !0);if (0 == (n & g - 1)) {\n\t for (var o = _ - 2; 0 <= o; o--) {\n\t if (0 !== t.__digit(o)) return l.__truncateAndSubFromPowerOfTwo(e, t, !1);\n\t }return t.length === _ && n === g ? t : l.__truncateToNBits(e, t);\n\t }return l.__truncateAndSubFromPowerOfTwo(e, t, !1);\n\t } }, { key: \"asUintN\", value: function value(e, t) {\n\t if (0 === t.length) return t;if (0 === e) return l.__zero();if (t.sign) {\n\t if (e > l.__kMaxLengthBits) throw new RangeError(\"BigInt too big\");return l.__truncateAndSubFromPowerOfTwo(e, t, !1);\n\t }if (e >= l.__kMaxLengthBits) return t;var i = e + 31 >>> 5;if (t.length < i) return t;var _ = 31 & e;if (t.length == i) {\n\t if (0 === _) return t;var n = t.__digit(i - 1);if (0 == n >>> _) return t;\n\t }return l.__truncateToNBits(e, t);\n\t } }, { key: \"ADD\", value: function value(e, t) {\n\t if (e = l.__toPrimitive(e), t = l.__toPrimitive(t), \"string\" == typeof e) return \"string\" != typeof t && (t = t.toString()), e + t;if (\"string\" == typeof t) return e.toString() + t;if (e = l.__toNumeric(e), t = l.__toNumeric(t), l.__isBigInt(e) && l.__isBigInt(t)) return l.add(e, t);if (\"number\" == typeof e && \"number\" == typeof t) return e + t;throw new TypeError(\"Cannot mix BigInt and other types, use explicit conversions\");\n\t } }, { key: \"LT\", value: function value(e, t) {\n\t return l.__compare(e, t, 0);\n\t } }, { key: \"LE\", value: function value(e, t) {\n\t return l.__compare(e, t, 1);\n\t } }, { key: \"GT\", value: function value(e, t) {\n\t return l.__compare(e, t, 2);\n\t } }, { key: \"GE\", value: function value(e, t) {\n\t return l.__compare(e, t, 3);\n\t } }, { key: \"EQ\", value: function value(t, i) {\n\t for (;;) {\n\t if (l.__isBigInt(t)) return l.__isBigInt(i) ? l.equal(t, i) : l.EQ(i, t);if (\"number\" == typeof t) {\n\t if (l.__isBigInt(i)) return l.__equalToNumber(i, t);if (\"object\" !== e(i)) return t == i;i = l.__toPrimitive(i);\n\t } else if (\"string\" == typeof t) {\n\t if (l.__isBigInt(i)) return t = l.__fromString(t), null !== t && l.equal(t, i);if (\"object\" !== e(i)) return t == i;i = l.__toPrimitive(i);\n\t } else if (\"boolean\" == typeof t) {\n\t if (l.__isBigInt(i)) return l.__equalToNumber(i, +t);if (\"object\" !== e(i)) return t == i;i = l.__toPrimitive(i);\n\t } else if (\"symbol\" === e(t)) {\n\t if (l.__isBigInt(i)) return !1;if (\"object\" !== e(i)) return t == i;i = l.__toPrimitive(i);\n\t } else if (\"object\" === e(t)) {\n\t if (\"object\" === e(i) && i.constructor !== l) return t == i;t = l.__toPrimitive(t);\n\t } else return t == i;\n\t }\n\t } }, { key: \"NE\", value: function value(e, t) {\n\t return !l.EQ(e, t);\n\t } }, { key: \"__zero\", value: function value() {\n\t return new l(0, !1);\n\t } }, { key: \"__oneDigit\", value: function value(e, t) {\n\t var i = new l(1, t);return i.__setDigit(0, e), i;\n\t } }, { key: \"__decideRounding\", value: function value(e, t, i, _) {\n\t if (0 < t) return -1;var n;if (0 > t) n = -t - 1;else {\n\t if (0 === i) return -1;i--, _ = e.__digit(i), n = 31;\n\t }var l = 1 << n;if (0 == (_ & l)) return -1;if (l -= 1, 0 != (_ & l)) return 1;for (; 0 < i;) {\n\t if (i--, 0 !== e.__digit(i)) return 1;\n\t }return 0;\n\t } }, { key: \"__fromDouble\", value: function value(e) {\n\t l.__kBitConversionDouble[0] = e;var t,\n\t i = 2047 & l.__kBitConversionInts[1] >>> 20,\n\t _ = i - 1023,\n\t n = (_ >>> 5) + 1,\n\t g = new l(n, 0 > e),\n\t o = 1048575 & l.__kBitConversionInts[1] | 1048576,\n\t a = l.__kBitConversionInts[0],\n\t s = 20,\n\t u = 31 & _,\n\t r = 0;if (u < s) {\n\t var d = s - u;r = d + 32, t = o >>> d, o = o << 32 - d | a >>> d, a <<= 32 - d;\n\t } else if (u === s) r = 32, t = o, o = a;else {\n\t var h = u - s;r = 32 - h, t = o << h | a >>> 32 - h, o = a << h;\n\t }g.__setDigit(n - 1, t);for (var b = n - 2; 0 <= b; b--) {\n\t 0 < r ? (r -= 32, t = o, o = a) : t = 0, g.__setDigit(b, t);\n\t }return g.__trim();\n\t } }, { key: \"__isWhitespace\", value: function value(e) {\n\t return !!(13 >= e && 9 <= e) || (159 >= e ? 32 == e : 131071 >= e ? 160 == e || 5760 == e : 196607 >= e ? (e &= 131071, 10 >= e || 40 == e || 41 == e || 47 == e || 95 == e || 4096 == e) : 65279 == e);\n\t } }, { key: \"__fromString\", value: function value(e) {\n\t var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 0,\n\t i = 0,\n\t _ = e.length,\n\t n = 0;if (n === _) return l.__zero();for (var g = e.charCodeAt(n); l.__isWhitespace(g);) {\n\t if (++n === _) return l.__zero();g = e.charCodeAt(n);\n\t }if (43 === g) {\n\t if (++n === _) return null;g = e.charCodeAt(n), i = 1;\n\t } else if (45 === g) {\n\t if (++n === _) return null;g = e.charCodeAt(n), i = -1;\n\t }if (0 === t) {\n\t if (t = 10, 48 === g) {\n\t if (++n === _) return l.__zero();if (g = e.charCodeAt(n), 88 === g || 120 === g) {\n\t if (t = 16, ++n === _) return null;g = e.charCodeAt(n);\n\t } else if (79 === g || 111 === g) {\n\t if (t = 8, ++n === _) return null;g = e.charCodeAt(n);\n\t } else if (66 === g || 98 === g) {\n\t if (t = 2, ++n === _) return null;g = e.charCodeAt(n);\n\t }\n\t }\n\t } else if (16 === t && 48 === g) {\n\t if (++n === _) return l.__zero();if (g = e.charCodeAt(n), 88 === g || 120 === g) {\n\t if (++n === _) return null;g = e.charCodeAt(n);\n\t }\n\t }for (; 48 === g;) {\n\t if (++n === _) return l.__zero();g = e.charCodeAt(n);\n\t }var o = _ - n,\n\t a = l.__kMaxBitsPerChar[t],\n\t s = l.__kBitsPerCharTableMultiplier - 1;if (o > 1073741824 / a) return null;var u = a * o + s >>> l.__kBitsPerCharTableShift,\n\t r = new l(u + 31 >>> 5, !1),\n\t h = 10 > t ? t : 10,\n\t b = 10 < t ? t - 10 : 0;if (0 == (t & t - 1)) {\n\t a >>= l.__kBitsPerCharTableShift;var c = [],\n\t v = [],\n\t f = !1;do {\n\t for (var y, k = 0, D = 0;;) {\n\t if (y = void 0, g - 48 >>> 0 < h) y = g - 48;else if ((32 | g) - 97 >>> 0 < b) y = (32 | g) - 87;else {\n\t f = !0;break;\n\t }if (D += a, k = k << a | y, ++n === _) {\n\t f = !0;break;\n\t }if (g = e.charCodeAt(n), 32 < D + a) break;\n\t }c.push(k), v.push(D);\n\t } while (!f);l.__fillFromParts(r, c, v);\n\t } else {\n\t r.__initializeDigits();var p = !1,\n\t B = 0;do {\n\t for (var S, C = 0, A = 1;;) {\n\t if (S = void 0, g - 48 >>> 0 < h) S = g - 48;else if ((32 | g) - 97 >>> 0 < b) S = (32 | g) - 87;else {\n\t p = !0;break;\n\t }var T = A * t;if (4294967295 < T) break;if (A = T, C = C * t + S, B++, ++n === _) {\n\t p = !0;break;\n\t }g = e.charCodeAt(n);\n\t }s = 32 * l.__kBitsPerCharTableMultiplier - 1;var m = a * B + s >>> l.__kBitsPerCharTableShift + 5;r.__inplaceMultiplyAdd(A, C, m);\n\t } while (!p);\n\t }if (n !== _) {\n\t if (!l.__isWhitespace(g)) return null;for (n++; n < _; n++) {\n\t if (g = e.charCodeAt(n), !l.__isWhitespace(g)) return null;\n\t }\n\t }return 0 !== i && 10 !== t ? null : (r.sign = -1 === i, r.__trim());\n\t } }, { key: \"__fillFromParts\", value: function value(e, t, _) {\n\t for (var n = 0, l = 0, g = 0, o = t.length - 1; 0 <= o; o--) {\n\t var a = t[o],\n\t s = _[o];l |= a << g, g += s, 32 === g ? (e.__setDigit(n++, l), g = 0, l = 0) : 32 < g && (e.__setDigit(n++, l), g -= 32, l = a >>> s - g);\n\t }if (0 !== l) {\n\t if (n >= e.length) throw new Error(\"implementation bug\");e.__setDigit(n++, l);\n\t }for (; n < e.length; n++) {\n\t e.__setDigit(n, 0);\n\t }\n\t } }, { key: \"__toStringBasePowerOfTwo\", value: function value(e, t) {\n\t var _ = e.length,\n\t n = t - 1;n = (85 & n >>> 1) + (85 & n), n = (51 & n >>> 2) + (51 & n), n = (15 & n >>> 4) + (15 & n);var g = n,\n\t o = t - 1,\n\t a = e.__digit(_ - 1),\n\t s = l.__clz32(a),\n\t u = 0 | (32 * _ - s + g - 1) / g;if (e.sign && u++, 268435456 < u) throw new Error(\"string too long\");for (var r = Array(u), d = u - 1, h = 0, b = 0, m = 0; m < _ - 1; m++) {\n\t var c = e.__digit(m),\n\t v = (h | c << b) & o;r[d--] = l.__kConversionChars[v];var f = g - b;for (h = c >>> f, b = 32 - f; b >= g;) {\n\t r[d--] = l.__kConversionChars[h & o], h >>>= g, b -= g;\n\t }\n\t }var y = (h | a << b) & o;for (r[d--] = l.__kConversionChars[y], h = a >>> g - b; 0 !== h;) {\n\t r[d--] = l.__kConversionChars[h & o], h >>>= g;\n\t }if (e.sign && (r[d--] = \"-\"), -1 !== d) throw new Error(\"implementation bug\");return r.join(\"\");\n\t } }, { key: \"__toStringGeneric\", value: function value(e, t, _) {\n\t var n = e.length;if (0 === n) return \"\";if (1 === n) {\n\t var g = e.__unsignedDigit(0).toString(t);return !1 === _ && e.sign && (g = \"-\" + g), g;\n\t }var o = 32 * n - l.__clz32(e.__digit(n - 1)),\n\t a = l.__kMaxBitsPerChar[t],\n\t s = a - 1,\n\t u = o * l.__kBitsPerCharTableMultiplier;u += s - 1, u = 0 | u / s;var r,\n\t d,\n\t h = u + 1 >> 1,\n\t b = l.exponentiate(l.__oneDigit(t, !1), l.__oneDigit(h, !1)),\n\t m = b.__unsignedDigit(0);if (1 === b.length && 65535 >= m) {\n\t r = new l(e.length, !1), r.__initializeDigits();for (var c, v = 0, f = 2 * e.length - 1; 0 <= f; f--) {\n\t c = v << 16 | e.__halfDigit(f), r.__setHalfDigit(f, 0 | c / m), v = 0 | c % m;\n\t }d = v.toString(t);\n\t } else {\n\t var y = l.__absoluteDivLarge(e, b, !0, !0);r = y.quotient;var k = y.remainder.__trim();d = l.__toStringGeneric(k, t, !0);\n\t }r.__trim();for (var D = l.__toStringGeneric(r, t, !0); d.length < h;) {\n\t d = \"0\" + d;\n\t }return !1 === _ && e.sign && (D = \"-\" + D), D + d;\n\t } }, { key: \"__unequalSign\", value: function value(e) {\n\t return e ? -1 : 1;\n\t } }, { key: \"__absoluteGreater\", value: function value(e) {\n\t return e ? -1 : 1;\n\t } }, { key: \"__absoluteLess\", value: function value(e) {\n\t return e ? 1 : -1;\n\t } }, { key: \"__compareToBigInt\", value: function value(e, t) {\n\t var i = e.sign;if (i !== t.sign) return l.__unequalSign(i);var _ = l.__absoluteCompare(e, t);return 0 < _ ? l.__absoluteGreater(i) : 0 > _ ? l.__absoluteLess(i) : 0;\n\t } }, { key: \"__compareToNumber\", value: function value(e, t) {\n\t if (!0 | t) {\n\t var i = e.sign,\n\t _ = 0 > t;if (i !== _) return l.__unequalSign(i);if (0 === e.length) {\n\t if (_) throw new Error(\"implementation bug\");return 0 === t ? 0 : -1;\n\t }if (1 < e.length) return l.__absoluteGreater(i);var n = g(t),\n\t o = e.__unsignedDigit(0);return o > n ? l.__absoluteGreater(i) : o < n ? l.__absoluteLess(i) : 0;\n\t }return l.__compareToDouble(e, t);\n\t } }, { key: \"__compareToDouble\", value: function value(e, t) {\n\t if (t !== t) return t;if (t === 1 / 0) return -1;if (t === -Infinity) return 1;var i = e.sign;if (i !== 0 > t) return l.__unequalSign(i);if (0 === t) throw new Error(\"implementation bug: should be handled elsewhere\");if (0 === e.length) return -1;l.__kBitConversionDouble[0] = t;var _ = 2047 & l.__kBitConversionInts[1] >>> 20;if (2047 == _) throw new Error(\"implementation bug: handled elsewhere\");var n = _ - 1023;if (0 > n) return l.__absoluteGreater(i);var g = e.length,\n\t o = e.__digit(g - 1),\n\t a = l.__clz32(o),\n\t s = 32 * g - a,\n\t u = n + 1;if (s < u) return l.__absoluteLess(i);if (s > u) return l.__absoluteGreater(i);var r = 1048576 | 1048575 & l.__kBitConversionInts[1],\n\t d = l.__kBitConversionInts[0],\n\t h = 20,\n\t b = 31 - a;if (b !== (s - 1) % 31) throw new Error(\"implementation bug\");var m,\n\t c = 0;if (b < h) {\n\t var v = h - b;c = v + 32, m = r >>> v, r = r << 32 - v | d >>> v, d <<= 32 - v;\n\t } else if (b === h) c = 32, m = r, r = d;else {\n\t var f = b - h;c = 32 - f, m = r << f | d >>> 32 - f, r = d << f;\n\t }if (o >>>= 0, m >>>= 0, o > m) return l.__absoluteGreater(i);if (o < m) return l.__absoluteLess(i);for (var y = g - 2; 0 <= y; y--) {\n\t 0 < c ? (c -= 32, m = r >>> 0, r = d, d = 0) : m = 0;var k = e.__unsignedDigit(y);if (k > m) return l.__absoluteGreater(i);if (k < m) return l.__absoluteLess(i);\n\t }if (0 !== r || 0 !== d) {\n\t if (0 === c) throw new Error(\"implementation bug\");return l.__absoluteLess(i);\n\t }return 0;\n\t } }, { key: \"__equalToNumber\", value: function value(e, t) {\n\t return t | 0 === t ? 0 === t ? 0 === e.length : 1 === e.length && e.sign === 0 > t && e.__unsignedDigit(0) === g(t) : 0 === l.__compareToDouble(e, t);\n\t } }, { key: \"__comparisonResultToBool\", value: function value(e, t) {\n\t switch (t) {case 0:\n\t return 0 > e;case 1:\n\t return 0 >= e;case 2:\n\t return 0 < e;case 3:\n\t return 0 <= e;}throw new Error(\"unreachable\");\n\t } }, { key: \"__compare\", value: function value(e, t, i) {\n\t if (e = l.__toPrimitive(e), t = l.__toPrimitive(t), \"string\" == typeof e && \"string\" == typeof t) switch (i) {case 0:\n\t return e < t;case 1:\n\t return e <= t;case 2:\n\t return e > t;case 3:\n\t return e >= t;}if (l.__isBigInt(e) && \"string\" == typeof t) return t = l.__fromString(t), null !== t && l.__comparisonResultToBool(l.__compareToBigInt(e, t), i);if (\"string\" == typeof e && l.__isBigInt(t)) return e = l.__fromString(e), null !== e && l.__comparisonResultToBool(l.__compareToBigInt(e, t), i);if (e = l.__toNumeric(e), t = l.__toNumeric(t), l.__isBigInt(e)) {\n\t if (l.__isBigInt(t)) return l.__comparisonResultToBool(l.__compareToBigInt(e, t), i);if (\"number\" != typeof t) throw new Error(\"implementation bug\");return l.__comparisonResultToBool(l.__compareToNumber(e, t), i);\n\t }if (\"number\" != typeof e) throw new Error(\"implementation bug\");if (l.__isBigInt(t)) return l.__comparisonResultToBool(l.__compareToNumber(t, e), 2 ^ i);if (\"number\" != typeof t) throw new Error(\"implementation bug\");return 0 === i ? e < t : 1 === i ? e <= t : 2 === i ? e > t : 3 === i ? e >= t : void 0;\n\t } }, { key: \"__absoluteAdd\", value: function value(e, t, _) {\n\t if (e.length < t.length) return l.__absoluteAdd(t, e, _);if (0 === e.length) return e;if (0 === t.length) return e.sign === _ ? e : l.unaryMinus(e);var n = e.length;(0 === e.__clzmsd() || t.length === e.length && 0 === t.__clzmsd()) && n++;for (var g = new l(n, _), o = 0, a = 0; a < t.length; a++) {\n\t var s = t.__digit(a),\n\t u = e.__digit(a),\n\t r = (65535 & u) + (65535 & s) + o,\n\t d = (u >>> 16) + (s >>> 16) + (r >>> 16);o = d >>> 16, g.__setDigit(a, 65535 & r | d << 16);\n\t }for (; a < e.length; a++) {\n\t var h = e.__digit(a),\n\t b = (65535 & h) + o,\n\t m = (h >>> 16) + (b >>> 16);o = m >>> 16, g.__setDigit(a, 65535 & b | m << 16);\n\t }return a < g.length && g.__setDigit(a, o), g.__trim();\n\t } }, { key: \"__absoluteSub\", value: function value(e, t, _) {\n\t if (0 === e.length) return e;if (0 === t.length) return e.sign === _ ? e : l.unaryMinus(e);for (var n = new l(e.length, _), g = 0, o = 0; o < t.length; o++) {\n\t var a = e.__digit(o),\n\t s = t.__digit(o),\n\t u = (65535 & a) - (65535 & s) - g;g = 1 & u >>> 16;var r = (a >>> 16) - (s >>> 16) - g;g = 1 & r >>> 16, n.__setDigit(o, 65535 & u | r << 16);\n\t }for (; o < e.length; o++) {\n\t var d = e.__digit(o),\n\t h = (65535 & d) - g;g = 1 & h >>> 16;var b = (d >>> 16) - g;g = 1 & b >>> 16, n.__setDigit(o, 65535 & h | b << 16);\n\t }return n.__trim();\n\t } }, { key: \"__absoluteAddOne\", value: function value(e, t) {\n\t var _ = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,\n\t n = e.length;null === _ ? _ = new l(n, t) : _.sign = t;for (var g, o = !0, a = 0; a < n; a++) {\n\t if (g = e.__digit(a), o) {\n\t var s = -1 === g;g = 0 | g + 1, o = s;\n\t }_.__setDigit(a, g);\n\t }return o && _.__setDigitGrow(n, 1), _;\n\t } }, { key: \"__absoluteSubOne\", value: function value(e, t) {\n\t var _ = e.length;t = t || _;for (var n, g = new l(t, !1), o = !0, a = 0; a < _; a++) {\n\t if (n = e.__digit(a), o) {\n\t var s = 0 === n;n = 0 | n - 1, o = s;\n\t }g.__setDigit(a, n);\n\t }if (o) throw new Error(\"implementation bug\");for (var u = _; u < t; u++) {\n\t g.__setDigit(u, 0);\n\t }return g;\n\t } }, { key: \"__absoluteAnd\", value: function value(e, t) {\n\t var _ = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,\n\t n = e.length,\n\t g = t.length,\n\t o = g;if (n < g) {\n\t o = n;var a = e,\n\t s = n;e = t, n = g, t = a, g = s;\n\t }var u = o;null === _ ? _ = new l(u, !1) : u = _.length;for (var r = 0; r < o; r++) {\n\t _.__setDigit(r, e.__digit(r) & t.__digit(r));\n\t }for (; r < u; r++) {\n\t _.__setDigit(r, 0);\n\t }return _;\n\t } }, { key: \"__absoluteAndNot\", value: function value(e, t) {\n\t var _ = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,\n\t n = e.length,\n\t g = t.length,\n\t o = g;n < g && (o = n);var a = n;null === _ ? _ = new l(a, !1) : a = _.length;for (var s = 0; s < o; s++) {\n\t _.__setDigit(s, e.__digit(s) & ~t.__digit(s));\n\t }for (; s < n; s++) {\n\t _.__setDigit(s, e.__digit(s));\n\t }for (; s < a; s++) {\n\t _.__setDigit(s, 0);\n\t }return _;\n\t } }, { key: \"__absoluteOr\", value: function value(e, t) {\n\t var _ = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,\n\t n = e.length,\n\t g = t.length,\n\t o = g;if (n < g) {\n\t o = n;var a = e,\n\t s = n;e = t, n = g, t = a, g = s;\n\t }var u = n;null === _ ? _ = new l(u, !1) : u = _.length;for (var r = 0; r < o; r++) {\n\t _.__setDigit(r, e.__digit(r) | t.__digit(r));\n\t }for (; r < n; r++) {\n\t _.__setDigit(r, e.__digit(r));\n\t }for (; r < u; r++) {\n\t _.__setDigit(r, 0);\n\t }return _;\n\t } }, { key: \"__absoluteXor\", value: function value(e, t) {\n\t var _ = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null,\n\t n = e.length,\n\t g = t.length,\n\t o = g;if (n < g) {\n\t o = n;var a = e,\n\t s = n;e = t, n = g, t = a, g = s;\n\t }var u = n;null === _ ? _ = new l(u, !1) : u = _.length;for (var r = 0; r < o; r++) {\n\t _.__setDigit(r, e.__digit(r) ^ t.__digit(r));\n\t }for (; r < n; r++) {\n\t _.__setDigit(r, e.__digit(r));\n\t }for (; r < u; r++) {\n\t _.__setDigit(r, 0);\n\t }return _;\n\t } }, { key: \"__absoluteCompare\", value: function value(e, t) {\n\t var _ = e.length - t.length;if (0 != _) return _;for (var n = e.length - 1; 0 <= n && e.__digit(n) === t.__digit(n);) {\n\t n--;\n\t }return 0 > n ? 0 : e.__unsignedDigit(n) > t.__unsignedDigit(n) ? 1 : -1;\n\t } }, { key: \"__multiplyAccumulate\", value: function value(e, t, _, n) {\n\t if (0 !== t) {\n\t for (var g = 65535 & t, o = t >>> 16, a = 0, s = 0, u = 0, r = 0; r < e.length; r++, n++) {\n\t var d = _.__digit(n),\n\t h = 65535 & d,\n\t b = d >>> 16,\n\t m = e.__digit(r),\n\t c = 65535 & m,\n\t v = m >>> 16,\n\t f = l.__imul(c, g),\n\t y = l.__imul(c, o),\n\t k = l.__imul(v, g),\n\t D = l.__imul(v, o);h += s + (65535 & f), b += u + a + (h >>> 16) + (f >>> 16) + (65535 & y) + (65535 & k), a = b >>> 16, s = (y >>> 16) + (k >>> 16) + (65535 & D) + a, a = s >>> 16, s &= 65535, u = D >>> 16, d = 65535 & h | b << 16, _.__setDigit(n, d);\n\t }for (; 0 !== a || 0 !== s || 0 !== u; n++) {\n\t var p = _.__digit(n),\n\t B = (65535 & p) + s,\n\t S = (p >>> 16) + (B >>> 16) + u + a;s = 0, u = 0, a = S >>> 16, p = 65535 & B | S << 16, _.__setDigit(n, p);\n\t }\n\t }\n\t } }, { key: \"__internalMultiplyAdd\", value: function value(e, t, _, g, o) {\n\t for (var a = _, s = 0, u = 0; u < g; u++) {\n\t var r = e.__digit(u),\n\t d = l.__imul(65535 & r, t),\n\t h = (65535 & d) + s + a;a = h >>> 16;var b = l.__imul(r >>> 16, t),\n\t m = (65535 & b) + (d >>> 16) + a;a = m >>> 16, s = b >>> 16, o.__setDigit(u, m << 16 | 65535 & h);\n\t }if (o.length > g) for (o.__setDigit(g++, a + s); g < o.length;) {\n\t o.__setDigit(g++, 0);\n\t } else if (0 !== a + s) throw new Error(\"implementation bug\");\n\t } }, { key: \"__absoluteDivSmall\", value: function value(e, t, _) {\n\t null === _ && (_ = new l(e.length, !1));for (var n = 0, g = 2 * e.length - 1; 0 <= g; g -= 2) {\n\t var o = (n << 16 | e.__halfDigit(g)) >>> 0,\n\t a = 0 | o / t;n = 0 | o % t, o = (n << 16 | e.__halfDigit(g - 1)) >>> 0;var s = 0 | o / t;n = 0 | o % t, _.__setDigit(g >>> 1, a << 16 | s);\n\t }return _;\n\t } }, { key: \"__absoluteModSmall\", value: function value(e, t) {\n\t for (var _, n = 0, l = 2 * e.length - 1; 0 <= l; l--) {\n\t _ = (n << 16 | e.__halfDigit(l)) >>> 0, n = 0 | _ % t;\n\t }return n;\n\t } }, { key: \"__absoluteDivLarge\", value: function value(e, t, i, _) {\n\t var g = t.__halfDigitLength(),\n\t n = t.length,\n\t o = e.__halfDigitLength() - g,\n\t a = null;i && (a = new l(o + 2 >>> 1, !1), a.__initializeDigits());var s = new l(g + 2 >>> 1, !1);s.__initializeDigits();var r = l.__clz16(t.__halfDigit(g - 1));0 < r && (t = l.__specialLeftShift(t, r, 0));for (var d = l.__specialLeftShift(e, r, 1), u = t.__halfDigit(g - 1), h = 0, b = o; 0 <= b; b--) {\n\t var m = 65535,\n\t v = d.__halfDigit(b + g);if (v !== u) {\n\t var f = (v << 16 | d.__halfDigit(b + g - 1)) >>> 0;m = 0 | f / u;for (var y = 0 | f % u, k = t.__halfDigit(g - 2), D = d.__halfDigit(b + g - 2); l.__imul(m, k) >>> 0 > (y << 16 | D) >>> 0 && (m--, y += u, !(65535 < y));) {}\n\t }l.__internalMultiplyAdd(t, m, 0, n, s);var p = d.__inplaceSub(s, b, g + 1);0 !== p && (p = d.__inplaceAdd(t, b, g), d.__setHalfDigit(b + g, d.__halfDigit(b + g) + p), m--), i && (1 & b ? h = m << 16 : a.__setDigit(b >>> 1, h | m));\n\t }return _ ? (d.__inplaceRightShift(r), i ? { quotient: a, remainder: d } : d) : i ? a : void 0;\n\t } }, { key: \"__clz16\", value: function value(e) {\n\t return l.__clz32(e) - 16;\n\t } }, { key: \"__specialLeftShift\", value: function value(e, t, _) {\n\t var g = e.length,\n\t n = new l(g + _, !1);if (0 === t) {\n\t for (var o = 0; o < g; o++) {\n\t n.__setDigit(o, e.__digit(o));\n\t }return 0 < _ && n.__setDigit(g, 0), n;\n\t }for (var a, s = 0, u = 0; u < g; u++) {\n\t a = e.__digit(u), n.__setDigit(u, a << t | s), s = a >>> 32 - t;\n\t }return 0 < _ && n.__setDigit(g, s), n;\n\t } }, { key: \"__leftShiftByAbsolute\", value: function value(e, t) {\n\t var _ = l.__toShiftAmount(t);if (0 > _) throw new RangeError(\"BigInt too big\");var n = _ >>> 5,\n\t g = 31 & _,\n\t o = e.length,\n\t a = 0 !== g && 0 != e.__digit(o - 1) >>> 32 - g,\n\t s = o + n + (a ? 1 : 0),\n\t u = new l(s, e.sign);if (0 === g) {\n\t for (var r = 0; r < n; r++) {\n\t u.__setDigit(r, 0);\n\t }for (; r < s; r++) {\n\t u.__setDigit(r, e.__digit(r - n));\n\t }\n\t } else {\n\t for (var h = 0, b = 0; b < n; b++) {\n\t u.__setDigit(b, 0);\n\t }for (var m, c = 0; c < o; c++) {\n\t m = e.__digit(c), u.__setDigit(c + n, m << g | h), h = m >>> 32 - g;\n\t }if (a) u.__setDigit(o + n, h);else if (0 !== h) throw new Error(\"implementation bug\");\n\t }return u.__trim();\n\t } }, { key: \"__rightShiftByAbsolute\", value: function value(e, t) {\n\t var _ = e.length,\n\t n = e.sign,\n\t g = l.__toShiftAmount(t);if (0 > g) return l.__rightShiftByMaximum(n);var o = g >>> 5,\n\t a = 31 & g,\n\t s = _ - o;if (0 >= s) return l.__rightShiftByMaximum(n);var u = !1;if (n) {\n\t if (0 != (e.__digit(o) & (1 << a) - 1)) u = !0;else for (var r = 0; r < o; r++) {\n\t if (0 !== e.__digit(r)) {\n\t u = !0;break;\n\t }\n\t }\n\t }if (u && 0 === a) {\n\t var h = e.__digit(_ - 1);0 == ~h && s++;\n\t }var b = new l(s, n);if (0 === a) for (var m = o; m < _; m++) {\n\t b.__setDigit(m - o, e.__digit(m));\n\t } else {\n\t for (var c, v = e.__digit(o) >>> a, f = _ - o - 1, y = 0; y < f; y++) {\n\t c = e.__digit(y + o + 1), b.__setDigit(y, c << 32 - a | v), v = c >>> a;\n\t }b.__setDigit(f, v);\n\t }return u && (b = l.__absoluteAddOne(b, !0, b)), b.__trim();\n\t } }, { key: \"__rightShiftByMaximum\", value: function value(e) {\n\t return e ? l.__oneDigit(1, !0) : l.__zero();\n\t } }, { key: \"__toShiftAmount\", value: function value(e) {\n\t if (1 < e.length) return -1;var t = e.__unsignedDigit(0);return t > l.__kMaxLengthBits ? -1 : t;\n\t } }, { key: \"__toPrimitive\", value: function value(t) {\n\t var i = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : \"default\";if (\"object\" !== e(t)) return t;if (t.constructor === l) return t;var _ = t[Symbol.toPrimitive];if (_) {\n\t var n = _(i);if (\"object\" !== e(n)) return n;throw new TypeError(\"Cannot convert object to primitive value\");\n\t }var g = t.valueOf;if (g) {\n\t var o = g.call(t);if (\"object\" !== e(o)) return o;\n\t }var a = t.toString;if (a) {\n\t var s = a.call(t);if (\"object\" !== e(s)) return s;\n\t }throw new TypeError(\"Cannot convert object to primitive value\");\n\t } }, { key: \"__toNumeric\", value: function value(e) {\n\t return l.__isBigInt(e) ? e : +e;\n\t } }, { key: \"__isBigInt\", value: function value(t) {\n\t return \"object\" === e(t) && t.constructor === l;\n\t } }, { key: \"__truncateToNBits\", value: function value(e, t) {\n\t for (var _ = e + 31 >>> 5, n = new l(_, t.sign), g = _ - 1, o = 0; o < g; o++) {\n\t n.__setDigit(o, t.__digit(o));\n\t }var a = t.__digit(g);if (0 != (31 & e)) {\n\t var s = 32 - (31 & e);a = a << s >>> s;\n\t }return n.__setDigit(g, a), n.__trim();\n\t } }, { key: \"__truncateAndSubFromPowerOfTwo\", value: function value(e, t, _) {\n\t for (var n = Math.min, g = e + 31 >>> 5, o = new l(g, _), a = 0, s = g - 1, u = 0, r = n(s, t.length); a < r; a++) {\n\t var d = t.__digit(a),\n\t h = 0 - (65535 & d) - u;u = 1 & h >>> 16;var b = 0 - (d >>> 16) - u;u = 1 & b >>> 16, o.__setDigit(a, 65535 & h | b << 16);\n\t }for (; a < s; a++) {\n\t o.__setDigit(a, 0 | -u);\n\t }var m,\n\t c = s < t.length ? t.__digit(s) : 0,\n\t v = 31 & e;if (0 === v) {\n\t var f = 0 - (65535 & c) - u;u = 1 & f >>> 16;var y = 0 - (c >>> 16) - u;m = 65535 & f | y << 16;\n\t } else {\n\t var k = 32 - v;c = c << k >>> k;var D = 1 << 32 - k,\n\t p = (65535 & D) - (65535 & c) - u;u = 1 & p >>> 16;var B = (D >>> 16) - (c >>> 16) - u;m = 65535 & p | B << 16, m &= D - 1;\n\t }return o.__setDigit(s, m), o.__trim();\n\t } }, { key: \"__digitPow\", value: function value(e, t) {\n\t for (var i = 1; 0 < t;) {\n\t 1 & t && (i *= e), t >>>= 1, e *= e;\n\t }return i;\n\t } }]), l;\n\t }(u(Array));return y.__kMaxLength = 33554432, y.__kMaxLengthBits = y.__kMaxLength << 5, y.__kMaxBitsPerChar = [0, 0, 32, 51, 64, 75, 83, 90, 96, 102, 107, 111, 115, 119, 122, 126, 128, 131, 134, 136, 139, 141, 143, 145, 147, 149, 151, 153, 154, 156, 158, 159, 160, 162, 163, 165, 166], y.__kBitsPerCharTableShift = 5, y.__kBitsPerCharTableMultiplier = 1 << y.__kBitsPerCharTableShift, y.__kConversionChars = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"], y.__kBitConversionBuffer = new ArrayBuffer(8), y.__kBitConversionDouble = new Float64Array(y.__kBitConversionBuffer), y.__kBitConversionInts = new Int32Array(y.__kBitConversionBuffer), y.__clz32 = f || function (e) {\n\t var t = Math.LN2,\n\t i = Math.log;return 0 === e ? 32 : 0 | 31 - (0 | i(e >>> 0) / t);\n\t }, y.__imul = v || function (e, t) {\n\t return 0 | e * t;\n\t }, y;\n\t});\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {\"use strict\";\n\t/**\n\t * @file JSONRPC 2.0 request authentication with steem authorities.\n\t * @author Johan Nordberg <johan@steemit.com>\n\t */\n\t\n\tvar __extends = undefined && undefined.__extends || function () {\n\t var extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (d, b) {\n\t d.__proto__ = b;\n\t } || function (d, b) {\n\t for (var p in b) {\n\t if (b.hasOwnProperty(p)) d[p] = b[p];\n\t }\n\t };\n\t return function (d, b) {\n\t extendStatics(d, b);\n\t function __() {\n\t this.constructor = d;\n\t }\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n\t };\n\t}();\n\tvar __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {\n\t return new (P || (P = Promise))(function (resolve, reject) {\n\t function fulfilled(value) {\n\t try {\n\t step(generator.next(value));\n\t } catch (e) {\n\t reject(e);\n\t }\n\t }\n\t function rejected(value) {\n\t try {\n\t step(generator[\"throw\"](value));\n\t } catch (e) {\n\t reject(e);\n\t }\n\t }\n\t function step(result) {\n\t result.done ? resolve(result.value) : new P(function (resolve) {\n\t resolve(result.value);\n\t }).then(fulfilled, rejected);\n\t }\n\t step((generator = generator.apply(thisArg, _arguments || [])).next());\n\t });\n\t};\n\tvar __generator = undefined && undefined.__generator || function (thisArg, body) {\n\t var _ = { label: 0, sent: function sent() {\n\t if (t[0] & 1) throw t[1];return t[1];\n\t }, trys: [], ops: [] },\n\t f,\n\t y,\n\t t,\n\t g;\n\t return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n\t return this;\n\t }), g;\n\t function verb(n) {\n\t return function (v) {\n\t return step([n, v]);\n\t };\n\t }\n\t function step(op) {\n\t if (f) throw new TypeError(\"Generator is already executing.\");\n\t while (_) {\n\t try {\n\t if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n\t if (y = 0, t) op = [0, t.value];\n\t switch (op[0]) {\n\t case 0:case 1:\n\t t = op;break;\n\t case 4:\n\t _.label++;return { value: op[1], done: false };\n\t case 5:\n\t _.label++;y = op[1];op = [0];continue;\n\t case 7:\n\t op = _.ops.pop();_.trys.pop();continue;\n\t default:\n\t if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n\t _ = 0;continue;\n\t }\n\t if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n\t _.label = op[1];break;\n\t }\n\t if (op[0] === 6 && _.label < t[1]) {\n\t _.label = t[1];t = op;break;\n\t }\n\t if (t && _.label < t[2]) {\n\t _.label = t[2];_.ops.push(op);break;\n\t }\n\t if (t[2]) _.ops.pop();\n\t _.trys.pop();continue;\n\t }\n\t op = body.call(thisArg, _);\n\t } catch (e) {\n\t op = [6, e];y = 0;\n\t } finally {\n\t f = t = 0;\n\t }\n\t }if (op[0] & 5) throw op[1];return { value: op[0] ? op[1] : void 0, done: true };\n\t }\n\t};\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar libcrypto_1 = __webpack_require__(207);\n\tvar crypto_1 = __webpack_require__(208);\n\t/**\n\t * Signing constant used to reserve opcode space and prevent cross-protocol attacks.\n\t * Output of `sha256('steem_jsonrpc_auth')`.\n\t */\n\texports.K = Buffer.from('3b3b081e46ea808d5a96b08c4bc5003f5e15767090f344faab531ec57565136b', 'hex');\n\t/**\n\t * Thrown when a request fails validation.\n\t */\n\tvar ValidationError = /** @class */function (_super) {\n\t __extends(ValidationError, _super);\n\t function ValidationError(message, cause) {\n\t var _this = _super.call(this, message) || this;\n\t _this.name = 'ValidationError';\n\t if (cause) {\n\t _this.cause = cause;\n\t _this.message += \" (\" + cause.message + \")\";\n\t }\n\t return _this;\n\t }\n\t return ValidationError;\n\t}(Error);\n\t/**\n\t * Create request hash to be signed.\n\t *\n\t * @param timestamp ISO8601 formatted date e.g. `2017-11-14T19:40:29.077Z`.\n\t * @param account Steem account name that is the signer.\n\t * @param method RPC request method.\n\t * @param params Base64 encoded JSON string containing request params.\n\t * @param nonce 8 bytes of random data.\n\t *\n\t * @returns bytes to be signed or validated.\n\t */\n\tfunction hashMessage(timestamp, account, method, params, nonce) {\n\t var first = crypto_1.createHash('sha256');\n\t first.update(timestamp);\n\t first.update(account);\n\t first.update(method);\n\t first.update(params);\n\t var second = crypto_1.createHash('sha256');\n\t second.update(exports.K);\n\t second.update(first.digest());\n\t second.update(nonce);\n\t return second.digest();\n\t}\n\t/**\n\t * Sign a JSON RPC Request.\n\t */\n\tfunction sign(request, account, keys) {\n\t if (!request.params) {\n\t throw new Error('Unable to sign a request without params');\n\t }\n\t var params = Buffer.from(JSON.stringify(request.params), 'utf8').toString('base64');\n\t var nonceBytes = crypto_1.randomBytes(8);\n\t var nonce = nonceBytes.toString('hex');\n\t var timestamp = new Date().toISOString();\n\t var message = hashMessage(timestamp, account, request.method, params, nonceBytes);\n\t var signatures = [];\n\t for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n\t var key = keys_1[_i];\n\t if (typeof key === 'string') {\n\t key = libcrypto_1.PrivateKey.from(key);\n\t }\n\t var signature = libcrypto_1.hexify(key.sign(message.buffer));\n\t signatures.push(signature);\n\t }\n\t return {\n\t jsonrpc: '2.0',\n\t method: request.method,\n\t id: request.id,\n\t params: {\n\t __signed: {\n\t account: account,\n\t nonce: nonce,\n\t params: params,\n\t signatures: signatures,\n\t timestamp: timestamp\n\t }\n\t }\n\t };\n\t}\n\texports.sign = sign;\n\t/**\n\t * Validate a signed JSON RPC request.\n\t * Throws a {@link ValidationError} if the request fails validation.\n\t *\n\t * @returns Resolved request params.\n\t */\n\tfunction validate(request, verify) {\n\t return __awaiter(this, void 0, void 0, function () {\n\t var signed, params, jsonString, nonce, timestamp, message, cause_1;\n\t return __generator(this, function (_a) {\n\t switch (_a.label) {\n\t case 0:\n\t if (request.jsonrpc !== '2.0' || typeof request.method !== 'string') {\n\t throw new ValidationError('Invalid JSON RPC Request');\n\t }\n\t if (request.params == undefined || request.params.__signed == undefined) {\n\t throw new ValidationError('Signed payload missing');\n\t }\n\t if (Object.keys(request.params).length !== 1) {\n\t throw new ValidationError('Invalid request params');\n\t }\n\t signed = request.params.__signed;\n\t if (signed.account == undefined) {\n\t throw new ValidationError('Missing account');\n\t }\n\t try {\n\t jsonString = Buffer.from(signed.params, 'base64').toString('utf8');\n\t params = JSON.parse(jsonString);\n\t } catch (cause) {\n\t throw new ValidationError('Invalid encoded params', cause);\n\t }\n\t if (signed.nonce == undefined || typeof signed.nonce !== 'string') {\n\t throw new ValidationError('Invalid nonce');\n\t }\n\t nonce = Buffer.from(signed.nonce, 'hex');\n\t if (nonce.length !== 8) {\n\t throw new ValidationError('Invalid nonce');\n\t }\n\t timestamp = Date.parse(signed.timestamp);\n\t if (Number.isNaN(timestamp)) {\n\t throw new ValidationError('Invalid timestamp');\n\t }\n\t if (Date.now() - timestamp > 60 * 1000) {\n\t throw new ValidationError('Signature expired');\n\t }\n\t message = hashMessage(signed.timestamp, signed.account, request.method, signed.params, nonce);\n\t _a.label = 1;\n\t case 1:\n\t _a.trys.push([1, 3,, 4]);\n\t return [4 /*yield*/, verify(message, signed.signatures, signed.account)];\n\t case 2:\n\t _a.sent();\n\t return [3 /*break*/, 4];\n\t case 3:\n\t cause_1 = _a.sent();\n\t throw new ValidationError('Verification failed', cause_1);\n\t case 4:\n\t return [2 /*return*/, params];\n\t }\n\t });\n\t });\n\t}\n\texports.validate = validate;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/* global self */\n\t(function (root, factory) {\n\t if (( false ? 'undefined' : _typeof(exports)) === 'object' && typeof exports.nodeName !== 'string') {\n\t // CommonJS\n\t factory(exports);\n\t } else {\n\t // Browser globals\n\t root.steemit = root.steemit || {};\n\t factory(root.steemit.crypto = {});\n\t }\n\t})(typeof self !== 'undefined' ? self : undefined, function (exports) {\n\t exports.PrivateKey = PrivateKey;\n\t exports.PublicKey = PublicKey;\n\t exports.generateKeys = generateKeys;\n\t exports.keysFromPassword = keysFromPassword;\n\t exports.sha256 = sha256;\n\t exports.ripemd160 = ripemd160;\n\t exports.hexify = hexify;\n\t\n\t var sjcl = function () {\n\t // SJCL is inserted here automatically by the build process.\n\t /** @fileOverview Javascript cryptography implementation.\n\t *\n\t * Crush to remove comments, shorten variable names and\n\t * generally reduce transmission size.\n\t *\n\t * @author Emily Stark\n\t * @author Mike Hamburg\n\t * @author Dan Boneh\n\t */\n\t\n\t \"use strict\";\n\t /*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */\n\t /*global document, window, escape, unescape, module, require, Uint32Array */\n\t\n\t /**\n\t * The Stanford Javascript Crypto Library, top-level namespace.\n\t * @namespace\n\t */\n\t\n\t var sjcl = {\n\t /**\n\t * Symmetric ciphers.\n\t * @namespace\n\t */\n\t cipher: {},\n\t\n\t /**\n\t * Hash functions. Right now only SHA256 is implemented.\n\t * @namespace\n\t */\n\t hash: {},\n\t\n\t /**\n\t * Key exchange functions. Right now only SRP is implemented.\n\t * @namespace\n\t */\n\t keyexchange: {},\n\t\n\t /**\n\t * Cipher modes of operation.\n\t * @namespace\n\t */\n\t mode: {},\n\t\n\t /**\n\t * Miscellaneous. HMAC and PBKDF2.\n\t * @namespace\n\t */\n\t misc: {},\n\t\n\t /**\n\t * Bit array encoders and decoders.\n\t * @namespace\n\t *\n\t * @description\n\t * The members of this namespace are functions which translate between\n\t * SJCL's bitArrays and other objects (usually strings). Because it\n\t * isn't always clear which direction is encoding and which is decoding,\n\t * the method names are \"fromBits\" and \"toBits\".\n\t */\n\t codec: {},\n\t\n\t /**\n\t * Exceptions.\n\t * @namespace\n\t */\n\t exception: {\n\t /**\n\t * Ciphertext is corrupt.\n\t * @constructor\n\t */\n\t corrupt: function corrupt(message) {\n\t this.toString = function () {\n\t return \"CORRUPT: \" + this.message;\n\t };\n\t this.message = message;\n\t },\n\t\n\t /**\n\t * Invalid parameter.\n\t * @constructor\n\t */\n\t invalid: function invalid(message) {\n\t this.toString = function () {\n\t return \"INVALID: \" + this.message;\n\t };\n\t this.message = message;\n\t },\n\t\n\t /**\n\t * Bug or missing feature in SJCL.\n\t * @constructor\n\t */\n\t bug: function bug(message) {\n\t this.toString = function () {\n\t return \"BUG: \" + this.message;\n\t };\n\t this.message = message;\n\t },\n\t\n\t /**\n\t * Something isn't ready.\n\t * @constructor\n\t */\n\t notReady: function notReady(message) {\n\t this.toString = function () {\n\t return \"NOT READY: \" + this.message;\n\t };\n\t this.message = message;\n\t }\n\t }\n\t };\n\t /** @fileOverview Arrays of bits, encoded as arrays of Numbers.\n\t *\n\t * @author Emily Stark\n\t * @author Mike Hamburg\n\t * @author Dan Boneh\n\t */\n\t\n\t /**\n\t * Arrays of bits, encoded as arrays of Numbers.\n\t * @namespace\n\t * @description\n\t * <p>\n\t * These objects are the currency accepted by SJCL's crypto functions.\n\t * </p>\n\t *\n\t * <p>\n\t * Most of our crypto primitives operate on arrays of 4-byte words internally,\n\t * but many of them can take arguments that are not a multiple of 4 bytes.\n\t * This library encodes arrays of bits (whose size need not be a multiple of 8\n\t * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an\n\t * array of words, 32 bits at a time. Since the words are double-precision\n\t * floating point numbers, they fit some extra data. We use this (in a private,\n\t * possibly-changing manner) to encode the number of bits actually present\n\t * in the last word of the array.\n\t * </p>\n\t *\n\t * <p>\n\t * Because bitwise ops clear this out-of-band data, these arrays can be passed\n\t * to ciphers like AES which want arrays of words.\n\t * </p>\n\t */\n\t sjcl.bitArray = {\n\t /**\n\t * Array slices in units of bits.\n\t * @param {bitArray} a The array to slice.\n\t * @param {Number} bstart The offset to the start of the slice, in bits.\n\t * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,\n\t * slice until the end of the array.\n\t * @return {bitArray} The requested slice.\n\t */\n\t bitSlice: function bitSlice(a, bstart, bend) {\n\t a = sjcl.bitArray._shiftRight(a.slice(bstart / 32), 32 - (bstart & 31)).slice(1);\n\t return bend === undefined ? a : sjcl.bitArray.clamp(a, bend - bstart);\n\t },\n\t\n\t /**\n\t * Extract a number packed into a bit array.\n\t * @param {bitArray} a The array to slice.\n\t * @param {Number} bstart The offset to the start of the slice, in bits.\n\t * @param {Number} blength The length of the number to extract.\n\t * @return {Number} The requested slice.\n\t */\n\t extract: function extract(a, bstart, blength) {\n\t // FIXME: this Math.floor is not necessary at all, but for some reason\n\t // seems to suppress a bug in the Chromium JIT.\n\t var x,\n\t sh = Math.floor(-bstart - blength & 31);\n\t if ((bstart + blength - 1 ^ bstart) & -32) {\n\t // it crosses a boundary\n\t x = a[bstart / 32 | 0] << 32 - sh ^ a[bstart / 32 + 1 | 0] >>> sh;\n\t } else {\n\t // within a single word\n\t x = a[bstart / 32 | 0] >>> sh;\n\t }\n\t return x & (1 << blength) - 1;\n\t },\n\t\n\t /**\n\t * Concatenate two bit arrays.\n\t * @param {bitArray} a1 The first array.\n\t * @param {bitArray} a2 The second array.\n\t * @return {bitArray} The concatenation of a1 and a2.\n\t */\n\t concat: function concat(a1, a2) {\n\t if (a1.length === 0 || a2.length === 0) {\n\t return a1.concat(a2);\n\t }\n\t\n\t var last = a1[a1.length - 1],\n\t shift = sjcl.bitArray.getPartial(last);\n\t if (shift === 32) {\n\t return a1.concat(a2);\n\t } else {\n\t return sjcl.bitArray._shiftRight(a2, shift, last | 0, a1.slice(0, a1.length - 1));\n\t }\n\t },\n\t\n\t /**\n\t * Find the length of an array of bits.\n\t * @param {bitArray} a The array.\n\t * @return {Number} The length of a, in bits.\n\t */\n\t bitLength: function bitLength(a) {\n\t var l = a.length,\n\t x;\n\t if (l === 0) {\n\t return 0;\n\t }\n\t x = a[l - 1];\n\t return (l - 1) * 32 + sjcl.bitArray.getPartial(x);\n\t },\n\t\n\t /**\n\t * Truncate an array.\n\t * @param {bitArray} a The array.\n\t * @param {Number} len The length to truncate to, in bits.\n\t * @return {bitArray} A new array, truncated to len bits.\n\t */\n\t clamp: function clamp(a, len) {\n\t if (a.length * 32 < len) {\n\t return a;\n\t }\n\t a = a.slice(0, Math.ceil(len / 32));\n\t var l = a.length;\n\t len = len & 31;\n\t if (l > 0 && len) {\n\t a[l - 1] = sjcl.bitArray.partial(len, a[l - 1] & 0x80000000 >> len - 1, 1);\n\t }\n\t return a;\n\t },\n\t\n\t /**\n\t * Make a partial word for a bit array.\n\t * @param {Number} len The number of bits in the word.\n\t * @param {Number} x The bits.\n\t * @param {Number} [_end=0] Pass 1 if x has already been shifted to the high side.\n\t * @return {Number} The partial word.\n\t */\n\t partial: function partial(len, x, _end) {\n\t if (len === 32) {\n\t return x;\n\t }\n\t return (_end ? x | 0 : x << 32 - len) + len * 0x10000000000;\n\t },\n\t\n\t /**\n\t * Get the number of bits used by a partial word.\n\t * @param {Number} x The partial word.\n\t * @return {Number} The number of bits used by the partial word.\n\t */\n\t getPartial: function getPartial(x) {\n\t return Math.round(x / 0x10000000000) || 32;\n\t },\n\t\n\t /**\n\t * Compare two arrays for equality in a predictable amount of time.\n\t * @param {bitArray} a The first array.\n\t * @param {bitArray} b The second array.\n\t * @return {boolean} true if a == b; false otherwise.\n\t */\n\t equal: function equal(a, b) {\n\t if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {\n\t return false;\n\t }\n\t var x = 0,\n\t i;\n\t for (i = 0; i < a.length; i++) {\n\t x |= a[i] ^ b[i];\n\t }\n\t return x === 0;\n\t },\n\t\n\t /** Shift an array right.\n\t * @param {bitArray} a The array to shift.\n\t * @param {Number} shift The number of bits to shift.\n\t * @param {Number} [carry=0] A byte to carry in\n\t * @param {bitArray} [out=[]] An array to prepend to the output.\n\t * @private\n\t */\n\t _shiftRight: function _shiftRight(a, shift, carry, out) {\n\t var i,\n\t last2 = 0,\n\t shift2;\n\t if (out === undefined) {\n\t out = [];\n\t }\n\t\n\t for (; shift >= 32; shift -= 32) {\n\t out.push(carry);\n\t carry = 0;\n\t }\n\t if (shift === 0) {\n\t return out.concat(a);\n\t }\n\t\n\t for (i = 0; i < a.length; i++) {\n\t out.push(carry | a[i] >>> shift);\n\t carry = a[i] << 32 - shift;\n\t }\n\t last2 = a.length ? a[a.length - 1] : 0;\n\t shift2 = sjcl.bitArray.getPartial(last2);\n\t out.push(sjcl.bitArray.partial(shift + shift2 & 31, shift + shift2 > 32 ? carry : out.pop(), 1));\n\t return out;\n\t },\n\t\n\t /** xor a block of 4 words together.\n\t * @private\n\t */\n\t _xor4: function _xor4(x, y) {\n\t return [x[0] ^ y[0], x[1] ^ y[1], x[2] ^ y[2], x[3] ^ y[3]];\n\t },\n\t\n\t /** byteswap a word array inplace.\n\t * (does not handle partial words)\n\t * @param {sjcl.bitArray} a word array\n\t * @return {sjcl.bitArray} byteswapped array\n\t */\n\t byteswapM: function byteswapM(a) {\n\t var i,\n\t v,\n\t m = 0xff00;\n\t for (i = 0; i < a.length; ++i) {\n\t v = a[i];\n\t a[i] = v >>> 24 | v >>> 8 & m | (v & m) << 8 | v << 24;\n\t }\n\t return a;\n\t }\n\t };\n\t /** @fileOverview Low-level AES implementation.\n\t *\n\t * This file contains a low-level implementation of AES, optimized for\n\t * size and for efficiency on several browsers. It is based on\n\t * OpenSSL's aes_core.c, a public-domain implementation by Vincent\n\t * Rijmen, Antoon Bosselaers and Paulo Barreto.\n\t *\n\t * An older version of this implementation is available in the public\n\t * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,\n\t * Stanford University 2008-2010 and BSD-licensed for liability\n\t * reasons.\n\t *\n\t * @author Emily Stark\n\t * @author Mike Hamburg\n\t * @author Dan Boneh\n\t */\n\t\n\t /**\n\t * Schedule out an AES key for both encryption and decryption. This\n\t * is a low-level class. Use a cipher mode to do bulk encryption.\n\t *\n\t * @constructor\n\t * @param {Array} key The key as an array of 4, 6 or 8 words.\n\t */\n\t sjcl.cipher.aes = function (key) {\n\t if (!this._tables[0][0][0]) {\n\t this._precompute();\n\t }\n\t\n\t var i,\n\t j,\n\t tmp,\n\t encKey,\n\t decKey,\n\t sbox = this._tables[0][4],\n\t decTable = this._tables[1],\n\t keyLen = key.length,\n\t rcon = 1;\n\t\n\t if (keyLen !== 4 && keyLen !== 6 && keyLen !== 8) {\n\t throw new sjcl.exception.invalid(\"invalid aes key size\");\n\t }\n\t\n\t this._key = [encKey = key.slice(0), decKey = []];\n\t\n\t // schedule encryption keys\n\t for (i = keyLen; i < 4 * keyLen + 28; i++) {\n\t tmp = encKey[i - 1];\n\t\n\t // apply sbox\n\t if (i % keyLen === 0 || keyLen === 8 && i % keyLen === 4) {\n\t tmp = sbox[tmp >>> 24] << 24 ^ sbox[tmp >> 16 & 255] << 16 ^ sbox[tmp >> 8 & 255] << 8 ^ sbox[tmp & 255];\n\t\n\t // shift rows and add rcon\n\t if (i % keyLen === 0) {\n\t tmp = tmp << 8 ^ tmp >>> 24 ^ rcon << 24;\n\t rcon = rcon << 1 ^ (rcon >> 7) * 283;\n\t }\n\t }\n\t\n\t encKey[i] = encKey[i - keyLen] ^ tmp;\n\t }\n\t\n\t // schedule decryption keys\n\t for (j = 0; i; j++, i--) {\n\t tmp = encKey[j & 3 ? i : i - 4];\n\t if (i <= 4 || j < 4) {\n\t decKey[j] = tmp;\n\t } else {\n\t decKey[j] = decTable[0][sbox[tmp >>> 24]] ^ decTable[1][sbox[tmp >> 16 & 255]] ^ decTable[2][sbox[tmp >> 8 & 255]] ^ decTable[3][sbox[tmp & 255]];\n\t }\n\t }\n\t };\n\t\n\t sjcl.cipher.aes.prototype = {\n\t // public\n\t /* Something like this might appear here eventually\n\t name: \"AES\",\n\t blockSize: 4,\n\t keySizes: [4,6,8],\n\t */\n\t\n\t /**\n\t * Encrypt an array of 4 big-endian words.\n\t * @param {Array} data The plaintext.\n\t * @return {Array} The ciphertext.\n\t */\n\t encrypt: function encrypt(data) {\n\t return this._crypt(data, 0);\n\t },\n\t\n\t /**\n\t * Decrypt an array of 4 big-endian words.\n\t * @param {Array} data The ciphertext.\n\t * @return {Array} The plaintext.\n\t */\n\t decrypt: function decrypt(data) {\n\t return this._crypt(data, 1);\n\t },\n\t\n\t /**\n\t * The expanded S-box and inverse S-box tables. These will be computed\n\t * on the client so that we don't have to send them down the wire.\n\t *\n\t * There are two tables, _tables[0] is for encryption and\n\t * _tables[1] is for decryption.\n\t *\n\t * The first 4 sub-tables are the expanded S-box with MixColumns. The\n\t * last (_tables[01][4]) is the S-box itself.\n\t *\n\t * @private\n\t */\n\t _tables: [[[], [], [], [], []], [[], [], [], [], []]],\n\t\n\t /**\n\t * Expand the S-box tables.\n\t *\n\t * @private\n\t */\n\t _precompute: function _precompute() {\n\t var encTable = this._tables[0],\n\t decTable = this._tables[1],\n\t sbox = encTable[4],\n\t sboxInv = decTable[4],\n\t i,\n\t x,\n\t xInv,\n\t d = [],\n\t th = [],\n\t x2,\n\t x4,\n\t x8,\n\t s,\n\t tEnc,\n\t tDec;\n\t\n\t // Compute double and third tables\n\t for (i = 0; i < 256; i++) {\n\t th[(d[i] = i << 1 ^ (i >> 7) * 283) ^ i] = i;\n\t }\n\t\n\t for (x = xInv = 0; !sbox[x]; x ^= x2 || 1, xInv = th[xInv] || 1) {\n\t // Compute sbox\n\t s = xInv ^ xInv << 1 ^ xInv << 2 ^ xInv << 3 ^ xInv << 4;\n\t s = s >> 8 ^ s & 255 ^ 99;\n\t sbox[x] = s;\n\t sboxInv[s] = x;\n\t\n\t // Compute MixColumns\n\t x8 = d[x4 = d[x2 = d[x]]];\n\t tDec = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n\t tEnc = d[s] * 0x101 ^ s * 0x1010100;\n\t\n\t for (i = 0; i < 4; i++) {\n\t encTable[i][x] = tEnc = tEnc << 24 ^ tEnc >>> 8;\n\t decTable[i][s] = tDec = tDec << 24 ^ tDec >>> 8;\n\t }\n\t }\n\t\n\t // Compactify. Considerable speedup on Firefox.\n\t for (i = 0; i < 5; i++) {\n\t encTable[i] = encTable[i].slice(0);\n\t decTable[i] = decTable[i].slice(0);\n\t }\n\t },\n\t\n\t /**\n\t * Encryption and decryption core.\n\t * @param {Array} input Four words to be encrypted or decrypted.\n\t * @param dir The direction, 0 for encrypt and 1 for decrypt.\n\t * @return {Array} The four encrypted or decrypted words.\n\t * @private\n\t */\n\t _crypt: function _crypt(input, dir) {\n\t if (input.length !== 4) {\n\t throw new sjcl.exception.invalid(\"invalid aes block size\");\n\t }\n\t\n\t var key = this._key[dir],\n\t\n\t // state variables a,b,c,d are loaded with pre-whitened data\n\t a = input[0] ^ key[0],\n\t b = input[dir ? 3 : 1] ^ key[1],\n\t c = input[2] ^ key[2],\n\t d = input[dir ? 1 : 3] ^ key[3],\n\t a2,\n\t b2,\n\t c2,\n\t nInnerRounds = key.length / 4 - 2,\n\t i,\n\t kIndex = 4,\n\t out = [0, 0, 0, 0],\n\t table = this._tables[dir],\n\t\n\t\n\t // load up the tables\n\t t0 = table[0],\n\t t1 = table[1],\n\t t2 = table[2],\n\t t3 = table[3],\n\t sbox = table[4];\n\t\n\t // Inner rounds. Cribbed from OpenSSL.\n\t for (i = 0; i < nInnerRounds; i++) {\n\t a2 = t0[a >>> 24] ^ t1[b >> 16 & 255] ^ t2[c >> 8 & 255] ^ t3[d & 255] ^ key[kIndex];\n\t b2 = t0[b >>> 24] ^ t1[c >> 16 & 255] ^ t2[d >> 8 & 255] ^ t3[a & 255] ^ key[kIndex + 1];\n\t c2 = t0[c >>> 24] ^ t1[d >> 16 & 255] ^ t2[a >> 8 & 255] ^ t3[b & 255] ^ key[kIndex + 2];\n\t d = t0[d >>> 24] ^ t1[a >> 16 & 255] ^ t2[b >> 8 & 255] ^ t3[c & 255] ^ key[kIndex + 3];\n\t kIndex += 4;\n\t a = a2;b = b2;c = c2;\n\t }\n\t\n\t // Last round.\n\t for (i = 0; i < 4; i++) {\n\t out[dir ? 3 & -i : i] = sbox[a >>> 24] << 24 ^ sbox[b >> 16 & 255] << 16 ^ sbox[c >> 8 & 255] << 8 ^ sbox[d & 255] ^ key[kIndex++];\n\t a2 = a;a = b;b = c;c = d;d = a2;\n\t }\n\t\n\t return out;\n\t }\n\t };\n\t\n\t /**\n\t * Constructs a new bignum from another bignum, a number or a hex string.\n\t * @constructor\n\t */\n\t sjcl.bn = function (it) {\n\t this.initWith(it);\n\t };\n\t\n\t sjcl.bn.prototype = {\n\t radix: 24,\n\t maxMul: 8,\n\t _class: sjcl.bn,\n\t\n\t copy: function copy() {\n\t return new this._class(this);\n\t },\n\t\n\t /**\n\t * Initializes this with it, either as a bn, a number, or a hex string.\n\t */\n\t initWith: function initWith(it) {\n\t var i = 0,\n\t k;\n\t switch (typeof it === 'undefined' ? 'undefined' : _typeof(it)) {\n\t case \"object\":\n\t this.limbs = it.limbs.slice(0);\n\t break;\n\t\n\t case \"number\":\n\t this.limbs = [it];\n\t this.normalize();\n\t break;\n\t\n\t case \"string\":\n\t it = it.replace(/^0x/, '');\n\t this.limbs = [];\n\t // hack\n\t k = this.radix / 4;\n\t for (i = 0; i < it.length; i += k) {\n\t this.limbs.push(parseInt(it.substring(Math.max(it.length - i - k, 0), it.length - i), 16));\n\t }\n\t break;\n\t\n\t default:\n\t this.limbs = [0];\n\t }\n\t return this;\n\t },\n\t\n\t /**\n\t * Returns true if \"this\" and \"that\" are equal. Calls fullReduce().\n\t * Equality test is in constant time.\n\t */\n\t equals: function equals(that) {\n\t if (typeof that === \"number\") {\n\t that = new this._class(that);\n\t }\n\t var difference = 0,\n\t i;\n\t this.fullReduce();\n\t that.fullReduce();\n\t for (i = 0; i < this.limbs.length || i < that.limbs.length; i++) {\n\t difference |= this.getLimb(i) ^ that.getLimb(i);\n\t }\n\t return difference === 0;\n\t },\n\t\n\t /**\n\t * Get the i'th limb of this, zero if i is too large.\n\t */\n\t getLimb: function getLimb(i) {\n\t return i >= this.limbs.length ? 0 : this.limbs[i];\n\t },\n\t\n\t /**\n\t * Constant time comparison function.\n\t * Returns 1 if this >= that, or zero otherwise.\n\t */\n\t greaterEquals: function greaterEquals(that) {\n\t if (typeof that === \"number\") {\n\t that = new this._class(that);\n\t }\n\t var less = 0,\n\t greater = 0,\n\t i,\n\t a,\n\t b;\n\t i = Math.max(this.limbs.length, that.limbs.length) - 1;\n\t for (; i >= 0; i--) {\n\t a = this.getLimb(i);\n\t b = that.getLimb(i);\n\t greater |= b - a & ~less;\n\t less |= a - b & ~greater;\n\t }\n\t return (greater | ~less) >>> 31;\n\t },\n\t\n\t /**\n\t * Convert to a hex string.\n\t */\n\t toString: function toString() {\n\t this.fullReduce();\n\t var out = \"\",\n\t i,\n\t s,\n\t l = this.limbs;\n\t for (i = 0; i < this.limbs.length; i++) {\n\t s = l[i].toString(16);\n\t while (i < this.limbs.length - 1 && s.length < 6) {\n\t s = \"0\" + s;\n\t }\n\t out = s + out;\n\t }\n\t return \"0x\" + out;\n\t },\n\t\n\t /** this += that. Does not normalize. */\n\t addM: function addM(that) {\n\t if ((typeof that === 'undefined' ? 'undefined' : _typeof(that)) !== \"object\") {\n\t that = new this._class(that);\n\t }\n\t var i,\n\t l = this.limbs,\n\t ll = that.limbs;\n\t for (i = l.length; i < ll.length; i++) {\n\t l[i] = 0;\n\t }\n\t for (i = 0; i < ll.length; i++) {\n\t l[i] += ll[i];\n\t }\n\t return this;\n\t },\n\t\n\t /** this *= 2. Requires normalized; ends up normalized. */\n\t doubleM: function doubleM() {\n\t var i,\n\t carry = 0,\n\t tmp,\n\t r = this.radix,\n\t m = this.radixMask,\n\t l = this.limbs;\n\t for (i = 0; i < l.length; i++) {\n\t tmp = l[i];\n\t tmp = tmp + tmp + carry;\n\t l[i] = tmp & m;\n\t carry = tmp >> r;\n\t }\n\t if (carry) {\n\t l.push(carry);\n\t }\n\t return this;\n\t },\n\t\n\t /** this /= 2, rounded down. Requires normalized; ends up normalized. */\n\t halveM: function halveM() {\n\t var i,\n\t carry = 0,\n\t tmp,\n\t r = this.radix,\n\t l = this.limbs;\n\t for (i = l.length - 1; i >= 0; i--) {\n\t tmp = l[i];\n\t l[i] = tmp + carry >> 1;\n\t carry = (tmp & 1) << r;\n\t }\n\t if (!l[l.length - 1]) {\n\t l.pop();\n\t }\n\t return this;\n\t },\n\t\n\t /** this -= that. Does not normalize. */\n\t subM: function subM(that) {\n\t if ((typeof that === 'undefined' ? 'undefined' : _typeof(that)) !== \"object\") {\n\t that = new this._class(that);\n\t }\n\t var i,\n\t l = this.limbs,\n\t ll = that.limbs;\n\t for (i = l.length; i < ll.length; i++) {\n\t l[i] = 0;\n\t }\n\t for (i = 0; i < ll.length; i++) {\n\t l[i] -= ll[i];\n\t }\n\t return this;\n\t },\n\t\n\t mod: function mod(that) {\n\t var neg = !this.greaterEquals(new sjcl.bn(0));\n\t\n\t that = new sjcl.bn(that).normalize(); // copy before we begin\n\t var out = new sjcl.bn(this).normalize(),\n\t ci = 0;\n\t\n\t if (neg) out = new sjcl.bn(0).subM(out).normalize();\n\t\n\t for (; out.greaterEquals(that); ci++) {\n\t that.doubleM();\n\t }\n\t\n\t if (neg) out = that.sub(out).normalize();\n\t\n\t for (; ci > 0; ci--) {\n\t that.halveM();\n\t if (out.greaterEquals(that)) {\n\t out.subM(that).normalize();\n\t }\n\t }\n\t return out.trim();\n\t },\n\t\n\t /** return inverse mod prime p. p must be odd. Binary extended Euclidean algorithm mod p. */\n\t inverseMod: function inverseMod(p) {\n\t var a = new sjcl.bn(1),\n\t b = new sjcl.bn(0),\n\t x = new sjcl.bn(this),\n\t y = new sjcl.bn(p),\n\t tmp,\n\t i,\n\t nz = 1;\n\t\n\t if (!(p.limbs[0] & 1)) {\n\t throw new sjcl.exception.invalid(\"inverseMod: p must be odd\");\n\t }\n\t\n\t // invariant: y is odd\n\t do {\n\t if (x.limbs[0] & 1) {\n\t if (!x.greaterEquals(y)) {\n\t // x < y; swap everything\n\t tmp = x;x = y;y = tmp;\n\t tmp = a;a = b;b = tmp;\n\t }\n\t x.subM(y);\n\t x.normalize();\n\t\n\t if (!a.greaterEquals(b)) {\n\t a.addM(p);\n\t }\n\t a.subM(b);\n\t }\n\t\n\t // cut everything in half\n\t x.halveM();\n\t if (a.limbs[0] & 1) {\n\t a.addM(p);\n\t }\n\t a.normalize();\n\t a.halveM();\n\t\n\t // check for termination: x ?= 0\n\t for (i = nz = 0; i < x.limbs.length; i++) {\n\t nz |= x.limbs[i];\n\t }\n\t } while (nz);\n\t\n\t if (!y.equals(1)) {\n\t throw new sjcl.exception.invalid(\"inverseMod: p and x must be relatively prime\");\n\t }\n\t\n\t return b;\n\t },\n\t\n\t /** this + that. Does not normalize. */\n\t add: function add(that) {\n\t return this.copy().addM(that);\n\t },\n\t\n\t /** this - that. Does not normalize. */\n\t sub: function sub(that) {\n\t return this.copy().subM(that);\n\t },\n\t\n\t /** this * that. Normalizes and reduces. */\n\t mul: function mul(that) {\n\t if (typeof that === \"number\") {\n\t that = new this._class(that);\n\t }\n\t var i,\n\t j,\n\t a = this.limbs,\n\t b = that.limbs,\n\t al = a.length,\n\t bl = b.length,\n\t out = new this._class(),\n\t c = out.limbs,\n\t ai,\n\t ii = this.maxMul;\n\t\n\t for (i = 0; i < this.limbs.length + that.limbs.length + 1; i++) {\n\t c[i] = 0;\n\t }\n\t for (i = 0; i < al; i++) {\n\t ai = a[i];\n\t for (j = 0; j < bl; j++) {\n\t c[i + j] += ai * b[j];\n\t }\n\t\n\t if (! --ii) {\n\t ii = this.maxMul;\n\t out.cnormalize();\n\t }\n\t }\n\t return out.cnormalize().reduce();\n\t },\n\t\n\t /** this ^ 2. Normalizes and reduces. */\n\t square: function square() {\n\t return this.mul(this);\n\t },\n\t\n\t /** this ^ n. Uses square-and-multiply. Normalizes and reduces. */\n\t power: function power(l) {\n\t l = new sjcl.bn(l).normalize().trim().limbs;\n\t var i,\n\t j,\n\t out = new this._class(1),\n\t pow = this;\n\t\n\t for (i = 0; i < l.length; i++) {\n\t for (j = 0; j < this.radix; j++) {\n\t if (l[i] & 1 << j) {\n\t out = out.mul(pow);\n\t }\n\t if (i == l.length - 1 && l[i] >> j + 1 == 0) {\n\t break;\n\t }\n\t\n\t pow = pow.square();\n\t }\n\t }\n\t\n\t return out;\n\t },\n\t\n\t /** this * that mod N */\n\t mulmod: function mulmod(that, N) {\n\t return this.mod(N).mul(that.mod(N)).mod(N);\n\t },\n\t\n\t /** this ^ x mod N */\n\t powermod: function powermod(x, N) {\n\t x = new sjcl.bn(x);\n\t N = new sjcl.bn(N);\n\t\n\t // Jump to montpowermod if possible.\n\t if ((N.limbs[0] & 1) == 1) {\n\t var montOut = this.montpowermod(x, N);\n\t\n\t if (montOut != false) {\n\t return montOut;\n\t } // else go to slow powermod\n\t }\n\t\n\t var i,\n\t j,\n\t l = x.normalize().trim().limbs,\n\t out = new this._class(1),\n\t pow = this;\n\t\n\t for (i = 0; i < l.length; i++) {\n\t for (j = 0; j < this.radix; j++) {\n\t if (l[i] & 1 << j) {\n\t out = out.mulmod(pow, N);\n\t }\n\t if (i == l.length - 1 && l[i] >> j + 1 == 0) {\n\t break;\n\t }\n\t\n\t pow = pow.mulmod(pow, N);\n\t }\n\t }\n\t\n\t return out;\n\t },\n\t\n\t /** this ^ x mod N with Montomery reduction */\n\t montpowermod: function montpowermod(x, N) {\n\t x = new sjcl.bn(x).normalize().trim();\n\t N = new sjcl.bn(N);\n\t\n\t var i,\n\t j,\n\t radix = this.radix,\n\t out = new this._class(1),\n\t pow = this.copy();\n\t\n\t // Generate R as a cap of N.\n\t var R,\n\t s,\n\t wind,\n\t bitsize = x.bitLength();\n\t\n\t R = new sjcl.bn({\n\t limbs: N.copy().normalize().trim().limbs.map(function () {\n\t return 0;\n\t })\n\t });\n\t\n\t for (s = this.radix; s > 0; s--) {\n\t if ((N.limbs[N.limbs.length - 1] >> s & 1) == 1) {\n\t R.limbs[R.limbs.length - 1] = 1 << s;\n\t break;\n\t }\n\t }\n\t\n\t // Calculate window size as a function of the exponent's size.\n\t if (bitsize == 0) {\n\t return this;\n\t } else if (bitsize < 18) {\n\t wind = 1;\n\t } else if (bitsize < 48) {\n\t wind = 3;\n\t } else if (bitsize < 144) {\n\t wind = 4;\n\t } else if (bitsize < 768) {\n\t wind = 5;\n\t } else {\n\t wind = 6;\n\t }\n\t\n\t // Find R' and N' such that R * R' - N * N' = 1.\n\t var RR = R.copy(),\n\t NN = N.copy(),\n\t RP = new sjcl.bn(1),\n\t NP = new sjcl.bn(0),\n\t RT = R.copy();\n\t\n\t while (RT.greaterEquals(1)) {\n\t RT.halveM();\n\t\n\t if ((RP.limbs[0] & 1) == 0) {\n\t RP.halveM();\n\t NP.halveM();\n\t } else {\n\t RP.addM(NN);\n\t RP.halveM();\n\t\n\t NP.halveM();\n\t NP.addM(RR);\n\t }\n\t }\n\t\n\t RP = RP.normalize();\n\t NP = NP.normalize();\n\t\n\t RR.doubleM();\n\t var R2 = RR.mulmod(RR, N);\n\t\n\t // Check whether the invariant holds.\n\t // If it doesn't, we can't use Montgomery reduction on this modulus.\n\t if (!RR.mul(RP).sub(N.mul(NP)).equals(1)) {\n\t return false;\n\t }\n\t\n\t var montIn = function montIn(c) {\n\t return montMul(c, R2);\n\t },\n\t montMul = function montMul(a, b) {\n\t // Standard Montgomery reduction\n\t var k,\n\t carry,\n\t ab,\n\t right,\n\t abBar,\n\t mask = (1 << s + 1) - 1;\n\t\n\t ab = a.mul(b);\n\t\n\t right = ab.mul(NP);\n\t right.limbs = right.limbs.slice(0, R.limbs.length);\n\t\n\t if (right.limbs.length == R.limbs.length) {\n\t right.limbs[R.limbs.length - 1] &= mask;\n\t }\n\t\n\t right = right.mul(N);\n\t\n\t abBar = ab.add(right).normalize().trim();\n\t abBar.limbs = abBar.limbs.slice(R.limbs.length - 1);\n\t\n\t // Division. Equivelent to calling *.halveM() s times.\n\t for (k = 0; k < abBar.limbs.length; k++) {\n\t if (k > 0) {\n\t abBar.limbs[k - 1] |= (abBar.limbs[k] & mask) << radix - s - 1;\n\t }\n\t\n\t abBar.limbs[k] = abBar.limbs[k] >> s + 1;\n\t }\n\t\n\t if (abBar.greaterEquals(N)) {\n\t abBar.subM(N);\n\t }\n\t\n\t return abBar;\n\t },\n\t montOut = function montOut(c) {\n\t return montMul(c, 1);\n\t };\n\t\n\t pow = montIn(pow);\n\t out = montIn(out);\n\t\n\t // Sliding-Window Exponentiation (HAC 14.85)\n\t var h,\n\t precomp = {},\n\t cap = (1 << wind - 1) - 1;\n\t\n\t precomp[1] = pow.copy();\n\t precomp[2] = montMul(pow, pow);\n\t\n\t for (h = 1; h <= cap; h++) {\n\t precomp[2 * h + 1] = montMul(precomp[2 * h - 1], precomp[2]);\n\t }\n\t\n\t var getBit = function getBit(exp, i) {\n\t // Gets ith bit of exp.\n\t var off = i % exp.radix;\n\t\n\t return (exp.limbs[Math.floor(i / exp.radix)] & 1 << off) >> off;\n\t };\n\t\n\t for (i = x.bitLength() - 1; i >= 0;) {\n\t if (getBit(x, i) == 0) {\n\t // If the next bit is zero:\n\t // Square, move forward one bit.\n\t out = montMul(out, out);\n\t i = i - 1;\n\t } else {\n\t // If the next bit is one:\n\t // Find the longest sequence of bits after this one, less than `wind`\n\t // bits long, that ends with a 1. Convert the sequence into an\n\t // integer and look up the pre-computed value to add.\n\t var l = i - wind + 1;\n\t\n\t while (getBit(x, l) == 0) {\n\t l++;\n\t }\n\t\n\t var indx = 0;\n\t for (j = l; j <= i; j++) {\n\t indx += getBit(x, j) << j - l;\n\t out = montMul(out, out);\n\t }\n\t\n\t out = montMul(out, precomp[indx]);\n\t\n\t i = l - 1;\n\t }\n\t }\n\t\n\t return montOut(out);\n\t },\n\t\n\t trim: function trim() {\n\t var l = this.limbs,\n\t p;\n\t do {\n\t p = l.pop();\n\t } while (l.length && p === 0);\n\t l.push(p);\n\t return this;\n\t },\n\t\n\t /** Reduce mod a modulus. Stubbed for subclassing. */\n\t reduce: function reduce() {\n\t return this;\n\t },\n\t\n\t /** Reduce and normalize. */\n\t fullReduce: function fullReduce() {\n\t return this.normalize();\n\t },\n\t\n\t /** Propagate carries. */\n\t normalize: function normalize() {\n\t var carry = 0,\n\t i,\n\t pv = this.placeVal,\n\t ipv = this.ipv,\n\t l,\n\t m,\n\t limbs = this.limbs,\n\t ll = limbs.length,\n\t mask = this.radixMask;\n\t for (i = 0; i < ll || carry !== 0 && carry !== -1; i++) {\n\t l = (limbs[i] || 0) + carry;\n\t m = limbs[i] = l & mask;\n\t carry = (l - m) * ipv;\n\t }\n\t if (carry === -1) {\n\t limbs[i - 1] -= pv;\n\t }\n\t this.trim();\n\t return this;\n\t },\n\t\n\t /** Constant-time normalize. Does not allocate additional space. */\n\t cnormalize: function cnormalize() {\n\t var carry = 0,\n\t i,\n\t ipv = this.ipv,\n\t l,\n\t m,\n\t limbs = this.limbs,\n\t ll = limbs.length,\n\t mask = this.radixMask;\n\t for (i = 0; i < ll - 1; i++) {\n\t l = limbs[i] + carry;\n\t m = limbs[i] = l & mask;\n\t carry = (l - m) * ipv;\n\t }\n\t limbs[i] += carry;\n\t return this;\n\t },\n\t\n\t /** Serialize to a bit array */\n\t toBits: function toBits(len) {\n\t this.fullReduce();\n\t len = len || this.exponent || this.bitLength();\n\t var i = Math.floor((len - 1) / 24),\n\t w = sjcl.bitArray,\n\t e = (len + 7 & -8) % this.radix || this.radix,\n\t out = [w.partial(e, this.getLimb(i))];\n\t for (i--; i >= 0; i--) {\n\t out = w.concat(out, [w.partial(Math.min(this.radix, len), this.getLimb(i))]);\n\t len -= this.radix;\n\t }\n\t return out;\n\t },\n\t\n\t /** Return the length in bits, rounded up to the nearest byte. */\n\t bitLength: function bitLength() {\n\t this.fullReduce();\n\t var out = this.radix * (this.limbs.length - 1),\n\t b = this.limbs[this.limbs.length - 1];\n\t for (; b; b >>>= 1) {\n\t out++;\n\t }\n\t return out + 7 & -8;\n\t }\n\t };\n\t\n\t /** @memberOf sjcl.bn\n\t * @this { sjcl.bn }\n\t */\n\t sjcl.bn.fromBits = function (bits) {\n\t var Class = this,\n\t out = new Class(),\n\t words = [],\n\t w = sjcl.bitArray,\n\t t = this.prototype,\n\t l = Math.min(this.bitLength || 0x100000000, w.bitLength(bits)),\n\t e = l % t.radix || t.radix;\n\t\n\t words[0] = w.extract(bits, 0, e);\n\t for (; e < l; e += t.radix) {\n\t words.unshift(w.extract(bits, e, t.radix));\n\t }\n\t\n\t out.limbs = words;\n\t return out;\n\t };\n\t\n\t sjcl.bn.prototype.ipv = 1 / (sjcl.bn.prototype.placeVal = Math.pow(2, sjcl.bn.prototype.radix));\n\t sjcl.bn.prototype.radixMask = (1 << sjcl.bn.prototype.radix) - 1;\n\t\n\t /**\n\t * Creates a new subclass of bn, based on reduction modulo a pseudo-Mersenne prime,\n\t * i.e. a prime of the form 2^e + sum(a * 2^b),where the sum is negative and sparse.\n\t */\n\t sjcl.bn.pseudoMersennePrime = function (exponent, coeff) {\n\t /** @constructor\n\t * @private\n\t */\n\t function p(it) {\n\t this.initWith(it);\n\t /*if (this.limbs[this.modOffset]) {\n\t this.reduce();\n\t }*/\n\t }\n\t\n\t var ppr = p.prototype = new sjcl.bn(),\n\t i,\n\t tmp,\n\t mo;\n\t mo = ppr.modOffset = Math.ceil(tmp = exponent / ppr.radix);\n\t ppr.exponent = exponent;\n\t ppr.offset = [];\n\t ppr.factor = [];\n\t ppr.minOffset = mo;\n\t ppr.fullMask = 0;\n\t ppr.fullOffset = [];\n\t ppr.fullFactor = [];\n\t ppr.modulus = p.modulus = new sjcl.bn(Math.pow(2, exponent));\n\t\n\t ppr.fullMask = 0 | -Math.pow(2, exponent % ppr.radix);\n\t\n\t for (i = 0; i < coeff.length; i++) {\n\t ppr.offset[i] = Math.floor(coeff[i][0] / ppr.radix - tmp);\n\t ppr.fullOffset[i] = Math.ceil(coeff[i][0] / ppr.radix - tmp);\n\t ppr.factor[i] = coeff[i][1] * Math.pow(1 / 2, exponent - coeff[i][0] + ppr.offset[i] * ppr.radix);\n\t ppr.fullFactor[i] = coeff[i][1] * Math.pow(1 / 2, exponent - coeff[i][0] + ppr.fullOffset[i] * ppr.radix);\n\t ppr.modulus.addM(new sjcl.bn(Math.pow(2, coeff[i][0]) * coeff[i][1]));\n\t ppr.minOffset = Math.min(ppr.minOffset, -ppr.offset[i]); // conservative\n\t }\n\t ppr._class = p;\n\t ppr.modulus.cnormalize();\n\t\n\t /** Approximate reduction mod p. May leave a number which is negative or slightly larger than p.\n\t * @memberof sjcl.bn\n\t * @this { sjcl.bn }\n\t */\n\t ppr.reduce = function () {\n\t var i,\n\t k,\n\t l,\n\t mo = this.modOffset,\n\t limbs = this.limbs,\n\t off = this.offset,\n\t ol = this.offset.length,\n\t fac = this.factor,\n\t ll;\n\t\n\t i = this.minOffset;\n\t while (limbs.length > mo) {\n\t l = limbs.pop();\n\t ll = limbs.length;\n\t for (k = 0; k < ol; k++) {\n\t limbs[ll + off[k]] -= fac[k] * l;\n\t }\n\t\n\t i--;\n\t if (!i) {\n\t limbs.push(0);\n\t this.cnormalize();\n\t i = this.minOffset;\n\t }\n\t }\n\t this.cnormalize();\n\t\n\t return this;\n\t };\n\t\n\t /** @memberof sjcl.bn\n\t * @this { sjcl.bn }\n\t */\n\t ppr._strongReduce = ppr.fullMask === -1 ? ppr.reduce : function () {\n\t var limbs = this.limbs,\n\t i = limbs.length - 1,\n\t k,\n\t l;\n\t this.reduce();\n\t if (i === this.modOffset - 1) {\n\t l = limbs[i] & this.fullMask;\n\t limbs[i] -= l;\n\t for (k = 0; k < this.fullOffset.length; k++) {\n\t limbs[i + this.fullOffset[k]] -= this.fullFactor[k] * l;\n\t }\n\t this.normalize();\n\t }\n\t };\n\t\n\t /** mostly constant-time, very expensive full reduction.\n\t * @memberof sjcl.bn\n\t * @this { sjcl.bn }\n\t */\n\t ppr.fullReduce = function () {\n\t var greater, i;\n\t // massively above the modulus, may be negative\n\t\n\t this._strongReduce();\n\t // less than twice the modulus, may be negative\n\t\n\t this.addM(this.modulus);\n\t this.addM(this.modulus);\n\t this.normalize();\n\t // probably 2-3x the modulus\n\t\n\t this._strongReduce();\n\t // less than the power of 2. still may be more than\n\t // the modulus\n\t\n\t // HACK: pad out to this length\n\t for (i = this.limbs.length; i < this.modOffset; i++) {\n\t this.limbs[i] = 0;\n\t }\n\t\n\t // constant-time subtract modulus\n\t greater = this.greaterEquals(this.modulus);\n\t for (i = 0; i < this.limbs.length; i++) {\n\t this.limbs[i] -= this.modulus.limbs[i] * greater;\n\t }\n\t this.cnormalize();\n\t\n\t return this;\n\t };\n\t\n\t /** @memberof sjcl.bn\n\t * @this { sjcl.bn }\n\t */\n\t ppr.inverse = function () {\n\t return this.power(this.modulus.sub(2));\n\t };\n\t\n\t p.fromBits = sjcl.bn.fromBits;\n\t\n\t return p;\n\t };\n\t\n\t // a small Mersenne prime\n\t var sbp = sjcl.bn.pseudoMersennePrime;\n\t sjcl.bn.prime = {\n\t p127: sbp(127, [[0, -1]]),\n\t\n\t // Bernstein's prime for Curve25519\n\t p25519: sbp(255, [[0, -19]]),\n\t\n\t // Koblitz primes\n\t p192k: sbp(192, [[32, -1], [12, -1], [8, -1], [7, -1], [6, -1], [3, -1], [0, -1]]),\n\t p224k: sbp(224, [[32, -1], [12, -1], [11, -1], [9, -1], [7, -1], [4, -1], [1, -1], [0, -1]]),\n\t p256k: sbp(256, [[32, -1], [9, -1], [8, -1], [7, -1], [6, -1], [4, -1], [0, -1]]),\n\t\n\t // NIST primes\n\t p192: sbp(192, [[0, -1], [64, -1]]),\n\t p224: sbp(224, [[0, 1], [96, -1]]),\n\t p256: sbp(256, [[0, -1], [96, 1], [192, 1], [224, -1]]),\n\t p384: sbp(384, [[0, -1], [32, 1], [96, -1], [128, -1]]),\n\t p521: sbp(521, [[0, -1]])\n\t };\n\t\n\t sjcl.bn.random = function (modulus, paranoia) {\n\t if ((typeof modulus === 'undefined' ? 'undefined' : _typeof(modulus)) !== \"object\") {\n\t modulus = new sjcl.bn(modulus);\n\t }\n\t var words,\n\t i,\n\t l = modulus.limbs.length,\n\t m = modulus.limbs[l - 1] + 1,\n\t out = new sjcl.bn();\n\t while (true) {\n\t // get a sequence whose first digits make sense\n\t do {\n\t words = sjcl.random.randomWords(l, paranoia);\n\t if (words[l - 1] < 0) {\n\t words[l - 1] += 0x100000000;\n\t }\n\t } while (Math.floor(words[l - 1] / m) === Math.floor(0x100000000 / m));\n\t words[l - 1] %= m;\n\t\n\t // mask off all the limbs\n\t for (i = 0; i < l - 1; i++) {\n\t words[i] &= modulus.radixMask;\n\t }\n\t\n\t // check the rest of the digitssj\n\t out.limbs = words;\n\t if (!out.greaterEquals(modulus)) {\n\t return out;\n\t }\n\t }\n\t };\n\t /** @fileOverview Bit array codec implementations.\n\t *\n\t * @author Marco Munizaga\n\t */\n\t\n\t //patch arraybuffers if they don't exist\n\t if (typeof ArrayBuffer === 'undefined') {\n\t (function (globals) {\n\t \"use strict\";\n\t\n\t globals.ArrayBuffer = function () {};\n\t globals.DataView = function () {};\n\t })(this);\n\t }\n\t\n\t /**\n\t * ArrayBuffer\n\t * @namespace\n\t */\n\t sjcl.codec.arrayBuffer = {\n\t /** Convert from a bitArray to an ArrayBuffer. \n\t * Will default to 8byte padding if padding is undefined*/\n\t fromBits: function fromBits(arr, padding, padding_count) {\n\t var out, i, ol, tmp, smallest;\n\t padding = padding == undefined ? true : padding;\n\t padding_count = padding_count || 8;\n\t\n\t if (arr.length === 0) {\n\t return new ArrayBuffer(0);\n\t }\n\t\n\t ol = sjcl.bitArray.bitLength(arr) / 8;\n\t\n\t //check to make sure the bitLength is divisible by 8, if it isn't \n\t //we can't do anything since arraybuffers work with bytes, not bits\n\t if (sjcl.bitArray.bitLength(arr) % 8 !== 0) {\n\t throw new sjcl.exception.invalid(\"Invalid bit size, must be divisble by 8 to fit in an arraybuffer correctly\");\n\t }\n\t\n\t if (padding && ol % padding_count !== 0) {\n\t ol += padding_count - ol % padding_count;\n\t }\n\t\n\t //padded temp for easy copying\n\t tmp = new DataView(new ArrayBuffer(arr.length * 4));\n\t for (i = 0; i < arr.length; i++) {\n\t tmp.setUint32(i * 4, arr[i] << 32); //get rid of the higher bits\n\t }\n\t\n\t //now copy the final message if we are not going to 0 pad\n\t out = new DataView(new ArrayBuffer(ol));\n\t\n\t //save a step when the tmp and out bytelength are ===\n\t if (out.byteLength === tmp.byteLength) {\n\t return tmp.buffer;\n\t }\n\t\n\t smallest = tmp.byteLength < out.byteLength ? tmp.byteLength : out.byteLength;\n\t for (i = 0; i < smallest; i++) {\n\t out.setUint8(i, tmp.getUint8(i));\n\t }\n\t\n\t return out.buffer;\n\t },\n\t\n\t toBits: function toBits(buffer) {\n\t var i,\n\t out = [],\n\t len,\n\t inView,\n\t tmp;\n\t\n\t if (buffer.byteLength === 0) {\n\t return [];\n\t }\n\t\n\t inView = new DataView(buffer);\n\t len = inView.byteLength - inView.byteLength % 4;\n\t\n\t for (var i = 0; i < len; i += 4) {\n\t out.push(inView.getUint32(i));\n\t }\n\t\n\t if (inView.byteLength % 4 != 0) {\n\t tmp = new DataView(new ArrayBuffer(4));\n\t for (var i = 0, l = inView.byteLength % 4; i < l; i++) {\n\t //we want the data to the right, because partial slices off the starting bits\n\t tmp.setUint8(i + 4 - l, inView.getUint8(len + i)); // big-endian, \n\t }\n\t out.push(sjcl.bitArray.partial(inView.byteLength % 4 * 8, tmp.getUint32(0)));\n\t }\n\t return out;\n\t },\n\t\n\t /** Prints a hex output of the buffer contents, akin to hexdump **/\n\t hexDumpBuffer: function hexDumpBuffer(buffer) {\n\t var stringBufferView = new DataView(buffer);\n\t var string = '';\n\t var pad = function pad(n, width) {\n\t n = n + '';\n\t return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;\n\t };\n\t\n\t for (var i = 0; i < stringBufferView.byteLength; i += 2) {\n\t if (i % 16 == 0) string += '\\n' + i.toString(16) + '\\t';\n\t string += pad(stringBufferView.getUint16(i).toString(16), 4) + ' ';\n\t }\n\t\n\t if ((typeof console === 'undefined' ? 'undefined' : _typeof(console)) === undefined) {\n\t console = console || { log: function log() {} }; //fix for IE\n\t }\n\t console.log(string.toUpperCase());\n\t }\n\t };\n\t\n\t /** @fileOverview Bit array codec implementations.\n\t *\n\t * @author Emily Stark\n\t * @author Mike Hamburg\n\t * @author Dan Boneh\n\t */\n\t\n\t /**\n\t * UTF-8 strings\n\t * @namespace\n\t */\n\t sjcl.codec.utf8String = {\n\t /** Convert from a bitArray to a UTF-8 string. */\n\t fromBits: function fromBits(arr) {\n\t var out = \"\",\n\t bl = sjcl.bitArray.bitLength(arr),\n\t i,\n\t tmp;\n\t for (i = 0; i < bl / 8; i++) {\n\t if ((i & 3) === 0) {\n\t tmp = arr[i / 4];\n\t }\n\t out += String.fromCharCode(tmp >>> 8 >>> 8 >>> 8);\n\t tmp <<= 8;\n\t }\n\t return decodeURIComponent(escape(out));\n\t },\n\t\n\t /** Convert from a UTF-8 string to a bitArray. */\n\t toBits: function toBits(str) {\n\t str = unescape(encodeURIComponent(str));\n\t var out = [],\n\t i,\n\t tmp = 0;\n\t for (i = 0; i < str.length; i++) {\n\t tmp = tmp << 8 | str.charCodeAt(i);\n\t if ((i & 3) === 3) {\n\t out.push(tmp);\n\t tmp = 0;\n\t }\n\t }\n\t if (i & 3) {\n\t out.push(sjcl.bitArray.partial(8 * (i & 3), tmp));\n\t }\n\t return out;\n\t }\n\t };\n\t /**\n\t * base class for all ecc operations.\n\t * @namespace\n\t */\n\t sjcl.ecc = {};\n\t\n\t /**\n\t * Represents a point on a curve in affine coordinates.\n\t * @constructor\n\t * @param {sjcl.ecc.curve} curve The curve that this point lies on.\n\t * @param {bigInt} x The x coordinate.\n\t * @param {bigInt} y The y coordinate.\n\t */\n\t sjcl.ecc.point = function (curve, x, y) {\n\t if (x === undefined) {\n\t this.isIdentity = true;\n\t } else {\n\t if (x instanceof sjcl.bn) {\n\t x = new curve.field(x);\n\t }\n\t if (y instanceof sjcl.bn) {\n\t y = new curve.field(y);\n\t }\n\t\n\t this.x = x;\n\t this.y = y;\n\t\n\t this.isIdentity = false;\n\t }\n\t this.curve = curve;\n\t };\n\t\n\t sjcl.ecc.point.prototype = {\n\t toJac: function toJac() {\n\t return new sjcl.ecc.pointJac(this.curve, this.x, this.y, new this.curve.field(1));\n\t },\n\t\n\t mult: function mult(k) {\n\t return this.toJac().mult(k, this).toAffine();\n\t },\n\t\n\t /**\n\t * Multiply this point by k, added to affine2*k2, and return the answer in Jacobian coordinates.\n\t * @param {bigInt} k The coefficient to multiply this by.\n\t * @param {bigInt} k2 The coefficient to multiply affine2 this by.\n\t * @param {sjcl.ecc.point} affine The other point in affine coordinates.\n\t * @return {sjcl.ecc.pointJac} The result of the multiplication and addition, in Jacobian coordinates.\n\t */\n\t mult2: function mult2(k, k2, affine2) {\n\t return this.toJac().mult2(k, this, k2, affine2).toAffine();\n\t },\n\t\n\t multiples: function multiples() {\n\t var m, i, j;\n\t if (this._multiples === undefined) {\n\t j = this.toJac().doubl();\n\t m = this._multiples = [new sjcl.ecc.point(this.curve), this, j.toAffine()];\n\t for (i = 3; i < 16; i++) {\n\t j = j.add(this);\n\t m.push(j.toAffine());\n\t }\n\t }\n\t return this._multiples;\n\t },\n\t\n\t negate: function negate() {\n\t var newY = new this.curve.field(0).sub(this.y).normalize().reduce();\n\t return new sjcl.ecc.point(this.curve, this.x, newY);\n\t },\n\t\n\t isValid: function isValid() {\n\t return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))));\n\t },\n\t\n\t toBits: function toBits() {\n\t return sjcl.bitArray.concat(this.x.toBits(), this.y.toBits());\n\t }\n\t };\n\t\n\t /**\n\t * Represents a point on a curve in Jacobian coordinates. Coordinates can be specified as bigInts or strings (which\n\t * will be converted to bigInts).\n\t *\n\t * @constructor\n\t * @param {bigInt/string} x The x coordinate.\n\t * @param {bigInt/string} y The y coordinate.\n\t * @param {bigInt/string} z The z coordinate.\n\t * @param {sjcl.ecc.curve} curve The curve that this point lies on.\n\t */\n\t sjcl.ecc.pointJac = function (curve, x, y, z) {\n\t if (x === undefined) {\n\t this.isIdentity = true;\n\t } else {\n\t this.x = x;\n\t this.y = y;\n\t this.z = z;\n\t this.isIdentity = false;\n\t }\n\t this.curve = curve;\n\t };\n\t\n\t sjcl.ecc.pointJac.prototype = {\n\t /**\n\t * Adds S and T and returns the result in Jacobian coordinates. Note that S must be in Jacobian coordinates and T must be in affine coordinates.\n\t * @param {sjcl.ecc.pointJac} S One of the points to add, in Jacobian coordinates.\n\t * @param {sjcl.ecc.point} T The other point to add, in affine coordinates.\n\t * @return {sjcl.ecc.pointJac} The sum of the two points, in Jacobian coordinates.\n\t */\n\t add: function add(T) {\n\t var S = this,\n\t sz2,\n\t c,\n\t d,\n\t c2,\n\t x1,\n\t x2,\n\t x,\n\t y1,\n\t y2,\n\t y,\n\t z;\n\t if (S.curve !== T.curve) {\n\t throw new sjcl.exception.invalid(\"sjcl.ecc.add(): Points must be on the same curve to add them!\");\n\t }\n\t\n\t if (S.isIdentity) {\n\t return T.toJac();\n\t } else if (T.isIdentity) {\n\t return S;\n\t }\n\t\n\t sz2 = S.z.square();\n\t c = T.x.mul(sz2).subM(S.x);\n\t\n\t if (c.equals(0)) {\n\t if (S.y.equals(T.y.mul(sz2.mul(S.z)))) {\n\t // same point\n\t return S.doubl();\n\t } else {\n\t // inverses\n\t return new sjcl.ecc.pointJac(S.curve);\n\t }\n\t }\n\t\n\t d = T.y.mul(sz2.mul(S.z)).subM(S.y);\n\t c2 = c.square();\n\t\n\t x1 = d.square();\n\t x2 = c.square().mul(c).addM(S.x.add(S.x).mul(c2));\n\t x = x1.subM(x2);\n\t\n\t y1 = S.x.mul(c2).subM(x).mul(d);\n\t y2 = S.y.mul(c.square().mul(c));\n\t y = y1.subM(y2);\n\t\n\t z = S.z.mul(c);\n\t\n\t return new sjcl.ecc.pointJac(this.curve, x, y, z);\n\t },\n\t\n\t /**\n\t * doubles this point.\n\t * @return {sjcl.ecc.pointJac} The doubled point.\n\t */\n\t doubl: function doubl() {\n\t if (this.isIdentity) {\n\t return this;\n\t }\n\t\n\t var y2 = this.y.square(),\n\t a = y2.mul(this.x.mul(4)),\n\t b = y2.square().mul(8),\n\t z2 = this.z.square(),\n\t c = this.curve.a.toString() == new sjcl.bn(-3).toString() ? this.x.sub(z2).mul(3).mul(this.x.add(z2)) : this.x.square().mul(3).add(z2.square().mul(this.curve.a)),\n\t x = c.square().subM(a).subM(a),\n\t y = a.sub(x).mul(c).subM(b),\n\t z = this.y.add(this.y).mul(this.z);\n\t return new sjcl.ecc.pointJac(this.curve, x, y, z);\n\t },\n\t\n\t /**\n\t * Returns a copy of this point converted to affine coordinates.\n\t * @return {sjcl.ecc.point} The converted point.\n\t */\n\t toAffine: function toAffine() {\n\t if (this.isIdentity || this.z.equals(0)) {\n\t return new sjcl.ecc.point(this.curve);\n\t }\n\t var zi = this.z.inverse(),\n\t zi2 = zi.square();\n\t return new sjcl.ecc.point(this.curve, this.x.mul(zi2).fullReduce(), this.y.mul(zi2.mul(zi)).fullReduce());\n\t },\n\t\n\t /**\n\t * Multiply this point by k and return the answer in Jacobian coordinates.\n\t * @param {bigInt} k The coefficient to multiply by.\n\t * @param {sjcl.ecc.point} affine This point in affine coordinates.\n\t * @return {sjcl.ecc.pointJac} The result of the multiplication, in Jacobian coordinates.\n\t */\n\t mult: function mult(k, affine) {\n\t if (typeof k === \"number\") {\n\t k = [k];\n\t } else if (k.limbs !== undefined) {\n\t k = k.normalize().limbs;\n\t }\n\t\n\t var i,\n\t j,\n\t out = new sjcl.ecc.point(this.curve).toJac(),\n\t multiples = affine.multiples();\n\t\n\t for (i = k.length - 1; i >= 0; i--) {\n\t for (j = sjcl.bn.prototype.radix - 4; j >= 0; j -= 4) {\n\t out = out.doubl().doubl().doubl().doubl().add(multiples[k[i] >> j & 0xF]);\n\t }\n\t }\n\t\n\t return out;\n\t },\n\t\n\t /**\n\t * Multiply this point by k, added to affine2*k2, and return the answer in Jacobian coordinates.\n\t * @param {bigInt} k The coefficient to multiply this by.\n\t * @param {sjcl.ecc.point} affine This point in affine coordinates.\n\t * @param {bigInt} k2 The coefficient to multiply affine2 this by.\n\t * @param {sjcl.ecc.point} affine The other point in affine coordinates.\n\t * @return {sjcl.ecc.pointJac} The result of the multiplication and addition, in Jacobian coordinates.\n\t */\n\t mult2: function mult2(k1, affine, k2, affine2) {\n\t if (typeof k1 === \"number\") {\n\t k1 = [k1];\n\t } else if (k1.limbs !== undefined) {\n\t k1 = k1.normalize().limbs;\n\t }\n\t\n\t if (typeof k2 === \"number\") {\n\t k2 = [k2];\n\t } else if (k2.limbs !== undefined) {\n\t k2 = k2.normalize().limbs;\n\t }\n\t\n\t var i,\n\t j,\n\t out = new sjcl.ecc.point(this.curve).toJac(),\n\t m1 = affine.multiples(),\n\t m2 = affine2.multiples(),\n\t l1,\n\t l2;\n\t\n\t for (i = Math.max(k1.length, k2.length) - 1; i >= 0; i--) {\n\t l1 = k1[i] | 0;\n\t l2 = k2[i] | 0;\n\t for (j = sjcl.bn.prototype.radix - 4; j >= 0; j -= 4) {\n\t out = out.doubl().doubl().doubl().doubl().add(m1[l1 >> j & 0xF]).add(m2[l2 >> j & 0xF]);\n\t }\n\t }\n\t\n\t return out;\n\t },\n\t\n\t negate: function negate() {\n\t return this.toAffine().negate().toJac();\n\t },\n\t\n\t isValid: function isValid() {\n\t var z2 = this.z.square(),\n\t z4 = z2.square(),\n\t z6 = z4.mul(z2);\n\t return this.y.square().equals(this.curve.b.mul(z6).add(this.x.mul(this.curve.a.mul(z4).add(this.x.square()))));\n\t }\n\t };\n\t\n\t /**\n\t * Construct an elliptic curve. Most users will not use this and instead start with one of the NIST curves defined below.\n\t *\n\t * @constructor\n\t * @param {bigInt} p The prime modulus.\n\t * @param {bigInt} r The prime order of the curve.\n\t * @param {bigInt} a The constant a in the equation of the curve y^2 = x^3 + ax + b (for NIST curves, a is always -3).\n\t * @param {bigInt} x The x coordinate of a base point of the curve.\n\t * @param {bigInt} y The y coordinate of a base point of the curve.\n\t */\n\t sjcl.ecc.curve = function (Field, r, a, b, x, y) {\n\t this.field = Field;\n\t this.r = new sjcl.bn(r);\n\t this.a = new Field(a);\n\t this.b = new Field(b);\n\t this.G = new sjcl.ecc.point(this, new Field(x), new Field(y));\n\t };\n\t\n\t sjcl.ecc.curve.prototype.fromBits = function (bits) {\n\t var w = sjcl.bitArray,\n\t l = this.field.prototype.exponent + 7 & -8,\n\t p = new sjcl.ecc.point(this, this.field.fromBits(w.bitSlice(bits, 0, l)), this.field.fromBits(w.bitSlice(bits, l, 2 * l)));\n\t if (!p.isValid()) {\n\t throw new sjcl.exception.corrupt(\"not on the curve!\");\n\t }\n\t return p;\n\t };\n\t\n\t sjcl.ecc.curves = {\n\t c192: new sjcl.ecc.curve(sjcl.bn.prime.p192, \"0xffffffffffffffffffffffff99def836146bc9b1b4d22831\", -3, \"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1\", \"0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012\", \"0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811\"),\n\t\n\t c224: new sjcl.ecc.curve(sjcl.bn.prime.p224, \"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\", -3, \"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4\", \"0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\", \"0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34\"),\n\t\n\t c256: new sjcl.ecc.curve(sjcl.bn.prime.p256, \"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\", -3, \"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\", \"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\", \"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"),\n\t\n\t c384: new sjcl.ecc.curve(sjcl.bn.prime.p384, \"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\", -3, \"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef\", \"0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7\", \"0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f\"),\n\t\n\t c521: new sjcl.ecc.curve(sjcl.bn.prime.p521, \"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409\", -3, \"0x051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00\", \"0xC6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66\", \"0x11839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650\"),\n\t\n\t k192: new sjcl.ecc.curve(sjcl.bn.prime.p192k, \"0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d\", 0, 3, \"0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d\", \"0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d\"),\n\t\n\t k224: new sjcl.ecc.curve(sjcl.bn.prime.p224k, \"0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7\", 0, 5, \"0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c\", \"0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5\"),\n\t\n\t k256: new sjcl.ecc.curve(sjcl.bn.prime.p256k, \"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\", 0, 7, \"0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\", \"0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\")\n\t\n\t };\n\t\n\t sjcl.ecc.curveName = function (curve) {\n\t var curcurve;\n\t for (curcurve in sjcl.ecc.curves) {\n\t if (sjcl.ecc.curves.hasOwnProperty(curcurve)) {\n\t if (sjcl.ecc.curves[curcurve] === curve) {\n\t return curcurve;\n\t }\n\t }\n\t }\n\t\n\t throw new sjcl.exception.invalid(\"no such curve\");\n\t };\n\t\n\t sjcl.ecc.deserialize = function (key) {\n\t var types = [\"elGamal\", \"ecdsa\"];\n\t\n\t if (!key || !key.curve || !sjcl.ecc.curves[key.curve]) {\n\t throw new sjcl.exception.invalid(\"invalid serialization\");\n\t }\n\t if (types.indexOf(key.type) === -1) {\n\t throw new sjcl.exception.invalid(\"invalid type\");\n\t }\n\t\n\t var curve = sjcl.ecc.curves[key.curve];\n\t\n\t if (key.secretKey) {\n\t if (!key.exponent) {\n\t throw new sjcl.exception.invalid(\"invalid exponent\");\n\t }\n\t var exponent = new sjcl.bn(key.exponent);\n\t return new sjcl.ecc[key.type].secretKey(curve, exponent);\n\t } else {\n\t if (!key.point) {\n\t throw new sjcl.exception.invalid(\"invalid point\");\n\t }\n\t\n\t var point = curve.fromBits(sjcl.codec.hex.toBits(key.point));\n\t return new sjcl.ecc[key.type].publicKey(curve, point);\n\t }\n\t };\n\t\n\t /** our basicKey classes\n\t */\n\t sjcl.ecc.basicKey = {\n\t /** ecc publicKey.\n\t * @constructor\n\t * @param {curve} curve the elliptic curve\n\t * @param {point} point the point on the curve\n\t */\n\t publicKey: function publicKey(curve, point) {\n\t this._curve = curve;\n\t this._curveBitLength = curve.r.bitLength();\n\t if (point instanceof Array) {\n\t this._point = curve.fromBits(point);\n\t } else {\n\t this._point = point;\n\t }\n\t\n\t this.serialize = function () {\n\t var curveName = sjcl.ecc.curveName(curve);\n\t return {\n\t type: this.getType(),\n\t secretKey: false,\n\t point: sjcl.codec.hex.fromBits(this._point.toBits()),\n\t curve: curveName\n\t };\n\t };\n\t\n\t /** get this keys point data\n\t * @return x and y as bitArrays\n\t */\n\t this.get = function () {\n\t var pointbits = this._point.toBits();\n\t var len = sjcl.bitArray.bitLength(pointbits);\n\t var x = sjcl.bitArray.bitSlice(pointbits, 0, len / 2);\n\t var y = sjcl.bitArray.bitSlice(pointbits, len / 2);\n\t return { x: x, y: y };\n\t };\n\t },\n\t\n\t /** ecc secretKey\n\t * @constructor\n\t * @param {curve} curve the elliptic curve\n\t * @param exponent\n\t */\n\t secretKey: function secretKey(curve, exponent) {\n\t this._curve = curve;\n\t this._curveBitLength = curve.r.bitLength();\n\t this._exponent = exponent;\n\t\n\t this.serialize = function () {\n\t var exponent = this.get();\n\t var curveName = sjcl.ecc.curveName(curve);\n\t return {\n\t type: this.getType(),\n\t secretKey: true,\n\t exponent: sjcl.codec.hex.fromBits(exponent),\n\t curve: curveName\n\t };\n\t };\n\t\n\t /** get this keys exponent data\n\t * @return {bitArray} exponent\n\t */\n\t this.get = function () {\n\t return this._exponent.toBits();\n\t };\n\t }\n\t };\n\t\n\t /** @private */\n\t sjcl.ecc.basicKey.generateKeys = function (cn) {\n\t return function generateKeys(curve, paranoia, sec) {\n\t curve = curve || 256;\n\t\n\t if (typeof curve === \"number\") {\n\t curve = sjcl.ecc.curves['c' + curve];\n\t if (curve === undefined) {\n\t throw new sjcl.exception.invalid(\"no such curve\");\n\t }\n\t }\n\t sec = sec || sjcl.bn.random(curve.r, paranoia);\n\t\n\t var pub = curve.G.mult(sec);\n\t return { pub: new sjcl.ecc[cn].publicKey(curve, pub),\n\t sec: new sjcl.ecc[cn].secretKey(curve, sec) };\n\t };\n\t };\n\t\n\t /** elGamal keys */\n\t sjcl.ecc.elGamal = {\n\t /** generate keys\n\t * @function\n\t * @param curve\n\t * @param {int} paranoia Paranoia for generation (default 6)\n\t * @param {secretKey} sec secret Key to use. used to get the publicKey for ones secretKey\n\t */\n\t generateKeys: sjcl.ecc.basicKey.generateKeys(\"elGamal\"),\n\t /** elGamal publicKey.\n\t * @constructor\n\t * @augments sjcl.ecc.basicKey.publicKey\n\t */\n\t publicKey: function publicKey(curve, point) {\n\t sjcl.ecc.basicKey.publicKey.apply(this, arguments);\n\t },\n\t /** elGamal secretKey\n\t * @constructor\n\t * @augments sjcl.ecc.basicKey.secretKey\n\t */\n\t secretKey: function secretKey(curve, exponent) {\n\t sjcl.ecc.basicKey.secretKey.apply(this, arguments);\n\t }\n\t };\n\t\n\t sjcl.ecc.elGamal.publicKey.prototype = {\n\t /** Kem function of elGamal Public Key\n\t * @param paranoia paranoia to use for randomization.\n\t * @return {object} key and tag. unkem(tag) with the corresponding secret key results in the key returned.\n\t */\n\t kem: function kem(paranoia) {\n\t var sec = sjcl.bn.random(this._curve.r, paranoia),\n\t tag = this._curve.G.mult(sec).toBits(),\n\t key = sjcl.hash.sha256.hash(this._point.mult(sec).toBits());\n\t return { key: key, tag: tag };\n\t },\n\t\n\t getType: function getType() {\n\t return \"elGamal\";\n\t }\n\t };\n\t\n\t sjcl.ecc.elGamal.secretKey.prototype = {\n\t /** UnKem function of elGamal Secret Key\n\t * @param {bitArray} tag The Tag to decrypt.\n\t * @return {bitArray} decrypted key.\n\t */\n\t unkem: function unkem(tag) {\n\t return sjcl.hash.sha256.hash(this._curve.fromBits(tag).mult(this._exponent).toBits());\n\t },\n\t\n\t /** Diffie-Hellmann function\n\t * @param {elGamal.publicKey} pk The Public Key to do Diffie-Hellmann with\n\t * @return {bitArray} diffie-hellmann result for this key combination.\n\t */\n\t dh: function dh(pk) {\n\t return sjcl.hash.sha256.hash(pk._point.mult(this._exponent).toBits());\n\t },\n\t\n\t /** Diffie-Hellmann function, compatible with Java generateSecret\n\t * @param {elGamal.publicKey} pk The Public Key to do Diffie-Hellmann with\n\t * @return {bitArray} undigested X value, diffie-hellmann result for this key combination,\n\t * compatible with Java generateSecret().\n\t */\n\t dhJavaEc: function dhJavaEc(pk) {\n\t return pk._point.mult(this._exponent).x.toBits();\n\t },\n\t\n\t getType: function getType() {\n\t return \"elGamal\";\n\t }\n\t };\n\t\n\t /** ecdsa keys */\n\t sjcl.ecc.ecdsa = {\n\t /** generate keys\n\t * @function\n\t * @param curve\n\t * @param {int} paranoia Paranoia for generation (default 6)\n\t * @param {secretKey} sec secret Key to use. used to get the publicKey for ones secretKey\n\t */\n\t generateKeys: sjcl.ecc.basicKey.generateKeys(\"ecdsa\")\n\t };\n\t\n\t /** ecdsa publicKey.\n\t * @constructor\n\t * @augments sjcl.ecc.basicKey.publicKey\n\t */\n\t sjcl.ecc.ecdsa.publicKey = function (curve, point) {\n\t sjcl.ecc.basicKey.publicKey.apply(this, arguments);\n\t };\n\t\n\t /** specific functions for ecdsa publicKey. */\n\t sjcl.ecc.ecdsa.publicKey.prototype = {\n\t /** Diffie-Hellmann function\n\t * @param {bitArray} hash hash to verify.\n\t * @param {bitArray} rs signature bitArray.\n\t * @param {boolean} fakeLegacyVersion use old legacy version\n\t */\n\t verify: function verify(hash, rs, fakeLegacyVersion) {\n\t if (sjcl.bitArray.bitLength(hash) > this._curveBitLength) {\n\t hash = sjcl.bitArray.clamp(hash, this._curveBitLength);\n\t }\n\t var w = sjcl.bitArray,\n\t R = this._curve.r,\n\t l = this._curveBitLength,\n\t r = sjcl.bn.fromBits(w.bitSlice(rs, 0, l)),\n\t ss = sjcl.bn.fromBits(w.bitSlice(rs, l, 2 * l)),\n\t s = fakeLegacyVersion ? ss : ss.inverseMod(R),\n\t hG = sjcl.bn.fromBits(hash).mul(s).mod(R),\n\t hA = r.mul(s).mod(R),\n\t r2 = this._curve.G.mult2(hG, hA, this._point).x;\n\t if (r.equals(0) || ss.equals(0) || r.greaterEquals(R) || ss.greaterEquals(R) || !r2.equals(r)) {\n\t if (fakeLegacyVersion === undefined) {\n\t return this.verify(hash, rs, true);\n\t } else {\n\t throw new sjcl.exception.corrupt(\"signature didn't check out\");\n\t }\n\t }\n\t return true;\n\t },\n\t\n\t getType: function getType() {\n\t return \"ecdsa\";\n\t }\n\t };\n\t\n\t /** ecdsa secretKey\n\t * @constructor\n\t * @augments sjcl.ecc.basicKey.publicKey\n\t */\n\t sjcl.ecc.ecdsa.secretKey = function (curve, exponent) {\n\t sjcl.ecc.basicKey.secretKey.apply(this, arguments);\n\t };\n\t\n\t /** specific functions for ecdsa secretKey. */\n\t sjcl.ecc.ecdsa.secretKey.prototype = {\n\t /** Diffie-Hellmann function\n\t * @param {bitArray} hash hash to sign.\n\t * @param {int} paranoia paranoia for random number generation\n\t * @param {boolean} fakeLegacyVersion use old legacy version\n\t */\n\t sign: function sign(hash, paranoia, fakeLegacyVersion, fixedKForTesting) {\n\t if (sjcl.bitArray.bitLength(hash) > this._curveBitLength) {\n\t hash = sjcl.bitArray.clamp(hash, this._curveBitLength);\n\t }\n\t var R = this._curve.r,\n\t l = R.bitLength(),\n\t k = fixedKForTesting || sjcl.bn.random(R.sub(1), paranoia).add(1),\n\t r = this._curve.G.mult(k).x.mod(R),\n\t ss = sjcl.bn.fromBits(hash).add(r.mul(this._exponent)),\n\t s = fakeLegacyVersion ? ss.inverseMod(R).mul(k).mod(R) : ss.mul(k.inverseMod(R)).mod(R);\n\t return sjcl.bitArray.concat(r.toBits(l), s.toBits(l));\n\t },\n\t\n\t getType: function getType() {\n\t return \"ecdsa\";\n\t }\n\t };\n\t /** @fileOverview Javascript RIPEMD-160 implementation.\n\t *\n\t * @author Artem S Vybornov <vybornov@gmail.com>\n\t */\n\t (function () {\n\t\n\t /**\n\t * Context for a RIPEMD-160 operation in progress.\n\t * @constructor\n\t */\n\t sjcl.hash.ripemd160 = function (hash) {\n\t if (hash) {\n\t this._h = hash._h.slice(0);\n\t this._buffer = hash._buffer.slice(0);\n\t this._length = hash._length;\n\t } else {\n\t this.reset();\n\t }\n\t };\n\t\n\t /**\n\t * Hash a string or an array of words.\n\t * @static\n\t * @param {bitArray|String} data the data to hash.\n\t * @return {bitArray} The hash value, an array of 5 big-endian words.\n\t */\n\t sjcl.hash.ripemd160.hash = function (data) {\n\t return new sjcl.hash.ripemd160().update(data).finalize();\n\t };\n\t\n\t sjcl.hash.ripemd160.prototype = {\n\t /**\n\t * Reset the hash state.\n\t * @return this\n\t */\n\t reset: function reset() {\n\t this._h = _h0.slice(0);\n\t this._buffer = [];\n\t this._length = 0;\n\t return this;\n\t },\n\t\n\t /**\n\t * Reset the hash state.\n\t * @param {bitArray|String} data the data to hash.\n\t * @return this\n\t */\n\t update: function update(data) {\n\t if (typeof data === \"string\") data = sjcl.codec.utf8String.toBits(data);\n\t\n\t var i,\n\t b = this._buffer = sjcl.bitArray.concat(this._buffer, data),\n\t ol = this._length,\n\t nl = this._length = ol + sjcl.bitArray.bitLength(data);\n\t if (nl > 9007199254740991) {\n\t throw new sjcl.exception.invalid(\"Cannot hash more than 2^53 - 1 bits\");\n\t }\n\t for (i = 512 + ol - (512 + ol & 511); i <= nl; i += 512) {\n\t var words = b.splice(0, 16);\n\t for (var w = 0; w < 16; ++w) {\n\t words[w] = _cvt(words[w]);\n\t }_block.call(this, words);\n\t }\n\t\n\t return this;\n\t },\n\t\n\t /**\n\t * Complete hashing and output the hash value.\n\t * @return {bitArray} The hash value, an array of 5 big-endian words.\n\t */\n\t finalize: function finalize() {\n\t var b = sjcl.bitArray.concat(this._buffer, [sjcl.bitArray.partial(1, 1)]),\n\t l = (this._length + 1) % 512,\n\t z = (l > 448 ? 512 : 448) - l % 448,\n\t zp = z % 32;\n\t\n\t if (zp > 0) b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(zp, 0)]);\n\t for (; z >= 32; z -= 32) {\n\t b.push(0);\n\t }b.push(_cvt(this._length | 0));\n\t b.push(_cvt(Math.floor(this._length / 0x100000000)));\n\t\n\t while (b.length) {\n\t var words = b.splice(0, 16);\n\t for (var w = 0; w < 16; ++w) {\n\t words[w] = _cvt(words[w]);\n\t }_block.call(this, words);\n\t }\n\t\n\t var h = this._h;\n\t this.reset();\n\t\n\t for (var w = 0; w < 5; ++w) {\n\t h[w] = _cvt(h[w]);\n\t }return h;\n\t }\n\t };\n\t\n\t var _h0 = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\t\n\t var _k1 = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e];\n\t var _k2 = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000];\n\t for (var i = 4; i >= 0; --i) {\n\t for (var j = 1; j < 16; ++j) {\n\t _k1.splice(i, 0, _k1[i]);\n\t _k2.splice(i, 0, _k2[i]);\n\t }\n\t }\n\t\n\t var _r1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13];\n\t var _r2 = [5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11];\n\t\n\t var _s1 = [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6];\n\t var _s2 = [8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11];\n\t\n\t function _f0(x, y, z) {\n\t return x ^ y ^ z;\n\t }\n\t\n\t function _f1(x, y, z) {\n\t return x & y | ~x & z;\n\t }\n\t\n\t function _f2(x, y, z) {\n\t return (x | ~y) ^ z;\n\t }\n\t\n\t function _f3(x, y, z) {\n\t return x & z | y & ~z;\n\t }\n\t\n\t function _f4(x, y, z) {\n\t return x ^ (y | ~z);\n\t }\n\t\n\t function _rol(n, l) {\n\t return n << l | n >>> 32 - l;\n\t }\n\t\n\t function _cvt(n) {\n\t return (n & 0xff << 0) << 24 | (n & 0xff << 8) << 8 | (n & 0xff << 16) >>> 8 | (n & 0xff << 24) >>> 24;\n\t }\n\t\n\t function _block(X) {\n\t var A1 = this._h[0],\n\t B1 = this._h[1],\n\t C1 = this._h[2],\n\t D1 = this._h[3],\n\t E1 = this._h[4],\n\t A2 = this._h[0],\n\t B2 = this._h[1],\n\t C2 = this._h[2],\n\t D2 = this._h[3],\n\t E2 = this._h[4];\n\t\n\t var j = 0,\n\t T;\n\t\n\t for (; j < 16; ++j) {\n\t T = _rol(A1 + _f0(B1, C1, D1) + X[_r1[j]] + _k1[j], _s1[j]) + E1;\n\t A1 = E1;E1 = D1;D1 = _rol(C1, 10);C1 = B1;B1 = T;\n\t T = _rol(A2 + _f4(B2, C2, D2) + X[_r2[j]] + _k2[j], _s2[j]) + E2;\n\t A2 = E2;E2 = D2;D2 = _rol(C2, 10);C2 = B2;B2 = T;\n\t }\n\t for (; j < 32; ++j) {\n\t T = _rol(A1 + _f1(B1, C1, D1) + X[_r1[j]] + _k1[j], _s1[j]) + E1;\n\t A1 = E1;E1 = D1;D1 = _rol(C1, 10);C1 = B1;B1 = T;\n\t T = _rol(A2 + _f3(B2, C2, D2) + X[_r2[j]] + _k2[j], _s2[j]) + E2;\n\t A2 = E2;E2 = D2;D2 = _rol(C2, 10);C2 = B2;B2 = T;\n\t }\n\t for (; j < 48; ++j) {\n\t T = _rol(A1 + _f2(B1, C1, D1) + X[_r1[j]] + _k1[j], _s1[j]) + E1;\n\t A1 = E1;E1 = D1;D1 = _rol(C1, 10);C1 = B1;B1 = T;\n\t T = _rol(A2 + _f2(B2, C2, D2) + X[_r2[j]] + _k2[j], _s2[j]) + E2;\n\t A2 = E2;E2 = D2;D2 = _rol(C2, 10);C2 = B2;B2 = T;\n\t }\n\t for (; j < 64; ++j) {\n\t T = _rol(A1 + _f3(B1, C1, D1) + X[_r1[j]] + _k1[j], _s1[j]) + E1;\n\t A1 = E1;E1 = D1;D1 = _rol(C1, 10);C1 = B1;B1 = T;\n\t T = _rol(A2 + _f1(B2, C2, D2) + X[_r2[j]] + _k2[j], _s2[j]) + E2;\n\t A2 = E2;E2 = D2;D2 = _rol(C2, 10);C2 = B2;B2 = T;\n\t }\n\t for (; j < 80; ++j) {\n\t T = _rol(A1 + _f4(B1, C1, D1) + X[_r1[j]] + _k1[j], _s1[j]) + E1;\n\t A1 = E1;E1 = D1;D1 = _rol(C1, 10);C1 = B1;B1 = T;\n\t T = _rol(A2 + _f0(B2, C2, D2) + X[_r2[j]] + _k2[j], _s2[j]) + E2;\n\t A2 = E2;E2 = D2;D2 = _rol(C2, 10);C2 = B2;B2 = T;\n\t }\n\t\n\t T = this._h[1] + C1 + D2;\n\t this._h[1] = this._h[2] + D1 + E2;\n\t this._h[2] = this._h[3] + E1 + A2;\n\t this._h[3] = this._h[4] + A1 + B2;\n\t this._h[4] = this._h[0] + B1 + C2;\n\t this._h[0] = T;\n\t }\n\t })();\n\t /** @fileOverview Javascript SHA-256 implementation.\n\t *\n\t * An older version of this implementation is available in the public\n\t * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,\n\t * Stanford University 2008-2010 and BSD-licensed for liability\n\t * reasons.\n\t *\n\t * Special thanks to Aldo Cortesi for pointing out several bugs in\n\t * this code.\n\t *\n\t * @author Emily Stark\n\t * @author Mike Hamburg\n\t * @author Dan Boneh\n\t */\n\t\n\t /**\n\t * Context for a SHA-256 operation in progress.\n\t * @constructor\n\t */\n\t sjcl.hash.sha256 = function (hash) {\n\t if (!this._key[0]) {\n\t this._precompute();\n\t }\n\t if (hash) {\n\t this._h = hash._h.slice(0);\n\t this._buffer = hash._buffer.slice(0);\n\t this._length = hash._length;\n\t } else {\n\t this.reset();\n\t }\n\t };\n\t\n\t /**\n\t * Hash a string or an array of words.\n\t * @static\n\t * @param {bitArray|String} data the data to hash.\n\t * @return {bitArray} The hash value, an array of 16 big-endian words.\n\t */\n\t sjcl.hash.sha256.hash = function (data) {\n\t return new sjcl.hash.sha256().update(data).finalize();\n\t };\n\t\n\t sjcl.hash.sha256.prototype = {\n\t /**\n\t * The hash's block size, in bits.\n\t * @constant\n\t */\n\t blockSize: 512,\n\t\n\t /**\n\t * Reset the hash state.\n\t * @return this\n\t */\n\t reset: function reset() {\n\t this._h = this._init.slice(0);\n\t this._buffer = [];\n\t this._length = 0;\n\t return this;\n\t },\n\t\n\t /**\n\t * Input several words to the hash.\n\t * @param {bitArray|String} data the data to hash.\n\t * @return this\n\t */\n\t update: function update(data) {\n\t if (typeof data === \"string\") {\n\t data = sjcl.codec.utf8String.toBits(data);\n\t }\n\t var i,\n\t b = this._buffer = sjcl.bitArray.concat(this._buffer, data),\n\t ol = this._length,\n\t nl = this._length = ol + sjcl.bitArray.bitLength(data);\n\t if (nl > 9007199254740991) {\n\t throw new sjcl.exception.invalid(\"Cannot hash more than 2^53 - 1 bits\");\n\t }\n\t\n\t if (typeof Uint32Array !== 'undefined') {\n\t var c = new Uint32Array(b);\n\t var j = 0;\n\t for (i = 512 + ol - (512 + ol & 511); i <= nl; i += 512) {\n\t this._block(c.subarray(16 * j, 16 * (j + 1)));\n\t j += 1;\n\t }\n\t b.splice(0, 16 * j);\n\t } else {\n\t for (i = 512 + ol - (512 + ol & 511); i <= nl; i += 512) {\n\t this._block(b.splice(0, 16));\n\t }\n\t }\n\t return this;\n\t },\n\t\n\t /**\n\t * Complete hashing and output the hash value.\n\t * @return {bitArray} The hash value, an array of 8 big-endian words.\n\t */\n\t finalize: function finalize() {\n\t var i,\n\t b = this._buffer,\n\t h = this._h;\n\t\n\t // Round out and push the buffer\n\t b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1, 1)]);\n\t\n\t // Round out the buffer to a multiple of 16 words, less the 2 length words.\n\t for (i = b.length + 2; i & 15; i++) {\n\t b.push(0);\n\t }\n\t\n\t // append the length\n\t b.push(Math.floor(this._length / 0x100000000));\n\t b.push(this._length | 0);\n\t\n\t while (b.length) {\n\t this._block(b.splice(0, 16));\n\t }\n\t\n\t this.reset();\n\t return h;\n\t },\n\t\n\t /**\n\t * The SHA-256 initialization vector, to be precomputed.\n\t * @private\n\t */\n\t _init: [],\n\t /*\n\t _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],\n\t */\n\t\n\t /**\n\t * The SHA-256 hash key, to be precomputed.\n\t * @private\n\t */\n\t _key: [],\n\t /*\n\t _key:\n\t [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n\t 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n\t 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n\t 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n\t 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n\t 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n\t 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n\t 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],\n\t */\n\t\n\t /**\n\t * Function to precompute _init and _key.\n\t * @private\n\t */\n\t _precompute: function _precompute() {\n\t var i = 0,\n\t prime = 2,\n\t factor,\n\t isPrime;\n\t\n\t function frac(x) {\n\t return (x - Math.floor(x)) * 0x100000000 | 0;\n\t }\n\t\n\t for (; i < 64; prime++) {\n\t isPrime = true;\n\t for (factor = 2; factor * factor <= prime; factor++) {\n\t if (prime % factor === 0) {\n\t isPrime = false;\n\t break;\n\t }\n\t }\n\t if (isPrime) {\n\t if (i < 8) {\n\t this._init[i] = frac(Math.pow(prime, 1 / 2));\n\t }\n\t this._key[i] = frac(Math.pow(prime, 1 / 3));\n\t i++;\n\t }\n\t }\n\t },\n\t\n\t /**\n\t * Perform one cycle of SHA-256.\n\t * @param {Uint32Array|bitArray} w one block of words.\n\t * @private\n\t */\n\t _block: function _block(w) {\n\t var i,\n\t tmp,\n\t a,\n\t b,\n\t h = this._h,\n\t k = this._key,\n\t h0 = h[0],\n\t h1 = h[1],\n\t h2 = h[2],\n\t h3 = h[3],\n\t h4 = h[4],\n\t h5 = h[5],\n\t h6 = h[6],\n\t h7 = h[7];\n\t\n\t /* Rationale for placement of |0 :\n\t * If a value can overflow is original 32 bits by a factor of more than a few\n\t * million (2^23 ish), there is a possibility that it might overflow the\n\t * 53-bit mantissa and lose precision.\n\t *\n\t * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that\n\t * propagates around the loop, and on the hash state h[]. I don't believe\n\t * that the clamps on h4 and on h0 are strictly necessary, but it's close\n\t * (for h4 anyway), and better safe than sorry.\n\t *\n\t * The clamps on h[] are necessary for the output to be correct even in the\n\t * common case and for short inputs.\n\t */\n\t for (i = 0; i < 64; i++) {\n\t // load up the input word for this round\n\t if (i < 16) {\n\t tmp = w[i];\n\t } else {\n\t a = w[i + 1 & 15];\n\t b = w[i + 14 & 15];\n\t tmp = w[i & 15] = (a >>> 7 ^ a >>> 18 ^ a >>> 3 ^ a << 25 ^ a << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + w[i & 15] + w[i + 9 & 15] | 0;\n\t }\n\t\n\t tmp = tmp + h7 + (h4 >>> 6 ^ h4 >>> 11 ^ h4 >>> 25 ^ h4 << 26 ^ h4 << 21 ^ h4 << 7) + (h6 ^ h4 & (h5 ^ h6)) + k[i]; // | 0;\n\t\n\t // shift register\n\t h7 = h6;h6 = h5;h5 = h4;\n\t h4 = h3 + tmp | 0;\n\t h3 = h2;h2 = h1;h1 = h0;\n\t\n\t h0 = tmp + (h1 & h2 ^ h3 & (h1 ^ h2)) + (h1 >>> 2 ^ h1 >>> 13 ^ h1 >>> 22 ^ h1 << 30 ^ h1 << 19 ^ h1 << 10) | 0;\n\t }\n\t\n\t h[0] = h[0] + h0 | 0;\n\t h[1] = h[1] + h1 | 0;\n\t h[2] = h[2] + h2 | 0;\n\t h[3] = h[3] + h3 | 0;\n\t h[4] = h[4] + h4 | 0;\n\t h[5] = h[5] + h5 | 0;\n\t h[6] = h[6] + h6 | 0;\n\t h[7] = h[7] + h7 | 0;\n\t }\n\t };\n\t\n\t /** @fileOverview Random number generator.\n\t *\n\t * @author Emily Stark\n\t * @author Mike Hamburg\n\t * @author Dan Boneh\n\t * @author Michael Brooks\n\t * @author Steve Thomas\n\t */\n\t\n\t /** \n\t * @class Random number generator\n\t * @description\n\t * <b>Use sjcl.random as a singleton for this class!</b>\n\t * <p>\n\t * This random number generator is a derivative of Ferguson and Schneier's\n\t * generator Fortuna. It collects entropy from various events into several\n\t * pools, implemented by streaming SHA-256 instances. It differs from\n\t * ordinary Fortuna in a few ways, though.\n\t * </p>\n\t *\n\t * <p>\n\t * Most importantly, it has an entropy estimator. This is present because\n\t * there is a strong conflict here between making the generator available\n\t * as soon as possible, and making sure that it doesn't \"run on empty\".\n\t * In Fortuna, there is a saved state file, and the system is likely to have\n\t * time to warm up.\n\t * </p>\n\t *\n\t * <p>\n\t * Second, because users are unlikely to stay on the page for very long,\n\t * and to speed startup time, the number of pools increases logarithmically:\n\t * a new pool is created when the previous one is actually used for a reseed.\n\t * This gives the same asymptotic guarantees as Fortuna, but gives more\n\t * entropy to early reseeds.\n\t * </p>\n\t *\n\t * <p>\n\t * The entire mechanism here feels pretty klunky. Furthermore, there are\n\t * several improvements that should be made, including support for\n\t * dedicated cryptographic functions that may be present in some browsers;\n\t * state files in local storage; cookies containing randomness; etc. So\n\t * look for improvements in future versions.\n\t * </p>\n\t * @constructor\n\t */\n\t sjcl.prng = function (defaultParanoia) {\n\t\n\t /* private */\n\t this._pools = [new sjcl.hash.sha256()];\n\t this._poolEntropy = [0];\n\t this._reseedCount = 0;\n\t this._robins = {};\n\t this._eventId = 0;\n\t\n\t this._collectorIds = {};\n\t this._collectorIdNext = 0;\n\t\n\t this._strength = 0;\n\t this._poolStrength = 0;\n\t this._nextReseed = 0;\n\t this._key = [0, 0, 0, 0, 0, 0, 0, 0];\n\t this._counter = [0, 0, 0, 0];\n\t this._cipher = undefined;\n\t this._defaultParanoia = defaultParanoia;\n\t\n\t /* event listener stuff */\n\t this._collectorsStarted = false;\n\t this._callbacks = { progress: {}, seeded: {} };\n\t this._callbackI = 0;\n\t\n\t /* constants */\n\t this._NOT_READY = 0;\n\t this._READY = 1;\n\t this._REQUIRES_RESEED = 2;\n\t\n\t this._MAX_WORDS_PER_BURST = 65536;\n\t this._PARANOIA_LEVELS = [0, 48, 64, 96, 128, 192, 256, 384, 512, 768, 1024];\n\t this._MILLISECONDS_PER_RESEED = 30000;\n\t this._BITS_PER_RESEED = 80;\n\t };\n\t\n\t sjcl.prng.prototype = {\n\t /** Generate several random words, and return them in an array.\n\t * A word consists of 32 bits (4 bytes)\n\t * @param {Number} nwords The number of words to generate.\n\t */\n\t randomWords: function randomWords(nwords, paranoia) {\n\t var out = [],\n\t i,\n\t readiness = this.isReady(paranoia),\n\t g;\n\t\n\t if (readiness === this._NOT_READY) {\n\t throw new sjcl.exception.notReady(\"generator isn't seeded\");\n\t } else if (readiness & this._REQUIRES_RESEED) {\n\t this._reseedFromPools(!(readiness & this._READY));\n\t }\n\t\n\t for (i = 0; i < nwords; i += 4) {\n\t if ((i + 1) % this._MAX_WORDS_PER_BURST === 0) {\n\t this._gate();\n\t }\n\t\n\t g = this._gen4words();\n\t out.push(g[0], g[1], g[2], g[3]);\n\t }\n\t this._gate();\n\t\n\t return out.slice(0, nwords);\n\t },\n\t\n\t setDefaultParanoia: function setDefaultParanoia(paranoia, allowZeroParanoia) {\n\t if (paranoia === 0 && allowZeroParanoia !== \"Setting paranoia=0 will ruin your security; use it only for testing\") {\n\t throw new sjcl.exception.invalid(\"Setting paranoia=0 will ruin your security; use it only for testing\");\n\t }\n\t\n\t this._defaultParanoia = paranoia;\n\t },\n\t\n\t /**\n\t * Add entropy to the pools.\n\t * @param data The entropic value. Should be a 32-bit integer, array of 32-bit integers, or string\n\t * @param {Number} estimatedEntropy The estimated entropy of data, in bits\n\t * @param {String} source The source of the entropy, eg \"mouse\"\n\t */\n\t addEntropy: function addEntropy(data, estimatedEntropy, source) {\n\t source = source || \"user\";\n\t\n\t var id,\n\t i,\n\t tmp,\n\t t = new Date().valueOf(),\n\t robin = this._robins[source],\n\t oldReady = this.isReady(),\n\t err = 0,\n\t objName;\n\t\n\t id = this._collectorIds[source];\n\t if (id === undefined) {\n\t id = this._collectorIds[source] = this._collectorIdNext++;\n\t }\n\t\n\t if (robin === undefined) {\n\t robin = this._robins[source] = 0;\n\t }\n\t this._robins[source] = (this._robins[source] + 1) % this._pools.length;\n\t\n\t switch (typeof data === 'undefined' ? 'undefined' : _typeof(data)) {\n\t\n\t case \"number\":\n\t if (estimatedEntropy === undefined) {\n\t estimatedEntropy = 1;\n\t }\n\t this._pools[robin].update([id, this._eventId++, 1, estimatedEntropy, t, 1, data | 0]);\n\t break;\n\t\n\t case \"object\":\n\t objName = Object.prototype.toString.call(data);\n\t if (objName === \"[object Uint32Array]\") {\n\t tmp = [];\n\t for (i = 0; i < data.length; i++) {\n\t tmp.push(data[i]);\n\t }\n\t data = tmp;\n\t } else {\n\t if (objName !== \"[object Array]\") {\n\t err = 1;\n\t }\n\t for (i = 0; i < data.length && !err; i++) {\n\t if (typeof data[i] !== \"number\") {\n\t err = 1;\n\t }\n\t }\n\t }\n\t if (!err) {\n\t if (estimatedEntropy === undefined) {\n\t /* horrible entropy estimator */\n\t estimatedEntropy = 0;\n\t for (i = 0; i < data.length; i++) {\n\t tmp = data[i];\n\t while (tmp > 0) {\n\t estimatedEntropy++;\n\t tmp = tmp >>> 1;\n\t }\n\t }\n\t }\n\t this._pools[robin].update([id, this._eventId++, 2, estimatedEntropy, t, data.length].concat(data));\n\t }\n\t break;\n\t\n\t case \"string\":\n\t if (estimatedEntropy === undefined) {\n\t /* English text has just over 1 bit per character of entropy.\n\t * But this might be HTML or something, and have far less\n\t * entropy than English... Oh well, let's just say one bit.\n\t */\n\t estimatedEntropy = data.length;\n\t }\n\t this._pools[robin].update([id, this._eventId++, 3, estimatedEntropy, t, data.length]);\n\t this._pools[robin].update(data);\n\t break;\n\t\n\t default:\n\t err = 1;\n\t }\n\t if (err) {\n\t throw new sjcl.exception.bug(\"random: addEntropy only supports number, array of numbers or string\");\n\t }\n\t\n\t /* record the new strength */\n\t this._poolEntropy[robin] += estimatedEntropy;\n\t this._poolStrength += estimatedEntropy;\n\t\n\t /* fire off events */\n\t if (oldReady === this._NOT_READY) {\n\t if (this.isReady() !== this._NOT_READY) {\n\t this._fireEvent(\"seeded\", Math.max(this._strength, this._poolStrength));\n\t }\n\t this._fireEvent(\"progress\", this.getProgress());\n\t }\n\t },\n\t\n\t /** Is the generator ready? */\n\t isReady: function isReady(paranoia) {\n\t var entropyRequired = this._PARANOIA_LEVELS[paranoia !== undefined ? paranoia : this._defaultParanoia];\n\t\n\t if (this._strength && this._strength >= entropyRequired) {\n\t return this._poolEntropy[0] > this._BITS_PER_RESEED && new Date().valueOf() > this._nextReseed ? this._REQUIRES_RESEED | this._READY : this._READY;\n\t } else {\n\t return this._poolStrength >= entropyRequired ? this._REQUIRES_RESEED | this._NOT_READY : this._NOT_READY;\n\t }\n\t },\n\t\n\t /** Get the generator's progress toward readiness, as a fraction */\n\t getProgress: function getProgress(paranoia) {\n\t var entropyRequired = this._PARANOIA_LEVELS[paranoia ? paranoia : this._defaultParanoia];\n\t\n\t if (this._strength >= entropyRequired) {\n\t return 1.0;\n\t } else {\n\t return this._poolStrength > entropyRequired ? 1.0 : this._poolStrength / entropyRequired;\n\t }\n\t },\n\t\n\t /** start the built-in entropy collectors */\n\t startCollectors: function startCollectors() {\n\t if (this._collectorsStarted) {\n\t return;\n\t }\n\t\n\t this._eventListener = {\n\t loadTimeCollector: this._bind(this._loadTimeCollector),\n\t mouseCollector: this._bind(this._mouseCollector),\n\t keyboardCollector: this._bind(this._keyboardCollector),\n\t accelerometerCollector: this._bind(this._accelerometerCollector),\n\t touchCollector: this._bind(this._touchCollector)\n\t };\n\t\n\t if (window.addEventListener) {\n\t window.addEventListener(\"load\", this._eventListener.loadTimeCollector, false);\n\t window.addEventListener(\"mousemove\", this._eventListener.mouseCollector, false);\n\t window.addEventListener(\"keypress\", this._eventListener.keyboardCollector, false);\n\t window.addEventListener(\"devicemotion\", this._eventListener.accelerometerCollector, false);\n\t window.addEventListener(\"touchmove\", this._eventListener.touchCollector, false);\n\t } else if (document.attachEvent) {\n\t document.attachEvent(\"onload\", this._eventListener.loadTimeCollector);\n\t document.attachEvent(\"onmousemove\", this._eventListener.mouseCollector);\n\t document.attachEvent(\"keypress\", this._eventListener.keyboardCollector);\n\t } else {\n\t throw new sjcl.exception.bug(\"can't attach event\");\n\t }\n\t\n\t this._collectorsStarted = true;\n\t },\n\t\n\t /** stop the built-in entropy collectors */\n\t stopCollectors: function stopCollectors() {\n\t if (!this._collectorsStarted) {\n\t return;\n\t }\n\t\n\t if (window.removeEventListener) {\n\t window.removeEventListener(\"load\", this._eventListener.loadTimeCollector, false);\n\t window.removeEventListener(\"mousemove\", this._eventListener.mouseCollector, false);\n\t window.removeEventListener(\"keypress\", this._eventListener.keyboardCollector, false);\n\t window.removeEventListener(\"devicemotion\", this._eventListener.accelerometerCollector, false);\n\t window.removeEventListener(\"touchmove\", this._eventListener.touchCollector, false);\n\t } else if (document.detachEvent) {\n\t document.detachEvent(\"onload\", this._eventListener.loadTimeCollector);\n\t document.detachEvent(\"onmousemove\", this._eventListener.mouseCollector);\n\t document.detachEvent(\"keypress\", this._eventListener.keyboardCollector);\n\t }\n\t\n\t this._collectorsStarted = false;\n\t },\n\t\n\t /* use a cookie to store entropy.\n\t useCookie: function (all_cookies) {\n\t throw new sjcl.exception.bug(\"random: useCookie is unimplemented\");\n\t },*/\n\t\n\t /** add an event listener for progress or seeded-ness. */\n\t addEventListener: function addEventListener(name, callback) {\n\t this._callbacks[name][this._callbackI++] = callback;\n\t },\n\t\n\t /** remove an event listener for progress or seeded-ness */\n\t removeEventListener: function removeEventListener(name, cb) {\n\t var i,\n\t j,\n\t cbs = this._callbacks[name],\n\t jsTemp = [];\n\t\n\t /* I'm not sure if this is necessary; in C++, iterating over a\n\t * collection and modifying it at the same time is a no-no.\n\t */\n\t\n\t for (j in cbs) {\n\t if (cbs.hasOwnProperty(j) && cbs[j] === cb) {\n\t jsTemp.push(j);\n\t }\n\t }\n\t\n\t for (i = 0; i < jsTemp.length; i++) {\n\t j = jsTemp[i];\n\t delete cbs[j];\n\t }\n\t },\n\t\n\t _bind: function _bind(func) {\n\t var that = this;\n\t return function () {\n\t func.apply(that, arguments);\n\t };\n\t },\n\t\n\t /** Generate 4 random words, no reseed, no gate.\n\t * @private\n\t */\n\t _gen4words: function _gen4words() {\n\t for (var i = 0; i < 4; i++) {\n\t this._counter[i] = this._counter[i] + 1 | 0;\n\t if (this._counter[i]) {\n\t break;\n\t }\n\t }\n\t return this._cipher.encrypt(this._counter);\n\t },\n\t\n\t /* Rekey the AES instance with itself after a request, or every _MAX_WORDS_PER_BURST words.\n\t * @private\n\t */\n\t _gate: function _gate() {\n\t this._key = this._gen4words().concat(this._gen4words());\n\t this._cipher = new sjcl.cipher.aes(this._key);\n\t },\n\t\n\t /** Reseed the generator with the given words\n\t * @private\n\t */\n\t _reseed: function _reseed(seedWords) {\n\t this._key = sjcl.hash.sha256.hash(this._key.concat(seedWords));\n\t this._cipher = new sjcl.cipher.aes(this._key);\n\t for (var i = 0; i < 4; i++) {\n\t this._counter[i] = this._counter[i] + 1 | 0;\n\t if (this._counter[i]) {\n\t break;\n\t }\n\t }\n\t },\n\t\n\t /** reseed the data from the entropy pools\n\t * @param full If set, use all the entropy pools in the reseed.\n\t */\n\t _reseedFromPools: function _reseedFromPools(full) {\n\t var reseedData = [],\n\t strength = 0,\n\t i;\n\t\n\t this._nextReseed = reseedData[0] = new Date().valueOf() + this._MILLISECONDS_PER_RESEED;\n\t\n\t for (i = 0; i < 16; i++) {\n\t /* On some browsers, this is cryptographically random. So we might\n\t * as well toss it in the pot and stir...\n\t */\n\t reseedData.push(Math.random() * 0x100000000 | 0);\n\t }\n\t\n\t for (i = 0; i < this._pools.length; i++) {\n\t reseedData = reseedData.concat(this._pools[i].finalize());\n\t strength += this._poolEntropy[i];\n\t this._poolEntropy[i] = 0;\n\t\n\t if (!full && this._reseedCount & 1 << i) {\n\t break;\n\t }\n\t }\n\t\n\t /* if we used the last pool, push a new one onto the stack */\n\t if (this._reseedCount >= 1 << this._pools.length) {\n\t this._pools.push(new sjcl.hash.sha256());\n\t this._poolEntropy.push(0);\n\t }\n\t\n\t /* how strong was this reseed? */\n\t this._poolStrength -= strength;\n\t if (strength > this._strength) {\n\t this._strength = strength;\n\t }\n\t\n\t this._reseedCount++;\n\t this._reseed(reseedData);\n\t },\n\t\n\t _keyboardCollector: function _keyboardCollector() {\n\t this._addCurrentTimeToEntropy(1);\n\t },\n\t\n\t _mouseCollector: function _mouseCollector(ev) {\n\t var x, y;\n\t\n\t try {\n\t x = ev.x || ev.clientX || ev.offsetX || 0;\n\t y = ev.y || ev.clientY || ev.offsetY || 0;\n\t } catch (err) {\n\t // Event originated from a secure element. No mouse position available.\n\t x = 0;\n\t y = 0;\n\t }\n\t\n\t if (x != 0 && y != 0) {\n\t this.addEntropy([x, y], 2, \"mouse\");\n\t }\n\t\n\t this._addCurrentTimeToEntropy(0);\n\t },\n\t\n\t _touchCollector: function _touchCollector(ev) {\n\t var touch = ev.touches[0] || ev.changedTouches[0];\n\t var x = touch.pageX || touch.clientX,\n\t y = touch.pageY || touch.clientY;\n\t\n\t this.addEntropy([x, y], 1, \"touch\");\n\t\n\t this._addCurrentTimeToEntropy(0);\n\t },\n\t\n\t _loadTimeCollector: function _loadTimeCollector() {\n\t this._addCurrentTimeToEntropy(2);\n\t },\n\t\n\t _addCurrentTimeToEntropy: function _addCurrentTimeToEntropy(estimatedEntropy) {\n\t if (typeof window !== 'undefined' && window.performance && typeof window.performance.now === \"function\") {\n\t //how much entropy do we want to add here?\n\t this.addEntropy(window.performance.now(), estimatedEntropy, \"loadtime\");\n\t } else {\n\t this.addEntropy(new Date().valueOf(), estimatedEntropy, \"loadtime\");\n\t }\n\t },\n\t _accelerometerCollector: function _accelerometerCollector(ev) {\n\t var ac = ev.accelerationIncludingGravity.x || ev.accelerationIncludingGravity.y || ev.accelerationIncludingGravity.z;\n\t if (window.orientation) {\n\t var or = window.orientation;\n\t if (typeof or === \"number\") {\n\t this.addEntropy(or, 1, \"accelerometer\");\n\t }\n\t }\n\t if (ac) {\n\t this.addEntropy(ac, 2, \"accelerometer\");\n\t }\n\t this._addCurrentTimeToEntropy(0);\n\t },\n\t\n\t _fireEvent: function _fireEvent(name, arg) {\n\t var j,\n\t cbs = sjcl.random._callbacks[name],\n\t cbsTemp = [];\n\t /* TODO: there is a race condition between removing collectors and firing them */\n\t\n\t /* I'm not sure if this is necessary; in C++, iterating over a\n\t * collection and modifying it at the same time is a no-no.\n\t */\n\t\n\t for (j in cbs) {\n\t if (cbs.hasOwnProperty(j)) {\n\t cbsTemp.push(cbs[j]);\n\t }\n\t }\n\t\n\t for (j = 0; j < cbsTemp.length; j++) {\n\t cbsTemp[j](arg);\n\t }\n\t }\n\t };\n\t\n\t /** an instance for the prng.\n\t * @see sjcl.prng\n\t */\n\t sjcl.random = new sjcl.prng(6);\n\t\n\t (function () {\n\t // function for getting nodejs crypto module. catches and ignores errors.\n\t function getCryptoModule() {\n\t try {\n\t return __webpack_require__(208);\n\t } catch (e) {\n\t return null;\n\t }\n\t }\n\t\n\t try {\n\t var buf, crypt, ab;\n\t\n\t // get cryptographically strong entropy depending on runtime environment\n\t if (typeof module !== 'undefined' && module.exports && (crypt = getCryptoModule()) && crypt.randomBytes) {\n\t buf = crypt.randomBytes(1024 / 8);\n\t buf = new Uint32Array(new Uint8Array(buf).buffer);\n\t sjcl.random.addEntropy(buf, 1024, \"crypto.randomBytes\");\n\t } else if (typeof window !== 'undefined' && typeof Uint32Array !== 'undefined') {\n\t ab = new Uint32Array(32);\n\t if (window.crypto && window.crypto.getRandomValues) {\n\t window.crypto.getRandomValues(ab);\n\t } else if (window.msCrypto && window.msCrypto.getRandomValues) {\n\t window.msCrypto.getRandomValues(ab);\n\t } else {\n\t return;\n\t }\n\t\n\t // get cryptographically strong entropy in Webkit\n\t sjcl.random.addEntropy(ab, 1024, \"crypto.getRandomValues\");\n\t } else {\n\t // no getRandomValues :-(\n\t }\n\t } catch (e) {\n\t if (typeof window !== 'undefined' && window.console) {\n\t console.log(\"There was an error collecting entropy from the browser:\");\n\t console.log(e);\n\t //we do not want the library to fail due to randomness not being maintained.\n\t }\n\t }\n\t })();\n\t /* global sjcl */\n\t sjcl.codec.base58 = {\n\t alpha: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',\n\t lookup: {\n\t '1': 0,\n\t '2': 1,\n\t '3': 2,\n\t '4': 3,\n\t '5': 4,\n\t '6': 5,\n\t '7': 6,\n\t '8': 7,\n\t '9': 8,\n\t A: 9,\n\t B: 10,\n\t C: 11,\n\t D: 12,\n\t E: 13,\n\t F: 14,\n\t G: 15,\n\t H: 16,\n\t J: 17,\n\t K: 18,\n\t L: 19,\n\t M: 20,\n\t N: 21,\n\t P: 22,\n\t Q: 23,\n\t R: 24,\n\t S: 25,\n\t T: 26,\n\t U: 27,\n\t V: 28,\n\t W: 29,\n\t X: 30,\n\t Y: 31,\n\t Z: 32,\n\t a: 33,\n\t b: 34,\n\t c: 35,\n\t d: 36,\n\t e: 37,\n\t f: 38,\n\t g: 39,\n\t h: 40,\n\t i: 41,\n\t j: 42,\n\t k: 43,\n\t m: 44,\n\t n: 45,\n\t o: 46,\n\t p: 47,\n\t q: 48,\n\t r: 49,\n\t s: 50,\n\t t: 51,\n\t u: 52,\n\t v: 53,\n\t w: 54,\n\t x: 55,\n\t y: 56,\n\t z: 57\n\t },\n\t\n\t toBits: function toBits(fromDigits) {\n\t var work = new sjcl.bn();\n\t var fb = new sjcl.bn(58);\n\t\n\t for (var i = 0; i < fromDigits.length; i++) {\n\t var digit = new sjcl.bn(sjcl.codec.base58.lookup[fromDigits[i]]);\n\t work.addM(digit.mul(fb.power(fromDigits.length - i - 1)));\n\t }\n\t\n\t work.fullReduce();\n\t return work.toBits();\n\t },\n\t\n\t fromBits: function fromBits(bits) {\n\t var num = sjcl.bn.fromBits(bits);\n\t var bitlen = sjcl.bitArray.bitLength(bits);\n\t var len = Math.ceil(bitlen * (Math.log(2) / Math.log(58)));\n\t var base = new sjcl.bn(58);\n\t var str = '';\n\t\n\t for (var i = len - 1; i >= 0; i--) {\n\t var iBig = new sjcl.bn(i);\n\t var exp = base.power(iBig);\n\t\n\t var pos = 0;\n\t while (num.greaterEquals(exp)) {\n\t num.subM(exp);\n\t num.normalize();\n\t pos++;\n\t }\n\t if (!(i === len - 1 && pos === 0)) {\n\t str += sjcl.codec.base58.alpha[pos];\n\t }\n\t }\n\t return str;\n\t }\n\t };\n\t /* global sjcl */\n\t\n\t sjcl.codec.base58Check = {\n\t defaultChecksumFn: function defaultChecksumFn(bits) {\n\t return sjcl.bitArray.bitSlice(sjcl.hash.sha256.hash(sjcl.hash.sha256.hash(bits)), 0, 32);\n\t },\n\t\n\t fromBits: function fromBits(version, bits, checksumFn) {\n\t checksumFn = checksumFn || sjcl.codec.base58Check.defaultChecksumFn;\n\t\n\t var bitsWithHeader = sjcl.bitArray.concat([sjcl.bitArray.partial(8, version)], bits);\n\t var checksum = checksumFn(bitsWithHeader);\n\t var headerPayloadAndChecksum = sjcl.bitArray.concat(bitsWithHeader, checksum);\n\t var base58str = sjcl.codec.base58.fromBits(headerPayloadAndChecksum);\n\t\n\t var leadingZeroBits = 0;\n\t while (sjcl.bitArray.extract(headerPayloadAndChecksum, leadingZeroBits, 8) == 0) {\n\t base58str = '1' + base58str;\n\t leadingZeroBits += 8;\n\t }\n\t\n\t return base58str;\n\t },\n\t toBits: function toBits(str, checksumFn) {\n\t checksumFn = checksumFn || sjcl.codec.base58Check.defaultChecksumFn;\n\t\n\t var bits = sjcl.codec.base58.toBits(str);\n\t var bitlen = sjcl.bitArray.bitLength(bits);\n\t // var headerByte = sjcl.bitArray.extract(bits, 0, 8);\n\t var payload = sjcl.bitArray.bitSlice(bits, 0, bitlen - 32);\n\t\n\t var transmittedChecksum = sjcl.bitArray.bitSlice(bits, bitlen - 32);\n\t var computedChecksum = checksumFn(payload);\n\t if (!sjcl.bitArray.equal(computedChecksum, transmittedChecksum)) {\n\t throw new Error('Checksums do not match');\n\t }\n\t\n\t return payload;\n\t }\n\t };\n\t /* global sjcl */\n\t sjcl.codec.steemit = {\n\t ROLES: ['owner', 'memo', 'active', 'posting'],\n\t MAINNET: {\n\t pubHeader: 0x0,\n\t privHeader: 0x80,\n\t pubPrefix: 'STM'\n\t },\n\t TESTNET: {\n\t pubHeader: 0x0,\n\t privHeader: 0x80,\n\t pubPrefix: 'TST'\n\t },\n\t keyChecksum: function keyChecksum(bits) {\n\t return sjcl.bitArray.bitSlice(sjcl.hash.ripemd160.hash(bits), 0, 32);\n\t },\n\t\n\t keysFromPassword: function keysFromPassword(account, password) {\n\t var keyPairs = {};\n\t var CURVE = sjcl.ecc.curves.k256;\n\t for (var i = 0; i < sjcl.codec.steemit.ROLES.length; i++) {\n\t var role = sjcl.codec.steemit.ROLES[i];\n\t var seed = account + role + password;\n\t var secret = sjcl.bn.fromBits(sjcl.hash.sha256.hash(sjcl.codec.utf8String.toBits(seed)));\n\t keyPairs[role] = sjcl.ecc.ecdsa.generateKeys(CURVE, 0, secret);\n\t }\n\t return keyPairs;\n\t },\n\t\n\t signRecoverably: function signRecoverably(sec, hash, paranoia, fixedKForTesting) {\n\t /*\n\t * an explanation of the format of the recovery parameter.\n\t * given any ECDSA signature (r, s), there are 4 possible public keys that could have\n\t * generated the signature over the hash. Two have odd Y-coordinates and two have\n\t * even Y-coordinates. the recovery parameter deterministically identifies the public key\n\t * that _did_ generate the signature.\n\t *\n\t * to get the public key given the recovery parameter, do the following:\n\t * a. if the recovery parameter is between 27 and 31, subtract 27 and remember that the public\n\t * key that produced the signature is canonically an \"uncompressed\" public key (i.e. known by\n\t * its X and Y coordinates)\n\t * b. If the recovery parameter is between 31 and 34, subtract 31 and remember that the public\n\t * key that produced the signature is canonically a \"compressed\" public key (i.e. known by only\n\t * its X coordinate).\n\t *\n\t * note that in the Steem blockchain, all public keys are canonically compressed and therefore the\n\t * recovery parameter will always be between 31 and 34. therefore only case \"b\" applies here.\n\t *\n\t * after the subtraction, you will get a number between 0 and 4. this number, i, encodes the parity\n\t * and \"overflow\" of the candidate public key among the four options.\n\t *\n\t * the lowest bit of i in binary notation indicates the parity of the candidate public key.\n\t * if the lowest bit is set, the candidate public key's Y coordinate is odd. If it is cleared, the\n\t * Y coordinate is even.\n\t *\n\t * The next-lowest bit of i, if set, indicates that the candidate public key's x was greater than\n\t * the order of k. This is true of approximately 1 in 1^127 points on the secp256k1 curve.\n\t * considering the rarity of this condition, it's much much simpler to just brute-force this\n\t * condition when it occurs, following §4.1.6.\n\t */\n\t\n\t if (sjcl.bitArray.bitLength(hash) > this._curveBitLength) {\n\t hash = sjcl.bitArray.clamp(hash, this._curveBitLength);\n\t }\n\t\n\t while (true) {\n\t\n\t var CURVE = sjcl.ecc.curves.k256,\n\t n = CURVE.r,\n\t l = n.bitLength(),\n\t k = fixedKForTesting || sjcl.bn.random(n.sub(1), paranoia).add(1),\n\t R = CURVE.G.mult(k);\n\t\n\t if (fixedKForTesting) {\n\t fixedKForTesting = fixedKForTesting.add(1);\n\t }\n\t\n\t if (R.isIdentity) {\n\t continue;\n\t }\n\t\n\t var r = R.x.mod(n),\n\t ss = sjcl.bn.fromBits(hash).add(r.mul(sec._exponent)),\n\t s = ss.mul(k.inverseMod(n)).mod(n),\n\t isOdd = R.y.limbs[0] & 0x1 == 1,\n\t recoveryParam = 31;\n\t\n\t if (isOdd) {\n\t recoveryParam++;\n\t }\n\t\n\t var rBitArray = r.toBits(l);\n\t var sBitArray = s.toBits(l);\n\t\n\t var r0 = sjcl.bitArray.extract(rBitArray, 0, 8);\n\t var r1 = sjcl.bitArray.extract(rBitArray, 8, 8);\n\t var s0 = sjcl.bitArray.extract(sBitArray, 0, 8);\n\t var s1 = sjcl.bitArray.extract(sBitArray, 8, 8);\n\t\n\t if (!(r0 & 0x80) && !(r0 == 0 && !(r1 & 0x80)) && !(s0 & 0x80) && !(s0 == 0 && !(s1 & 0x80))) {\n\t var rawSig = sjcl.bitArray.concat(r.toBits(l), s.toBits(l));\n\t\n\t return sjcl.bitArray.concat([sjcl.bitArray.partial(8, recoveryParam)], rawSig);\n\t }\n\t }\n\t },\n\t\n\t recoverPublicKey: function recoverPublicKey(hash, sig) {\n\t var CURVE = sjcl.ecc.curves.k256;\n\t var n = CURVE.r;\n\t var G = CURVE.G;\n\t\n\t var recoveryParameter = sjcl.bitArray.extract(sig, 0, 8) - 31;\n\t var e = sjcl.bn.fromBits(hash);\n\t var r = sjcl.bn.fromBits(sjcl.bitArray.bitSlice(sig, 8, 264));\n\t var s = sjcl.bn.fromBits(sjcl.bitArray.bitSlice(sig, 264));\n\t\n\t if (recoveryParameter < 0 || recoveryParameter > 4) {\n\t throw new Error('Corrupt signature: recovery parameter is wrong');\n\t }\n\t\n\t var hasOddParity = (recoveryParameter & 0x1) === 1;\n\t\n\t for (var j = 0; j <= 1; j++) {\n\t var x = r.add(n.mul(j));\n\t\n\t var y = sjcl.codec.steemit._yFromX(x, hasOddParity);\n\t var p = new sjcl.ecc.point(CURVE, x, y);\n\t\n\t var rInv = r.inverseMod(n);\n\t var eNeg = new sjcl.bn(0).sub(e).mod(n);\n\t var keyPoint = G.mult2(eNeg, s, p).mult(rInv);\n\t var key = new sjcl.ecc.ecdsa.publicKey(CURVE, keyPoint);\n\t try {\n\t key.verify(hash, sjcl.bitArray.bitSlice(sig, 8));\n\t return key;\n\t } catch (_) {\n\t // do nothing, wait for next j\n\t }\n\t }\n\t throw new Error('public key was unrecoverable');\n\t },\n\t\n\t serializePublicKey: function serializePublicKey(key, net) {\n\t net = net || sjcl.codec.steemit.MAINNET;\n\t\n\t var point = key.get();\n\t var header = net.pubHeader;\n\t\n\t // the public key header sets 0x3 if X is odd, 0x2 if even\n\t if (sjcl.bn.fromBits(point.y).limbs[0] & 0x1) {\n\t header |= 0x3;\n\t } else {\n\t header |= 0x2;\n\t }\n\t return net.pubPrefix + sjcl.codec.base58Check.fromBits(header, point.x, sjcl.codec.steemit.keyChecksum);\n\t },\n\t\n\t deserializePublicKey: function deserializePublicKey(pubKey, net) {\n\t net = net || sjcl.codec.steemit.MAINNET;\n\t var CURVE = sjcl.ecc.curves.k256;\n\t\n\t if (pubKey.indexOf(net.pubPrefix) !== 0) {\n\t throw new Error('Public key is not in correct format, it should begin with \"' + net.pubPrefix + '\"');\n\t }\n\t\n\t var payload = sjcl.codec.base58Check.toBits(pubKey.slice(3), sjcl.codec.steemit.keyChecksum);\n\t var headerByte = sjcl.bitArray.extract(payload, 0, 8);\n\t var isOdd = headerByte == 0x3;\n\t if ((headerByte & net.pubHeader) !== net.pubHeader) {\n\t throw new Error('public key has invalid header');\n\t } else if ((headerByte & 0x3) === 0 && (headerByte & 0x2) === 0) {\n\t throw new Error('public key has invalid header: should set 0x2 or 0x3, but got 0x' + headerByte.toString(16));\n\t }\n\t\n\t var xBits = sjcl.bitArray.bitSlice(payload, 8);\n\t var x = sjcl.bn.fromBits(xBits);\n\t var y = sjcl.codec.steemit._yFromX(x, isOdd);\n\t\n\t return new sjcl.ecc.ecdsa.publicKey(CURVE, new sjcl.ecc.point(CURVE, x, y));\n\t },\n\t\n\t serializePrivateKey: function serializePrivateKey(key, net) {\n\t net = net || sjcl.codec.steemit.MAINNET;\n\t return sjcl.codec.base58Check.fromBits(net.privHeader, key.get());\n\t },\n\t\n\t deserializePrivateKey: function deserializePrivateKey(wif, header) {\n\t header = header || sjcl.codec.steemit.MAINNET.privHeader;\n\t var curve = sjcl.ecc.curves.k256;\n\t var payload = sjcl.codec.base58Check.toBits(wif);\n\t var headerByte = sjcl.bitArray.extract(payload, 0, 8);\n\t if (headerByte !== header) {\n\t throw new Error('private key has invalid header: wanted 0x' + header.toString(16) + ', got 0x' + headerByte.toString(16));\n\t }\n\t\n\t var keyBits = sjcl.bitArray.bitSlice(payload, 8);\n\t return new sjcl.ecc.ecdsa.secretKey(curve, sjcl.bn.fromBits(keyBits));\n\t },\n\t\n\t _yFromX: function _yFromX(x, shouldBeOdd) {\n\t var CURVE = sjcl.ecc.curves.k256;\n\t var PIDENT = sjcl.codec.steemit._getPident();\n\t\n\t var alpha = x.powermod(3, CURVE.field.modulus).add(x.mulmod(CURVE.a, CURVE.field.modulus)).add(CURVE.b).mod(CURVE.field.modulus);\n\t\n\t var y = alpha.powermod(PIDENT, CURVE.field.modulus);\n\t var yIsOdd = y.mod(2).equals(1);\n\t\n\t if (yIsOdd && shouldBeOdd || !yIsOdd && !shouldBeOdd) {\n\t return y;\n\t } else {\n\t return CURVE.field.modulus.sub(y).normalize();\n\t }\n\t },\n\t\n\t _getPident: function _getPident() {\n\t if (!sjcl.codec.steemit.PIDENT) {\n\t sjcl.codec.steemit.PIDENT = sjcl.ecc.curves.k256.field.modulus.add(1).normalize().halveM().halveM().normalize();\n\t }\n\t return sjcl.codec.steemit.PIDENT;\n\t }\n\t };\n\t\n\t return sjcl;\n\t }();\n\t\n\t exports.sjcl = sjcl;\n\t\n\t function PrivateKey(priv, pub) {\n\t // we deliberately avoid exposing private key material on the instance.\n\t // this is paranoid and probably doesn't protect against a determined\n\t // attack, but why make things easy?\n\t this.getPublicKey = function () {\n\t if (!pub) {\n\t pub = sjcl.ecc.ecdsa.generateKeys(sjcl.ecc.curves.k256, undefined, sjcl.bn.fromBits(priv.get())).pub;\n\t }\n\t return new PublicKey(pub);\n\t };\n\t\n\t this.sign = function (hash) {\n\t return fromBits(sjcl.codec.steemit.signRecoverably(priv, toBits(hash)));\n\t };\n\t }\n\t\n\t PrivateKey.from = function (wif, header) {\n\t return new PrivateKey(sjcl.codec.steemit.deserializePrivateKey(wif, header));\n\t };\n\t\n\t function PublicKey(pub) {\n\t this._p = pub;\n\t }\n\t\n\t PublicKey.from = function (str) {\n\t return new PublicKey(sjcl.codec.steemit.deserializePublicKey(str));\n\t };\n\t\n\t PublicKey.recover = function (hash, sig) {\n\t return new PublicKey(sjcl.codec.steemit.recoverPublicKey(toBits(hash), toBits(sig)));\n\t };\n\t\n\t PublicKey.prototype = {\n\t toString: function toString() {\n\t return sjcl.codec.steemit.serializePublicKey(this._p);\n\t },\n\t verify: function verify(hash, signature) {\n\t try {\n\t var rawSig = sjcl.bitArray.bitSlice(toBits(signature), 8);\n\t this._p.verify(toBits(hash), rawSig);\n\t return true;\n\t } catch (_) {\n\t return false;\n\t }\n\t }\n\t };\n\t\n\t function generateKeys() {\n\t var k = sjcl.ecc.ecdsa.generateKeys(sjcl.ecc.curves.k256);\n\t return serializePair(k);\n\t }\n\t\n\t function keysFromPassword(accountName, accountPassword) {\n\t var keys = sjcl.codec.steemit.keysFromPassword(accountName, accountPassword);\n\t return {\n\t owner: serializePair(keys.owner),\n\t memo: serializePair(keys.memo),\n\t posting: serializePair(keys.posting),\n\t active: serializePair(keys.active)\n\t };\n\t }\n\t\n\t function sha256(data) {\n\t return fromBits(sjcl.hash.sha256.hash(toBits(data)));\n\t }\n\t\n\t function ripemd160(data) {\n\t return fromBits(sjcl.hash.ripemd160.hash(toBits(data)));\n\t }\n\t\n\t function hexify(data) {\n\t var result = '';\n\t var view = new Uint8Array(data);\n\t for (var i = 0; i < view.byteLength; i++) {\n\t if (view[i] < 16) {\n\t result += '0';\n\t }\n\t result += view[i].toString(16);\n\t }\n\t return result;\n\t }\n\t\n\t function serializePair(k) {\n\t return {\n\t private: sjcl.codec.steemit.serializePrivateKey(k.sec),\n\t public: sjcl.codec.steemit.serializePublicKey(k.pub)\n\t };\n\t }\n\t\n\t function toBits(a) {\n\t if (a instanceof ArrayBuffer) {\n\t return sjcl.codec.arrayBuffer.toBits(a);\n\t } else {\n\t throw new Error('You must supply an ArrayBuffer');\n\t }\n\t }\n\t\n\t function fromBits(a) {\n\t return sjcl.codec.arrayBuffer.fromBits(a, 0, 0);\n\t }\n\t});\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar rng = __webpack_require__(209);\n\t\n\tfunction error() {\n\t var m = [].slice.call(arguments).join(' ');\n\t throw new Error([m, 'we accept pull requests', 'http://github.com/dominictarr/crypto-browserify'].join('\\n'));\n\t}\n\t\n\texports.createHash = __webpack_require__(211);\n\t\n\texports.createHmac = __webpack_require__(220);\n\t\n\texports.randomBytes = function (size, callback) {\n\t if (callback && callback.call) {\n\t try {\n\t callback.call(this, undefined, new Buffer(rng(size)));\n\t } catch (err) {\n\t callback(err);\n\t }\n\t } else {\n\t return new Buffer(rng(size));\n\t }\n\t};\n\t\n\tfunction each(a, f) {\n\t for (var i in a) {\n\t f(a[i], i);\n\t }\n\t}\n\t\n\texports.getHashes = function () {\n\t return ['sha1', 'sha256', 'sha512', 'md5', 'rmd160'];\n\t};\n\t\n\tvar p = __webpack_require__(221)(exports);\n\texports.pbkdf2 = p.pbkdf2;\n\texports.pbkdf2Sync = p.pbkdf2Sync;\n\t__webpack_require__(223)(exports, module.exports);\n\t\n\t// the least I can do is make error messages for the rest of the node.js/crypto api.\n\teach(['createCredentials', 'createSign', 'createVerify', 'createDiffieHellman'], function (name) {\n\t exports[name] = function () {\n\t error('sorry,', name, 'is not implemented yet');\n\t };\n\t});\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global, Buffer) {'use strict';\n\t\n\t(function () {\n\t var g = ('undefined' === typeof window ? global : window) || {};\n\t _crypto = g.crypto || g.msCrypto || __webpack_require__(210);\n\t module.exports = function (size) {\n\t // Modern Browsers\n\t if (_crypto.getRandomValues) {\n\t var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array\n\t /* This will not work in older browsers.\n\t * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n\t */\n\t\n\t _crypto.getRandomValues(bytes);\n\t return bytes;\n\t } else if (_crypto.randomBytes) {\n\t return _crypto.randomBytes(size);\n\t } else throw new Error('secure random number generation not supported by this browser\\n' + 'use chrome, FireFox or Internet Explorer 11');\n\t };\n\t})();\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 210 */\n96,\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar createHash = __webpack_require__(212);\n\t\n\tvar md5 = toConstructor(__webpack_require__(217));\n\tvar rmd160 = toConstructor(__webpack_require__(219));\n\t\n\tfunction toConstructor(fn) {\n\t return function () {\n\t var buffers = [];\n\t var m = {\n\t update: function update(data, enc) {\n\t if (!Buffer.isBuffer(data)) data = new Buffer(data, enc);\n\t buffers.push(data);\n\t return this;\n\t },\n\t digest: function digest(enc) {\n\t var buf = Buffer.concat(buffers);\n\t var r = fn(buf);\n\t buffers = null;\n\t return enc ? r.toString(enc) : r;\n\t }\n\t };\n\t return m;\n\t };\n\t}\n\t\n\tmodule.exports = function (alg) {\n\t if ('md5' === alg) return new md5();\n\t if ('rmd160' === alg) return new rmd160();\n\t return createHash(alg);\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _exports = module.exports = function (alg) {\n\t var Alg = _exports[alg];\n\t if (!Alg) throw new Error(alg + ' is not supported (we accept pull requests)');\n\t return new Alg();\n\t};\n\t\n\tvar Buffer = __webpack_require__(122).Buffer;\n\tvar Hash = __webpack_require__(213)(Buffer);\n\t\n\t_exports.sha1 = __webpack_require__(214)(Buffer, Hash);\n\t_exports.sha256 = __webpack_require__(215)(Buffer, Hash);\n\t_exports.sha512 = __webpack_require__(216)(Buffer, Hash);\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = function (Buffer) {\n\t\n\t //prototype class for hash functions\n\t function Hash(blockSize, finalSize) {\n\t this._block = new Buffer(blockSize); //new Uint32Array(blockSize/4)\n\t this._finalSize = finalSize;\n\t this._blockSize = blockSize;\n\t this._len = 0;\n\t this._s = 0;\n\t }\n\t\n\t Hash.prototype.init = function () {\n\t this._s = 0;\n\t this._len = 0;\n\t };\n\t\n\t Hash.prototype.update = function (data, enc) {\n\t if (\"string\" === typeof data) {\n\t enc = enc || \"utf8\";\n\t data = new Buffer(data, enc);\n\t }\n\t\n\t var l = this._len += data.length;\n\t var s = this._s = this._s || 0;\n\t var f = 0;\n\t var buffer = this._block;\n\t\n\t while (s < l) {\n\t var t = Math.min(data.length, f + this._blockSize - s % this._blockSize);\n\t var ch = t - f;\n\t\n\t for (var i = 0; i < ch; i++) {\n\t buffer[s % this._blockSize + i] = data[i + f];\n\t }\n\t\n\t s += ch;\n\t f += ch;\n\t\n\t if (s % this._blockSize === 0) {\n\t this._update(buffer);\n\t }\n\t }\n\t this._s = s;\n\t\n\t return this;\n\t };\n\t\n\t Hash.prototype.digest = function (enc) {\n\t // Suppose the length of the message M, in bits, is l\n\t var l = this._len * 8;\n\t\n\t // Append the bit 1 to the end of the message\n\t this._block[this._len % this._blockSize] = 0x80;\n\t\n\t // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize\n\t this._block.fill(0, this._len % this._blockSize + 1);\n\t\n\t if (l % (this._blockSize * 8) >= this._finalSize * 8) {\n\t this._update(this._block);\n\t this._block.fill(0);\n\t }\n\t\n\t // to this append the block which is equal to the number l written in binary\n\t // TODO: handle case where l is > Math.pow(2, 29)\n\t this._block.writeInt32BE(l, this._blockSize - 4);\n\t\n\t var hash = this._update(this._block) || this._hash();\n\t\n\t return enc ? hash.toString(enc) : hash;\n\t };\n\t\n\t Hash.prototype._update = function () {\n\t throw new Error('_update must be implemented by subclass');\n\t };\n\t\n\t return Hash;\n\t};\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*\n\t * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n\t * in FIPS PUB 180-1\n\t * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t * Distributed under the BSD License\n\t * See http://pajhome.org.uk/crypt/md5 for details.\n\t */\n\t\n\tvar inherits = __webpack_require__(106).inherits;\n\t\n\tmodule.exports = function (Buffer, Hash) {\n\t\n\t var A = 0 | 0;\n\t var B = 4 | 0;\n\t var C = 8 | 0;\n\t var D = 12 | 0;\n\t var E = 16 | 0;\n\t\n\t var W = new (typeof Int32Array === 'undefined' ? Array : Int32Array)(80);\n\t\n\t var POOL = [];\n\t\n\t function Sha1() {\n\t if (POOL.length) return POOL.pop().init();\n\t\n\t if (!(this instanceof Sha1)) return new Sha1();\n\t this._w = W;\n\t Hash.call(this, 16 * 4, 14 * 4);\n\t\n\t this._h = null;\n\t this.init();\n\t }\n\t\n\t inherits(Sha1, Hash);\n\t\n\t Sha1.prototype.init = function () {\n\t this._a = 0x67452301;\n\t this._b = 0xefcdab89;\n\t this._c = 0x98badcfe;\n\t this._d = 0x10325476;\n\t this._e = 0xc3d2e1f0;\n\t\n\t Hash.prototype.init.call(this);\n\t return this;\n\t };\n\t\n\t Sha1.prototype._POOL = POOL;\n\t Sha1.prototype._update = function (X) {\n\t\n\t var a, b, c, d, e, _a, _b, _c, _d, _e;\n\t\n\t a = _a = this._a;\n\t b = _b = this._b;\n\t c = _c = this._c;\n\t d = _d = this._d;\n\t e = _e = this._e;\n\t\n\t var w = this._w;\n\t\n\t for (var j = 0; j < 80; j++) {\n\t var W = w[j] = j < 16 ? X.readInt32BE(j * 4) : rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n\t\n\t var t = add(add(rol(a, 5), sha1_ft(j, b, c, d)), add(add(e, W), sha1_kt(j)));\n\t\n\t e = d;\n\t d = c;\n\t c = rol(b, 30);\n\t b = a;\n\t a = t;\n\t }\n\t\n\t this._a = add(a, _a);\n\t this._b = add(b, _b);\n\t this._c = add(c, _c);\n\t this._d = add(d, _d);\n\t this._e = add(e, _e);\n\t };\n\t\n\t Sha1.prototype._hash = function () {\n\t if (POOL.length < 100) POOL.push(this);\n\t var H = new Buffer(20);\n\t //console.log(this._a|0, this._b|0, this._c|0, this._d|0, this._e|0)\n\t H.writeInt32BE(this._a | 0, A);\n\t H.writeInt32BE(this._b | 0, B);\n\t H.writeInt32BE(this._c | 0, C);\n\t H.writeInt32BE(this._d | 0, D);\n\t H.writeInt32BE(this._e | 0, E);\n\t return H;\n\t };\n\t\n\t /*\n\t * Perform the appropriate triplet combination function for the current\n\t * iteration\n\t */\n\t function sha1_ft(t, b, c, d) {\n\t if (t < 20) return b & c | ~b & d;\n\t if (t < 40) return b ^ c ^ d;\n\t if (t < 60) return b & c | b & d | c & d;\n\t return b ^ c ^ d;\n\t }\n\t\n\t /*\n\t * Determine the appropriate additive constant for the current iteration\n\t */\n\t function sha1_kt(t) {\n\t return t < 20 ? 1518500249 : t < 40 ? 1859775393 : t < 60 ? -1894007588 : -899497514;\n\t }\n\t\n\t /*\n\t * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n\t * to work around bugs in some JS interpreters.\n\t * //dominictarr: this is 10 years old, so maybe this can be dropped?)\n\t *\n\t */\n\t function add(x, y) {\n\t return x + y | 0;\n\t //lets see how this goes on testling.\n\t // var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n\t // var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n\t // return (msw << 16) | (lsw & 0xFFFF);\n\t }\n\t\n\t /*\n\t * Bitwise rotate a 32-bit number to the left.\n\t */\n\t function rol(num, cnt) {\n\t return num << cnt | num >>> 32 - cnt;\n\t }\n\t\n\t return Sha1;\n\t};\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/**\n\t * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n\t * in FIPS 180-2\n\t * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t *\n\t */\n\t\n\tvar inherits = __webpack_require__(106).inherits;\n\t\n\tmodule.exports = function (Buffer, Hash) {\n\t\n\t var K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2];\n\t\n\t var W = new Array(64);\n\t\n\t function Sha256() {\n\t this.init();\n\t\n\t this._w = W; //new Array(64)\n\t\n\t Hash.call(this, 16 * 4, 14 * 4);\n\t }\n\t\n\t inherits(Sha256, Hash);\n\t\n\t Sha256.prototype.init = function () {\n\t\n\t this._a = 0x6a09e667 | 0;\n\t this._b = 0xbb67ae85 | 0;\n\t this._c = 0x3c6ef372 | 0;\n\t this._d = 0xa54ff53a | 0;\n\t this._e = 0x510e527f | 0;\n\t this._f = 0x9b05688c | 0;\n\t this._g = 0x1f83d9ab | 0;\n\t this._h = 0x5be0cd19 | 0;\n\t\n\t this._len = this._s = 0;\n\t\n\t return this;\n\t };\n\t\n\t function S(X, n) {\n\t return X >>> n | X << 32 - n;\n\t }\n\t\n\t function R(X, n) {\n\t return X >>> n;\n\t }\n\t\n\t function Ch(x, y, z) {\n\t return x & y ^ ~x & z;\n\t }\n\t\n\t function Maj(x, y, z) {\n\t return x & y ^ x & z ^ y & z;\n\t }\n\t\n\t function Sigma0256(x) {\n\t return S(x, 2) ^ S(x, 13) ^ S(x, 22);\n\t }\n\t\n\t function Sigma1256(x) {\n\t return S(x, 6) ^ S(x, 11) ^ S(x, 25);\n\t }\n\t\n\t function Gamma0256(x) {\n\t return S(x, 7) ^ S(x, 18) ^ R(x, 3);\n\t }\n\t\n\t function Gamma1256(x) {\n\t return S(x, 17) ^ S(x, 19) ^ R(x, 10);\n\t }\n\t\n\t Sha256.prototype._update = function (M) {\n\t\n\t var W = this._w;\n\t var a, b, c, d, e, f, g, h;\n\t var T1, T2;\n\t\n\t a = this._a | 0;\n\t b = this._b | 0;\n\t c = this._c | 0;\n\t d = this._d | 0;\n\t e = this._e | 0;\n\t f = this._f | 0;\n\t g = this._g | 0;\n\t h = this._h | 0;\n\t\n\t for (var j = 0; j < 64; j++) {\n\t var w = W[j] = j < 16 ? M.readInt32BE(j * 4) : Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16];\n\t\n\t T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w;\n\t\n\t T2 = Sigma0256(a) + Maj(a, b, c);\n\t h = g;g = f;f = e;e = d + T1;d = c;c = b;b = a;a = T1 + T2;\n\t }\n\t\n\t this._a = a + this._a | 0;\n\t this._b = b + this._b | 0;\n\t this._c = c + this._c | 0;\n\t this._d = d + this._d | 0;\n\t this._e = e + this._e | 0;\n\t this._f = f + this._f | 0;\n\t this._g = g + this._g | 0;\n\t this._h = h + this._h | 0;\n\t };\n\t\n\t Sha256.prototype._hash = function () {\n\t var H = new Buffer(32);\n\t\n\t H.writeInt32BE(this._a, 0);\n\t H.writeInt32BE(this._b, 4);\n\t H.writeInt32BE(this._c, 8);\n\t H.writeInt32BE(this._d, 12);\n\t H.writeInt32BE(this._e, 16);\n\t H.writeInt32BE(this._f, 20);\n\t H.writeInt32BE(this._g, 24);\n\t H.writeInt32BE(this._h, 28);\n\t\n\t return H;\n\t };\n\t\n\t return Sha256;\n\t};\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar inherits = __webpack_require__(106).inherits;\n\t\n\tmodule.exports = function (Buffer, Hash) {\n\t var K = [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec, 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817];\n\t\n\t var W = new Array(160);\n\t\n\t function Sha512() {\n\t this.init();\n\t this._w = W;\n\t\n\t Hash.call(this, 128, 112);\n\t }\n\t\n\t inherits(Sha512, Hash);\n\t\n\t Sha512.prototype.init = function () {\n\t\n\t this._a = 0x6a09e667 | 0;\n\t this._b = 0xbb67ae85 | 0;\n\t this._c = 0x3c6ef372 | 0;\n\t this._d = 0xa54ff53a | 0;\n\t this._e = 0x510e527f | 0;\n\t this._f = 0x9b05688c | 0;\n\t this._g = 0x1f83d9ab | 0;\n\t this._h = 0x5be0cd19 | 0;\n\t\n\t this._al = 0xf3bcc908 | 0;\n\t this._bl = 0x84caa73b | 0;\n\t this._cl = 0xfe94f82b | 0;\n\t this._dl = 0x5f1d36f1 | 0;\n\t this._el = 0xade682d1 | 0;\n\t this._fl = 0x2b3e6c1f | 0;\n\t this._gl = 0xfb41bd6b | 0;\n\t this._hl = 0x137e2179 | 0;\n\t\n\t this._len = this._s = 0;\n\t\n\t return this;\n\t };\n\t\n\t function S(X, Xl, n) {\n\t return X >>> n | Xl << 32 - n;\n\t }\n\t\n\t function Ch(x, y, z) {\n\t return x & y ^ ~x & z;\n\t }\n\t\n\t function Maj(x, y, z) {\n\t return x & y ^ x & z ^ y & z;\n\t }\n\t\n\t Sha512.prototype._update = function (M) {\n\t\n\t var W = this._w;\n\t var a, b, c, d, e, f, g, h;\n\t var al, bl, cl, dl, el, fl, gl, hl;\n\t\n\t a = this._a | 0;\n\t b = this._b | 0;\n\t c = this._c | 0;\n\t d = this._d | 0;\n\t e = this._e | 0;\n\t f = this._f | 0;\n\t g = this._g | 0;\n\t h = this._h | 0;\n\t\n\t al = this._al | 0;\n\t bl = this._bl | 0;\n\t cl = this._cl | 0;\n\t dl = this._dl | 0;\n\t el = this._el | 0;\n\t fl = this._fl | 0;\n\t gl = this._gl | 0;\n\t hl = this._hl | 0;\n\t\n\t for (var i = 0; i < 80; i++) {\n\t var j = i * 2;\n\t\n\t var Wi, Wil;\n\t\n\t if (i < 16) {\n\t Wi = W[j] = M.readInt32BE(j * 4);\n\t Wil = W[j + 1] = M.readInt32BE(j * 4 + 4);\n\t } else {\n\t var x = W[j - 15 * 2];\n\t var xl = W[j - 15 * 2 + 1];\n\t var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ x >>> 7;\n\t var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7);\n\t\n\t x = W[j - 2 * 2];\n\t xl = W[j - 2 * 2 + 1];\n\t var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ x >>> 6;\n\t var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6);\n\t\n\t // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n\t var Wi7 = W[j - 7 * 2];\n\t var Wi7l = W[j - 7 * 2 + 1];\n\t\n\t var Wi16 = W[j - 16 * 2];\n\t var Wi16l = W[j - 16 * 2 + 1];\n\t\n\t Wil = gamma0l + Wi7l;\n\t Wi = gamma0 + Wi7 + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);\n\t Wil = Wil + gamma1l;\n\t Wi = Wi + gamma1 + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);\n\t Wil = Wil + Wi16l;\n\t Wi = Wi + Wi16 + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);\n\t\n\t W[j] = Wi;\n\t W[j + 1] = Wil;\n\t }\n\t\n\t var maj = Maj(a, b, c);\n\t var majl = Maj(al, bl, cl);\n\t\n\t var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7);\n\t var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7);\n\t var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9);\n\t var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9);\n\t\n\t // t1 = h + sigma1 + ch + K[i] + W[i]\n\t var Ki = K[j];\n\t var Kil = K[j + 1];\n\t\n\t var ch = Ch(e, f, g);\n\t var chl = Ch(el, fl, gl);\n\t\n\t var t1l = hl + sigma1l;\n\t var t1 = h + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);\n\t t1l = t1l + chl;\n\t t1 = t1 + ch + (t1l >>> 0 < chl >>> 0 ? 1 : 0);\n\t t1l = t1l + Kil;\n\t t1 = t1 + Ki + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);\n\t t1l = t1l + Wil;\n\t t1 = t1 + Wi + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);\n\t\n\t // t2 = sigma0 + maj\n\t var t2l = sigma0l + majl;\n\t var t2 = sigma0h + maj + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);\n\t\n\t h = g;\n\t hl = gl;\n\t g = f;\n\t gl = fl;\n\t f = e;\n\t fl = el;\n\t el = dl + t1l | 0;\n\t e = d + t1 + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;\n\t d = c;\n\t dl = cl;\n\t c = b;\n\t cl = bl;\n\t b = a;\n\t bl = al;\n\t al = t1l + t2l | 0;\n\t a = t1 + t2 + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;\n\t }\n\t\n\t this._al = this._al + al | 0;\n\t this._bl = this._bl + bl | 0;\n\t this._cl = this._cl + cl | 0;\n\t this._dl = this._dl + dl | 0;\n\t this._el = this._el + el | 0;\n\t this._fl = this._fl + fl | 0;\n\t this._gl = this._gl + gl | 0;\n\t this._hl = this._hl + hl | 0;\n\t\n\t this._a = this._a + a + (this._al >>> 0 < al >>> 0 ? 1 : 0) | 0;\n\t this._b = this._b + b + (this._bl >>> 0 < bl >>> 0 ? 1 : 0) | 0;\n\t this._c = this._c + c + (this._cl >>> 0 < cl >>> 0 ? 1 : 0) | 0;\n\t this._d = this._d + d + (this._dl >>> 0 < dl >>> 0 ? 1 : 0) | 0;\n\t this._e = this._e + e + (this._el >>> 0 < el >>> 0 ? 1 : 0) | 0;\n\t this._f = this._f + f + (this._fl >>> 0 < fl >>> 0 ? 1 : 0) | 0;\n\t this._g = this._g + g + (this._gl >>> 0 < gl >>> 0 ? 1 : 0) | 0;\n\t this._h = this._h + h + (this._hl >>> 0 < hl >>> 0 ? 1 : 0) | 0;\n\t };\n\t\n\t Sha512.prototype._hash = function () {\n\t var H = new Buffer(64);\n\t\n\t function writeInt64BE(h, l, offset) {\n\t H.writeInt32BE(h, offset);\n\t H.writeInt32BE(l, offset + 4);\n\t }\n\t\n\t writeInt64BE(this._a, this._al, 0);\n\t writeInt64BE(this._b, this._bl, 8);\n\t writeInt64BE(this._c, this._cl, 16);\n\t writeInt64BE(this._d, this._dl, 24);\n\t writeInt64BE(this._e, this._el, 32);\n\t writeInt64BE(this._f, this._fl, 40);\n\t writeInt64BE(this._g, this._gl, 48);\n\t writeInt64BE(this._h, this._hl, 56);\n\t\n\t return H;\n\t };\n\t\n\t return Sha512;\n\t};\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\t/*\n\t * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n\t * Digest Algorithm, as defined in RFC 1321.\n\t * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.\n\t * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n\t * Distributed under the BSD License\n\t * See http://pajhome.org.uk/crypt/md5 for more info.\n\t */\n\t\n\tvar helpers = __webpack_require__(218);\n\t\n\t/*\n\t * Calculate the MD5 of an array of little-endian words, and a bit length\n\t */\n\tfunction core_md5(x, len) {\n\t /* append padding */\n\t x[len >> 5] |= 0x80 << len % 32;\n\t x[(len + 64 >>> 9 << 4) + 14] = len;\n\t\n\t var a = 1732584193;\n\t var b = -271733879;\n\t var c = -1732584194;\n\t var d = 271733878;\n\t\n\t for (var i = 0; i < x.length; i += 16) {\n\t var olda = a;\n\t var oldb = b;\n\t var oldc = c;\n\t var oldd = d;\n\t\n\t a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);\n\t d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);\n\t c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);\n\t b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);\n\t a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);\n\t d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);\n\t c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);\n\t b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);\n\t a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);\n\t d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);\n\t c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);\n\t b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);\n\t a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);\n\t d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);\n\t c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);\n\t b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);\n\t\n\t a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);\n\t d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);\n\t c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);\n\t b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);\n\t a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);\n\t d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);\n\t c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);\n\t b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);\n\t a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);\n\t d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);\n\t c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);\n\t b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);\n\t a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);\n\t d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);\n\t c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);\n\t b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);\n\t\n\t a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);\n\t d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);\n\t c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);\n\t b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);\n\t a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);\n\t d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);\n\t c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);\n\t b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);\n\t a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);\n\t d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);\n\t c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);\n\t b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);\n\t a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);\n\t d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);\n\t c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);\n\t b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);\n\t\n\t a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);\n\t d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);\n\t c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);\n\t b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);\n\t a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);\n\t d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);\n\t c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);\n\t b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);\n\t a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);\n\t d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);\n\t c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);\n\t b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);\n\t a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);\n\t d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);\n\t c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);\n\t b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);\n\t\n\t a = safe_add(a, olda);\n\t b = safe_add(b, oldb);\n\t c = safe_add(c, oldc);\n\t d = safe_add(d, oldd);\n\t }\n\t return Array(a, b, c, d);\n\t}\n\t\n\t/*\n\t * These functions implement the four basic operations the algorithm uses.\n\t */\n\tfunction md5_cmn(q, a, b, x, s, t) {\n\t return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);\n\t}\n\tfunction md5_ff(a, b, c, d, x, s, t) {\n\t return md5_cmn(b & c | ~b & d, a, b, x, s, t);\n\t}\n\tfunction md5_gg(a, b, c, d, x, s, t) {\n\t return md5_cmn(b & d | c & ~d, a, b, x, s, t);\n\t}\n\tfunction md5_hh(a, b, c, d, x, s, t) {\n\t return md5_cmn(b ^ c ^ d, a, b, x, s, t);\n\t}\n\tfunction md5_ii(a, b, c, d, x, s, t) {\n\t return md5_cmn(c ^ (b | ~d), a, b, x, s, t);\n\t}\n\t\n\t/*\n\t * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n\t * to work around bugs in some JS interpreters.\n\t */\n\tfunction safe_add(x, y) {\n\t var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n\t var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n\t return msw << 16 | lsw & 0xFFFF;\n\t}\n\t\n\t/*\n\t * Bitwise rotate a 32-bit number to the left.\n\t */\n\tfunction bit_rol(num, cnt) {\n\t return num << cnt | num >>> 32 - cnt;\n\t}\n\t\n\tmodule.exports = function md5(buf) {\n\t return helpers.hash(buf, core_md5, 16);\n\t};\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {\"use strict\";\n\t\n\tvar intSize = 4;\n\tvar zeroBuffer = new Buffer(intSize);zeroBuffer.fill(0);\n\tvar chrsz = 8;\n\t\n\tfunction toArray(buf, bigEndian) {\n\t if (buf.length % intSize !== 0) {\n\t var len = buf.length + (intSize - buf.length % intSize);\n\t buf = Buffer.concat([buf, zeroBuffer], len);\n\t }\n\t\n\t var arr = [];\n\t var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;\n\t for (var i = 0; i < buf.length; i += intSize) {\n\t arr.push(fn.call(buf, i));\n\t }\n\t return arr;\n\t}\n\t\n\tfunction toBuffer(arr, size, bigEndian) {\n\t var buf = new Buffer(size);\n\t var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;\n\t for (var i = 0; i < arr.length; i++) {\n\t fn.call(buf, arr[i], i * 4, true);\n\t }\n\t return buf;\n\t}\n\t\n\tfunction hash(buf, fn, hashSize, bigEndian) {\n\t if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);\n\t var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);\n\t return toBuffer(arr, hashSize, bigEndian);\n\t}\n\t\n\tmodule.exports = { hash: hash };\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tmodule.exports = ripemd160;\n\t\n\t/*\n\tCryptoJS v3.1.2\n\tcode.google.com/p/crypto-js\n\t(c) 2009-2013 by Jeff Mott. All rights reserved.\n\tcode.google.com/p/crypto-js/wiki/License\n\t*/\n\t/** @preserve\n\t(c) 2012 by Cédric Mesnil. All rights reserved.\n\t\n\tRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\t\n\t - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\t - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\t\n\tTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\t\n\t// Constants table\n\tvar zl = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13];\n\tvar zr = [5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11];\n\tvar sl = [11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6];\n\tvar sr = [8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11];\n\t\n\tvar hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E];\n\tvar hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000];\n\t\n\tvar bytesToWords = function bytesToWords(bytes) {\n\t var words = [];\n\t for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {\n\t words[b >>> 5] |= bytes[i] << 24 - b % 32;\n\t }\n\t return words;\n\t};\n\t\n\tvar wordsToBytes = function wordsToBytes(words) {\n\t var bytes = [];\n\t for (var b = 0; b < words.length * 32; b += 8) {\n\t bytes.push(words[b >>> 5] >>> 24 - b % 32 & 0xFF);\n\t }\n\t return bytes;\n\t};\n\t\n\tvar processBlock = function processBlock(H, M, offset) {\n\t\n\t // Swap endian\n\t for (var i = 0; i < 16; i++) {\n\t var offset_i = offset + i;\n\t var M_offset_i = M[offset_i];\n\t\n\t // Swap\n\t M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff | (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;\n\t }\n\t\n\t // Working variables\n\t var al, bl, cl, dl, el;\n\t var ar, br, cr, dr, er;\n\t\n\t ar = al = H[0];\n\t br = bl = H[1];\n\t cr = cl = H[2];\n\t dr = dl = H[3];\n\t er = el = H[4];\n\t // Computation\n\t var t;\n\t for (var i = 0; i < 80; i += 1) {\n\t t = al + M[offset + zl[i]] | 0;\n\t if (i < 16) {\n\t t += f1(bl, cl, dl) + hl[0];\n\t } else if (i < 32) {\n\t t += f2(bl, cl, dl) + hl[1];\n\t } else if (i < 48) {\n\t t += f3(bl, cl, dl) + hl[2];\n\t } else if (i < 64) {\n\t t += f4(bl, cl, dl) + hl[3];\n\t } else {\n\t // if (i<80) {\n\t t += f5(bl, cl, dl) + hl[4];\n\t }\n\t t = t | 0;\n\t t = rotl(t, sl[i]);\n\t t = t + el | 0;\n\t al = el;\n\t el = dl;\n\t dl = rotl(cl, 10);\n\t cl = bl;\n\t bl = t;\n\t\n\t t = ar + M[offset + zr[i]] | 0;\n\t if (i < 16) {\n\t t += f5(br, cr, dr) + hr[0];\n\t } else if (i < 32) {\n\t t += f4(br, cr, dr) + hr[1];\n\t } else if (i < 48) {\n\t t += f3(br, cr, dr) + hr[2];\n\t } else if (i < 64) {\n\t t += f2(br, cr, dr) + hr[3];\n\t } else {\n\t // if (i<80) {\n\t t += f1(br, cr, dr) + hr[4];\n\t }\n\t t = t | 0;\n\t t = rotl(t, sr[i]);\n\t t = t + er | 0;\n\t ar = er;\n\t er = dr;\n\t dr = rotl(cr, 10);\n\t cr = br;\n\t br = t;\n\t }\n\t // Intermediate hash value\n\t t = H[1] + cl + dr | 0;\n\t H[1] = H[2] + dl + er | 0;\n\t H[2] = H[3] + el + ar | 0;\n\t H[3] = H[4] + al + br | 0;\n\t H[4] = H[0] + bl + cr | 0;\n\t H[0] = t;\n\t};\n\t\n\tfunction f1(x, y, z) {\n\t return x ^ y ^ z;\n\t}\n\t\n\tfunction f2(x, y, z) {\n\t return x & y | ~x & z;\n\t}\n\t\n\tfunction f3(x, y, z) {\n\t return (x | ~y) ^ z;\n\t}\n\t\n\tfunction f4(x, y, z) {\n\t return x & z | y & ~z;\n\t}\n\t\n\tfunction f5(x, y, z) {\n\t return x ^ (y | ~z);\n\t}\n\t\n\tfunction rotl(x, n) {\n\t return x << n | x >>> 32 - n;\n\t}\n\t\n\tfunction ripemd160(message) {\n\t var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0];\n\t\n\t if (typeof message == 'string') message = new Buffer(message, 'utf8');\n\t\n\t var m = bytesToWords(message);\n\t\n\t var nBitsLeft = message.length * 8;\n\t var nBitsTotal = message.length * 8;\n\t\n\t // Add padding\n\t m[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n\t m[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 0x00ff00ff | (nBitsTotal << 24 | nBitsTotal >>> 8) & 0xff00ff00;\n\t\n\t for (var i = 0; i < m.length; i += 16) {\n\t processBlock(H, m, i);\n\t }\n\t\n\t // Swap endian\n\t for (var i = 0; i < 5; i++) {\n\t // Shortcut\n\t var H_i = H[i];\n\t\n\t // Swap\n\t H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff | (H_i << 24 | H_i >>> 8) & 0xff00ff00;\n\t }\n\t\n\t var digestbytes = wordsToBytes(H);\n\t return new Buffer(digestbytes);\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar createHash = __webpack_require__(211);\n\t\n\tvar zeroBuffer = new Buffer(128);\n\tzeroBuffer.fill(0);\n\t\n\tmodule.exports = Hmac;\n\t\n\tfunction Hmac(alg, key) {\n\t if (!(this instanceof Hmac)) return new Hmac(alg, key);\n\t this._opad = opad;\n\t this._alg = alg;\n\t\n\t var blocksize = alg === 'sha512' ? 128 : 64;\n\t\n\t key = this._key = !Buffer.isBuffer(key) ? new Buffer(key) : key;\n\t\n\t if (key.length > blocksize) {\n\t key = createHash(alg).update(key).digest();\n\t } else if (key.length < blocksize) {\n\t key = Buffer.concat([key, zeroBuffer], blocksize);\n\t }\n\t\n\t var ipad = this._ipad = new Buffer(blocksize);\n\t var opad = this._opad = new Buffer(blocksize);\n\t\n\t for (var i = 0; i < blocksize; i++) {\n\t ipad[i] = key[i] ^ 0x36;\n\t opad[i] = key[i] ^ 0x5C;\n\t }\n\t\n\t this._hash = createHash(alg).update(ipad);\n\t}\n\t\n\tHmac.prototype.update = function (data, enc) {\n\t this._hash.update(data, enc);\n\t return this;\n\t};\n\t\n\tHmac.prototype.digest = function (enc) {\n\t var h = this._hash.digest();\n\t return createHash(this._alg).update(this._opad).update(h).digest(enc);\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar pbkdf2Export = __webpack_require__(222);\n\t\n\tmodule.exports = function (crypto, exports) {\n\t exports = exports || {};\n\t\n\t var exported = pbkdf2Export(crypto);\n\t\n\t exports.pbkdf2 = exported.pbkdf2;\n\t exports.pbkdf2Sync = exported.pbkdf2Sync;\n\t\n\t return exports;\n\t};\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tmodule.exports = function (crypto) {\n\t function pbkdf2(password, salt, iterations, keylen, digest, callback) {\n\t if ('function' === typeof digest) {\n\t callback = digest;\n\t digest = undefined;\n\t }\n\t\n\t if ('function' !== typeof callback) throw new Error('No callback provided to pbkdf2');\n\t\n\t setTimeout(function () {\n\t var result;\n\t\n\t try {\n\t result = pbkdf2Sync(password, salt, iterations, keylen, digest);\n\t } catch (e) {\n\t return callback(e);\n\t }\n\t\n\t callback(undefined, result);\n\t });\n\t }\n\t\n\t function pbkdf2Sync(password, salt, iterations, keylen, digest) {\n\t if ('number' !== typeof iterations) throw new TypeError('Iterations not a number');\n\t\n\t if (iterations < 0) throw new TypeError('Bad iterations');\n\t\n\t if ('number' !== typeof keylen) throw new TypeError('Key length not a number');\n\t\n\t if (keylen < 0) throw new TypeError('Bad key length');\n\t\n\t digest = digest || 'sha1';\n\t\n\t if (!Buffer.isBuffer(password)) password = new Buffer(password);\n\t if (!Buffer.isBuffer(salt)) salt = new Buffer(salt);\n\t\n\t var hLen,\n\t l = 1,\n\t r,\n\t T;\n\t var DK = new Buffer(keylen);\n\t var block1 = new Buffer(salt.length + 4);\n\t salt.copy(block1, 0, 0, salt.length);\n\t\n\t for (var i = 1; i <= l; i++) {\n\t block1.writeUInt32BE(i, salt.length);\n\t\n\t var U = crypto.createHmac(digest, password).update(block1).digest();\n\t\n\t if (!hLen) {\n\t hLen = U.length;\n\t T = new Buffer(hLen);\n\t l = Math.ceil(keylen / hLen);\n\t r = keylen - (l - 1) * hLen;\n\t\n\t if (keylen > (Math.pow(2, 32) - 1) * hLen) throw new TypeError('keylen exceeds maximum length');\n\t }\n\t\n\t U.copy(T, 0, 0, hLen);\n\t\n\t for (var j = 1; j < iterations; j++) {\n\t U = crypto.createHmac(digest, password).update(U).digest();\n\t\n\t for (var k = 0; k < hLen; k++) {\n\t T[k] ^= U[k];\n\t }\n\t }\n\t\n\t var destPos = (i - 1) * hLen;\n\t var len = i == l ? r : hLen;\n\t T.copy(DK, destPos, 0, len);\n\t }\n\t\n\t return DK;\n\t }\n\t\n\t return {\n\t pbkdf2: pbkdf2,\n\t pbkdf2Sync: pbkdf2Sync\n\t };\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tmodule.exports = function (crypto, exports) {\n\t exports = exports || {};\n\t var ciphers = __webpack_require__(224)(crypto);\n\t exports.createCipher = ciphers.createCipher;\n\t exports.createCipheriv = ciphers.createCipheriv;\n\t var deciphers = __webpack_require__(236)(crypto);\n\t exports.createDecipher = deciphers.createDecipher;\n\t exports.createDecipheriv = deciphers.createDecipheriv;\n\t var modes = __webpack_require__(227);\n\t function listCiphers() {\n\t return Object.keys(modes);\n\t }\n\t exports.listCiphers = listCiphers;\n\t};\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar aes = __webpack_require__(225);\n\tvar Transform = __webpack_require__(226);\n\tvar inherits = __webpack_require__(111);\n\tvar modes = __webpack_require__(227);\n\tvar ebtk = __webpack_require__(228);\n\tvar StreamCipher = __webpack_require__(229);\n\tinherits(Cipher, Transform);\n\tfunction Cipher(mode, key, iv) {\n\t if (!(this instanceof Cipher)) {\n\t return new Cipher(mode, key, iv);\n\t }\n\t Transform.call(this);\n\t this._cache = new Splitter();\n\t this._cipher = new aes.AES(key);\n\t this._prev = new Buffer(iv.length);\n\t iv.copy(this._prev);\n\t this._mode = mode;\n\t}\n\tCipher.prototype._transform = function (data, _, next) {\n\t this._cache.add(data);\n\t var chunk;\n\t var thing;\n\t while (chunk = this._cache.get()) {\n\t thing = this._mode.encrypt(this, chunk);\n\t this.push(thing);\n\t }\n\t next();\n\t};\n\tCipher.prototype._flush = function (next) {\n\t var chunk = this._cache.flush();\n\t this.push(this._mode.encrypt(this, chunk));\n\t this._cipher.scrub();\n\t next();\n\t};\n\t\n\tfunction Splitter() {\n\t if (!(this instanceof Splitter)) {\n\t return new Splitter();\n\t }\n\t this.cache = new Buffer('');\n\t}\n\tSplitter.prototype.add = function (data) {\n\t this.cache = Buffer.concat([this.cache, data]);\n\t};\n\t\n\tSplitter.prototype.get = function () {\n\t if (this.cache.length > 15) {\n\t var out = this.cache.slice(0, 16);\n\t this.cache = this.cache.slice(16);\n\t return out;\n\t }\n\t return null;\n\t};\n\tSplitter.prototype.flush = function () {\n\t var len = 16 - this.cache.length;\n\t var padBuff = new Buffer(len);\n\t\n\t var i = -1;\n\t while (++i < len) {\n\t padBuff.writeUInt8(len, i);\n\t }\n\t var out = Buffer.concat([this.cache, padBuff]);\n\t return out;\n\t};\n\tvar modelist = {\n\t ECB: __webpack_require__(230),\n\t CBC: __webpack_require__(231),\n\t CFB: __webpack_require__(233),\n\t OFB: __webpack_require__(234),\n\t CTR: __webpack_require__(235)\n\t};\n\tmodule.exports = function (crypto) {\n\t function createCipheriv(suite, password, iv) {\n\t var config = modes[suite];\n\t if (!config) {\n\t throw new TypeError('invalid suite type');\n\t }\n\t if (typeof iv === 'string') {\n\t iv = new Buffer(iv);\n\t }\n\t if (typeof password === 'string') {\n\t password = new Buffer(password);\n\t }\n\t if (password.length !== config.key / 8) {\n\t throw new TypeError('invalid key length ' + password.length);\n\t }\n\t if (iv.length !== config.iv) {\n\t throw new TypeError('invalid iv length ' + iv.length);\n\t }\n\t if (config.type === 'stream') {\n\t return new StreamCipher(modelist[config.mode], password, iv);\n\t }\n\t return new Cipher(modelist[config.mode], password, iv);\n\t }\n\t function createCipher(suite, password) {\n\t var config = modes[suite];\n\t if (!config) {\n\t throw new TypeError('invalid suite type');\n\t }\n\t var keys = ebtk(crypto, password, config.key, config.iv);\n\t return createCipheriv(suite, keys.key, keys.iv);\n\t }\n\t return {\n\t createCipher: createCipher,\n\t createCipheriv: createCipheriv\n\t };\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {\"use strict\";\n\t\n\tvar uint_max = Math.pow(2, 32);\n\tfunction fixup_uint32(x) {\n\t var ret, x_pos;\n\t ret = x > uint_max || x < 0 ? (x_pos = Math.abs(x) % uint_max, x < 0 ? uint_max - x_pos : x_pos) : x;\n\t return ret;\n\t}\n\tfunction scrub_vec(v) {\n\t var i, _i, _ref;\n\t for (i = _i = 0, _ref = v.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n\t v[i] = 0;\n\t }\n\t return false;\n\t}\n\t\n\tfunction Global() {\n\t var i;\n\t this.SBOX = [];\n\t this.INV_SBOX = [];\n\t this.SUB_MIX = function () {\n\t var _i, _results;\n\t _results = [];\n\t for (i = _i = 0; _i < 4; i = ++_i) {\n\t _results.push([]);\n\t }\n\t return _results;\n\t }();\n\t this.INV_SUB_MIX = function () {\n\t var _i, _results;\n\t _results = [];\n\t for (i = _i = 0; _i < 4; i = ++_i) {\n\t _results.push([]);\n\t }\n\t return _results;\n\t }();\n\t this.init();\n\t this.RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\t}\n\t\n\tGlobal.prototype.init = function () {\n\t var d, i, sx, t, x, x2, x4, x8, xi, _i;\n\t d = function () {\n\t var _i, _results;\n\t _results = [];\n\t for (i = _i = 0; _i < 256; i = ++_i) {\n\t if (i < 128) {\n\t _results.push(i << 1);\n\t } else {\n\t _results.push(i << 1 ^ 0x11b);\n\t }\n\t }\n\t return _results;\n\t }();\n\t x = 0;\n\t xi = 0;\n\t for (i = _i = 0; _i < 256; i = ++_i) {\n\t sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n\t sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n\t this.SBOX[x] = sx;\n\t this.INV_SBOX[sx] = x;\n\t x2 = d[x];\n\t x4 = d[x2];\n\t x8 = d[x4];\n\t t = d[sx] * 0x101 ^ sx * 0x1010100;\n\t this.SUB_MIX[0][x] = t << 24 | t >>> 8;\n\t this.SUB_MIX[1][x] = t << 16 | t >>> 16;\n\t this.SUB_MIX[2][x] = t << 8 | t >>> 24;\n\t this.SUB_MIX[3][x] = t;\n\t t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n\t this.INV_SUB_MIX[0][sx] = t << 24 | t >>> 8;\n\t this.INV_SUB_MIX[1][sx] = t << 16 | t >>> 16;\n\t this.INV_SUB_MIX[2][sx] = t << 8 | t >>> 24;\n\t this.INV_SUB_MIX[3][sx] = t;\n\t if (x === 0) {\n\t x = xi = 1;\n\t } else {\n\t x = x2 ^ d[d[d[x8 ^ x2]]];\n\t xi ^= d[d[xi]];\n\t }\n\t }\n\t return true;\n\t};\n\t\n\tvar G = new Global();\n\t\n\tAES.blockSize = 4 * 4;\n\t\n\tAES.prototype.blockSize = AES.blockSize;\n\t\n\tAES.keySize = 256 / 8;\n\t\n\tAES.prototype.keySize = AES.keySize;\n\t\n\tAES.ivSize = AES.blockSize;\n\t\n\tAES.prototype.ivSize = AES.ivSize;\n\t\n\tfunction bufferToArray(buf) {\n\t var len = buf.length / 4;\n\t var out = new Array(len);\n\t var i = -1;\n\t while (++i < len) {\n\t out[i] = buf.readUInt32BE(i * 4);\n\t }\n\t return out;\n\t}\n\tfunction AES(key) {\n\t this._key = bufferToArray(key);\n\t this._doReset();\n\t}\n\t\n\tAES.prototype._doReset = function () {\n\t var invKsRow, keySize, keyWords, ksRow, ksRows, t, _i, _j;\n\t keyWords = this._key;\n\t keySize = keyWords.length;\n\t this._nRounds = keySize + 6;\n\t ksRows = (this._nRounds + 1) * 4;\n\t this._keySchedule = [];\n\t for (ksRow = _i = 0; 0 <= ksRows ? _i < ksRows : _i > ksRows; ksRow = 0 <= ksRows ? ++_i : --_i) {\n\t this._keySchedule[ksRow] = ksRow < keySize ? keyWords[ksRow] : (t = this._keySchedule[ksRow - 1], ksRow % keySize === 0 ? (t = t << 8 | t >>> 24, t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 0xff] << 16 | G.SBOX[t >>> 8 & 0xff] << 8 | G.SBOX[t & 0xff], t ^= G.RCON[ksRow / keySize | 0] << 24) : keySize > 6 && ksRow % keySize === 4 ? t = G.SBOX[t >>> 24] << 24 | G.SBOX[t >>> 16 & 0xff] << 16 | G.SBOX[t >>> 8 & 0xff] << 8 | G.SBOX[t & 0xff] : void 0, this._keySchedule[ksRow - keySize] ^ t);\n\t }\n\t this._invKeySchedule = [];\n\t for (invKsRow = _j = 0; 0 <= ksRows ? _j < ksRows : _j > ksRows; invKsRow = 0 <= ksRows ? ++_j : --_j) {\n\t ksRow = ksRows - invKsRow;\n\t t = this._keySchedule[ksRow - (invKsRow % 4 ? 0 : 4)];\n\t this._invKeySchedule[invKsRow] = invKsRow < 4 || ksRow <= 4 ? t : G.INV_SUB_MIX[0][G.SBOX[t >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[t >>> 16 & 0xff]] ^ G.INV_SUB_MIX[2][G.SBOX[t >>> 8 & 0xff]] ^ G.INV_SUB_MIX[3][G.SBOX[t & 0xff]];\n\t }\n\t return true;\n\t};\n\t\n\tAES.prototype.encryptBlock = function (M) {\n\t M = bufferToArray(new Buffer(M));\n\t var out = this._doCryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX);\n\t var buf = new Buffer(16);\n\t buf.writeUInt32BE(out[0], 0);\n\t buf.writeUInt32BE(out[1], 4);\n\t buf.writeUInt32BE(out[2], 8);\n\t buf.writeUInt32BE(out[3], 12);\n\t return buf;\n\t};\n\t\n\tAES.prototype.decryptBlock = function (M) {\n\t M = bufferToArray(new Buffer(M));\n\t var temp = [M[3], M[1]];\n\t M[1] = temp[0];\n\t M[3] = temp[1];\n\t var out = this._doCryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX);\n\t var buf = new Buffer(16);\n\t buf.writeUInt32BE(out[0], 0);\n\t buf.writeUInt32BE(out[3], 4);\n\t buf.writeUInt32BE(out[2], 8);\n\t buf.writeUInt32BE(out[1], 12);\n\t return buf;\n\t};\n\t\n\tAES.prototype.scrub = function () {\n\t scrub_vec(this._keySchedule);\n\t scrub_vec(this._invKeySchedule);\n\t scrub_vec(this._key);\n\t};\n\t\n\tAES.prototype._doCryptBlock = function (M, keySchedule, SUB_MIX, SBOX) {\n\t var ksRow, round, s0, s1, s2, s3, t0, t1, t2, t3, _i, _ref;\n\t\n\t s0 = M[0] ^ keySchedule[0];\n\t s1 = M[1] ^ keySchedule[1];\n\t s2 = M[2] ^ keySchedule[2];\n\t s3 = M[3] ^ keySchedule[3];\n\t ksRow = 4;\n\t for (round = _i = 1, _ref = this._nRounds; 1 <= _ref ? _i < _ref : _i > _ref; round = 1 <= _ref ? ++_i : --_i) {\n\t t0 = SUB_MIX[0][s0 >>> 24] ^ SUB_MIX[1][s1 >>> 16 & 0xff] ^ SUB_MIX[2][s2 >>> 8 & 0xff] ^ SUB_MIX[3][s3 & 0xff] ^ keySchedule[ksRow++];\n\t t1 = SUB_MIX[0][s1 >>> 24] ^ SUB_MIX[1][s2 >>> 16 & 0xff] ^ SUB_MIX[2][s3 >>> 8 & 0xff] ^ SUB_MIX[3][s0 & 0xff] ^ keySchedule[ksRow++];\n\t t2 = SUB_MIX[0][s2 >>> 24] ^ SUB_MIX[1][s3 >>> 16 & 0xff] ^ SUB_MIX[2][s0 >>> 8 & 0xff] ^ SUB_MIX[3][s1 & 0xff] ^ keySchedule[ksRow++];\n\t t3 = SUB_MIX[0][s3 >>> 24] ^ SUB_MIX[1][s0 >>> 16 & 0xff] ^ SUB_MIX[2][s1 >>> 8 & 0xff] ^ SUB_MIX[3][s2 & 0xff] ^ keySchedule[ksRow++];\n\t s0 = t0;\n\t s1 = t1;\n\t s2 = t2;\n\t s3 = t3;\n\t }\n\t t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 0xff] << 16 | SBOX[s2 >>> 8 & 0xff] << 8 | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 0xff] << 16 | SBOX[s3 >>> 8 & 0xff] << 8 | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 0xff] << 16 | SBOX[s0 >>> 8 & 0xff] << 8 | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 0xff] << 16 | SBOX[s1 >>> 8 & 0xff] << 8 | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\t return [fixup_uint32(t0), fixup_uint32(t1), fixup_uint32(t2), fixup_uint32(t3)];\n\t};\n\t\n\texports.AES = AES;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar Transform = __webpack_require__(116).Transform;\n\tvar inherits = __webpack_require__(111);\n\t\n\tmodule.exports = CipherBase;\n\tinherits(CipherBase, Transform);\n\tfunction CipherBase() {\n\t Transform.call(this);\n\t}\n\tCipherBase.prototype.update = function (data, inputEnd, outputEnc) {\n\t this.write(data, inputEnd);\n\t var outData = new Buffer('');\n\t var chunk;\n\t while (chunk = this.read()) {\n\t outData = Buffer.concat([outData, chunk]);\n\t }\n\t if (outputEnc) {\n\t outData = outData.toString(outputEnc);\n\t }\n\t return outData;\n\t};\n\tCipherBase.prototype.final = function (outputEnc) {\n\t this.end();\n\t var outData = new Buffer('');\n\t var chunk;\n\t while (chunk = this.read()) {\n\t outData = Buffer.concat([outData, chunk]);\n\t }\n\t if (outputEnc) {\n\t outData = outData.toString(outputEnc);\n\t }\n\t return outData;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\texports['aes-128-ecb'] = {\n\t cipher: 'AES',\n\t key: 128,\n\t iv: 0,\n\t mode: 'ECB',\n\t type: 'block'\n\t};\n\texports['aes-192-ecb'] = {\n\t cipher: 'AES',\n\t key: 192,\n\t iv: 0,\n\t mode: 'ECB',\n\t type: 'block'\n\t};\n\texports['aes-256-ecb'] = {\n\t cipher: 'AES',\n\t key: 256,\n\t iv: 0,\n\t mode: 'ECB',\n\t type: 'block'\n\t};\n\texports['aes-128-cbc'] = {\n\t cipher: 'AES',\n\t key: 128,\n\t iv: 16,\n\t mode: 'CBC',\n\t type: 'block'\n\t};\n\texports['aes-192-cbc'] = {\n\t cipher: 'AES',\n\t key: 192,\n\t iv: 16,\n\t mode: 'CBC',\n\t type: 'block'\n\t};\n\texports['aes-256-cbc'] = {\n\t cipher: 'AES',\n\t key: 256,\n\t iv: 16,\n\t mode: 'CBC',\n\t type: 'block'\n\t};\n\texports['aes128'] = exports['aes-128-cbc'];\n\texports['aes192'] = exports['aes-192-cbc'];\n\texports['aes256'] = exports['aes-256-cbc'];\n\texports['aes-128-cfb'] = {\n\t cipher: 'AES',\n\t key: 128,\n\t iv: 16,\n\t mode: 'CFB',\n\t type: 'stream'\n\t};\n\texports['aes-192-cfb'] = {\n\t cipher: 'AES',\n\t key: 192,\n\t iv: 16,\n\t mode: 'CFB',\n\t type: 'stream'\n\t};\n\texports['aes-256-cfb'] = {\n\t cipher: 'AES',\n\t key: 256,\n\t iv: 16,\n\t mode: 'CFB',\n\t type: 'stream'\n\t};\n\texports['aes-128-ofb'] = {\n\t cipher: 'AES',\n\t key: 128,\n\t iv: 16,\n\t mode: 'OFB',\n\t type: 'stream'\n\t};\n\texports['aes-192-ofb'] = {\n\t cipher: 'AES',\n\t key: 192,\n\t iv: 16,\n\t mode: 'OFB',\n\t type: 'stream'\n\t};\n\texports['aes-256-ofb'] = {\n\t cipher: 'AES',\n\t key: 256,\n\t iv: 16,\n\t mode: 'OFB',\n\t type: 'stream'\n\t};\n\texports['aes-128-ctr'] = {\n\t cipher: 'AES',\n\t key: 128,\n\t iv: 16,\n\t mode: 'CTR',\n\t type: 'stream'\n\t};\n\texports['aes-192-ctr'] = {\n\t cipher: 'AES',\n\t key: 192,\n\t iv: 16,\n\t mode: 'CTR',\n\t type: 'stream'\n\t};\n\texports['aes-256-ctr'] = {\n\t cipher: 'AES',\n\t key: 256,\n\t iv: 16,\n\t mode: 'CTR',\n\t type: 'stream'\n\t};\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tmodule.exports = function (crypto, password, keyLen, ivLen) {\n\t keyLen = keyLen / 8;\n\t ivLen = ivLen || 0;\n\t var ki = 0;\n\t var ii = 0;\n\t var key = new Buffer(keyLen);\n\t var iv = new Buffer(ivLen);\n\t var addmd = 0;\n\t var md, md_buf;\n\t var i;\n\t while (true) {\n\t md = crypto.createHash('md5');\n\t if (addmd++ > 0) {\n\t md.update(md_buf);\n\t }\n\t md.update(password);\n\t md_buf = md.digest();\n\t i = 0;\n\t if (keyLen > 0) {\n\t while (true) {\n\t if (keyLen === 0) {\n\t break;\n\t }\n\t if (i === md_buf.length) {\n\t break;\n\t }\n\t key[ki++] = md_buf[i];\n\t keyLen--;\n\t i++;\n\t }\n\t }\n\t if (ivLen > 0 && i !== md_buf.length) {\n\t while (true) {\n\t if (ivLen === 0) {\n\t break;\n\t }\n\t if (i === md_buf.length) {\n\t break;\n\t }\n\t iv[ii++] = md_buf[i];\n\t ivLen--;\n\t i++;\n\t }\n\t }\n\t if (keyLen === 0 && ivLen === 0) {\n\t break;\n\t }\n\t }\n\t for (i = 0; i < md_buf.length; i++) {\n\t md_buf[i] = 0;\n\t }\n\t return {\n\t key: key,\n\t iv: iv\n\t };\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar aes = __webpack_require__(225);\n\tvar Transform = __webpack_require__(226);\n\tvar inherits = __webpack_require__(111);\n\t\n\tinherits(StreamCipher, Transform);\n\tmodule.exports = StreamCipher;\n\tfunction StreamCipher(mode, key, iv, decrypt) {\n\t if (!(this instanceof StreamCipher)) {\n\t return new StreamCipher(mode, key, iv);\n\t }\n\t Transform.call(this);\n\t this._cipher = new aes.AES(key);\n\t this._prev = new Buffer(iv.length);\n\t this._cache = new Buffer('');\n\t this._secCache = new Buffer('');\n\t this._decrypt = decrypt;\n\t iv.copy(this._prev);\n\t this._mode = mode;\n\t}\n\tStreamCipher.prototype._transform = function (chunk, _, next) {\n\t next(null, this._mode.encrypt(this, chunk, this._decrypt));\n\t};\n\tStreamCipher.prototype._flush = function (next) {\n\t this._cipher.scrub();\n\t next();\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.encrypt = function (self, block) {\n\t return self._cipher.encryptBlock(block);\n\t};\n\texports.decrypt = function (self, block) {\n\t return self._cipher.decryptBlock(block);\n\t};\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar xor = __webpack_require__(232);\n\texports.encrypt = function (self, block) {\n\t var data = xor(block, self._prev);\n\t self._prev = self._cipher.encryptBlock(data);\n\t return self._prev;\n\t};\n\texports.decrypt = function (self, block) {\n\t var pad = self._prev;\n\t self._prev = block;\n\t var out = self._cipher.decryptBlock(block);\n\t return xor(out, pad);\n\t};\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {\"use strict\";\n\t\n\tmodule.exports = xor;\n\tfunction xor(a, b) {\n\t var len = Math.min(a.length, b.length);\n\t var out = new Buffer(len);\n\t var i = -1;\n\t while (++i < len) {\n\t out.writeUInt8(a[i] ^ b[i], i);\n\t }\n\t return out;\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar xor = __webpack_require__(232);\n\texports.encrypt = function (self, data, decrypt) {\n\t var out = new Buffer('');\n\t var len;\n\t while (data.length) {\n\t if (self._cache.length === 0) {\n\t self._cache = self._cipher.encryptBlock(self._prev);\n\t self._prev = new Buffer('');\n\t }\n\t if (self._cache.length <= data.length) {\n\t len = self._cache.length;\n\t out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)]);\n\t data = data.slice(len);\n\t } else {\n\t out = Buffer.concat([out, encryptStart(self, data, decrypt)]);\n\t break;\n\t }\n\t }\n\t return out;\n\t};\n\tfunction encryptStart(self, data, decrypt) {\n\t var len = data.length;\n\t var out = xor(data, self._cache);\n\t self._cache = self._cache.slice(len);\n\t self._prev = Buffer.concat([self._prev, decrypt ? data : out]);\n\t return out;\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar xor = __webpack_require__(232);\n\tfunction getBlock(self) {\n\t self._prev = self._cipher.encryptBlock(self._prev);\n\t return self._prev;\n\t}\n\texports.encrypt = function (self, chunk) {\n\t while (self._cache.length < chunk.length) {\n\t self._cache = Buffer.concat([self._cache, getBlock(self)]);\n\t }\n\t var pad = self._cache.slice(0, chunk.length);\n\t self._cache = self._cache.slice(chunk.length);\n\t return xor(chunk, pad);\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar xor = __webpack_require__(232);\n\tfunction getBlock(self) {\n\t var out = self._cipher.encryptBlock(self._prev);\n\t incr32(self._prev);\n\t return out;\n\t}\n\texports.encrypt = function (self, chunk) {\n\t while (self._cache.length < chunk.length) {\n\t self._cache = Buffer.concat([self._cache, getBlock(self)]);\n\t }\n\t var pad = self._cache.slice(0, chunk.length);\n\t self._cache = self._cache.slice(chunk.length);\n\t return xor(chunk, pad);\n\t};\n\tfunction incr32(iv) {\n\t var len = iv.length;\n\t var item;\n\t while (len--) {\n\t item = iv.readUInt8(len);\n\t if (item === 255) {\n\t iv.writeUInt8(0, len);\n\t } else {\n\t item++;\n\t iv.writeUInt8(item, len);\n\t break;\n\t }\n\t }\n\t}\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar aes = __webpack_require__(225);\n\tvar Transform = __webpack_require__(226);\n\tvar inherits = __webpack_require__(111);\n\tvar modes = __webpack_require__(227);\n\tvar StreamCipher = __webpack_require__(229);\n\tvar ebtk = __webpack_require__(228);\n\t\n\tinherits(Decipher, Transform);\n\tfunction Decipher(mode, key, iv) {\n\t if (!(this instanceof Decipher)) {\n\t return new Decipher(mode, key, iv);\n\t }\n\t Transform.call(this);\n\t this._cache = new Splitter();\n\t this._last = void 0;\n\t this._cipher = new aes.AES(key);\n\t this._prev = new Buffer(iv.length);\n\t iv.copy(this._prev);\n\t this._mode = mode;\n\t}\n\tDecipher.prototype._transform = function (data, _, next) {\n\t this._cache.add(data);\n\t var chunk;\n\t var thing;\n\t while (chunk = this._cache.get()) {\n\t thing = this._mode.decrypt(this, chunk);\n\t this.push(thing);\n\t }\n\t next();\n\t};\n\tDecipher.prototype._flush = function (next) {\n\t var chunk = this._cache.flush();\n\t if (!chunk) {\n\t return next;\n\t }\n\t\n\t this.push(unpad(this._mode.decrypt(this, chunk)));\n\t\n\t next();\n\t};\n\t\n\tfunction Splitter() {\n\t if (!(this instanceof Splitter)) {\n\t return new Splitter();\n\t }\n\t this.cache = new Buffer('');\n\t}\n\tSplitter.prototype.add = function (data) {\n\t this.cache = Buffer.concat([this.cache, data]);\n\t};\n\t\n\tSplitter.prototype.get = function () {\n\t if (this.cache.length > 16) {\n\t var out = this.cache.slice(0, 16);\n\t this.cache = this.cache.slice(16);\n\t return out;\n\t }\n\t return null;\n\t};\n\tSplitter.prototype.flush = function () {\n\t if (this.cache.length) {\n\t return this.cache;\n\t }\n\t};\n\tfunction unpad(last) {\n\t var padded = last[15];\n\t if (padded === 16) {\n\t return;\n\t }\n\t return last.slice(0, 16 - padded);\n\t}\n\t\n\tvar modelist = {\n\t ECB: __webpack_require__(230),\n\t CBC: __webpack_require__(231),\n\t CFB: __webpack_require__(233),\n\t OFB: __webpack_require__(234),\n\t CTR: __webpack_require__(235)\n\t};\n\t\n\tmodule.exports = function (crypto) {\n\t function createDecipheriv(suite, password, iv) {\n\t var config = modes[suite];\n\t if (!config) {\n\t throw new TypeError('invalid suite type');\n\t }\n\t if (typeof iv === 'string') {\n\t iv = new Buffer(iv);\n\t }\n\t if (typeof password === 'string') {\n\t password = new Buffer(password);\n\t }\n\t if (password.length !== config.key / 8) {\n\t throw new TypeError('invalid key length ' + password.length);\n\t }\n\t if (iv.length !== config.iv) {\n\t throw new TypeError('invalid iv length ' + iv.length);\n\t }\n\t if (config.type === 'stream') {\n\t return new StreamCipher(modelist[config.mode], password, iv, true);\n\t }\n\t return new Decipher(modelist[config.mode], password, iv);\n\t }\n\t\n\t function createDecipher(suite, password) {\n\t var config = modes[suite];\n\t if (!config) {\n\t throw new TypeError('invalid suite type');\n\t }\n\t var keys = ebtk(crypto, password, config.key, config.iv);\n\t return createDecipheriv(suite, keys.key, keys.iv);\n\t }\n\t return {\n\t createDecipher: createDecipher,\n\t createDecipheriv: createDecipheriv\n\t };\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar bigi = __webpack_require__(178),\n\t bs58 = __webpack_require__(148),\n\t ecurve = __webpack_require__(182),\n\t Point = ecurve.Point,\n\t secp256k1 = ecurve.getCurveByName('secp256k1'),\n\t config = __webpack_require__(42),\n\t operations = __webpack_require__(202),\n\t Signature = __webpack_require__(188),\n\t KeyPrivate = __webpack_require__(187),\n\t PublicKey = __webpack_require__(177),\n\t hash = __webpack_require__(109);\n\t\n\tvar Auth = {};\n\tvar transaction = operations.transaction;\n\tvar signed_transaction = operations.signed_transaction;\n\t\n\tAuth.verify = function (name, password, auths) {\n\t\tvar hasKey = false;\n\t\tvar roles = [];\n\t\tfor (var role in auths) {\n\t\t\troles.push(role);\n\t\t}\n\t\tvar pubKeys = this.generateKeys(name, password, roles);\n\t\troles.forEach(function (role) {\n\t\t\tif (auths[role][0][0] === pubKeys[role]) {\n\t\t\t\thasKey = true;\n\t\t\t}\n\t\t});\n\t\treturn hasKey;\n\t};\n\t\n\tAuth.generateKeys = function (name, password, roles) {\n\t\tvar pubKeys = {};\n\t\troles.forEach(function (role) {\n\t\t\tvar seed = name + role + password;\n\t\t\tvar brainKey = seed.trim().split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n\t\t\tvar hashSha256 = hash.sha256(brainKey);\n\t\t\tvar bigInt = bigi.fromBuffer(hashSha256);\n\t\t\tvar toPubKey = secp256k1.G.multiply(bigInt);\n\t\t\tvar point = new Point(toPubKey.curve, toPubKey.x, toPubKey.y, toPubKey.z);\n\t\t\tvar pubBuf = point.getEncoded(toPubKey.compressed);\n\t\t\tvar checksum = hash.ripemd160(pubBuf);\n\t\t\tvar addy = Buffer.concat([pubBuf, checksum.slice(0, 4)]);\n\t\t\tpubKeys[role] = config.get('address_prefix') + bs58.encode(addy);\n\t\t});\n\t\treturn pubKeys;\n\t};\n\t\n\t/**\n\t\t@arg {string} name - blockchain account name\n\t\t@arg {string} password - very strong password typically no shorter than a private key\n\t\t@arg {array} roles - defaults to standard Hive blockchain-level roles\n\t*/\n\tAuth.getPrivateKeys = function (name, password) {\n\t\tvar roles = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ['owner', 'active', 'posting', 'memo'];\n\t\n\t\tvar privKeys = {};\n\t\troles.forEach(function (role) {\n\t\t\tprivKeys[role] = this.toWif(name, password, role);\n\t\t\tprivKeys[role + 'Pubkey'] = this.wifToPublic(privKeys[role]);\n\t\t}.bind(this));\n\t\treturn privKeys;\n\t};\n\t\n\tAuth.isWif = function (privWif) {\n\t\tvar isWif = false;\n\t\ttry {\n\t\t\tvar bufWif = new Buffer(bs58.decode(privWif));\n\t\t\tvar privKey = bufWif.slice(0, -4);\n\t\t\tvar checksum = bufWif.slice(-4);\n\t\t\tvar newChecksum = hash.sha256(privKey);\n\t\t\tnewChecksum = hash.sha256(newChecksum);\n\t\t\tnewChecksum = newChecksum.slice(0, 4);\n\t\t\tif (checksum.toString() == newChecksum.toString()) {\n\t\t\t\tisWif = true;\n\t\t\t}\n\t\t} catch (e) {}\n\t\treturn isWif;\n\t};\n\t\n\tAuth.toWif = function (name, password, role) {\n\t\tvar seed = name + role + password;\n\t\tvar brainKey = seed.trim().split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n\t\tvar hashSha256 = hash.sha256(brainKey);\n\t\tvar privKey = Buffer.concat([new Buffer([0x80]), hashSha256]);\n\t\tvar checksum = hash.sha256(privKey);\n\t\tchecksum = hash.sha256(checksum);\n\t\tchecksum = checksum.slice(0, 4);\n\t\tvar privWif = Buffer.concat([privKey, checksum]);\n\t\treturn bs58.encode(privWif);\n\t};\n\t\n\tAuth.wifIsValid = function (privWif, pubWif) {\n\t\treturn this.wifToPublic(privWif) == pubWif;\n\t};\n\t\n\tAuth.wifToPublic = function (privWif) {\n\t\tvar pubWif = KeyPrivate.fromWif(privWif);\n\t\tpubWif = pubWif.toPublic().toString();\n\t\treturn pubWif;\n\t};\n\t\n\tAuth.isPubkey = function (pubkey, address_prefix) {\n\t\treturn PublicKey.fromString(pubkey, address_prefix) != null;\n\t};\n\t\n\tAuth.signTransaction = function (trx, keys) {\n\t\tvar signatures = [];\n\t\tif (trx.signatures) {\n\t\t\tsignatures = [].concat(trx.signatures);\n\t\t}\n\t\n\t\tvar cid = new Buffer(config.get('chain_id'), 'hex');\n\t\tvar buf = transaction.toBuffer(trx);\n\t\n\t\tfor (var key in keys) {\n\t\t\tvar sig = Signature.signBuffer(Buffer.concat([cid, buf]), keys[key]);\n\t\t\tsignatures.push(sig.toBuffer());\n\t\t}\n\t\n\t\treturn signed_transaction.toObject(Object.assign(trx, { signatures: signatures }));\n\t};\n\t\n\tmodule.exports = Auth;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\texports.decode = decode;\n\texports.encode = encode;\n\texports.getPubKeys = getPubKeys;\n\t\n\tvar _bytebuffer = __webpack_require__(153);\n\t\n\tvar _bytebuffer2 = _interopRequireDefault(_bytebuffer);\n\t\n\tvar _assert = __webpack_require__(105);\n\t\n\tvar _assert2 = _interopRequireDefault(_assert);\n\t\n\tvar _bs = __webpack_require__(148);\n\t\n\tvar _bs2 = _interopRequireDefault(_bs);\n\t\n\tvar _ecc = __webpack_require__(103);\n\t\n\tvar _serializer = __webpack_require__(201);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar encMemo = _serializer.ops.encrypted_memo;\n\t\n\t/**\n\t Some fields are only required if the memo is marked for decryption (starts with a hash).\n\t @arg {string|PrivateKey} private_key - WIF or PrivateKey object\n\t @arg {string} memo - plain text is returned, hash prefix base58 is decrypted\n\t @return {string} - utf8 decoded string (hash prefix)\n\t*/\n\tfunction decode(private_key, memo) {\n\t (0, _assert2.default)(memo, 'memo is required');\n\t _assert2.default.equal(typeof memo === 'undefined' ? 'undefined' : _typeof(memo), 'string', 'memo');\n\t if (!/^#/.test(memo)) return memo;\n\t memo = memo.substring(1);\n\t\n\t (0, _assert2.default)(private_key, 'private_key is required');\n\t checkEncryption();\n\t\n\t private_key = toPrivateObj(private_key);\n\t\n\t memo = _bs2.default.decode(memo);\n\t memo = encMemo.fromBuffer(new Buffer(memo, 'binary'));\n\t\n\t var _memo = memo,\n\t from = _memo.from,\n\t to = _memo.to,\n\t nonce = _memo.nonce,\n\t check = _memo.check,\n\t encrypted = _memo.encrypted;\n\t\n\t var pubkey = private_key.toPublicKey().toString();\n\t var otherpub = pubkey === from.toString() ? to.toString() : from.toString();\n\t memo = _ecc.Aes.decrypt(private_key, otherpub, nonce, encrypted, check);\n\t\n\t // remove varint length prefix\n\t var mbuf = _bytebuffer2.default.fromBinary(memo.toString('binary'), _bytebuffer2.default.DEFAULT_CAPACITY, _bytebuffer2.default.LITTLE_ENDIAN);\n\t try {\n\t mbuf.mark();\n\t return '#' + mbuf.readVString();\n\t } catch (e) {\n\t mbuf.reset();\n\t // Sender did not length-prefix the memo\n\t memo = new Buffer(mbuf.toString('binary'), 'binary').toString('utf-8');\n\t return '#' + memo;\n\t }\n\t}\n\t\n\t/**\n\t Some fields are only required if the memo is marked for encryption (starts with a hash).\n\t @arg {string|PrivateKey} private_key - WIF or PrivateKey object\n\t @arg {string|PublicKey} public_key - Recipient\n\t @arg {string} memo - plain text is returned, hash prefix text is encrypted\n\t @arg {string} [testNonce = undefined] - just for testing\n\t @return {string} - base64 decoded string (or plain text)\n\t*/\n\tfunction encode(private_key, public_key, memo, testNonce) {\n\t (0, _assert2.default)(memo, 'memo is required');\n\t _assert2.default.equal(typeof memo === 'undefined' ? 'undefined' : _typeof(memo), 'string', 'memo');\n\t if (!/^#/.test(memo)) return memo;\n\t memo = memo.substring(1);\n\t\n\t (0, _assert2.default)(private_key, 'private_key is required');\n\t (0, _assert2.default)(public_key, 'public_key is required');\n\t checkEncryption();\n\t\n\t private_key = toPrivateObj(private_key);\n\t public_key = toPublicObj(public_key);\n\t\n\t var mbuf = new _bytebuffer2.default(_bytebuffer2.default.DEFAULT_CAPACITY, _bytebuffer2.default.LITTLE_ENDIAN);\n\t mbuf.writeVString(memo);\n\t memo = new Buffer(mbuf.copy(0, mbuf.offset).toBinary(), 'binary');\n\t\n\t var _Aes$encrypt = _ecc.Aes.encrypt(private_key, public_key, memo, testNonce),\n\t nonce = _Aes$encrypt.nonce,\n\t message = _Aes$encrypt.message,\n\t checksum = _Aes$encrypt.checksum;\n\t\n\t memo = encMemo.fromObject({\n\t from: private_key.toPublicKey(),\n\t to: public_key,\n\t nonce: nonce,\n\t check: checksum,\n\t encrypted: message\n\t });\n\t // serialize\n\t memo = encMemo.toBuffer(memo);\n\t return '#' + _bs2.default.encode(new Buffer(memo, 'binary'));\n\t}\n\t\n\t/** Get public keys of both sender and receiver */\n\tfunction getPubKeys(memo) {\n\t (0, _assert2.default)(memo, 'memo is required');\n\t _assert2.default.equal(typeof memo === 'undefined' ? 'undefined' : _typeof(memo), 'string', 'memo');\n\t if (!/^#/.test(memo)) return [];\n\t memo = memo.substring(1);\n\t\n\t checkEncryption();\n\t\n\t memo = _bs2.default.decode(memo);\n\t memo = encMemo.fromBuffer(new Buffer(memo, 'binary'));\n\t\n\t var _memo2 = memo,\n\t from = _memo2.from,\n\t to = _memo2.to;\n\t\n\t\n\t return [from.toString(), to.toString()];\n\t}\n\t\n\tvar encodeTest = undefined;\n\t\n\t/**\n\t Memo encryption has failed in the browser before. An Error will be thrown\n\t if a memo can't be encrypted and decrypted.\n\t*/\n\tfunction checkEncryption() {\n\t if (encodeTest === undefined) {\n\t var plaintext = void 0;\n\t encodeTest = true; // prevent infinate looping\n\t try {\n\t var wif = '5JdeC9P7Pbd1uGdFVEsJ41EkEnADbbHGq6p1BwFxm6txNBsQnsw';\n\t var pubkey = 'STM8m5UgaFAAYQRuaNejYdS8FVLVp9Ss3K1qAVk5de6F8s3HnVbvA';\n\t var cyphertext = encode(wif, pubkey, '#memo爱');\n\t plaintext = decode(wif, cyphertext);\n\t } catch (e) {\n\t console.error(e);\n\t } finally {\n\t encodeTest = plaintext === '#memo爱';\n\t }\n\t }\n\t if (encodeTest === false) throw new Error('This environment does not support encryption.');\n\t}\n\t\n\tvar toPrivateObj = function toPrivateObj(o) {\n\t return o ? o.d ? o : _ecc.PrivateKey.fromWif(o) : o /*null or undefined*/;\n\t};\n\tvar toPublicObj = function toPublicObj(o) {\n\t return o ? o.Q ? o : _ecc.PublicKey.fromString(o) : o /*null or undefined*/;\n\t};\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(Buffer) {'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar _bluebird = __webpack_require__(3);\n\t\n\tvar _bluebird2 = _interopRequireDefault(_bluebird);\n\t\n\tvar _debug = __webpack_require__(87);\n\t\n\tvar _debug2 = _interopRequireDefault(_debug);\n\t\n\tvar _helpers = __webpack_require__(240);\n\t\n\tvar _helpers2 = _interopRequireDefault(_helpers);\n\t\n\tvar _formatter = __webpack_require__(241);\n\t\n\tvar _formatter2 = _interopRequireDefault(_formatter);\n\t\n\tvar _api = __webpack_require__(1);\n\t\n\tvar _api2 = _interopRequireDefault(_api);\n\t\n\tvar _auth = __webpack_require__(237);\n\t\n\tvar _auth2 = _interopRequireDefault(_auth);\n\t\n\tvar _utils = __webpack_require__(97);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar operations = __webpack_require__(284);\n\tvar config = __webpack_require__(42);\n\t\n\tvar HF23_CHAIN_ID = '0000000000000000000000000000000000000000000000000000000000000000';\n\tvar HF24_CHAIN_ID = 'beeab0de00000000000000000000000000000000000000000000000000000000';\n\t\n\tvar debug = (0, _debug2.default)('hive:broadcast');\n\tvar noop = function noop() {};\n\tvar formatter = (0, _formatter2.default)(_api2.default);\n\t\n\tvar hiveBroadcast = {};\n\t\n\t// Base transaction logic -----------------------------------------------------\n\t\n\t/**\n\t * Sign and broadcast transactions on the hive network\n\t */\n\t\n\thiveBroadcast.send = function hiveBroadcast$send(tx, privKeys, callback) {\n\t var resultP = hiveBroadcast._prepareTransaction(tx).then(function (transaction) {\n\t if (config.get(\"address_prefix\") === \"TST\") {\n\t transaction.operations = JSON.parse(JSON.stringify(transaction.operations).replaceAll(' HIVE', ' TESTS'));\n\t transaction.operations = JSON.parse(JSON.stringify(transaction.operations).replaceAll(' HBD', ' TBD'));\n\t }\n\t debug('Signing transaction (transaction, transaction.operations)', transaction, transaction.operations);\n\t return _bluebird2.default.join(transaction, _auth2.default.signTransaction(transaction, privKeys));\n\t }).spread(function (transaction, signedTransaction) {\n\t debug('Broadcasting transaction (transaction, transaction.operations)', transaction, transaction.operations);\n\t return _api2.default.broadcastTransactionSynchronousAsync(signedTransaction).then(function (result) {\n\t return Object.assign({}, result, signedTransaction);\n\t });\n\t });\n\t\n\t resultP.nodeify(callback || noop);\n\t};\n\t\n\thiveBroadcast._prepareTransaction = function hiveBroadcast$_prepareTransaction(tx) {\n\t var propertiesP = _api2.default.getDynamicGlobalPropertiesAsync();\n\t return propertiesP.then(function (properties) {\n\t // Set defaults on the transaction\n\t var chainDate = new Date(properties.time + 'Z');\n\t var refBlockNum = properties.last_irreversible_block_num - 1 & 0xFFFF;\n\t return _api2.default.getBlockHeaderAsync(properties.last_irreversible_block_num).then(function (block) {\n\t var headBlockId = block ? block.previous : '0000000000000000000000000000000000000000';\n\t return Object.assign({\n\t ref_block_num: refBlockNum,\n\t ref_block_prefix: new Buffer(headBlockId, 'hex').readUInt32LE(4),\n\t expiration: new Date(chainDate.getTime() + 600 * 1000)\n\t }, tx);\n\t });\n\t });\n\t};\n\t\n\t// Generated wrapper ----------------------------------------------------------\n\toperations.forEach(function (operation) {\n\t var operationName = (0, _utils.camelCase)(operation.operation);\n\t var operationParams = operation.params || [];\n\t\n\t var useCommentPermlink = operationParams.indexOf('parent_author') !== -1 && operationParams.indexOf('parent_permlink') !== -1;\n\t\n\t hiveBroadcast[operationName + 'With'] = function hiveBroadcast$specializedSendWith(wif, options, callback) {\n\t debug('Sending operation \"' + operationName + '\" with', { options: options, callback: callback });\n\t var keys = {};\n\t if (operation.roles && operation.roles.length) {\n\t keys[operation.roles[0]] = wif; // TODO - Automatically pick a role? Send all?\n\t }\n\t\n\t return hiveBroadcast.send({\n\t extensions: [],\n\t operations: [[operation.operation, Object.assign({}, options, options.json_metadata != null ? {\n\t json_metadata: toString(options.json_metadata)\n\t } : {}, useCommentPermlink && options.permlink == null ? {\n\t permlink: formatter.commentPermlink(options.parent_author, options.parent_permlink)\n\t } : {})]]\n\t }, keys, callback);\n\t };\n\t\n\t hiveBroadcast[operationName] = function hiveBroadcast$specializedSend(wif) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\t\n\t debug('Parsing operation \"' + operationName + '\" with', { args: args });\n\t var options = operationParams.reduce(function (memo, param, i) {\n\t memo[param] = args[i]; // eslint-disable-line no-param-reassign\n\t return memo;\n\t }, {});\n\t var callback = args[operationParams.length];\n\t return hiveBroadcast[operationName + 'With'](wif, options, callback);\n\t };\n\t});\n\t\n\thiveBroadcast.updateOperations = function () {\n\t console.log('Warning: call to updateOperations() is deprecated and can safely be removed');\n\t};\n\t\n\tvar toString = function toString(obj) {\n\t return (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' ? JSON.stringify(obj) : obj;\n\t};\n\t(0, _helpers2.default)(hiveBroadcast);\n\t\n\t_bluebird2.default.promisifyAll(hiveBroadcast);\n\t\n\texports = module.exports = hiveBroadcast;\n\t/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(99).Buffer))\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _api = __webpack_require__(1);\n\t\n\tvar _api2 = _interopRequireDefault(_api);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports = module.exports = function (hiveBroadcast) {\n\t hiveBroadcast.addAccountAuth = function (_ref, cb) {\n\t var signingKey = _ref.signingKey,\n\t username = _ref.username,\n\t authorizedUsername = _ref.authorizedUsername,\n\t _ref$role = _ref.role,\n\t role = _ref$role === undefined ? 'posting' : _ref$role,\n\t weight = _ref.weight;\n\t\n\t _api2.default.getAccounts([username], function (err, _ref2) {\n\t var _ref3 = _slicedToArray(_ref2, 1),\n\t userAccount = _ref3[0];\n\t\n\t if (err) {\n\t return cb(new Error(err), null);\n\t }\n\t if (!userAccount) {\n\t return cb(new Error('Invalid account name'), null);\n\t }\n\t\n\t var updatedAuthority = userAccount[role];\n\t\n\t /** Release callback if the account already exist in the account_auths array */\n\t var authorizedAccounts = updatedAuthority.account_auths.map(function (auth) {\n\t return auth[0];\n\t });\n\t var hasAuthority = authorizedAccounts.indexOf(authorizedUsername) !== -1;\n\t if (hasAuthority) {\n\t return cb(null, null);\n\t }\n\t\n\t /** Use weight_thresold as default weight */\n\t weight = weight || userAccount[role].weight_threshold;\n\t updatedAuthority.account_auths.push([authorizedUsername, weight]);\n\t var owner = role === 'owner' ? updatedAuthority : undefined;\n\t var active = role === 'active' ? updatedAuthority : undefined;\n\t var posting = role === 'posting' ? updatedAuthority : undefined;\n\t\n\t /** Add authority on user account */\n\t hiveBroadcast.accountUpdate(signingKey, userAccount.name, owner, active, posting, userAccount.memo_key, userAccount.json_metadata, cb);\n\t });\n\t };\n\t\n\t hiveBroadcast.removeAccountAuth = function (_ref4, cb) {\n\t var signingKey = _ref4.signingKey,\n\t username = _ref4.username,\n\t authorizedUsername = _ref4.authorizedUsername,\n\t _ref4$role = _ref4.role,\n\t role = _ref4$role === undefined ? 'posting' : _ref4$role;\n\t\n\t _api2.default.getAccounts([username], function (err, _ref5) {\n\t var _ref6 = _slicedToArray(_ref5, 1),\n\t userAccount = _ref6[0];\n\t\n\t if (err) {\n\t return cb(new Error(err), null);\n\t }\n\t if (!userAccount) {\n\t return cb(new Error('Invalid account name'), null);\n\t }\n\t\n\t var updatedAuthority = userAccount[role];\n\t var totalAuthorizedUser = updatedAuthority.account_auths.length;\n\t for (var i = 0; i < totalAuthorizedUser; i++) {\n\t var user = updatedAuthority.account_auths[i];\n\t if (user[0] === authorizedUsername) {\n\t updatedAuthority.account_auths.splice(i, 1);\n\t break;\n\t }\n\t }\n\t\n\t /** Release callback if the account does not exist in the account_auths array */\n\t if (totalAuthorizedUser === updatedAuthority.account_auths.length) {\n\t return cb(null, null);\n\t }\n\t\n\t var owner = role === 'owner' ? updatedAuthority : undefined;\n\t var active = role === 'active' ? updatedAuthority : undefined;\n\t var posting = role === 'posting' ? updatedAuthority : undefined;\n\t\n\t hiveBroadcast.accountUpdate(signingKey, userAccount.name, owner, active, posting, userAccount.memo_key, userAccount.json_metadata, cb);\n\t });\n\t };\n\t\n\t hiveBroadcast.addKeyAuth = function (_ref7, cb) {\n\t var signingKey = _ref7.signingKey,\n\t username = _ref7.username,\n\t authorizedKey = _ref7.authorizedKey,\n\t _ref7$role = _ref7.role,\n\t role = _ref7$role === undefined ? 'posting' : _ref7$role,\n\t weight = _ref7.weight;\n\t\n\t _api2.default.getAccounts([username], function (err, _ref8) {\n\t var _ref9 = _slicedToArray(_ref8, 1),\n\t userAccount = _ref9[0];\n\t\n\t if (err) {\n\t return cb(new Error(err), null);\n\t }\n\t if (!userAccount) {\n\t return cb(new Error('Invalid account name'), null);\n\t }\n\t\n\t var updatedAuthority = userAccount[role];\n\t\n\t /** Release callback if the key already exist in the key_auths array */\n\t var authorizedKeys = updatedAuthority.key_auths.map(function (auth) {\n\t return auth[0];\n\t });\n\t var hasAuthority = authorizedKeys.indexOf(authorizedKey) !== -1;\n\t if (hasAuthority) {\n\t return cb(null, null);\n\t }\n\t\n\t /** Use weight_thresold as default weight */\n\t weight = weight || userAccount[role].weight_threshold;\n\t updatedAuthority.key_auths.push([authorizedKey, weight]);\n\t var owner = role === 'owner' ? updatedAuthority : undefined;\n\t var active = role === 'active' ? updatedAuthority : undefined;\n\t var posting = role === 'posting' ? updatedAuthority : undefined;\n\t\n\t /** Add authority on user account */\n\t hiveBroadcast.accountUpdate(signingKey, userAccount.name, owner, active, posting, userAccount.memo_key, userAccount.json_metadata, cb);\n\t });\n\t };\n\t\n\t hiveBroadcast.removeKeyAuth = function (_ref10, cb) {\n\t var signingKey = _ref10.signingKey,\n\t username = _ref10.username,\n\t authorizedKey = _ref10.authorizedKey,\n\t _ref10$role = _ref10.role,\n\t role = _ref10$role === undefined ? 'posting' : _ref10$role;\n\t\n\t _api2.default.getAccounts([username], function (err, _ref11) {\n\t var _ref12 = _slicedToArray(_ref11, 1),\n\t userAccount = _ref12[0];\n\t\n\t if (err) {\n\t return cb(new Error(err), null);\n\t }\n\t if (!userAccount) {\n\t return cb(new Error('Invalid account name'), null);\n\t }\n\t\n\t var updatedAuthority = userAccount[role];\n\t var totalAuthorizedKey = updatedAuthority.key_auths.length;\n\t for (var i = 0; i < totalAuthorizedKey; i++) {\n\t var user = updatedAuthority.key_auths[i];\n\t if (user[0] === authorizedKey) {\n\t updatedAuthority.key_auths.splice(i, 1);\n\t break;\n\t }\n\t }\n\t\n\t /** Release callback if the key does not exist in the key_auths array */\n\t if (totalAuthorizedKey === updatedAuthority.key_auths.length) {\n\t return cb(null, null);\n\t }\n\t\n\t var owner = role === 'owner' ? updatedAuthority : undefined;\n\t var active = role === 'active' ? updatedAuthority : undefined;\n\t var posting = role === 'posting' ? updatedAuthority : undefined;\n\t\n\t hiveBroadcast.accountUpdate(signingKey, userAccount.name, owner, active, posting, userAccount.memo_key, userAccount.json_metadata, cb);\n\t });\n\t };\n\t};\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\t\n\tvar _get = __webpack_require__(242);\n\t\n\tvar _get2 = _interopRequireDefault(_get);\n\t\n\tvar _ecc = __webpack_require__(103);\n\t\n\tvar _config = __webpack_require__(42);\n\t\n\tvar _config2 = _interopRequireDefault(_config);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tmodule.exports = function (hiveAPI) {\n\t function numberWithCommas(x) {\n\t return x.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\t }\n\t\n\t // Deprecating - Replacement: vestingHive\n\t function vestingSteem(account, gprops) {\n\t var vests = parseFloat(account.vesting_shares.split(\" \")[0]);\n\t var total_vests = parseFloat(gprops.total_vesting_shares.split(\" \")[0]);\n\t var total_vest_hive = parseFloat(gprops['total_vesting_fund_hive'].split(\" \")[0]);\n\t var vesting_hivef = total_vest_hive * (vests / total_vests);\n\t return vesting_hivef;\n\t }\n\t var vestingHive = vestingSteem;\n\t\n\t function processOrders(open_orders, assetPrecision) {\n\t var hbdOrders = !open_orders ? 0 : open_orders.reduce(function (o, order) {\n\t if (order.sell_price.base.indexOf(\"HBD\") !== -1) {\n\t o += order.for_sale;\n\t }\n\t return o;\n\t }, 0) / assetPrecision;\n\t\n\t var hiveOrders = !open_orders ? 0 : open_orders.reduce(function (o, order) {\n\t if (order.sell_price.base.indexOf(\"HIVE\") !== -1) {\n\t o += order.for_sale;\n\t }\n\t return o;\n\t }, 0) / assetPrecision;\n\t\n\t return { hiveOrders: hiveOrders, hbdOrders: hbdOrders };\n\t }\n\t\n\t function calculateSaving(savings_withdraws) {\n\t var savings_pending = 0;\n\t var savings_hbd_pending = 0;\n\t savings_withdraws.forEach(function (withdraw) {\n\t var _withdraw$amount$spli = withdraw.amount.split(\" \"),\n\t _withdraw$amount$spli2 = _slicedToArray(_withdraw$amount$spli, 2),\n\t amount = _withdraw$amount$spli2[0],\n\t asset = _withdraw$amount$spli2[1];\n\t\n\t if (asset === \"HIVE\") savings_pending += parseFloat(amount);else {\n\t if (asset === \"HBD\") savings_hbd_pending += parseFloat(amount);\n\t }\n\t });\n\t return { savings_pending: savings_pending, savings_hbd_pending: savings_hbd_pending };\n\t }\n\t\n\t // Deprecating - Replacement: pricePerHive\n\t function pricePerSteem(feed_price) {\n\t var price_per_hive = undefined;\n\t var base = feed_price.base,\n\t quote = feed_price.quote;\n\t\n\t if (/ HBD$/.test(base) && / HIVE$/.test(quote)) {\n\t price_per_hive = parseFloat(base.split(\" \")[0]) / parseFloat(quote.split(\" \")[0]);\n\t }\n\t return price_per_hive;\n\t }\n\t var pricePerHive = pricePerSteem;\n\t\n\t // TODO: remove vesting_steem\n\t function estimateAccountValue(account) {\n\t var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t gprops = _ref.gprops,\n\t feed_price = _ref.feed_price,\n\t open_orders = _ref.open_orders,\n\t savings_withdraws = _ref.savings_withdraws,\n\t vesting_steem = _ref.vesting_steem,\n\t vesting_hive = _ref.vesting_hive;\n\t\n\t var promises = [];\n\t var username = account.name;\n\t var assetPrecision = 1000;\n\t var orders = void 0,\n\t savings = void 0;\n\t\n\t // TODO: remove vesting_steem\n\t // this is necessary to work with unbranded apis\n\t if (vesting_steem) {\n\t vesting_hive = vesting_steem;\n\t }\n\t if (!vesting_hive || !feed_price) {\n\t if (!gprops || !feed_price) {\n\t promises.push(hiveAPI.getStateAsync(\"/@\" + username).then(function (data) {\n\t gprops = data.props;\n\t feed_price = data.feed_price;\n\t vesting_hive = vestingHive(account, gprops);\n\t }));\n\t } else {\n\t vesting_hive = vestingHive(account, gprops);\n\t }\n\t }\n\t\n\t if (!open_orders) {\n\t promises.push(hiveAPI.getOpenOrdersAsync(username).then(function (open_orders) {\n\t orders = processOrders(open_orders, assetPrecision);\n\t }));\n\t } else {\n\t orders = processOrders(open_orders, assetPrecision);\n\t }\n\t\n\t if (!savings_withdraws) {\n\t promises.push(hiveAPI.getSavingsWithdrawFromAsync(username).then(function (savings_withdraws) {\n\t savings = calculateSaving(savings_withdraws);\n\t }));\n\t } else {\n\t savings = calculateSaving(savings_withdraws);\n\t }\n\t\n\t return Promise.all(promises).then(function () {\n\t var price_per_hive = pricePerHive(feed_price);\n\t\n\t var savings_balance = account.savings_balance;\n\t var savings_hbd_balance = account[\"savings_hbd_balance\"];\n\t var balance_hive = parseFloat(account.balance.split(\" \")[0]);\n\t var saving_balance_hive = parseFloat(savings_balance.split(\" \")[0]);\n\t var hbd_balance = parseFloat(account[\"hbd_balance\"]);\n\t var hbd_balance_savings = parseFloat(savings_hbd_balance.split(\" \")[0]);\n\t\n\t var conversionValue = 0;\n\t var currentTime = new Date().getTime();\n\t (account.other_history || []).reduce(function (out, item) {\n\t if ((0, _get2.default)(item, [1, \"op\", 0], \"\") !== \"convert\") return out;\n\t\n\t var timestamp = new Date((0, _get2.default)(item, [1, \"timestamp\"])).getTime();\n\t var finishTime = timestamp + 86400000 * 3.5; // add 3.5day conversion delay\n\t if (finishTime < currentTime) return out;\n\t\n\t var amount = parseFloat((0, _get2.default)(item, [1, \"op\", 1, \"amount\"]).replace(\" HBD\", \"\"));\n\t conversionValue += amount;\n\t }, []);\n\t\n\t var total_hbd = hbd_balance + hbd_balance_savings + savings.savings_hbd_pending + orders.hbdOrders + conversionValue;\n\t\n\t var total_hive = vesting_hive + balance_hive + saving_balance_hive + savings.savings_pending + orders.hiveOrders;\n\t\n\t return (total_hive * price_per_hive + total_hbd).toFixed(2);\n\t });\n\t }\n\t\n\t function createSuggestedPassword() {\n\t var PASSWORD_LENGTH = 32;\n\t var privateKey = _ecc.key_utils.get_random_key();\n\t return privateKey.toWif().substring(3, 3 + PASSWORD_LENGTH);\n\t }\n\t\n\t return {\n\t reputation: function reputation(_reputation) {\n\t if (_reputation == null) return _reputation;\n\t var neg = _reputation < 0;\n\t var rep = String(_reputation);\n\t rep = neg ? rep.substring(1) : rep;\n\t var v = Math.log10((rep > 0 ? rep : -rep) - 10) - 9;\n\t v = neg ? -v : v;\n\t return parseInt(v * 9 + 25);\n\t },\n\t\n\t // Deprecated - Remove on future releases\n\t vestToSteem: function vestToSteem(vestingShares, totalVestingShares, totalVestingFundSteem) {\n\t console.warn('vestToSteem() is deprecated and will be removed in the future releases. Use vestToHive() instead.');\n\t return parseFloat(totalVestingFundSteem) * (parseFloat(vestingShares) / parseFloat(totalVestingShares));\n\t },\n\t\n\t // Same as vestToSteem\n\t vestToHive: function vestToHive(vestingShares, totalVestingShares, totalVestingFundHive) {\n\t return parseFloat(totalVestingFundHive) * (parseFloat(vestingShares) / parseFloat(totalVestingShares));\n\t },\n\t\n\t commentPermlink: function commentPermlink(parentAuthor, parentPermlink) {\n\t var timeStr = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, \"\").toLowerCase();\n\t parentPermlink = parentPermlink.replace(/(-\\d{8}t\\d{9}z)/g, \"\");\n\t return (\"re-\" + parentAuthor + \"-\" + parentPermlink + \"-\" + timeStr).replaceAll(\".\", \"\");\n\t },\n\t\n\t amount: function amount(_amount, asset) {\n\t return _amount.toFixed(3) + \" \" + asset;\n\t },\n\t numberWithCommas: numberWithCommas,\n\t vestingSteem: vestingSteem,\n\t vestingHive: vestingHive,\n\t estimateAccountValue: estimateAccountValue,\n\t createSuggestedPassword: createSuggestedPassword,\n\t pricePerSteem: pricePerSteem,\n\t pricePerHive: pricePerHive\n\t };\n\t};\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseGet = __webpack_require__(243);\n\t\n\t/**\n\t * Gets the value at `path` of `object`. If the resolved value is\n\t * `undefined`, the `defaultValue` is returned in its place.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 3.7.0\n\t * @category Object\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n\t * @returns {*} Returns the resolved value.\n\t * @example\n\t *\n\t * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n\t *\n\t * _.get(object, 'a[0].b.c');\n\t * // => 3\n\t *\n\t * _.get(object, ['a', '0', 'b', 'c']);\n\t * // => 3\n\t *\n\t * _.get(object, 'a.b.c', 'default');\n\t * // => 'default'\n\t */\n\tfunction get(object, path, defaultValue) {\n\t var result = object == null ? undefined : baseGet(object, path);\n\t return result === undefined ? defaultValue : result;\n\t}\n\t\n\tmodule.exports = get;\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar castPath = __webpack_require__(244),\n\t toKey = __webpack_require__(283);\n\t\n\t/**\n\t * The base implementation of `_.get` without support for default values.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {Array|string} path The path of the property to get.\n\t * @returns {*} Returns the resolved value.\n\t */\n\tfunction baseGet(object, path) {\n\t path = castPath(path, object);\n\t\n\t var index = 0,\n\t length = path.length;\n\t\n\t while (object != null && index < length) {\n\t object = object[toKey(path[index++])];\n\t }\n\t return index && index == length ? object : undefined;\n\t}\n\t\n\tmodule.exports = baseGet;\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isArray = __webpack_require__(62),\n\t isKey = __webpack_require__(245),\n\t stringToPath = __webpack_require__(247),\n\t toString = __webpack_require__(280);\n\t\n\t/**\n\t * Casts `value` to a path array if it's not one.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {Array} Returns the cast property path array.\n\t */\n\tfunction castPath(value, object) {\n\t if (isArray(value)) {\n\t return value;\n\t }\n\t return isKey(value, object) ? [value] : stringToPath(toString(value));\n\t}\n\t\n\tmodule.exports = castPath;\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar isArray = __webpack_require__(62),\n\t isSymbol = __webpack_require__(246);\n\t\n\t/** Used to match property names within property paths. */\n\tvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n\t reIsPlainProp = /^\\w*$/;\n\t\n\t/**\n\t * Checks if `value` is a property name and not a property path.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @param {Object} [object] The object to query keys on.\n\t * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n\t */\n\tfunction isKey(value, object) {\n\t if (isArray(value)) {\n\t return false;\n\t }\n\t var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\t if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {\n\t return true;\n\t }\n\t return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);\n\t}\n\t\n\tmodule.exports = isKey;\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\tvar baseGetTag = __webpack_require__(55),\n\t isObjectLike = __webpack_require__(61);\n\t\n\t/** `Object#toString` result references. */\n\tvar symbolTag = '[object Symbol]';\n\t\n\t/**\n\t * Checks if `value` is classified as a `Symbol` primitive or object.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n\t * @example\n\t *\n\t * _.isSymbol(Symbol.iterator);\n\t * // => true\n\t *\n\t * _.isSymbol('abc');\n\t * // => false\n\t */\n\tfunction isSymbol(value) {\n\t return (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;\n\t}\n\t\n\tmodule.exports = isSymbol;\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar memoizeCapped = __webpack_require__(248);\n\t\n\t/** Used to match property names within property paths. */\n\tvar reLeadingDot = /^\\./,\n\t rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\t\n\t/** Used to match backslashes in property paths. */\n\tvar reEscapeChar = /\\\\(\\\\)?/g;\n\t\n\t/**\n\t * Converts `string` to a property path array.\n\t *\n\t * @private\n\t * @param {string} string The string to convert.\n\t * @returns {Array} Returns the property path array.\n\t */\n\tvar stringToPath = memoizeCapped(function (string) {\n\t var result = [];\n\t if (reLeadingDot.test(string)) {\n\t result.push('');\n\t }\n\t string.replace(rePropName, function (match, number, quote, string) {\n\t result.push(quote ? string.replace(reEscapeChar, '$1') : number || match);\n\t });\n\t return result;\n\t});\n\t\n\tmodule.exports = stringToPath;\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar memoize = __webpack_require__(249);\n\t\n\t/** Used as the maximum memoize cache size. */\n\tvar MAX_MEMOIZE_SIZE = 500;\n\t\n\t/**\n\t * A specialized version of `_.memoize` which clears the memoized function's\n\t * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n\t *\n\t * @private\n\t * @param {Function} func The function to have its output memoized.\n\t * @returns {Function} Returns the new memoized function.\n\t */\n\tfunction memoizeCapped(func) {\n\t var result = memoize(func, function (key) {\n\t if (cache.size === MAX_MEMOIZE_SIZE) {\n\t cache.clear();\n\t }\n\t return key;\n\t });\n\t\n\t var cache = result.cache;\n\t return result;\n\t}\n\t\n\tmodule.exports = memoizeCapped;\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar MapCache = __webpack_require__(250);\n\t\n\t/** Error message constants. */\n\tvar FUNC_ERROR_TEXT = 'Expected a function';\n\t\n\t/**\n\t * Creates a function that memoizes the result of `func`. If `resolver` is\n\t * provided, it determines the cache key for storing the result based on the\n\t * arguments provided to the memoized function. By default, the first argument\n\t * provided to the memoized function is used as the map cache key. The `func`\n\t * is invoked with the `this` binding of the memoized function.\n\t *\n\t * **Note:** The cache is exposed as the `cache` property on the memoized\n\t * function. Its creation may be customized by replacing the `_.memoize.Cache`\n\t * constructor with one whose instances implement the\n\t * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n\t * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 0.1.0\n\t * @category Function\n\t * @param {Function} func The function to have its output memoized.\n\t * @param {Function} [resolver] The function to resolve the cache key.\n\t * @returns {Function} Returns the new memoized function.\n\t * @example\n\t *\n\t * var object = { 'a': 1, 'b': 2 };\n\t * var other = { 'c': 3, 'd': 4 };\n\t *\n\t * var values = _.memoize(_.values);\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * values(other);\n\t * // => [3, 4]\n\t *\n\t * object.a = 2;\n\t * values(object);\n\t * // => [1, 2]\n\t *\n\t * // Modify the result cache.\n\t * values.cache.set(object, ['a', 'b']);\n\t * values(object);\n\t * // => ['a', 'b']\n\t *\n\t * // Replace `_.memoize.Cache`.\n\t * _.memoize.Cache = WeakMap;\n\t */\n\tfunction memoize(func, resolver) {\n\t if (typeof func != 'function' || resolver != null && typeof resolver != 'function') {\n\t throw new TypeError(FUNC_ERROR_TEXT);\n\t }\n\t var memoized = function memoized() {\n\t var args = arguments,\n\t key = resolver ? resolver.apply(this, args) : args[0],\n\t cache = memoized.cache;\n\t\n\t if (cache.has(key)) {\n\t return cache.get(key);\n\t }\n\t var result = func.apply(this, args);\n\t memoized.cache = cache.set(key, result) || cache;\n\t return result;\n\t };\n\t memoized.cache = new (memoize.Cache || MapCache)();\n\t return memoized;\n\t}\n\t\n\t// Expose `MapCache`.\n\tmemoize.Cache = MapCache;\n\t\n\tmodule.exports = memoize;\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar mapCacheClear = __webpack_require__(251),\n\t mapCacheDelete = __webpack_require__(274),\n\t mapCacheGet = __webpack_require__(277),\n\t mapCacheHas = __webpack_require__(278),\n\t mapCacheSet = __webpack_require__(279);\n\t\n\t/**\n\t * Creates a map cache object to store key-value pairs.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction MapCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `MapCache`.\n\tMapCache.prototype.clear = mapCacheClear;\n\tMapCache.prototype['delete'] = mapCacheDelete;\n\tMapCache.prototype.get = mapCacheGet;\n\tMapCache.prototype.has = mapCacheHas;\n\tMapCache.prototype.set = mapCacheSet;\n\t\n\tmodule.exports = MapCache;\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar Hash = __webpack_require__(252),\n\t ListCache = __webpack_require__(265),\n\t Map = __webpack_require__(273);\n\t\n\t/**\n\t * Removes all key-value entries from the map.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf MapCache\n\t */\n\tfunction mapCacheClear() {\n\t this.size = 0;\n\t this.__data__ = {\n\t 'hash': new Hash(),\n\t 'map': new (Map || ListCache)(),\n\t 'string': new Hash()\n\t };\n\t}\n\t\n\tmodule.exports = mapCacheClear;\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar hashClear = __webpack_require__(253),\n\t hashDelete = __webpack_require__(261),\n\t hashGet = __webpack_require__(262),\n\t hashHas = __webpack_require__(263),\n\t hashSet = __webpack_require__(264);\n\t\n\t/**\n\t * Creates a hash object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction Hash(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `Hash`.\n\tHash.prototype.clear = hashClear;\n\tHash.prototype['delete'] = hashDelete;\n\tHash.prototype.get = hashGet;\n\tHash.prototype.has = hashHas;\n\tHash.prototype.set = hashSet;\n\t\n\tmodule.exports = Hash;\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar nativeCreate = __webpack_require__(254);\n\t\n\t/**\n\t * Removes all key-value entries from the hash.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf Hash\n\t */\n\tfunction hashClear() {\n\t this.__data__ = nativeCreate ? nativeCreate(null) : {};\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = hashClear;\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar getNative = __webpack_require__(255);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar nativeCreate = getNative(Object, 'create');\n\t\n\tmodule.exports = nativeCreate;\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseIsNative = __webpack_require__(256),\n\t getValue = __webpack_require__(260);\n\t\n\t/**\n\t * Gets the native function at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} object The object to query.\n\t * @param {string} key The key of the method to get.\n\t * @returns {*} Returns the function if it's native, else `undefined`.\n\t */\n\tfunction getNative(object, key) {\n\t var value = getValue(object, key);\n\t return baseIsNative(value) ? value : undefined;\n\t}\n\t\n\tmodule.exports = getNative;\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isFunction = __webpack_require__(77),\n\t isMasked = __webpack_require__(257),\n\t isObject = __webpack_require__(78),\n\t toSource = __webpack_require__(259);\n\t\n\t/**\n\t * Used to match `RegExp`\n\t * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n\t */\n\tvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\t\n\t/** Used to detect host constructors (Safari). */\n\tvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype,\n\t objectProto = Object.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/** Used to detect if a method is native. */\n\tvar reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&').replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n\t\n\t/**\n\t * The base implementation of `_.isNative` without bad shim checks.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is a native function,\n\t * else `false`.\n\t */\n\tfunction baseIsNative(value) {\n\t if (!isObject(value) || isMasked(value)) {\n\t return false;\n\t }\n\t var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n\t return pattern.test(toSource(value));\n\t}\n\t\n\tmodule.exports = baseIsNative;\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar coreJsData = __webpack_require__(258);\n\t\n\t/** Used to detect methods masquerading as native. */\n\tvar maskSrcKey = function () {\n\t var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n\t return uid ? 'Symbol(src)_1.' + uid : '';\n\t}();\n\t\n\t/**\n\t * Checks if `func` has its source masked.\n\t *\n\t * @private\n\t * @param {Function} func The function to check.\n\t * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n\t */\n\tfunction isMasked(func) {\n\t return !!maskSrcKey && maskSrcKey in func;\n\t}\n\t\n\tmodule.exports = isMasked;\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar root = __webpack_require__(57);\n\t\n\t/** Used to detect overreaching core-js shims. */\n\tvar coreJsData = root['__core-js_shared__'];\n\t\n\tmodule.exports = coreJsData;\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\t/** Used for built-in method references. */\n\tvar funcProto = Function.prototype;\n\t\n\t/** Used to resolve the decompiled source of functions. */\n\tvar funcToString = funcProto.toString;\n\t\n\t/**\n\t * Converts `func` to its source code.\n\t *\n\t * @private\n\t * @param {Function} func The function to convert.\n\t * @returns {string} Returns the source code.\n\t */\n\tfunction toSource(func) {\n\t if (func != null) {\n\t try {\n\t return funcToString.call(func);\n\t } catch (e) {}\n\t try {\n\t return func + '';\n\t } catch (e) {}\n\t }\n\t return '';\n\t}\n\t\n\tmodule.exports = toSource;\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Gets the value at `key` of `object`.\n\t *\n\t * @private\n\t * @param {Object} [object] The object to query.\n\t * @param {string} key The key of the property to get.\n\t * @returns {*} Returns the property value.\n\t */\n\tfunction getValue(object, key) {\n\t return object == null ? undefined : object[key];\n\t}\n\t\n\tmodule.exports = getValue;\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Removes `key` and its value from the hash.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf Hash\n\t * @param {Object} hash The hash to modify.\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction hashDelete(key) {\n\t var result = this.has(key) && delete this.__data__[key];\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\t\n\tmodule.exports = hashDelete;\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar nativeCreate = __webpack_require__(254);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Gets the hash value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction hashGet(key) {\n\t var data = this.__data__;\n\t if (nativeCreate) {\n\t var result = data[key];\n\t return result === HASH_UNDEFINED ? undefined : result;\n\t }\n\t return hasOwnProperty.call(data, key) ? data[key] : undefined;\n\t}\n\t\n\tmodule.exports = hashGet;\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar nativeCreate = __webpack_require__(254);\n\t\n\t/** Used for built-in method references. */\n\tvar objectProto = Object.prototype;\n\t\n\t/** Used to check objects for own properties. */\n\tvar hasOwnProperty = objectProto.hasOwnProperty;\n\t\n\t/**\n\t * Checks if a hash value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf Hash\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction hashHas(key) {\n\t var data = this.__data__;\n\t return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n\t}\n\t\n\tmodule.exports = hashHas;\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar nativeCreate = __webpack_require__(254);\n\t\n\t/** Used to stand-in for `undefined` hash values. */\n\tvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\t\n\t/**\n\t * Sets the hash `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf Hash\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the hash instance.\n\t */\n\tfunction hashSet(key, value) {\n\t var data = this.__data__;\n\t this.size += this.has(key) ? 0 : 1;\n\t data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;\n\t return this;\n\t}\n\t\n\tmodule.exports = hashSet;\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar listCacheClear = __webpack_require__(266),\n\t listCacheDelete = __webpack_require__(267),\n\t listCacheGet = __webpack_require__(270),\n\t listCacheHas = __webpack_require__(271),\n\t listCacheSet = __webpack_require__(272);\n\t\n\t/**\n\t * Creates an list cache object.\n\t *\n\t * @private\n\t * @constructor\n\t * @param {Array} [entries] The key-value pairs to cache.\n\t */\n\tfunction ListCache(entries) {\n\t var index = -1,\n\t length = entries == null ? 0 : entries.length;\n\t\n\t this.clear();\n\t while (++index < length) {\n\t var entry = entries[index];\n\t this.set(entry[0], entry[1]);\n\t }\n\t}\n\t\n\t// Add methods to `ListCache`.\n\tListCache.prototype.clear = listCacheClear;\n\tListCache.prototype['delete'] = listCacheDelete;\n\tListCache.prototype.get = listCacheGet;\n\tListCache.prototype.has = listCacheHas;\n\tListCache.prototype.set = listCacheSet;\n\t\n\tmodule.exports = ListCache;\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Removes all key-value entries from the list cache.\n\t *\n\t * @private\n\t * @name clear\n\t * @memberOf ListCache\n\t */\n\tfunction listCacheClear() {\n\t this.__data__ = [];\n\t this.size = 0;\n\t}\n\t\n\tmodule.exports = listCacheClear;\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar assocIndexOf = __webpack_require__(268);\n\t\n\t/** Used for built-in method references. */\n\tvar arrayProto = Array.prototype;\n\t\n\t/** Built-in value references. */\n\tvar splice = arrayProto.splice;\n\t\n\t/**\n\t * Removes `key` and its value from the list cache.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction listCacheDelete(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t return false;\n\t }\n\t var lastIndex = data.length - 1;\n\t if (index == lastIndex) {\n\t data.pop();\n\t } else {\n\t splice.call(data, index, 1);\n\t }\n\t --this.size;\n\t return true;\n\t}\n\t\n\tmodule.exports = listCacheDelete;\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar eq = __webpack_require__(269);\n\t\n\t/**\n\t * Gets the index at which the `key` is found in `array` of key-value pairs.\n\t *\n\t * @private\n\t * @param {Array} array The array to inspect.\n\t * @param {*} key The key to search for.\n\t * @returns {number} Returns the index of the matched value, else `-1`.\n\t */\n\tfunction assocIndexOf(array, key) {\n\t var length = array.length;\n\t while (length--) {\n\t if (eq(array[length][0], key)) {\n\t return length;\n\t }\n\t }\n\t return -1;\n\t}\n\t\n\tmodule.exports = assocIndexOf;\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * Performs a\n\t * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n\t * comparison between two values to determine if they are equivalent.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to compare.\n\t * @param {*} other The other value to compare.\n\t * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n\t * @example\n\t *\n\t * var object = { 'a': 1 };\n\t * var other = { 'a': 1 };\n\t *\n\t * _.eq(object, object);\n\t * // => true\n\t *\n\t * _.eq(object, other);\n\t * // => false\n\t *\n\t * _.eq('a', 'a');\n\t * // => true\n\t *\n\t * _.eq('a', Object('a'));\n\t * // => false\n\t *\n\t * _.eq(NaN, NaN);\n\t * // => true\n\t */\n\tfunction eq(value, other) {\n\t return value === other || value !== value && other !== other;\n\t}\n\t\n\tmodule.exports = eq;\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar assocIndexOf = __webpack_require__(268);\n\t\n\t/**\n\t * Gets the list cache value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction listCacheGet(key) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t return index < 0 ? undefined : data[index][1];\n\t}\n\t\n\tmodule.exports = listCacheGet;\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar assocIndexOf = __webpack_require__(268);\n\t\n\t/**\n\t * Checks if a list cache value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf ListCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction listCacheHas(key) {\n\t return assocIndexOf(this.__data__, key) > -1;\n\t}\n\t\n\tmodule.exports = listCacheHas;\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar assocIndexOf = __webpack_require__(268);\n\t\n\t/**\n\t * Sets the list cache `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf ListCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the list cache instance.\n\t */\n\tfunction listCacheSet(key, value) {\n\t var data = this.__data__,\n\t index = assocIndexOf(data, key);\n\t\n\t if (index < 0) {\n\t ++this.size;\n\t data.push([key, value]);\n\t } else {\n\t data[index][1] = value;\n\t }\n\t return this;\n\t}\n\t\n\tmodule.exports = listCacheSet;\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar getNative = __webpack_require__(255),\n\t root = __webpack_require__(57);\n\t\n\t/* Built-in method references that are verified to be native. */\n\tvar Map = getNative(root, 'Map');\n\t\n\tmodule.exports = Map;\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar getMapData = __webpack_require__(275);\n\t\n\t/**\n\t * Removes `key` and its value from the map.\n\t *\n\t * @private\n\t * @name delete\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to remove.\n\t * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n\t */\n\tfunction mapCacheDelete(key) {\n\t var result = getMapData(this, key)['delete'](key);\n\t this.size -= result ? 1 : 0;\n\t return result;\n\t}\n\t\n\tmodule.exports = mapCacheDelete;\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isKeyable = __webpack_require__(276);\n\t\n\t/**\n\t * Gets the data for `map`.\n\t *\n\t * @private\n\t * @param {Object} map The map to query.\n\t * @param {string} key The reference key.\n\t * @returns {*} Returns the map data.\n\t */\n\tfunction getMapData(map, key) {\n\t var data = map.__data__;\n\t return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;\n\t}\n\t\n\tmodule.exports = getMapData;\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\t\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\t\n\t/**\n\t * Checks if `value` is suitable for use as unique object key.\n\t *\n\t * @private\n\t * @param {*} value The value to check.\n\t * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n\t */\n\tfunction isKeyable(value) {\n\t var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\t return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;\n\t}\n\t\n\tmodule.exports = isKeyable;\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar getMapData = __webpack_require__(275);\n\t\n\t/**\n\t * Gets the map value for `key`.\n\t *\n\t * @private\n\t * @name get\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to get.\n\t * @returns {*} Returns the entry value.\n\t */\n\tfunction mapCacheGet(key) {\n\t return getMapData(this, key).get(key);\n\t}\n\t\n\tmodule.exports = mapCacheGet;\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar getMapData = __webpack_require__(275);\n\t\n\t/**\n\t * Checks if a map value for `key` exists.\n\t *\n\t * @private\n\t * @name has\n\t * @memberOf MapCache\n\t * @param {string} key The key of the entry to check.\n\t * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n\t */\n\tfunction mapCacheHas(key) {\n\t return getMapData(this, key).has(key);\n\t}\n\t\n\tmodule.exports = mapCacheHas;\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar getMapData = __webpack_require__(275);\n\t\n\t/**\n\t * Sets the map `key` to `value`.\n\t *\n\t * @private\n\t * @name set\n\t * @memberOf MapCache\n\t * @param {string} key The key of the value to set.\n\t * @param {*} value The value to set.\n\t * @returns {Object} Returns the map cache instance.\n\t */\n\tfunction mapCacheSet(key, value) {\n\t var data = getMapData(this, key),\n\t size = data.size;\n\t\n\t data.set(key, value);\n\t this.size += data.size == size ? 0 : 1;\n\t return this;\n\t}\n\t\n\tmodule.exports = mapCacheSet;\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar baseToString = __webpack_require__(281);\n\t\n\t/**\n\t * Converts `value` to a string. An empty string is returned for `null`\n\t * and `undefined` values. The sign of `-0` is preserved.\n\t *\n\t * @static\n\t * @memberOf _\n\t * @since 4.0.0\n\t * @category Lang\n\t * @param {*} value The value to convert.\n\t * @returns {string} Returns the converted string.\n\t * @example\n\t *\n\t * _.toString(null);\n\t * // => ''\n\t *\n\t * _.toString(-0);\n\t * // => '-0'\n\t *\n\t * _.toString([1, 2, 3]);\n\t * // => '1,2,3'\n\t */\n\tfunction toString(value) {\n\t return value == null ? '' : baseToString(value);\n\t}\n\t\n\tmodule.exports = toString;\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _Symbol = __webpack_require__(56),\n\t arrayMap = __webpack_require__(282),\n\t isArray = __webpack_require__(62),\n\t isSymbol = __webpack_require__(246);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/** Used to convert symbols to primitives and strings. */\n\tvar symbolProto = _Symbol ? _Symbol.prototype : undefined,\n\t symbolToString = symbolProto ? symbolProto.toString : undefined;\n\t\n\t/**\n\t * The base implementation of `_.toString` which doesn't convert nullish\n\t * values to empty strings.\n\t *\n\t * @private\n\t * @param {*} value The value to process.\n\t * @returns {string} Returns the string.\n\t */\n\tfunction baseToString(value) {\n\t // Exit early for strings to avoid a performance hit in some environments.\n\t if (typeof value == 'string') {\n\t return value;\n\t }\n\t if (isArray(value)) {\n\t // Recursively convert values (susceptible to call stack limits).\n\t return arrayMap(value, baseToString) + '';\n\t }\n\t if (isSymbol(value)) {\n\t return symbolToString ? symbolToString.call(value) : '';\n\t }\n\t var result = value + '';\n\t return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n\t}\n\t\n\tmodule.exports = baseToString;\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\t\n\t/**\n\t * A specialized version of `_.map` for arrays without support for iteratee\n\t * shorthands.\n\t *\n\t * @private\n\t * @param {Array} [array] The array to iterate over.\n\t * @param {Function} iteratee The function invoked per iteration.\n\t * @returns {Array} Returns the new mapped array.\n\t */\n\tfunction arrayMap(array, iteratee) {\n\t var index = -1,\n\t length = array == null ? 0 : array.length,\n\t result = Array(length);\n\t\n\t while (++index < length) {\n\t result[index] = iteratee(array[index], index, array);\n\t }\n\t return result;\n\t}\n\t\n\tmodule.exports = arrayMap;\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar isSymbol = __webpack_require__(246);\n\t\n\t/** Used as references for various `Number` constants. */\n\tvar INFINITY = 1 / 0;\n\t\n\t/**\n\t * Converts `value` to a string key if it's not a string or symbol.\n\t *\n\t * @private\n\t * @param {*} value The value to inspect.\n\t * @returns {string|symbol} Returns the key.\n\t */\n\tfunction toKey(value) {\n\t if (typeof value == 'string' || isSymbol(value)) {\n\t return value;\n\t }\n\t var result = value + '';\n\t return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n\t}\n\t\n\tmodule.exports = toKey;\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar config = __webpack_require__(42);\n\t\n\tmodule.exports = [{\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"vote\",\n\t \"params\": [\"voter\", \"author\", \"permlink\", \"weight\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"comment\",\n\t \"params\": [\"parent_author\", \"parent_permlink\", \"author\", \"permlink\", \"title\", \"body\", \"json_metadata\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"transfer\",\n\t \"params\": [\"from\", \"to\", \"amount\", \"memo\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"transfer_to_vesting\",\n\t \"params\": [\"from\", \"to\", \"amount\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"withdraw_vesting\",\n\t \"params\": [\"account\", \"vesting_shares\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"limit_order_create\",\n\t \"params\": [\"owner\", \"orderid\", \"amount_to_sell\", \"min_to_receive\", \"fill_or_kill\", \"expiration\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"limit_order_cancel\",\n\t \"params\": [\"owner\", \"orderid\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"price\",\n\t \"params\": [\"base\", \"quote\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"feed_publish\",\n\t \"params\": [\"publisher\", \"exchange_rate\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"convert\",\n\t \"params\": [\"owner\", \"requestid\", \"amount\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"collateralized_convert\",\n\t \"params\": [\"owner\", \"requestid\", \"amount\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"account_create\",\n\t \"params\": [\"fee\", \"creator\", \"new_account_name\", \"owner\", \"active\", \"posting\", \"memo_key\", \"json_metadata\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"account_update\",\n\t \"params\": [\"account\", \"owner\", \"active\", \"posting\", \"memo_key\", \"json_metadata\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"witness_update\",\n\t \"params\": [\"owner\", \"url\", \"block_signing_key\", \"props\", \"fee\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"account_witness_vote\",\n\t \"params\": [\"account\", \"witness\", \"approve\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"account_witness_proxy\",\n\t \"params\": [\"account\", \"proxy\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"pow\",\n\t \"params\": [\"worker\", \"input\", \"signature\", \"work\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"custom\",\n\t \"params\": [\"required_auths\", \"id\", \"data\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"delete_comment\",\n\t \"params\": [\"author\", \"permlink\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"custom_json\",\n\t \"params\": [\"required_auths\", \"required_posting_auths\", \"id\", \"json\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"comment_options\",\n\t \"params\": [\"author\", \"permlink\", \"max_accepted_payout\", \"percent_hbd\", \"allow_votes\", \"allow_curation_rewards\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"set_withdraw_vesting_route\",\n\t \"params\": [\"from_account\", \"to_account\", \"percent\", \"auto_vest\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"limit_order_create2\",\n\t \"params\": [\"owner\", \"orderid\", \"amount_to_sell\", \"exchange_rate\", \"fill_or_kill\", \"expiration\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"claim_account\",\n\t \"params\": [\"creator\", \"fee\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"create_claimed_account\",\n\t \"params\": [\"creator\", \"new_account_name\", \"owner\", \"active\", \"posting\", \"memo_key\", \"json_metadata\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"request_account_recovery\",\n\t \"params\": [\"recovery_account\", \"account_to_recover\", \"new_owner_authority\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"owner\"],\n\t \"operation\": \"recover_account\",\n\t \"params\": [\"account_to_recover\", \"new_owner_authority\", \"recent_owner_authority\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"owner\"],\n\t \"operation\": \"change_recovery_account\",\n\t \"params\": [\"account_to_recover\", \"new_recovery_account\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"escrow_transfer\",\n\t \"params\": [\"from\", \"to\", \"agent\", \"escrow_id\", \"hbd_amount\", \"hive_amount\", \"fee\", \"ratification_deadline\", \"escrow_expiration\", \"json_meta\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"escrow_dispute\",\n\t \"params\": [\"from\", \"to\", \"agent\", \"who\", \"escrow_id\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"escrow_release\",\n\t \"params\": [\"from\", \"to\", \"agent\", \"who\", \"receiver\", \"escrow_id\", \"hbd_amount\", \"hive_amount\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"pow2\",\n\t \"params\": [\"input\", \"pow_summary\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"escrow_approve\",\n\t \"params\": [\"from\", \"to\", \"agent\", \"who\", \"escrow_id\", \"approve\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"transfer_to_savings\",\n\t \"params\": [\"from\", \"to\", \"amount\", \"memo\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"transfer_from_savings\",\n\t \"params\": [\"from\", \"request_id\", \"to\", \"amount\", \"memo\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"cancel_transfer_from_savings\",\n\t \"params\": [\"from\", \"request_id\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"custom_binary\",\n\t \"params\": [\"id\", \"data\"]\n\t}, {\n\t \"roles\": [\"owner\"],\n\t \"operation\": \"decline_voting_rights\",\n\t \"params\": [\"account\", \"decline\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"reset_account\",\n\t \"params\": [\"reset_account\", \"account_to_reset\", \"new_owner_authority\"]\n\t}, {\n\t \"roles\": [\"owner\", \"posting\"],\n\t \"operation\": \"set_reset_account\",\n\t \"params\": [\"account\", \"current_reset_account\", \"reset_account\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"claim_reward_balance\",\n\t \"params\": [\"account\", \"reward_hive\", \"reward_hbd\", \"reward_vests\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"delegate_vesting_shares\",\n\t \"params\": [\"delegator\", \"delegatee\", \"vesting_shares\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"account_create_with_delegation\",\n\t \"params\": [\"fee\", \"delegation\", \"creator\", \"new_account_name\", \"owner\", \"active\", \"posting\", \"memo_key\", \"json_metadata\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"witness_set_properties\",\n\t \"params\": [\"owner\", \"props\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"account_update2\",\n\t \"params\": [\"account\", \"owner\", \"active\", \"posting\", \"memo_key\", \"json_metadata\", \"posting_json_metadata\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"create_proposal\",\n\t \"params\": [\"creator\", \"receiver\", \"start_date\", \"end_date\", \"daily_pay\", \"subject\", \"permlink\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"update_proposal_votes\",\n\t \"params\": [\"voter\", \"proposal_ids\", \"approve\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"remove_proposal\",\n\t \"params\": [\"proposal_owner\", \"proposal_ids\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"update_proposal\",\n\t \"params\": [\"proposal_id\", \"creator\", \"daily_pay\", \"subject\", \"permlink\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"recurrent_transfer\",\n\t \"params\": [\"from\", \"to\", \"amount\", \"memo\", \"recurrence\", \"executions\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"claim_reward_balance2\",\n\t \"params\": [\"account\", \"reward_tokens\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"vote2\",\n\t \"params\": [\"voter\", \"author\", \"permlink\", \"rshares\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_create\",\n\t \"params\": [\"control_account\", \"symbol\", \"smt_creation_fee\", \"precision\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_setup\",\n\t \"params\": [\"control_account\", \"symbol\", \"max_supply\", \"contribution_begin_time\", \"contribution_end_time\", \"launch_time\", \"hive_units_min\", \"min_unit_ratio\", \"max_unit_ratio\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_setup_emissions\",\n\t \"params\": [\"control_account\", \"symbol\", \"schedule_time\", \"emissions_unit\", \"interval_seconds\", \"interval_coount\", \"lep_time\", \"rep_time\", \"lep_abs_amount\", \"rep_abs_amount\", \"lep_rel_amount_numerator\", \"rep_rel_amount_numerator\", \"rel_amount_denom_bits\", \"remove\", \"floor_emissions\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_setup_ico_tier\",\n\t \"params\": [\"control_account\", \"symbol\", \"hive_units_cap\", \"generation_policy\", \"remove\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_set_setup_parameters\",\n\t \"params\": [\"control_account\", \"symbol\", \"setup_parameters\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_set_runtime_parameters\",\n\t \"params\": [\"control_account\", \"symbol\", \"runtime_parameters\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"smt_contribute\",\n\t \"params\": [\"contributor\", \"symbol\", \"contribution_id\", \"contribution\", \"extensions\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"fill_convert_request\",\n\t \"params\": [\"owner\", \"requestid\", \"amount_in\", \"amount_out\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"comment_reward\",\n\t \"params\": [\"author\", \"permlink\", \"payout\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"liquidity_reward\",\n\t \"params\": [\"owner\", \"payout\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"interest\",\n\t \"params\": [\"owner\", \"interest\"]\n\t}, {\n\t \"roles\": [\"active\", \"owner\"],\n\t \"operation\": \"fill_vesting_withdraw\",\n\t \"params\": [\"from_account\", \"to_account\", \"withdrawn\", \"deposited\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"fill_order\",\n\t \"params\": [\"current_owner\", \"current_orderid\", \"current_pays\", \"open_owner\", \"open_orderid\", \"open_pays\"]\n\t}, {\n\t \"roles\": [\"posting\", \"active\", \"owner\"],\n\t \"operation\": \"fill_transfer_from_savings\",\n\t \"params\": [\"from\", \"to\", \"amount\", \"request_id\", \"memo\"]\n\t}];\n\n/***/ })\n/******/ ])));\n\n\n// WEBPACK FOOTER //\n// hive.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d402097e6971ff9a3b96","const api = require(\"./api\");\nconst auth = require(\"./auth\");\nconst memo = require(\"./auth/memo\");\nconst broadcast = require(\"./broadcast\");\nconst config = require(\"./config\");\nconst formatter = require(\"./formatter\")(api);\nconst utils = require(\"./utils\");\n\nconst hive = {\n api,\n auth,\n memo,\n broadcast,\n config,\n formatter,\n utils\n};\n\nif (typeof window !== \"undefined\") {\n window.hive = hive;\n}\n\nif (typeof global !== \"undefined\") {\n global.hive = hive;\n}\n\nexports = module.exports = hive;\n\n\n\n// WEBPACK FOOTER //\n// ./src/browser.js","import EventEmitter from 'events';\nimport Promise from 'bluebird';\nimport config from '../config';\nimport methods from './methods';\nimport transports from './transports';\nimport {RPCError} from './transports/http'\nimport {\n camelCase\n} from '../utils';\nimport {\n hash\n} from '../auth/ecc';\nimport {\n ops\n} from '../auth/serializer';\nimport {\n jsonRpc\n} from './transports/http';\nimport {\n sign as signRequest\n} from '@steemit/rpc-auth';\n\nclass Hive extends EventEmitter {\n constructor(options = {}) {\n super(options);\n this._setTransport(options);\n this._setLogger(options);\n this.options = options;\n this.seqNo = 0; // used for rpc calls\n this.error_count = 0;\n this.api_index = 0;\n this.error_threshold = 3;\n this.alternative_api_endpoints = ['https://api.hive.blog', 'https://anyx.io'];\n methods.forEach(method => {\n const methodName = method.method_name || camelCase(method.method);\n const methodParams = method.params || [];\n\n this[`${methodName}With`] = (options, callback) => {\n return this.send(method.api, {\n method: method.method,\n params: methodParams.map(param => options[param])\n }, callback);\n };\n\n this[methodName] = (...args) => {\n if (methodName === 'getAccountHistory' && args.length < 5 && methodParams.length > 4) {\n methodParams.pop();\n methodParams.pop();\n }\n const options = methodParams.reduce((memo, param, i) => {\n memo[param] = args[i]; // eslint-disable-line no-param-reassign\n return memo;\n }, {});\n const callback = args[methodParams.length];\n return this[`${methodName}With`](options, callback);\n };\n\n\t this[`${methodName}WithAsync`] = Promise.promisify(this[`${methodName}With`]);\n this[`${methodName}Async`] = Promise.promisify(this[methodName]);\n });\n this.callAsync = Promise.promisify(this.call);\n this.signedCallAsync = Promise.promisify(this.signedCall);\n // console.log(\"Alternate endpoints: \", this.options.alternative_api_endpoints);\n // console.log(\"Failover Threshold (errors): \", this.options.failover_threshold);\n this.notifyError = this.notifyError.bind(this);\n }\n\n _setTransport(options) {\n if (options.url && options.url.match('^((http|https)?:\\/\\/)')) {\n options.uri = options.url;\n options.transport = 'http';\n this._transportType = options.transport;\n this.options = options;\n this.transport = new transports.http(options);\n } else if (options.url && options.url.match('^((ws|wss)?:\\/\\/)')) {\n options.websocket = options.url;\n options.transport = 'ws';\n this._transportType = options.transport;\n this.options = options;\n this.transport = new transports.ws(options);\n } else if (options.transport) {\n if (this.transport && this._transportType !== options.transport) {\n this.transport.stop();\n }\n\n this._transportType = options.transport;\n\n if (typeof options.transport === 'string') {\n if (!transports[options.transport]) {\n throw new TypeError(\n 'Invalid `transport`, valid values are `http`, `ws` or a class',\n );\n }\n this.transport = new transports[options.transport](options);\n } else {\n this.transport = new options.transport(options);\n }\n } else {\n this.transport = new transports.ws(options);\n }\n }\n\n _setLogger(options) {\n if (options.hasOwnProperty('logger')) {\n switch (typeof options.logger) {\n case 'function':\n this.__logger = {\n log: options.logger\n };\n break;\n case 'object':\n if (typeof options.logger.log !== 'function') {\n throw new Error('setOptions({logger:{}}) must have a property .log of type function')\n }\n this.__logger = options.logger;\n break;\n case 'undefined':\n if (this.__logger) break;\n default:\n this.__logger = false;\n }\n }\n }\n\n log(logLevel) {\n if (this.__logger) {\n if ((arguments.length > 1) && typeof this.__logger[logLevel] === 'function') {\n let args = Array.prototype.slice.call(arguments, 1);\n this.__logger[logLevel].apply(this.__logger, args);\n } else {\n this.__logger.log.apply(this.__logger, arguments);\n }\n }\n }\n\n start() {\n return this.transport.start();\n }\n\n stop() {\n return this.transport.stop();\n }\n\n send(api, data, callback) {\n var cb = callback;\n if (this.__logger) {\n let id = Math.random();\n let self = this;\n this.log('xmit:' + id + ':', data)\n cb = function(e, d) {\n if (e) {\n self.log('error', 'rsp:' + id + ':\\n\\n', e, d)\n } else {\n self.log('rsp:' + id + ':', d)\n }\n if (callback) {\n callback.apply(self, arguments)\n }\n }\n }\n return this.transport.send(api, data, cb);\n }\n\n call(method, params, callback) {\n if (this._transportType !== 'http') {\n callback(new Error('RPC methods can only be called when using http transport'));\n return\n }\n const id = ++this.seqNo;\n jsonRpc(this.options.uri, {method, params, id})\n .then(res => { callback(null, res) }, err => { this.notifyError(err, err instanceof RPCError); callback(err) });\n }\n\n signedCall(method, params, account, key, callback) {\n if (this._transportType !== 'http') {\n callback(new Error('RPC methods can only be called when using http transport'));\n return;\n }\n const id = ++this.seqNo;\n let request;\n try {\n request = signRequest({method, params, id}, account, [key]);\n } catch (error) {\n callback(error);\n return;\n }\n jsonRpc(this.options.uri, request)\n .then(res => { callback(null, res) }, err => { callback(err); this.notifyError(err) });\n }\n\n setOptions(options) {\n Object.assign(this.options, options);\n\n if (options.hasOwnProperty('failover_threshold'))\n this.failover_threshold = options.failover_threshold;\n if (options.hasOwnProperty('alternative_api_endpoints'))\n this.alternative_api_endpoints = options.alternative_api_endpoints;\n\n this._setLogger(options);\n this._setTransport(options);\n this.transport.setOptions(options);\n if( options.hasOwnProperty('useTestNet') )\n {\n config.set( 'address_prefix', options.useTestNet ? 'TST' : 'STM' )\n }\n\n if (options.hasOwnProperty('url'))\n {\n let new_index = 0;\n for (var i = 0; i < this.alternative_api_endpoints.length; i++)\n {\n let temp_endpoint = this.alternative_api_endpoints[i];\n if (temp_endpoint === options.url)\n {\n new_index = i;\n break;\n }\n }\n this.api_index = new_index;\n let new_endpoint = this.alternative_api_endpoints[this.api_index];\n }\n }\n\n setWebSocket(url) {\n this.setOptions({\n websocket: url\n });\n }\n\n setUri(url) {\n this.setOptions({\n uri: url\n });\n }\n\n streamBlockNumber(mode = 'head', callback, ts = 200) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = 'head';\n }\n let current = '';\n let running = true;\n\n const update = () => {\n if (!running) return;\n\n this.getDynamicGlobalPropertiesAsync().then(\n result => {\n const blockId = mode === 'irreversible' ?\n result.last_irreversible_block_num :\n result.head_block_number;\n\n if (blockId !== current) {\n if (current) {\n for (let i = current; i < blockId; i++) {\n if (i !== current) {\n callback(null, i);\n }\n current = i;\n }\n } else {\n current = blockId;\n callback(null, blockId);\n }\n }\n\n Promise.delay(ts).then(() => {\n update();\n });\n },\n err => {\n callback(err);\n },\n );\n };\n\n update();\n\n return () => {\n running = false;\n };\n }\n\n streamBlock(mode = 'head', callback) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = 'head';\n }\n\n let current = '';\n let last = '';\n\n const release = this.streamBlockNumber(mode, (err, id) => {\n if (err) {\n release();\n callback(err);\n return;\n }\n\n current = id;\n if (current !== last) {\n last = current;\n this.getBlock(current, callback);\n }\n });\n\n return release;\n }\n\n streamTransactions(mode = 'head', callback) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = 'head';\n }\n\n const release = this.streamBlock(mode, (err, result) => {\n if (err) {\n release();\n callback(err);\n return;\n }\n\n if (result && result.transactions) {\n result.transactions.forEach(transaction => {\n callback(null, transaction);\n });\n }\n });\n\n return release;\n }\n\n streamOperations(mode = 'head', callback) {\n if (typeof mode === 'function') {\n callback = mode;\n mode = 'head';\n }\n\n const release = this.streamTransactions(mode, (err, transaction) => {\n if (err) {\n release();\n callback(err);\n return;\n }\n\n transaction.operations.forEach(operation => {\n callback(null, operation);\n });\n });\n\n return release;\n }\n\n broadcastTransactionSynchronousWith(options, callback) {\n const trx = options.trx;\n return this.send(\n 'network_broadcast_api', {\n method: 'broadcast_transaction_synchronous',\n params: [trx],\n },\n (err, result) => {\n if (err) {\n const {\n signed_transaction\n } = ops;\n // console.log('-- broadcastTransactionSynchronous -->', JSON.stringify(signed_transaction.toObject(trx), null, 2));\n // toObject converts objects into serializable types\n const trObject = signed_transaction.toObject(trx);\n const buf = signed_transaction.toBuffer(trx);\n err.digest = hash.sha256(buf).toString('hex');\n err.transaction_id = buf.toString('hex');\n err.transaction = JSON.stringify(trObject);\n callback(err, '');\n } else {\n callback('', result);\n }\n },\n );\n\n }\n\n notifyError(err, ignore=false)\n {\n if (ignore)\n {\n return;\n }\n if (this.failover_threshold === undefined || this.alternative_api_endpoints === undefined)\n {\n return;\n }\n if (err && err.toString().includes(\"overseer\"))\n {\n //overseer was a steem thing, it doesn't exist in hive so don't count this error towards failover\n return;\n }\n this.error_count++;\n if (this.error_count >= this.failover_threshold)\n {\n let current_url = this.options.url;\n this.error_count = 0;\n this.api_index++;\n if (this.api_index >= this.alternative_api_endpoints.length)\n {\n this.api_index = 0;\n }\n let nextEndpoint = this.alternative_api_endpoints[this.api_index];\n // console.log(\"failing over. old endpoint was: \", current_url, \" new one is: \", nextEndpoint);\n this.setOptions({url: nextEndpoint});\n }\n }\n}\n\n// Export singleton instance\nconst hive = new Hive(config);\nexports = module.exports = hive;\nexports.Hive = Hive;\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/index.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n } else {\n // At least give some kind of context to the user\n var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\n err.context = er;\n throw err;\n }\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n args = Array.prototype.slice.call(arguments, 1);\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n args = Array.prototype.slice.call(arguments, 1);\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else if (listeners) {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.prototype.listenerCount = function(type) {\n if (this._events) {\n var evlistener = this._events[type];\n\n if (isFunction(evlistener))\n return 1;\n else if (evlistener)\n return evlistener.length;\n }\n return 0;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n return emitter.listenerCount(type);\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/events/events.js","\"use strict\";\nvar old;\nif (typeof Promise !== \"undefined\") old = Promise;\nfunction noConflict() {\n try { if (Promise === bluebird) Promise = old; }\n catch (e) {}\n return bluebird;\n}\nvar bluebird = require(\"./promise\")();\nbluebird.noConflict = noConflict;\nmodule.exports = bluebird;\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/bluebird.js","\"use strict\";\nmodule.exports = function() {\nvar makeSelfResolutionError = function () {\n return new TypeError(\"circular promise resolution chain\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar reflectHandler = function() {\n return new Promise.PromiseInspection(this._target());\n};\nvar apiRejection = function(msg) {\n return Promise.reject(new TypeError(msg));\n};\nfunction Proxyable() {}\nvar UNDEFINED_BINDING = {};\nvar util = require(\"./util\");\n\nvar getDomain;\nif (util.isNode) {\n getDomain = function() {\n var ret = process.domain;\n if (ret === undefined) ret = null;\n return ret;\n };\n} else {\n getDomain = function() {\n return null;\n };\n}\nutil.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\nvar es5 = require(\"./es5\");\nvar Async = require(\"./async\");\nvar async = new Async();\nes5.defineProperty(Promise, \"_async\", {value: async});\nvar errors = require(\"./errors\");\nvar TypeError = Promise.TypeError = errors.TypeError;\nPromise.RangeError = errors.RangeError;\nvar CancellationError = Promise.CancellationError = errors.CancellationError;\nPromise.TimeoutError = errors.TimeoutError;\nPromise.OperationalError = errors.OperationalError;\nPromise.RejectionError = errors.OperationalError;\nPromise.AggregateError = errors.AggregateError;\nvar INTERNAL = function(){};\nvar APPLY = {};\nvar NEXT_FILTER = {};\nvar tryConvertToPromise = require(\"./thenables\")(Promise, INTERNAL);\nvar PromiseArray =\n require(\"./promise_array\")(Promise, INTERNAL,\n tryConvertToPromise, apiRejection, Proxyable);\nvar Context = require(\"./context\")(Promise);\n /*jshint unused:false*/\nvar createContext = Context.create;\nvar debug = require(\"./debuggability\")(Promise, Context);\nvar CapturedTrace = debug.CapturedTrace;\nvar PassThroughHandlerContext =\n require(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\nvar catchFilter = require(\"./catch_filter\")(NEXT_FILTER);\nvar nodebackForPromise = require(\"./nodeback\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nfunction check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n\n}\n\nfunction Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._resolveFromExecutor(executor);\n this._promiseCreated();\n this._fireEvent(\"promiseCreated\", this);\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" +\n \"expecting an object but got \" + util.classString(item));\n }\n }\n catchInstances.length = j;\n fn = arguments[i];\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n return this.then(undefined, fn);\n};\n\nPromise.prototype.reflect = function () {\n return this._then(reflectHandler,\n reflectHandler, undefined, this, undefined);\n};\n\nPromise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 &&\n typeof didFulfill !== \"function\" &&\n typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" +\n util.classString(didFulfill);\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n this._warn(msg);\n }\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n};\n\nPromise.prototype.done = function (didFulfill, didReject) {\n var promise =\n this._then(didFulfill, didReject, undefined, undefined, undefined);\n promise._setIsFinal();\n};\n\nPromise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n};\n\nPromise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n return ret;\n};\n\nPromise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n return new PromiseArray(this).promise();\n};\n\nPromise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n};\n\nPromise.getNewLibraryCopy = module.exports;\n\nPromise.is = function (val) {\n return val instanceof Promise;\n};\n\nPromise.fromNode = Promise.fromCallback = function(fn) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs\n : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.all = function (promises) {\n return new PromiseArray(promises).promise();\n};\n\nPromise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._setFulfilled();\n ret._rejectionHandler0 = obj;\n }\n return ret;\n};\n\nPromise.resolve = Promise.fulfilled = Promise.cast;\n\nPromise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._rejectCallback(reason, true);\n return ret;\n};\n\nPromise.setScheduler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return async.setScheduler(fn);\n};\n\nPromise.prototype._then = function (\n didFulfill,\n didReject,\n _, receiver,\n internalData\n) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n var target = this._target();\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n promise._captureStackTrace();\n if (receiver === undefined &&\n ((this._bitField & 2097152) !== 0)) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var domain = getDomain();\n if (!((bitField & 50397184) === 0)) {\n var handler, value, settler = target._settlePromiseCtx;\n if (((bitField & 33554432) !== 0)) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if (((bitField & 16777216) !== 0)) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n target._attachExtraTrace(value);\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: domain === null ? handler\n : (typeof handler === \"function\" &&\n util.domainBind(domain, handler)),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n }\n\n return promise;\n};\n\nPromise.prototype._length = function () {\n return this._bitField & 65535;\n};\n\nPromise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n};\n\nPromise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n};\n\nPromise.prototype._setLength = function (len) {\n this._bitField = (this._bitField & -65536) |\n (len & 65535);\n};\n\nPromise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n this._fireEvent(\"promiseFulfilled\", this);\n};\n\nPromise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n this._fireEvent(\"promiseRejected\", this);\n};\n\nPromise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n this._fireEvent(\"promiseResolved\", this);\n};\n\nPromise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n};\n\nPromise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n};\n\nPromise.prototype._unsetCancelled = function() {\n this._bitField = this._bitField & (~65536);\n};\n\nPromise.prototype._setCancelled = function() {\n this._bitField = this._bitField | 65536;\n this._fireEvent(\"promiseCancelled\", this);\n};\n\nPromise.prototype._setWillBeCancelled = function() {\n this._bitField = this._bitField | 8388608;\n};\n\nPromise.prototype._setAsyncGuaranteed = function() {\n if (async.hasCustomScheduler()) return;\n this._bitField = this._bitField | 134217728;\n};\n\nPromise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[\n index * 4 - 4 + 3];\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n return ret;\n};\n\nPromise.prototype._promiseAt = function (index) {\n return this[\n index * 4 - 4 + 2];\n};\n\nPromise.prototype._fulfillmentHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 0];\n};\n\nPromise.prototype._rejectionHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 1];\n};\n\nPromise.prototype._boundValue = function() {};\n\nPromise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n var receiver = follower._receiverAt(0);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n var reject = follower._rejectionHandlerAt(index);\n var promise = follower._promiseAt(index);\n var receiver = follower._receiverAt(index);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._addCallbacks = function (\n fulfill,\n reject,\n promise,\n receiver,\n domain\n) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this._rejectionHandler0 =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n if (typeof fulfill === \"function\") {\n this[base + 0] =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this[base + 1] =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n }\n this._setLength(index + 1);\n return index;\n};\n\nPromise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n};\n\nPromise.prototype._resolveCallback = function(value, shouldBind) {\n if (((this._bitField & 117506048) !== 0)) return;\n if (value === this)\n return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n return;\n }\n\n var bitField = promise._bitField;\n if (((bitField & 50397184) === 0)) {\n var len = this._length();\n if (len > 0) promise._migrateCallback0(this);\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n this._setFollowing();\n this._setLength(0);\n this._setFollowee(promise);\n } else if (((bitField & 33554432) !== 0)) {\n this._fulfill(promise._value());\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n this._reject(reason);\n }\n};\n\nPromise.prototype._rejectCallback =\nfunction(reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" +\n util.classString(reason);\n this._warn(message, true);\n }\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n this._reject(reason);\n};\n\nPromise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n this._captureStackTrace();\n this._pushContext();\n var synchronous = true;\n var r = this._execute(executor, function(value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n synchronous = false;\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n};\n\nPromise.prototype._settlePromiseFromHandler = function (\n handler, receiver, value, promise\n) {\n var bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n promise._pushContext();\n var x;\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" +\n util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n var promiseCreated = promise._popContext();\n bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n promise._resolveCallback(x);\n }\n};\n\nPromise.prototype._target = function() {\n var ret = this;\n while (ret._isFollowing()) ret = ret._followee();\n return ret;\n};\n\nPromise.prototype._followee = function() {\n return this._rejectionHandler0;\n};\n\nPromise.prototype._setFollowee = function(promise) {\n this._rejectionHandler0 = promise;\n};\n\nPromise.prototype._settlePromise = function(promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = ((bitField & 134217728) !== 0);\n if (((bitField & 65536) !== 0)) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext &&\n receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if (((bitField & 33554432) !== 0)) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n if (((bitField & 33554432) !== 0)) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n};\n\nPromise.prototype._settlePromiseLateCancellationObserver = function(ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n};\n\nPromise.prototype._settlePromiseCtx = function(ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n};\n\nPromise.prototype._settlePromise0 = function(handler, value, bitField) {\n var promise = this._promise0;\n var receiver = this._receiverAt(0);\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._settlePromise(promise, handler, receiver, value);\n};\n\nPromise.prototype._clearCallbackDataAtIndex = function(index) {\n var base = index * 4 - 4;\n this[base + 2] =\n this[base + 3] =\n this[base + 0] =\n this[base + 1] = undefined;\n};\n\nPromise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n if (value === this) {\n var err = makeSelfResolutionError();\n this._attachExtraTrace(err);\n return this._reject(err);\n }\n this._setFulfilled();\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if (((bitField & 134217728) !== 0)) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n }\n};\n\nPromise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n this._setRejected();\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n};\n\nPromise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, value);\n }\n};\n\nPromise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, reason);\n }\n};\n\nPromise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = (bitField & 65535);\n\n if (len > 0) {\n if (((bitField & 16842752) !== 0)) {\n var reason = this._fulfillmentHandler0;\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n this._fulfillPromises(len, value);\n }\n this._setLength(0);\n }\n this._clearCancellationData();\n};\n\nPromise.prototype._settledValue = function() {\n var bitField = this._bitField;\n if (((bitField & 33554432) !== 0)) {\n return this._rejectionHandler0;\n } else if (((bitField & 16777216) !== 0)) {\n return this._fulfillmentHandler0;\n }\n};\n\nfunction deferResolve(v) {this.promise._resolveCallback(v);}\nfunction deferReject(v) {this.promise._rejectCallback(v, false);}\n\nPromise.defer = Promise.pending = function() {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n};\n\nutil.notEnumerableProp(Promise,\n \"_makeSelfResolutionError\",\n makeSelfResolutionError);\n\nrequire(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection,\n debug);\nrequire(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\nrequire(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\nrequire(\"./direct_resolve\")(Promise);\nrequire(\"./synchronous_inspection\")(Promise);\nrequire(\"./join\")(\n Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\nPromise.Promise = Promise;\nPromise.version = \"3.5.1\";\nrequire('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\nrequire('./call_get.js')(Promise);\nrequire('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\nrequire('./timers.js')(Promise, INTERNAL, debug);\nrequire('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\nrequire('./nodeify.js')(Promise);\nrequire('./promisify.js')(Promise, INTERNAL);\nrequire('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\nrequire('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\nrequire('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\nrequire('./settle.js')(Promise, PromiseArray, debug);\nrequire('./some.js')(Promise, PromiseArray, apiRejection);\nrequire('./filter.js')(Promise, INTERNAL);\nrequire('./each.js')(Promise, INTERNAL);\nrequire('./any.js')(Promise);\n \n util.toFastProperties(Promise); \n util.toFastProperties(Promise.prototype); \n function fillTypes(value) { \n var p = new Promise(INTERNAL); \n p._fulfillmentHandler0 = value; \n p._rejectionHandler0 = value; \n p._promise0 = value; \n p._receiver0 = value; \n } \n // Complete slack tracking, opt out of field-type tracking and \n // stabilize map \n fillTypes({a: 1}); \n fillTypes({b: 2}); \n fillTypes({c: 3}); \n fillTypes(1); \n fillTypes(function(){}); \n fillTypes(undefined); \n fillTypes(false); \n fillTypes(new Promise(INTERNAL)); \n debug.setBounds(Async.firstLineError, util.lastLineError); \n return Promise; \n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/promise.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n// WEBPACK FOOTER //\n// ./~/process/browser.js","\"use strict\";\nvar es5 = require(\"./es5\");\nvar canEvaluate = typeof navigator == \"undefined\";\n\nvar errorObj = {e: {}};\nvar tryCatchTarget;\nvar globalObject = typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n typeof global !== \"undefined\" ? global :\n this !== undefined ? this : null;\n\nfunction tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\n\nvar inherits = function(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) &&\n propertyName.charAt(propertyName.length-1) !== \"$\"\n ) {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n};\n\n\nfunction isPrimitive(val) {\n return val == null || val === true || val === false ||\n typeof val === \"string\" || typeof val === \"number\";\n\n}\n\nfunction isObject(value) {\n return typeof value === \"function\" ||\n typeof value === \"object\" && value !== null;\n}\n\nfunction maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n\n return new Error(safeToString(maybeError));\n}\n\nfunction withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n ret[i] = appendee;\n return ret;\n}\n\nfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null\n ? desc.value\n : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n}\n\nfunction notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n}\n\nfunction thrower(r) {\n throw r;\n}\n\nvar inheritedDataKeys = (function() {\n var excludedPrototypes = [\n Array.prototype,\n Object.prototype,\n Function.prototype\n ];\n\n var isExcludedProto = function(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function(obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n obj = es5.getPrototypeOf(obj);\n }\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function(obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n\n /*jshint forin:false */\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n ret.push(key);\n }\n }\n return ret;\n };\n }\n\n})();\n\nvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\nfunction isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 &&\n !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods =\n thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor ||\n hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n\nfunction toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n FakeConstructor.prototype = obj;\n var l = 8;\n while (l--) new FakeConstructor();\n return obj;\n eval(obj);\n}\n\nvar rident = /^[a-z$_][a-z$_0-9]*$/i;\nfunction isIdentifier(str) {\n return rident.test(str);\n}\n\nfunction filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n for(var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n return ret;\n}\n\nfunction safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n}\n\nfunction isError(obj) {\n return obj instanceof Error ||\n (obj !== null &&\n typeof obj === \"object\" &&\n typeof obj.message === \"string\" &&\n typeof obj.name === \"string\");\n}\n\nfunction markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n }\n catch(ignore) {}\n}\n\nfunction originatesFromRejection(e) {\n if (e == null) return false;\n return ((e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError) ||\n e[\"isOperational\"] === true);\n}\n\nfunction canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n}\n\nvar ensureErrorObject = (function() {\n if (!(\"stack\" in new Error())) {\n return function(value) {\n if (canAttachTrace(value)) return value;\n try {throw new Error(safeToString(value));}\n catch(err) {return err;}\n };\n } else {\n return function(value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n})();\n\nfunction classString(obj) {\n return {}.toString.call(obj);\n}\n\nfunction copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n}\n\nvar asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n }\n return null;\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function(v) {\n return Array.from(v);\n } : function(v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n while (!((itResult = it.next()).done)) {\n ret.push(itResult.value);\n }\n return ret;\n };\n\n asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n return null;\n };\n}\n\nvar isNode = typeof process !== \"undefined\" &&\n classString(process).toLowerCase() === \"[object process]\";\n\nvar hasEnvVariables = typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\";\n\nfunction env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n}\n\nfunction getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function(){});\n if ({}.toString.call(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n}\n\nfunction domainBind(self, cb) {\n return self.bind(cb);\n}\n\nvar ret = {\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n hasDevTools: typeof chrome !== \"undefined\" && chrome &&\n typeof chrome.loadTimes === \"function\",\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n domainBind: domainBind\n};\nret.isRecentNode = ret.isNode && (function() {\n var version = process.versions.node.split(\".\").map(Number);\n return (version[0] === 0 && version[1] > 10) || (version[0] > 0);\n})();\n\nif (ret.isNode) ret.toFastProperties(process);\n\ntry {throw new Error(); } catch (e) {ret.lastLineError = e;}\nmodule.exports = ret;\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/util.js","var isES5 = (function(){\n \"use strict\";\n return this === undefined;\n})();\n\nif (isES5) {\n module.exports = {\n freeze: Object.freeze,\n defineProperty: Object.defineProperty,\n getDescriptor: Object.getOwnPropertyDescriptor,\n keys: Object.keys,\n names: Object.getOwnPropertyNames,\n getPrototypeOf: Object.getPrototypeOf,\n isArray: Array.isArray,\n isES5: isES5,\n propertyIsWritable: function(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n return !!(!descriptor || descriptor.writable || descriptor.set);\n }\n };\n} else {\n var has = {}.hasOwnProperty;\n var str = {}.toString;\n var proto = {}.constructor.prototype;\n\n var ObjectKeys = function (o) {\n var ret = [];\n for (var key in o) {\n if (has.call(o, key)) {\n ret.push(key);\n }\n }\n return ret;\n };\n\n var ObjectGetDescriptor = function(o, key) {\n return {value: o[key]};\n };\n\n var ObjectDefineProperty = function (o, key, desc) {\n o[key] = desc.value;\n return o;\n };\n\n var ObjectFreeze = function (obj) {\n return obj;\n };\n\n var ObjectGetPrototypeOf = function (obj) {\n try {\n return Object(obj).constructor.prototype;\n }\n catch (e) {\n return proto;\n }\n };\n\n var ArrayIsArray = function (obj) {\n try {\n return str.call(obj) === \"[object Array]\";\n }\n catch(e) {\n return false;\n }\n };\n\n module.exports = {\n isArray: ArrayIsArray,\n keys: ObjectKeys,\n names: ObjectKeys,\n defineProperty: ObjectDefineProperty,\n getDescriptor: ObjectGetDescriptor,\n freeze: ObjectFreeze,\n getPrototypeOf: ObjectGetPrototypeOf,\n isES5: isES5,\n propertyIsWritable: function() {\n return true;\n }\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/es5.js","\"use strict\";\nvar firstLineError;\ntry {throw new Error(); } catch (e) {firstLineError = e;}\nvar schedule = require(\"./schedule\");\nvar Queue = require(\"./queue\");\nvar util = require(\"./util\");\n\nfunction Async() {\n this._customScheduler = false;\n this._isTickUsed = false;\n this._lateQueue = new Queue(16);\n this._normalQueue = new Queue(16);\n this._haveDrainedQueues = false;\n this._trampolineEnabled = true;\n var self = this;\n this.drainQueues = function () {\n self._drainQueues();\n };\n this._schedule = schedule;\n}\n\nAsync.prototype.setScheduler = function(fn) {\n var prev = this._schedule;\n this._schedule = fn;\n this._customScheduler = true;\n return prev;\n};\n\nAsync.prototype.hasCustomScheduler = function() {\n return this._customScheduler;\n};\n\nAsync.prototype.enableTrampoline = function() {\n this._trampolineEnabled = true;\n};\n\nAsync.prototype.disableTrampolineIfNecessary = function() {\n if (util.hasDevTools) {\n this._trampolineEnabled = false;\n }\n};\n\nAsync.prototype.haveItemsQueued = function () {\n return this._isTickUsed || this._haveDrainedQueues;\n};\n\n\nAsync.prototype.fatalError = function(e, isNode) {\n if (isNode) {\n process.stderr.write(\"Fatal \" + (e instanceof Error ? e.stack : e) +\n \"\\n\");\n process.exit(2);\n } else {\n this.throwLater(e);\n }\n};\n\nAsync.prototype.throwLater = function(fn, arg) {\n if (arguments.length === 1) {\n arg = fn;\n fn = function () { throw arg; };\n }\n if (typeof setTimeout !== \"undefined\") {\n setTimeout(function() {\n fn(arg);\n }, 0);\n } else try {\n this._schedule(function() {\n fn(arg);\n });\n } catch (e) {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n};\n\nfunction AsyncInvokeLater(fn, receiver, arg) {\n this._lateQueue.push(fn, receiver, arg);\n this._queueTick();\n}\n\nfunction AsyncInvoke(fn, receiver, arg) {\n this._normalQueue.push(fn, receiver, arg);\n this._queueTick();\n}\n\nfunction AsyncSettlePromises(promise) {\n this._normalQueue._pushOne(promise);\n this._queueTick();\n}\n\nif (!util.hasDevTools) {\n Async.prototype.invokeLater = AsyncInvokeLater;\n Async.prototype.invoke = AsyncInvoke;\n Async.prototype.settlePromises = AsyncSettlePromises;\n} else {\n Async.prototype.invokeLater = function (fn, receiver, arg) {\n if (this._trampolineEnabled) {\n AsyncInvokeLater.call(this, fn, receiver, arg);\n } else {\n this._schedule(function() {\n setTimeout(function() {\n fn.call(receiver, arg);\n }, 100);\n });\n }\n };\n\n Async.prototype.invoke = function (fn, receiver, arg) {\n if (this._trampolineEnabled) {\n AsyncInvoke.call(this, fn, receiver, arg);\n } else {\n this._schedule(function() {\n fn.call(receiver, arg);\n });\n }\n };\n\n Async.prototype.settlePromises = function(promise) {\n if (this._trampolineEnabled) {\n AsyncSettlePromises.call(this, promise);\n } else {\n this._schedule(function() {\n promise._settlePromises();\n });\n }\n };\n}\n\nAsync.prototype._drainQueue = function(queue) {\n while (queue.length() > 0) {\n var fn = queue.shift();\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n continue;\n }\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n};\n\nAsync.prototype._drainQueues = function () {\n this._drainQueue(this._normalQueue);\n this._reset();\n this._haveDrainedQueues = true;\n this._drainQueue(this._lateQueue);\n};\n\nAsync.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n this._schedule(this.drainQueues);\n }\n};\n\nAsync.prototype._reset = function () {\n this._isTickUsed = false;\n};\n\nmodule.exports = Async;\nmodule.exports.firstLineError = firstLineError;\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/async.js","\"use strict\";\nvar util = require(\"./util\");\nvar schedule;\nvar noAsyncScheduler = function() {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar NativePromise = util.getNativePromise();\nif (util.isNode && typeof MutationObserver === \"undefined\") {\n var GlobalSetImmediate = global.setImmediate;\n var ProcessNextTick = process.nextTick;\n schedule = util.isRecentNode\n ? function(fn) { GlobalSetImmediate.call(global, fn); }\n : function(fn) { ProcessNextTick.call(process, fn); };\n} else if (typeof NativePromise === \"function\" &&\n typeof NativePromise.resolve === \"function\") {\n var nativePromise = NativePromise.resolve();\n schedule = function(fn) {\n nativePromise.then(fn);\n };\n} else if ((typeof MutationObserver !== \"undefined\") &&\n !(typeof window !== \"undefined\" &&\n window.navigator &&\n (window.navigator.standalone || window.cordova))) {\n schedule = (function() {\n var div = document.createElement(\"div\");\n var opts = {attributes: true};\n var toggleScheduled = false;\n var div2 = document.createElement(\"div\");\n var o2 = new MutationObserver(function() {\n div.classList.toggle(\"foo\");\n toggleScheduled = false;\n });\n o2.observe(div2, opts);\n\n var scheduleToggle = function() {\n if (toggleScheduled) return;\n toggleScheduled = true;\n div2.classList.toggle(\"foo\");\n };\n\n return function schedule(fn) {\n var o = new MutationObserver(function() {\n o.disconnect();\n fn();\n });\n o.observe(div, opts);\n scheduleToggle();\n };\n })();\n} else if (typeof setImmediate !== \"undefined\") {\n schedule = function (fn) {\n setImmediate(fn);\n };\n} else if (typeof setTimeout !== \"undefined\") {\n schedule = function (fn) {\n setTimeout(fn, 0);\n };\n} else {\n schedule = noAsyncScheduler;\n}\nmodule.exports = schedule;\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/schedule.js","var apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;\n\n\n\n// WEBPACK FOOTER //\n// ./~/timers-browserify/main.js","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n\n\n\n// WEBPACK FOOTER //\n// ./~/setimmediate/setImmediate.js","\"use strict\";\nfunction arrayMove(src, srcIndex, dst, dstIndex, len) {\n for (var j = 0; j < len; ++j) {\n dst[j + dstIndex] = src[j + srcIndex];\n src[j + srcIndex] = void 0;\n }\n}\n\nfunction Queue(capacity) {\n this._capacity = capacity;\n this._length = 0;\n this._front = 0;\n}\n\nQueue.prototype._willBeOverCapacity = function (size) {\n return this._capacity < size;\n};\n\nQueue.prototype._pushOne = function (arg) {\n var length = this.length();\n this._checkCapacity(length + 1);\n var i = (this._front + length) & (this._capacity - 1);\n this[i] = arg;\n this._length = length + 1;\n};\n\nQueue.prototype.push = function (fn, receiver, arg) {\n var length = this.length() + 3;\n if (this._willBeOverCapacity(length)) {\n this._pushOne(fn);\n this._pushOne(receiver);\n this._pushOne(arg);\n return;\n }\n var j = this._front + length - 3;\n this._checkCapacity(length);\n var wrapMask = this._capacity - 1;\n this[(j + 0) & wrapMask] = fn;\n this[(j + 1) & wrapMask] = receiver;\n this[(j + 2) & wrapMask] = arg;\n this._length = length;\n};\n\nQueue.prototype.shift = function () {\n var front = this._front,\n ret = this[front];\n\n this[front] = undefined;\n this._front = (front + 1) & (this._capacity - 1);\n this._length--;\n return ret;\n};\n\nQueue.prototype.length = function () {\n return this._length;\n};\n\nQueue.prototype._checkCapacity = function (size) {\n if (this._capacity < size) {\n this._resizeTo(this._capacity << 1);\n }\n};\n\nQueue.prototype._resizeTo = function (capacity) {\n var oldCapacity = this._capacity;\n this._capacity = capacity;\n var front = this._front;\n var length = this._length;\n var moveItemsCount = (front + length) & (oldCapacity - 1);\n arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n};\n\nmodule.exports = Queue;\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/queue.js","\"use strict\";\nvar es5 = require(\"./es5\");\nvar Objectfreeze = es5.freeze;\nvar util = require(\"./util\");\nvar inherits = util.inherits;\nvar notEnumerableProp = util.notEnumerableProp;\n\nfunction subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\",\n typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n inherits(SubError, Error);\n return SubError;\n}\n\nvar _TypeError, _RangeError;\nvar Warning = subError(\"Warning\", \"warning\");\nvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\nvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\nvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\ntry {\n _TypeError = TypeError;\n _RangeError = RangeError;\n} catch(e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n}\n\nvar methods = (\"join pop push shift unshift slice filter forEach some \" +\n \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\nfor (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n}\n\nes5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n});\nAggregateError.prototype[\"isOperational\"] = true;\nvar level = 0;\nAggregateError.prototype.toString = function() {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n level--;\n return ret;\n};\n\nfunction OperationalError(message) {\n if (!(this instanceof OperationalError))\n return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n}\ninherits(OperationalError, Error);\n\nvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\nif (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n}\n\nmodule.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/errors.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar util = require(\"./util\");\nvar errorObj = util.errorObj;\nvar isObject = util.isObject;\n\nfunction tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n obj._then(\n ret._fulfill,\n ret._reject,\n undefined,\n ret,\n null\n );\n return ret;\n }\n return doThenable(obj, then, context);\n }\n }\n return obj;\n}\n\nfunction doGetThen(obj) {\n return obj.then;\n}\n\nfunction getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\n\nvar hasProp = {}.hasOwnProperty;\nfunction isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n}\n\nfunction doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n promise._captureStackTrace();\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n promise._resolveCallback(value);\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n promise._rejectCallback(reason, synchronous, true);\n promise = null;\n }\n return ret;\n}\n\nreturn tryConvertToPromise;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/thenables.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise,\n apiRejection, Proxyable) {\nvar util = require(\"./util\");\nvar isArray = util.isArray;\n\nfunction toResolutionValue(val) {\n switch(val) {\n case -2: return [];\n case -3: return {};\n case -6: return new Map();\n }\n}\n\nfunction PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n }\n promise._setOnCancel(this);\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n this._init(undefined, -2);\n}\nutil.inherits(PromiseArray, Proxyable);\n\nPromiseArray.prototype.length = function () {\n return this._length;\n};\n\nPromiseArray.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if (((bitField & 50397184) === 0)) {\n this._promise._setAsyncGuaranteed();\n return values._then(\n init,\n this._reject,\n undefined,\n this,\n resolveValueIfEmpty\n );\n } else if (((bitField & 33554432) !== 0)) {\n values = values._value();\n } else if (((bitField & 16777216) !== 0)) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n values = util.asArray(values);\n if (values === null) {\n var err = apiRejection(\n \"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n this._promise._rejectCallback(err, false);\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n }\n else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n return;\n }\n this._iterate(values);\n};\n\nPromiseArray.prototype._iterate = function(values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if (((bitField & 50397184) === 0)) {\n maybePromise._proxy(this, i);\n this._values[i] = maybePromise;\n } else if (((bitField & 33554432) !== 0)) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if (((bitField & 16777216) !== 0)) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n if (!isResolved) result._setAsyncGuaranteed();\n};\n\nPromiseArray.prototype._isResolved = function () {\n return this._values === null;\n};\n\nPromiseArray.prototype._resolve = function (value) {\n this._values = null;\n this._promise._fulfill(value);\n};\n\nPromiseArray.prototype._cancel = function() {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n this._promise._cancel();\n};\n\nPromiseArray.prototype._reject = function (reason) {\n this._values = null;\n this._promise._rejectCallback(reason, false);\n};\n\nPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nPromiseArray.prototype._promiseCancelled = function() {\n this._cancel();\n return true;\n};\n\nPromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n this._reject(reason);\n return true;\n};\n\nPromiseArray.prototype._resultCancelled = function() {\n if (this._isResolved()) return;\n var values = this._values;\n this._cancel();\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n};\n\nPromiseArray.prototype.shouldCopyValues = function () {\n return true;\n};\n\nPromiseArray.prototype.getActualLength = function (len) {\n return len;\n};\n\nreturn PromiseArray;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/promise_array.js","\"use strict\";\nmodule.exports = function(Promise) {\nvar longStackTraces = false;\nvar contextStack = [];\n\nPromise.prototype._promiseCreated = function() {};\nPromise.prototype._pushContext = function() {};\nPromise.prototype._popContext = function() {return null;};\nPromise._peekContext = Promise.prototype._peekContext = function() {};\n\nfunction Context() {\n this._trace = new Context.CapturedTrace(peekContext());\n}\nContext.prototype._pushContext = function () {\n if (this._trace !== undefined) {\n this._trace._promiseCreated = null;\n contextStack.push(this._trace);\n }\n};\n\nContext.prototype._popContext = function () {\n if (this._trace !== undefined) {\n var trace = contextStack.pop();\n var ret = trace._promiseCreated;\n trace._promiseCreated = null;\n return ret;\n }\n return null;\n};\n\nfunction createContext() {\n if (longStackTraces) return new Context();\n}\n\nfunction peekContext() {\n var lastIndex = contextStack.length - 1;\n if (lastIndex >= 0) {\n return contextStack[lastIndex];\n }\n return undefined;\n}\nContext.CapturedTrace = null;\nContext.create = createContext;\nContext.deactivateLongStackTraces = function() {};\nContext.activateLongStackTraces = function() {\n var Promise_pushContext = Promise.prototype._pushContext;\n var Promise_popContext = Promise.prototype._popContext;\n var Promise_PeekContext = Promise._peekContext;\n var Promise_peekContext = Promise.prototype._peekContext;\n var Promise_promiseCreated = Promise.prototype._promiseCreated;\n Context.deactivateLongStackTraces = function() {\n Promise.prototype._pushContext = Promise_pushContext;\n Promise.prototype._popContext = Promise_popContext;\n Promise._peekContext = Promise_PeekContext;\n Promise.prototype._peekContext = Promise_peekContext;\n Promise.prototype._promiseCreated = Promise_promiseCreated;\n longStackTraces = false;\n };\n longStackTraces = true;\n Promise.prototype._pushContext = Context.prototype._pushContext;\n Promise.prototype._popContext = Context.prototype._popContext;\n Promise._peekContext = Promise.prototype._peekContext = peekContext;\n Promise.prototype._promiseCreated = function() {\n var ctx = this._peekContext();\n if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n };\n};\nreturn Context;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/context.js","\"use strict\";\nmodule.exports = function(Promise, Context) {\nvar getDomain = Promise._getDomain;\nvar async = Promise._async;\nvar Warning = require(\"./errors\").Warning;\nvar util = require(\"./util\");\nvar canAttachTrace = util.canAttachTrace;\nvar unhandledRejectionHandled;\nvar possiblyUnhandledRejection;\nvar bluebirdFramePattern =\n /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\nvar nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\nvar parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\nvar stackFramePattern = null;\nvar formatStack = null;\nvar indentStackFrames = false;\nvar printWarning;\nvar debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 &&\n (false ||\n util.env(\"BLUEBIRD_DEBUG\") ||\n util.env(\"NODE_ENV\") === \"development\"));\n\nvar warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\nvar longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\nvar wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 &&\n (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\nPromise.prototype.suppressUnhandledRejections = function() {\n var target = this._target();\n target._bitField = ((target._bitField & (~1048576)) |\n 524288);\n};\n\nPromise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n this._setRejectionIsUnhandled();\n var self = this;\n setTimeout(function() {\n self._notifyUnhandledRejection();\n }, 1);\n};\n\nPromise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\",\n unhandledRejectionHandled, undefined, this);\n};\n\nPromise.prototype._setReturnedNonUndefined = function() {\n this._bitField = this._bitField | 268435456;\n};\n\nPromise.prototype._returnedNonUndefined = function() {\n return (this._bitField & 268435456) !== 0;\n};\n\nPromise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n this._setUnhandledRejectionIsNotified();\n fireRejectionEvent(\"unhandledRejection\",\n possiblyUnhandledRejection, reason, this);\n }\n};\n\nPromise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n};\n\nPromise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & (~262144);\n};\n\nPromise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n};\n\nPromise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n};\n\nPromise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & (~1048576);\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n this._notifyUnhandledRejectionIsHandled();\n }\n};\n\nPromise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n};\n\nPromise.prototype._warn = function(message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n};\n\nPromise.onPossiblyUnhandledRejection = function (fn) {\n var domain = getDomain();\n possiblyUnhandledRejection =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nPromise.onUnhandledRejectionHandled = function (fn) {\n var domain = getDomain();\n unhandledRejectionHandled =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nvar disableLongStackTraces = function() {};\nPromise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n config.longStackTraces = true;\n disableLongStackTraces = function() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Context.deactivateLongStackTraces();\n async.enableTrampoline();\n config.longStackTraces = false;\n };\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Context.activateLongStackTraces();\n async.disableTrampolineIfNecessary();\n }\n};\n\nPromise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n};\n\nvar fireDomEvent = (function() {\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new CustomEvent(name.toLowerCase(), {\n detail: event,\n cancelable: true\n });\n return !util.global.dispatchEvent(domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new Event(name.toLowerCase(), {\n cancelable: true\n });\n domEvent.detail = event;\n return !util.global.dispatchEvent(domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name.toLowerCase(), false, true,\n event);\n return !util.global.dispatchEvent(domEvent);\n };\n }\n } catch (e) {}\n return function() {\n return false;\n };\n})();\n\nvar fireGlobalEvent = (function() {\n if (util.isNode) {\n return function() {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function() {\n return false;\n };\n }\n return function(name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n})();\n\nfunction generatePromiseLifecycleEventObject(name, promise) {\n return {promise: promise};\n}\n\nvar eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function(name, promise, child) {\n return {promise: promise, child: child};\n },\n warning: function(name, warning) {\n return {warning: warning};\n },\n unhandledRejection: function (name, reason, promise) {\n return {reason: reason, promise: promise};\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n};\n\nvar activeFireEvent = function (name) {\n var globalEventFired = false;\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n try {\n domEventFired = fireDomEvent(name,\n eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n};\n\nPromise.config = function(opts) {\n opts = Object(opts);\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\n \"cannot enable cancellation after promises are in use\");\n }\n Promise.prototype._clearCancellationData =\n cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback =\n cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n return Promise;\n};\n\nfunction defaultFireEvent() { return false; }\n\nPromise.prototype._fireEvent = defaultFireEvent;\nPromise.prototype._execute = function(executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n};\nPromise.prototype._onCancel = function () {};\nPromise.prototype._setOnCancel = function (handler) { ; };\nPromise.prototype._attachCancellationCallback = function(onCancel) {\n ;\n};\nPromise.prototype._captureStackTrace = function () {};\nPromise.prototype._attachExtraTrace = function () {};\nPromise.prototype._clearCancellationData = function() {};\nPromise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n};\n\nfunction cancellationExecute(executor, resolve, reject) {\n var promise = this;\n try {\n executor(resolve, reject, function(onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" +\n util.toString(onCancel));\n }\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n}\n\nfunction cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n}\n\nfunction cancellationOnCancel() {\n return this._onCancelField;\n}\n\nfunction cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n}\n\nfunction cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n}\n\nfunction cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\n\nfunction bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\nvar propagateFromFunction = bindingPropagateFrom;\n\nfunction boundValueFunction() {\n var ret = this._boundTo;\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n return ret;\n}\n\nfunction longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n}\n\nfunction longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\",\n parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n}\n\nfunction checkForgottenReturns(returnValue, promiseCreated, name, promise,\n parent) {\n if (returnValue === undefined && promiseCreated !== null &&\n wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n var stack = cleanStack(traceLines);\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] +\n \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n for (var i = 0; i < traceLines.length; ++i) {\n\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n break;\n }\n }\n\n }\n }\n var msg = \"a promise was created in a \" + name +\n \"handler \" + handlerLine + \"but was not returned from it, \" +\n \"see http://goo.gl/rRqMUw\" +\n creatorLine;\n promise._warn(msg, true, promiseCreated);\n }\n}\n\nfunction deprecated(name, replacement) {\n var message = name +\n \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n}\n\nfunction warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n}\n\nfunction reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n return message + \"\\n\" + stacks.join(\"\\n\");\n}\n\nfunction removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 ||\n ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) {\n stacks.splice(i, 1);\n i--;\n }\n }\n}\n\nfunction removeCommonRoots(stacks) {\n var current = stacks[0];\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n current = prev;\n }\n}\n\nfunction cleanStack(stack) {\n var ret = [];\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line ||\n stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n ret.push(line);\n }\n }\n return ret;\n}\n\nfunction stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n return stack;\n}\n\nfunction parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0\n ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n}\n\nfunction formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" ||\n typeof console.log === \"object\") {\n console.log(message);\n }\n }\n}\n\nfunction fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n}\n\nfunction formatNonError(obj) {\n var str;\n if (typeof obj === \"function\") {\n str = \"[function \" +\n (obj.name || \"anonymous\") +\n \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\"\n ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n }\n catch(e) {\n\n }\n }\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n return (\"(<\" + snip(str) + \">, no stack trace)\");\n}\n\nfunction snip(str) {\n var maxChars = 41;\n if (str.length < maxChars) {\n return str;\n }\n return str.substr(0, maxChars - 3) + \"...\";\n}\n\nfunction longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n}\n\nvar shouldIgnore = function() { return false; };\nvar parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\nfunction parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n}\n\nfunction setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = firstLineError.stack.split(\"\\n\");\n var lastStackLines = lastLineError.stack.split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName ||\n firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n if (info) {\n if (info.fileName === firstFileName &&\n (firstIndex <= info.line && info.line <= lastIndex)) {\n return true;\n }\n }\n return false;\n };\n}\n\nfunction CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n}\nutil.inherits(CapturedTrace, Error);\nContext.CapturedTrace = CapturedTrace;\n\nCapturedTrace.prototype.uncycle = function() {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n length = this._length = i;\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n cycleEdgeNode._parent.uncycle();\n cycleEdgeNode._length =\n cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n var currentChildLength = cycleEdgeNode._length + 1;\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n return;\n }\n }\n};\n\nCapturedTrace.prototype.attachExtraTrace = function(error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n\n var trace = this;\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n};\n\nvar captureStackTrace = (function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n var v8stackFormatter = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" &&\n typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function(line) {\n return bluebirdFramePattern.test(line);\n };\n return function(receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n var err = new Error();\n\n if (typeof err.stack === \"string\" &&\n err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n try { throw new Error(); }\n catch(e) {\n hasStackAfterThrow = (\"stack\" in e);\n }\n if (!(\"stack\" in err) && hasStackAfterThrow &&\n typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n try { throw new Error(); }\n catch(e) { o.stack = e.stack; }\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((typeof error === \"object\" ||\n typeof error === \"function\") &&\n error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n return null;\n\n})([]);\n\nif (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function (message) {\n console.warn(message);\n };\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function(message, isSoft) {\n var color = isSoft ? \"\\u001b[33m\" : \"\\u001b[31m\";\n console.warn(color + message + \"\\u001b[0m\\n\");\n };\n } else if (!util.isNode && typeof (new Error().stack) === \"string\") {\n printWarning = function(message, isSoft) {\n console.warn(\"%c\" + message,\n isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n}\n\nvar config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false\n};\n\nif (longStackTraces) Promise.longStackTraces();\n\nreturn {\n longStackTraces: function() {\n return config.longStackTraces;\n },\n warnings: function() {\n return config.warnings;\n },\n cancellation: function() {\n return config.cancellation;\n },\n monitoring: function() {\n return config.monitoring;\n },\n propagateFromFunction: function() {\n return propagateFromFunction;\n },\n boundValueFunction: function() {\n return boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/debuggability.js","\"use strict\";\nmodule.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {\nvar util = require(\"./util\");\nvar CancellationError = Promise.CancellationError;\nvar errorObj = util.errorObj;\nvar catchFilter = require(\"./catch_filter\")(NEXT_FILTER);\n\nfunction PassThroughHandlerContext(promise, type, handler) {\n this.promise = promise;\n this.type = type;\n this.handler = handler;\n this.called = false;\n this.cancelPromise = null;\n}\n\nPassThroughHandlerContext.prototype.isFinallyHandler = function() {\n return this.type === 0;\n};\n\nfunction FinallyHandlerCancelReaction(finallyHandler) {\n this.finallyHandler = finallyHandler;\n}\n\nFinallyHandlerCancelReaction.prototype._resultCancelled = function() {\n checkCancel(this.finallyHandler);\n};\n\nfunction checkCancel(ctx, reason) {\n if (ctx.cancelPromise != null) {\n if (arguments.length > 1) {\n ctx.cancelPromise._reject(reason);\n } else {\n ctx.cancelPromise._cancel();\n }\n ctx.cancelPromise = null;\n return true;\n }\n return false;\n}\n\nfunction succeed() {\n return finallyHandler.call(this, this.promise._target()._settledValue());\n}\nfunction fail(reason) {\n if (checkCancel(this, reason)) return;\n errorObj.e = reason;\n return errorObj;\n}\nfunction finallyHandler(reasonOrValue) {\n var promise = this.promise;\n var handler = this.handler;\n\n if (!this.called) {\n this.called = true;\n var ret = this.isFinallyHandler()\n ? handler.call(promise._boundValue())\n : handler.call(promise._boundValue(), reasonOrValue);\n if (ret === NEXT_FILTER) {\n return ret;\n } else if (ret !== undefined) {\n promise._setReturnedNonUndefined();\n var maybePromise = tryConvertToPromise(ret, promise);\n if (maybePromise instanceof Promise) {\n if (this.cancelPromise != null) {\n if (maybePromise._isCancelled()) {\n var reason =\n new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n errorObj.e = reason;\n return errorObj;\n } else if (maybePromise.isPending()) {\n maybePromise._attachCancellationCallback(\n new FinallyHandlerCancelReaction(this));\n }\n }\n return maybePromise._then(\n succeed, fail, undefined, this, undefined);\n }\n }\n }\n\n if (promise.isRejected()) {\n checkCancel(this);\n errorObj.e = reasonOrValue;\n return errorObj;\n } else {\n checkCancel(this);\n return reasonOrValue;\n }\n}\n\nPromise.prototype._passThrough = function(handler, type, success, fail) {\n if (typeof handler !== \"function\") return this.then();\n return this._then(success,\n fail,\n undefined,\n new PassThroughHandlerContext(this, type, handler),\n undefined);\n};\n\nPromise.prototype.lastly =\nPromise.prototype[\"finally\"] = function (handler) {\n return this._passThrough(handler,\n 0,\n finallyHandler,\n finallyHandler);\n};\n\n\nPromise.prototype.tap = function (handler) {\n return this._passThrough(handler, 1, finallyHandler);\n};\n\nPromise.prototype.tapCatch = function (handlerOrPredicate) {\n var len = arguments.length;\n if(len === 1) {\n return this._passThrough(handlerOrPredicate,\n 1,\n undefined,\n finallyHandler);\n } else {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return Promise.reject(new TypeError(\n \"tapCatch statement predicate: \"\n + \"expecting an object but got \" + util.classString(item)\n ));\n }\n }\n catchInstances.length = j;\n var handler = arguments[i];\n return this._passThrough(catchFilter(catchInstances, handler, this),\n 1,\n undefined,\n finallyHandler);\n }\n\n};\n\nreturn PassThroughHandlerContext;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/finally.js","\"use strict\";\nmodule.exports = function(NEXT_FILTER) {\nvar util = require(\"./util\");\nvar getKeys = require(\"./es5\").keys;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction catchFilter(instances, cb, promise) {\n return function(e) {\n var boundTo = promise._boundValue();\n predicateLoop: for (var i = 0; i < instances.length; ++i) {\n var item = instances[i];\n\n if (item === Error ||\n (item != null && item.prototype instanceof Error)) {\n if (e instanceof item) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (typeof item === \"function\") {\n var matchesPredicate = tryCatch(item).call(boundTo, e);\n if (matchesPredicate === errorObj) {\n return matchesPredicate;\n } else if (matchesPredicate) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (util.isObject(e)) {\n var keys = getKeys(item);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n if (item[key] != e[key]) {\n continue predicateLoop;\n }\n }\n return tryCatch(cb).call(boundTo, e);\n }\n }\n return NEXT_FILTER;\n };\n}\n\nreturn catchFilter;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/catch_filter.js","\"use strict\";\nvar util = require(\"./util\");\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar errors = require(\"./errors\");\nvar OperationalError = errors.OperationalError;\nvar es5 = require(\"./es5\");\n\nfunction isUntypedError(obj) {\n return obj instanceof Error &&\n es5.getPrototypeOf(obj) === Error.prototype;\n}\n\nvar rErrorKey = /^(?:name|message|stack|cause)$/;\nfunction wrapAsOperationalError(obj) {\n var ret;\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n util.markAsOriginatingFromRejection(obj);\n return obj;\n}\n\nfunction nodebackForPromise(promise, multiArgs) {\n return function(err, value) {\n if (promise === null) return;\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n promise._attachExtraTrace(wrapped);\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];};\n promise._fulfill(args);\n }\n promise = null;\n };\n}\n\nmodule.exports = nodebackForPromise;\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/nodeback.js","\"use strict\";\nmodule.exports =\nfunction(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\nvar util = require(\"./util\");\nvar tryCatch = util.tryCatch;\n\nPromise.method = function (fn) {\n if (typeof fn !== \"function\") {\n throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return function () {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value = tryCatch(fn).apply(this, arguments);\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.method\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n };\n};\n\nPromise.attempt = Promise[\"try\"] = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value;\n if (arguments.length > 1) {\n debug.deprecated(\"calling Promise.try with more than 1 argument\");\n var arg = arguments[1];\n var ctx = arguments[2];\n value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg)\n : tryCatch(fn).call(ctx, arg);\n } else {\n value = tryCatch(fn)();\n }\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.try\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n};\n\nPromise.prototype._resolveFromSyncValue = function (value) {\n if (value === util.errorObj) {\n this._rejectCallback(value.e, false);\n } else {\n this._resolveCallback(value, true);\n }\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/method.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) {\nvar calledBind = false;\nvar rejectThis = function(_, e) {\n this._reject(e);\n};\n\nvar targetRejected = function(e, context) {\n context.promiseRejectionQueued = true;\n context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n};\n\nvar bindingResolved = function(thisArg, context) {\n if (((this._bitField & 50397184) === 0)) {\n this._resolveCallback(context.target);\n }\n};\n\nvar bindingRejected = function(e, context) {\n if (!context.promiseRejectionQueued) this._reject(e);\n};\n\nPromise.prototype.bind = function (thisArg) {\n if (!calledBind) {\n calledBind = true;\n Promise.prototype._propagateFrom = debug.propagateFromFunction();\n Promise.prototype._boundValue = debug.boundValueFunction();\n }\n var maybePromise = tryConvertToPromise(thisArg);\n var ret = new Promise(INTERNAL);\n ret._propagateFrom(this, 1);\n var target = this._target();\n ret._setBoundTo(maybePromise);\n if (maybePromise instanceof Promise) {\n var context = {\n promiseRejectionQueued: false,\n promise: ret,\n target: target,\n bindingPromise: maybePromise\n };\n target._then(INTERNAL, targetRejected, undefined, ret, context);\n maybePromise._then(\n bindingResolved, bindingRejected, undefined, ret, context);\n ret._setOnCancel(maybePromise);\n } else {\n ret._resolveCallback(target);\n }\n return ret;\n};\n\nPromise.prototype._setBoundTo = function (obj) {\n if (obj !== undefined) {\n this._bitField = this._bitField | 2097152;\n this._boundTo = obj;\n } else {\n this._bitField = this._bitField & (~2097152);\n }\n};\n\nPromise.prototype._isBound = function () {\n return (this._bitField & 2097152) === 2097152;\n};\n\nPromise.bind = function (thisArg, value) {\n return Promise.resolve(value).bind(thisArg);\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/bind.js","\"use strict\";\nmodule.exports = function(Promise, PromiseArray, apiRejection, debug) {\nvar util = require(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nPromise.prototype[\"break\"] = Promise.prototype.cancel = function() {\n if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n\n var promise = this;\n var child = promise;\n while (promise._isCancellable()) {\n if (!promise._cancelBy(child)) {\n if (child._isFollowing()) {\n child._followee().cancel();\n } else {\n child._cancelBranched();\n }\n break;\n }\n\n var parent = promise._cancellationParent;\n if (parent == null || !parent._isCancellable()) {\n if (promise._isFollowing()) {\n promise._followee().cancel();\n } else {\n promise._cancelBranched();\n }\n break;\n } else {\n if (promise._isFollowing()) promise._followee().cancel();\n promise._setWillBeCancelled();\n child = promise;\n promise = parent;\n }\n }\n};\n\nPromise.prototype._branchHasCancelled = function() {\n this._branchesRemainingToCancel--;\n};\n\nPromise.prototype._enoughBranchesHaveCancelled = function() {\n return this._branchesRemainingToCancel === undefined ||\n this._branchesRemainingToCancel <= 0;\n};\n\nPromise.prototype._cancelBy = function(canceller) {\n if (canceller === this) {\n this._branchesRemainingToCancel = 0;\n this._invokeOnCancel();\n return true;\n } else {\n this._branchHasCancelled();\n if (this._enoughBranchesHaveCancelled()) {\n this._invokeOnCancel();\n return true;\n }\n }\n return false;\n};\n\nPromise.prototype._cancelBranched = function() {\n if (this._enoughBranchesHaveCancelled()) {\n this._cancel();\n }\n};\n\nPromise.prototype._cancel = function() {\n if (!this._isCancellable()) return;\n this._setCancelled();\n async.invoke(this._cancelPromises, this, undefined);\n};\n\nPromise.prototype._cancelPromises = function() {\n if (this._length() > 0) this._settlePromises();\n};\n\nPromise.prototype._unsetOnCancel = function() {\n this._onCancelField = undefined;\n};\n\nPromise.prototype._isCancellable = function() {\n return this.isPending() && !this._isCancelled();\n};\n\nPromise.prototype.isCancellable = function() {\n return this.isPending() && !this.isCancelled();\n};\n\nPromise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) {\n if (util.isArray(onCancelCallback)) {\n for (var i = 0; i < onCancelCallback.length; ++i) {\n this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n }\n } else if (onCancelCallback !== undefined) {\n if (typeof onCancelCallback === \"function\") {\n if (!internalOnly) {\n var e = tryCatch(onCancelCallback).call(this._boundValue());\n if (e === errorObj) {\n this._attachExtraTrace(e.e);\n async.throwLater(e.e);\n }\n }\n } else {\n onCancelCallback._resultCancelled(this);\n }\n }\n};\n\nPromise.prototype._invokeOnCancel = function() {\n var onCancelCallback = this._onCancel();\n this._unsetOnCancel();\n async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n};\n\nPromise.prototype._invokeInternalOnCancel = function() {\n if (this._isCancellable()) {\n this._doInvokeOnCancel(this._onCancel(), true);\n this._unsetOnCancel();\n }\n};\n\nPromise.prototype._resultCancelled = function() {\n this.cancel();\n};\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/cancel.js","\"use strict\";\nmodule.exports = function(Promise) {\nfunction returner() {\n return this.value;\n}\nfunction thrower() {\n throw this.reason;\n}\n\nPromise.prototype[\"return\"] =\nPromise.prototype.thenReturn = function (value) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n returner, undefined, undefined, {value: value}, undefined);\n};\n\nPromise.prototype[\"throw\"] =\nPromise.prototype.thenThrow = function (reason) {\n return this._then(\n thrower, undefined, undefined, {reason: reason}, undefined);\n};\n\nPromise.prototype.catchThrow = function (reason) {\n if (arguments.length <= 1) {\n return this._then(\n undefined, thrower, undefined, {reason: reason}, undefined);\n } else {\n var _reason = arguments[1];\n var handler = function() {throw _reason;};\n return this.caught(reason, handler);\n }\n};\n\nPromise.prototype.catchReturn = function (value) {\n if (arguments.length <= 1) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n undefined, returner, undefined, {value: value}, undefined);\n } else {\n var _value = arguments[1];\n if (_value instanceof Promise) _value.suppressUnhandledRejections();\n var handler = function() {return _value;};\n return this.caught(value, handler);\n }\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/direct_resolve.js","\"use strict\";\nmodule.exports = function(Promise) {\nfunction PromiseInspection(promise) {\n if (promise !== undefined) {\n promise = promise._target();\n this._bitField = promise._bitField;\n this._settledValueField = promise._isFateSealed()\n ? promise._settledValue() : undefined;\n }\n else {\n this._bitField = 0;\n this._settledValueField = undefined;\n }\n}\n\nPromiseInspection.prototype._settledValue = function() {\n return this._settledValueField;\n};\n\nvar value = PromiseInspection.prototype.value = function () {\n if (!this.isFulfilled()) {\n throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar reason = PromiseInspection.prototype.error =\nPromiseInspection.prototype.reason = function () {\n if (!this.isRejected()) {\n throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar isFulfilled = PromiseInspection.prototype.isFulfilled = function() {\n return (this._bitField & 33554432) !== 0;\n};\n\nvar isRejected = PromiseInspection.prototype.isRejected = function () {\n return (this._bitField & 16777216) !== 0;\n};\n\nvar isPending = PromiseInspection.prototype.isPending = function () {\n return (this._bitField & 50397184) === 0;\n};\n\nvar isResolved = PromiseInspection.prototype.isResolved = function () {\n return (this._bitField & 50331648) !== 0;\n};\n\nPromiseInspection.prototype.isCancelled = function() {\n return (this._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.__isCancelled = function() {\n return (this._bitField & 65536) === 65536;\n};\n\nPromise.prototype._isCancelled = function() {\n return this._target().__isCancelled();\n};\n\nPromise.prototype.isCancelled = function() {\n return (this._target()._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.isPending = function() {\n return isPending.call(this._target());\n};\n\nPromise.prototype.isRejected = function() {\n return isRejected.call(this._target());\n};\n\nPromise.prototype.isFulfilled = function() {\n return isFulfilled.call(this._target());\n};\n\nPromise.prototype.isResolved = function() {\n return isResolved.call(this._target());\n};\n\nPromise.prototype.value = function() {\n return value.call(this._target());\n};\n\nPromise.prototype.reason = function() {\n var target = this._target();\n target._unsetRejectionIsUnhandled();\n return reason.call(target);\n};\n\nPromise.prototype._value = function() {\n return this._settledValue();\n};\n\nPromise.prototype._reason = function() {\n this._unsetRejectionIsUnhandled();\n return this._settledValue();\n};\n\nPromise.PromiseInspection = PromiseInspection;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/synchronous_inspection.js","\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async,\n getDomain) {\nvar util = require(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar reject;\n\nif (!false) {\nif (canEvaluate) {\n var thenCallback = function(i) {\n return new Function(\"value\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = value; \\n\\\n holder.checkFulfillment(this); \\n\\\n \".replace(/Index/g, i));\n };\n\n var promiseSetter = function(i) {\n return new Function(\"promise\", \"holder\", \" \\n\\\n 'use strict'; \\n\\\n holder.pIndex = promise; \\n\\\n \".replace(/Index/g, i));\n };\n\n var generateHolderClass = function(total) {\n var props = new Array(total);\n for (var i = 0; i < props.length; ++i) {\n props[i] = \"this.p\" + (i+1);\n }\n var assignment = props.join(\" = \") + \" = null;\";\n var cancellationCode= \"var promise;\\n\" + props.map(function(prop) {\n return \" \\n\\\n promise = \" + prop + \"; \\n\\\n if (promise instanceof Promise) { \\n\\\n promise.cancel(); \\n\\\n } \\n\\\n \";\n }).join(\"\\n\");\n var passedArguments = props.join(\", \");\n var name = \"Holder$\" + total;\n\n\n var code = \"return function(tryCatch, errorObj, Promise, async) { \\n\\\n 'use strict'; \\n\\\n function [TheName](fn) { \\n\\\n [TheProperties] \\n\\\n this.fn = fn; \\n\\\n this.asyncNeeded = true; \\n\\\n this.now = 0; \\n\\\n } \\n\\\n \\n\\\n [TheName].prototype._callFunction = function(promise) { \\n\\\n promise._pushContext(); \\n\\\n var ret = tryCatch(this.fn)([ThePassedArguments]); \\n\\\n promise._popContext(); \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(ret.e, false); \\n\\\n } else { \\n\\\n promise._resolveCallback(ret); \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype.checkFulfillment = function(promise) { \\n\\\n var now = ++this.now; \\n\\\n if (now === [TheTotal]) { \\n\\\n if (this.asyncNeeded) { \\n\\\n async.invoke(this._callFunction, this, promise); \\n\\\n } else { \\n\\\n this._callFunction(promise); \\n\\\n } \\n\\\n \\n\\\n } \\n\\\n }; \\n\\\n \\n\\\n [TheName].prototype._resultCancelled = function() { \\n\\\n [CancellationCode] \\n\\\n }; \\n\\\n \\n\\\n return [TheName]; \\n\\\n }(tryCatch, errorObj, Promise, async); \\n\\\n \";\n\n code = code.replace(/\\[TheName\\]/g, name)\n .replace(/\\[TheTotal\\]/g, total)\n .replace(/\\[ThePassedArguments\\]/g, passedArguments)\n .replace(/\\[TheProperties\\]/g, assignment)\n .replace(/\\[CancellationCode\\]/g, cancellationCode);\n\n return new Function(\"tryCatch\", \"errorObj\", \"Promise\", \"async\", code)\n (tryCatch, errorObj, Promise, async);\n };\n\n var holderClasses = [];\n var thenCallbacks = [];\n var promiseSetters = [];\n\n for (var i = 0; i < 8; ++i) {\n holderClasses.push(generateHolderClass(i + 1));\n thenCallbacks.push(thenCallback(i + 1));\n promiseSetters.push(promiseSetter(i + 1));\n }\n\n reject = function (reason) {\n this._reject(reason);\n };\n}}\n\nPromise.join = function () {\n var last = arguments.length - 1;\n var fn;\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n if (!false) {\n if (last <= 8 && canEvaluate) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var HolderClass = holderClasses[last - 1];\n var holder = new HolderClass(fn);\n var callbacks = thenCallbacks;\n\n for (var i = 0; i < last; ++i) {\n var maybePromise = tryConvertToPromise(arguments[i], ret);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n maybePromise._then(callbacks[i], reject,\n undefined, ret, holder);\n promiseSetters[i](maybePromise, holder);\n holder.asyncNeeded = false;\n } else if (((bitField & 33554432) !== 0)) {\n callbacks[i].call(ret,\n maybePromise._value(), holder);\n } else if (((bitField & 16777216) !== 0)) {\n ret._reject(maybePromise._reason());\n } else {\n ret._cancel();\n }\n } else {\n callbacks[i].call(ret, maybePromise, holder);\n }\n }\n\n if (!ret._isFateSealed()) {\n if (holder.asyncNeeded) {\n var domain = getDomain();\n if (domain !== null) {\n holder.fn = util.domainBind(domain, holder.fn);\n }\n }\n ret._setAsyncGuaranteed();\n ret._setOnCancel(holder);\n }\n return ret;\n }\n }\n }\n var $_len = arguments.length;var args = new Array($_len); for(var $_i = 0; $_i < $_len; ++$_i) {args[$_i] = arguments[$_i];};\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n};\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/join.js","\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = require(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nfunction MappingPromiseArray(promises, fn, limit, _filter) {\n this.constructor$(promises);\n this._promise._captureStackTrace();\n var domain = getDomain();\n this._callback = domain === null ? fn : util.domainBind(domain, fn);\n this._preservedValues = _filter === INTERNAL\n ? new Array(this.length())\n : null;\n this._limit = limit;\n this._inFlight = 0;\n this._queue = [];\n async.invoke(this._asyncInit, this, undefined);\n}\nutil.inherits(MappingPromiseArray, PromiseArray);\n\nMappingPromiseArray.prototype._asyncInit = function() {\n this._init$(undefined, -2);\n};\n\nMappingPromiseArray.prototype._init = function () {};\n\nMappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var values = this._values;\n var length = this.length();\n var preservedValues = this._preservedValues;\n var limit = this._limit;\n\n if (index < 0) {\n index = (index * -1) - 1;\n values[index] = value;\n if (limit >= 1) {\n this._inFlight--;\n this._drainQueue();\n if (this._isResolved()) return true;\n }\n } else {\n if (limit >= 1 && this._inFlight >= limit) {\n values[index] = value;\n this._queue.push(index);\n return false;\n }\n if (preservedValues !== null) preservedValues[index] = value;\n\n var promise = this._promise;\n var callback = this._callback;\n var receiver = promise._boundValue();\n promise._pushContext();\n var ret = tryCatch(callback).call(receiver, value, index, length);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n preservedValues !== null ? \"Promise.filter\" : \"Promise.map\",\n promise\n );\n if (ret === errorObj) {\n this._reject(ret.e);\n return true;\n }\n\n var maybePromise = tryConvertToPromise(ret, this._promise);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n if (limit >= 1) this._inFlight++;\n values[index] = maybePromise;\n maybePromise._proxy(this, (index + 1) * -1);\n return false;\n } else if (((bitField & 33554432) !== 0)) {\n ret = maybePromise._value();\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(maybePromise._reason());\n return true;\n } else {\n this._cancel();\n return true;\n }\n }\n values[index] = ret;\n }\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= length) {\n if (preservedValues !== null) {\n this._filter(values, preservedValues);\n } else {\n this._resolve(values);\n }\n return true;\n }\n return false;\n};\n\nMappingPromiseArray.prototype._drainQueue = function () {\n var queue = this._queue;\n var limit = this._limit;\n var values = this._values;\n while (queue.length > 0 && this._inFlight < limit) {\n if (this._isResolved()) return;\n var index = queue.pop();\n this._promiseFulfilled(values[index], index);\n }\n};\n\nMappingPromiseArray.prototype._filter = function (booleans, values) {\n var len = values.length;\n var ret = new Array(len);\n var j = 0;\n for (var i = 0; i < len; ++i) {\n if (booleans[i]) ret[j++] = values[i];\n }\n ret.length = j;\n this._resolve(ret);\n};\n\nMappingPromiseArray.prototype.preservedValues = function () {\n return this._preservedValues;\n};\n\nfunction map(promises, fn, options, _filter) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var limit = 0;\n if (options !== undefined) {\n if (typeof options === \"object\" && options !== null) {\n if (typeof options.concurrency !== \"number\") {\n return Promise.reject(\n new TypeError(\"'concurrency' must be a number but it is \" +\n util.classString(options.concurrency)));\n }\n limit = options.concurrency;\n } else {\n return Promise.reject(new TypeError(\n \"options argument must be an object but it is \" +\n util.classString(options)));\n }\n }\n limit = typeof limit === \"number\" &&\n isFinite(limit) && limit >= 1 ? limit : 0;\n return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n}\n\nPromise.prototype.map = function (fn, options) {\n return map(this, fn, options, null);\n};\n\nPromise.map = function (promises, fn, options, _filter) {\n return map(promises, fn, options, _filter);\n};\n\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/map.js","\"use strict\";\nvar cr = Object.create;\nif (cr) {\n var callerCache = cr(null);\n var getterCache = cr(null);\n callerCache[\" size\"] = getterCache[\" size\"] = 0;\n}\n\nmodule.exports = function(Promise) {\nvar util = require(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar isIdentifier = util.isIdentifier;\n\nvar getMethodCaller;\nvar getGetter;\nif (!false) {\nvar makeMethodCaller = function (methodName) {\n return new Function(\"ensureMethod\", \" \\n\\\n return function(obj) { \\n\\\n 'use strict' \\n\\\n var len = this.length; \\n\\\n ensureMethod(obj, 'methodName'); \\n\\\n switch(len) { \\n\\\n case 1: return obj.methodName(this[0]); \\n\\\n case 2: return obj.methodName(this[0], this[1]); \\n\\\n case 3: return obj.methodName(this[0], this[1], this[2]); \\n\\\n case 0: return obj.methodName(); \\n\\\n default: \\n\\\n return obj.methodName.apply(obj, this); \\n\\\n } \\n\\\n }; \\n\\\n \".replace(/methodName/g, methodName))(ensureMethod);\n};\n\nvar makeGetter = function (propertyName) {\n return new Function(\"obj\", \" \\n\\\n 'use strict'; \\n\\\n return obj.propertyName; \\n\\\n \".replace(\"propertyName\", propertyName));\n};\n\nvar getCompiled = function(name, compiler, cache) {\n var ret = cache[name];\n if (typeof ret !== \"function\") {\n if (!isIdentifier(name)) {\n return null;\n }\n ret = compiler(name);\n cache[name] = ret;\n cache[\" size\"]++;\n if (cache[\" size\"] > 512) {\n var keys = Object.keys(cache);\n for (var i = 0; i < 256; ++i) delete cache[keys[i]];\n cache[\" size\"] = keys.length - 256;\n }\n }\n return ret;\n};\n\ngetMethodCaller = function(name) {\n return getCompiled(name, makeMethodCaller, callerCache);\n};\n\ngetGetter = function(name) {\n return getCompiled(name, makeGetter, getterCache);\n};\n}\n\nfunction ensureMethod(obj, methodName) {\n var fn;\n if (obj != null) fn = obj[methodName];\n if (typeof fn !== \"function\") {\n var message = \"Object \" + util.classString(obj) + \" has no method '\" +\n util.toString(methodName) + \"'\";\n throw new Promise.TypeError(message);\n }\n return fn;\n}\n\nfunction caller(obj) {\n var methodName = this.pop();\n var fn = ensureMethod(obj, methodName);\n return fn.apply(obj, this);\n}\nPromise.prototype.call = function (methodName) {\n var $_len = arguments.length;var args = new Array(Math.max($_len - 1, 0)); for(var $_i = 1; $_i < $_len; ++$_i) {args[$_i - 1] = arguments[$_i];};\n if (!false) {\n if (canEvaluate) {\n var maybeCaller = getMethodCaller(methodName);\n if (maybeCaller !== null) {\n return this._then(\n maybeCaller, undefined, undefined, args, undefined);\n }\n }\n }\n args.push(methodName);\n return this._then(caller, undefined, undefined, args, undefined);\n};\n\nfunction namedGetter(obj) {\n return obj[this];\n}\nfunction indexedGetter(obj) {\n var index = +this;\n if (index < 0) index = Math.max(0, index + obj.length);\n return obj[index];\n}\nPromise.prototype.get = function (propertyName) {\n var isIndex = (typeof propertyName === \"number\");\n var getter;\n if (!isIndex) {\n if (canEvaluate) {\n var maybeGetter = getGetter(propertyName);\n getter = maybeGetter !== null ? maybeGetter : namedGetter;\n } else {\n getter = namedGetter;\n }\n } else {\n getter = indexedGetter;\n }\n return this._then(getter, undefined, undefined, propertyName, undefined);\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/call_get.js","\"use strict\";\nmodule.exports = function (Promise, apiRejection, tryConvertToPromise,\n createContext, INTERNAL, debug) {\n var util = require(\"./util\");\n var TypeError = require(\"./errors\").TypeError;\n var inherits = require(\"./util\").inherits;\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var NULL = {};\n\n function thrower(e) {\n setTimeout(function(){throw e;}, 0);\n }\n\n function castPreservingDisposable(thenable) {\n var maybePromise = tryConvertToPromise(thenable);\n if (maybePromise !== thenable &&\n typeof thenable._isDisposable === \"function\" &&\n typeof thenable._getDisposer === \"function\" &&\n thenable._isDisposable()) {\n maybePromise._setDisposable(thenable._getDisposer());\n }\n return maybePromise;\n }\n function dispose(resources, inspection) {\n var i = 0;\n var len = resources.length;\n var ret = new Promise(INTERNAL);\n function iterator() {\n if (i >= len) return ret._fulfill();\n var maybePromise = castPreservingDisposable(resources[i++]);\n if (maybePromise instanceof Promise &&\n maybePromise._isDisposable()) {\n try {\n maybePromise = tryConvertToPromise(\n maybePromise._getDisposer().tryDispose(inspection),\n resources.promise);\n } catch (e) {\n return thrower(e);\n }\n if (maybePromise instanceof Promise) {\n return maybePromise._then(iterator, thrower,\n null, null, null);\n }\n }\n iterator();\n }\n iterator();\n return ret;\n }\n\n function Disposer(data, promise, context) {\n this._data = data;\n this._promise = promise;\n this._context = context;\n }\n\n Disposer.prototype.data = function () {\n return this._data;\n };\n\n Disposer.prototype.promise = function () {\n return this._promise;\n };\n\n Disposer.prototype.resource = function () {\n if (this.promise().isFulfilled()) {\n return this.promise().value();\n }\n return NULL;\n };\n\n Disposer.prototype.tryDispose = function(inspection) {\n var resource = this.resource();\n var context = this._context;\n if (context !== undefined) context._pushContext();\n var ret = resource !== NULL\n ? this.doDispose(resource, inspection) : null;\n if (context !== undefined) context._popContext();\n this._promise._unsetDisposable();\n this._data = null;\n return ret;\n };\n\n Disposer.isDisposer = function (d) {\n return (d != null &&\n typeof d.resource === \"function\" &&\n typeof d.tryDispose === \"function\");\n };\n\n function FunctionDisposer(fn, promise, context) {\n this.constructor$(fn, promise, context);\n }\n inherits(FunctionDisposer, Disposer);\n\n FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n var fn = this.data();\n return fn.call(resource, resource, inspection);\n };\n\n function maybeUnwrapDisposer(value) {\n if (Disposer.isDisposer(value)) {\n this.resources[this.index]._setDisposable(value);\n return value.promise();\n }\n return value;\n }\n\n function ResourceList(length) {\n this.length = length;\n this.promise = null;\n this[length-1] = null;\n }\n\n ResourceList.prototype._resultCancelled = function() {\n var len = this.length;\n for (var i = 0; i < len; ++i) {\n var item = this[i];\n if (item instanceof Promise) {\n item.cancel();\n }\n }\n };\n\n Promise.using = function () {\n var len = arguments.length;\n if (len < 2) return apiRejection(\n \"you must pass at least 2 arguments to Promise.using\");\n var fn = arguments[len - 1];\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var input;\n var spreadArgs = true;\n if (len === 2 && Array.isArray(arguments[0])) {\n input = arguments[0];\n len = input.length;\n spreadArgs = false;\n } else {\n input = arguments;\n len--;\n }\n var resources = new ResourceList(len);\n for (var i = 0; i < len; ++i) {\n var resource = input[i];\n if (Disposer.isDisposer(resource)) {\n var disposer = resource;\n resource = resource.promise();\n resource._setDisposable(disposer);\n } else {\n var maybePromise = tryConvertToPromise(resource);\n if (maybePromise instanceof Promise) {\n resource =\n maybePromise._then(maybeUnwrapDisposer, null, null, {\n resources: resources,\n index: i\n }, undefined);\n }\n }\n resources[i] = resource;\n }\n\n var reflectedResources = new Array(resources.length);\n for (var i = 0; i < reflectedResources.length; ++i) {\n reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n }\n\n var resultPromise = Promise.all(reflectedResources)\n .then(function(inspections) {\n for (var i = 0; i < inspections.length; ++i) {\n var inspection = inspections[i];\n if (inspection.isRejected()) {\n errorObj.e = inspection.error();\n return errorObj;\n } else if (!inspection.isFulfilled()) {\n resultPromise.cancel();\n return;\n }\n inspections[i] = inspection.value();\n }\n promise._pushContext();\n\n fn = tryCatch(fn);\n var ret = spreadArgs\n ? fn.apply(undefined, inspections) : fn(inspections);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret, promiseCreated, \"Promise.using\", promise);\n return ret;\n });\n\n var promise = resultPromise.lastly(function() {\n var inspection = new Promise.PromiseInspection(resultPromise);\n return dispose(resources, inspection);\n });\n resources.promise = promise;\n promise._setOnCancel(resources);\n return promise;\n };\n\n Promise.prototype._setDisposable = function (disposer) {\n this._bitField = this._bitField | 131072;\n this._disposer = disposer;\n };\n\n Promise.prototype._isDisposable = function () {\n return (this._bitField & 131072) > 0;\n };\n\n Promise.prototype._getDisposer = function () {\n return this._disposer;\n };\n\n Promise.prototype._unsetDisposable = function () {\n this._bitField = this._bitField & (~131072);\n this._disposer = undefined;\n };\n\n Promise.prototype.disposer = function (fn) {\n if (typeof fn === \"function\") {\n return new FunctionDisposer(fn, this, createContext());\n }\n throw new TypeError();\n };\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/using.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL, debug) {\nvar util = require(\"./util\");\nvar TimeoutError = Promise.TimeoutError;\n\nfunction HandleWrapper(handle) {\n this.handle = handle;\n}\n\nHandleWrapper.prototype._resultCancelled = function() {\n clearTimeout(this.handle);\n};\n\nvar afterValue = function(value) { return delay(+this).thenReturn(value); };\nvar delay = Promise.delay = function (ms, value) {\n var ret;\n var handle;\n if (value !== undefined) {\n ret = Promise.resolve(value)\n ._then(afterValue, null, null, ms, undefined);\n if (debug.cancellation() && value instanceof Promise) {\n ret._setOnCancel(value);\n }\n } else {\n ret = new Promise(INTERNAL);\n handle = setTimeout(function() { ret._fulfill(); }, +ms);\n if (debug.cancellation()) {\n ret._setOnCancel(new HandleWrapper(handle));\n }\n ret._captureStackTrace();\n }\n ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.prototype.delay = function (ms) {\n return delay(ms, this);\n};\n\nvar afterTimeout = function (promise, message, parent) {\n var err;\n if (typeof message !== \"string\") {\n if (message instanceof Error) {\n err = message;\n } else {\n err = new TimeoutError(\"operation timed out\");\n }\n } else {\n err = new TimeoutError(message);\n }\n util.markAsOriginatingFromRejection(err);\n promise._attachExtraTrace(err);\n promise._reject(err);\n\n if (parent != null) {\n parent.cancel();\n }\n};\n\nfunction successClear(value) {\n clearTimeout(this.handle);\n return value;\n}\n\nfunction failureClear(reason) {\n clearTimeout(this.handle);\n throw reason;\n}\n\nPromise.prototype.timeout = function (ms, message) {\n ms = +ms;\n var ret, parent;\n\n var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n if (ret.isPending()) {\n afterTimeout(ret, message, parent);\n }\n }, ms));\n\n if (debug.cancellation()) {\n parent = this.then();\n ret = parent._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n ret._setOnCancel(handleWrapper);\n } else {\n ret = this._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n }\n\n return ret;\n};\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/timers.js","\"use strict\";\nmodule.exports = function(Promise,\n apiRejection,\n INTERNAL,\n tryConvertToPromise,\n Proxyable,\n debug) {\nvar errors = require(\"./errors\");\nvar TypeError = errors.TypeError;\nvar util = require(\"./util\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nvar yieldHandlers = [];\n\nfunction promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n for (var i = 0; i < yieldHandlers.length; ++i) {\n traceParent._pushContext();\n var result = tryCatch(yieldHandlers[i])(value);\n traceParent._popContext();\n if (result === errorObj) {\n traceParent._pushContext();\n var ret = Promise.reject(errorObj.e);\n traceParent._popContext();\n return ret;\n }\n var maybePromise = tryConvertToPromise(result, traceParent);\n if (maybePromise instanceof Promise) return maybePromise;\n }\n return null;\n}\n\nfunction PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n if (debug.cancellation()) {\n var internal = new Promise(INTERNAL);\n var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n this._promise = internal.lastly(function() {\n return _finallyPromise;\n });\n internal._captureStackTrace();\n internal._setOnCancel(this);\n } else {\n var promise = this._promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n }\n this._stack = stack;\n this._generatorFunction = generatorFunction;\n this._receiver = receiver;\n this._generator = undefined;\n this._yieldHandlers = typeof yieldHandler === \"function\"\n ? [yieldHandler].concat(yieldHandlers)\n : yieldHandlers;\n this._yieldedPromise = null;\n this._cancellationPhase = false;\n}\nutil.inherits(PromiseSpawn, Proxyable);\n\nPromiseSpawn.prototype._isResolved = function() {\n return this._promise === null;\n};\n\nPromiseSpawn.prototype._cleanup = function() {\n this._promise = this._generator = null;\n if (debug.cancellation() && this._finallyPromise !== null) {\n this._finallyPromise._fulfill();\n this._finallyPromise = null;\n }\n};\n\nPromiseSpawn.prototype._promiseCancelled = function() {\n if (this._isResolved()) return;\n var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n\n var result;\n if (!implementsReturn) {\n var reason = new Promise.CancellationError(\n \"generator .return() sentinel\");\n Promise.coroutine.returnSentinel = reason;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n result = tryCatch(this._generator[\"throw\"]).call(this._generator,\n reason);\n this._promise._popContext();\n } else {\n this._promise._pushContext();\n result = tryCatch(this._generator[\"return\"]).call(this._generator,\n undefined);\n this._promise._popContext();\n }\n this._cancellationPhase = true;\n this._yieldedPromise = null;\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseFulfilled = function(value) {\n this._yieldedPromise = null;\n this._promise._pushContext();\n var result = tryCatch(this._generator.next).call(this._generator, value);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseRejected = function(reason) {\n this._yieldedPromise = null;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n var result = tryCatch(this._generator[\"throw\"])\n .call(this._generator, reason);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._resultCancelled = function() {\n if (this._yieldedPromise instanceof Promise) {\n var promise = this._yieldedPromise;\n this._yieldedPromise = null;\n promise.cancel();\n }\n};\n\nPromiseSpawn.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseSpawn.prototype._run = function () {\n this._generator = this._generatorFunction.call(this._receiver);\n this._receiver =\n this._generatorFunction = undefined;\n this._promiseFulfilled(undefined);\n};\n\nPromiseSpawn.prototype._continue = function (result) {\n var promise = this._promise;\n if (result === errorObj) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._rejectCallback(result.e, false);\n }\n }\n\n var value = result.value;\n if (result.done === true) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._resolveCallback(value);\n }\n } else {\n var maybePromise = tryConvertToPromise(value, this._promise);\n if (!(maybePromise instanceof Promise)) {\n maybePromise =\n promiseFromYieldHandler(maybePromise,\n this._yieldHandlers,\n this._promise);\n if (maybePromise === null) {\n this._promiseRejected(\n new TypeError(\n \"A value %s was yielded that could not be treated as a promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\\u000a\".replace(\"%s\", String(value)) +\n \"From coroutine:\\u000a\" +\n this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")\n )\n );\n return;\n }\n }\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n this._yieldedPromise = maybePromise;\n maybePromise._proxy(this, null);\n } else if (((bitField & 33554432) !== 0)) {\n Promise._async.invoke(\n this._promiseFulfilled, this, maybePromise._value()\n );\n } else if (((bitField & 16777216) !== 0)) {\n Promise._async.invoke(\n this._promiseRejected, this, maybePromise._reason()\n );\n } else {\n this._promiseCancelled();\n }\n }\n};\n\nPromise.coroutine = function (generatorFunction, options) {\n if (typeof generatorFunction !== \"function\") {\n throw new TypeError(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var yieldHandler = Object(options).yieldHandler;\n var PromiseSpawn$ = PromiseSpawn;\n var stack = new Error().stack;\n return function () {\n var generator = generatorFunction.apply(this, arguments);\n var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler,\n stack);\n var ret = spawn.promise();\n spawn._generator = generator;\n spawn._promiseFulfilled(undefined);\n return ret;\n };\n};\n\nPromise.coroutine.addYieldHandler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n yieldHandlers.push(fn);\n};\n\nPromise.spawn = function (generatorFunction) {\n debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n if (typeof generatorFunction !== \"function\") {\n return apiRejection(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var spawn = new PromiseSpawn(generatorFunction, this);\n var ret = spawn.promise();\n spawn._run(Promise.spawn);\n return ret;\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/generators.js","\"use strict\";\nmodule.exports = function(Promise) {\nvar util = require(\"./util\");\nvar async = Promise._async;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction spreadAdapter(val, nodeback) {\n var promise = this;\n if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n var ret =\n tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nfunction successAdapter(val, nodeback) {\n var promise = this;\n var receiver = promise._boundValue();\n var ret = val === undefined\n ? tryCatch(nodeback).call(receiver, null)\n : tryCatch(nodeback).call(receiver, null, val);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\nfunction errorAdapter(reason, nodeback) {\n var promise = this;\n if (!reason) {\n var newReason = new Error(reason + \"\");\n newReason.cause = reason;\n reason = newReason;\n }\n var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nPromise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback,\n options) {\n if (typeof nodeback == \"function\") {\n var adapter = successAdapter;\n if (options !== undefined && Object(options).spread) {\n adapter = spreadAdapter;\n }\n this._then(\n adapter,\n errorAdapter,\n undefined,\n this,\n nodeback\n );\n }\n return this;\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/nodeify.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar THIS = {};\nvar util = require(\"./util\");\nvar nodebackForPromise = require(\"./nodeback\");\nvar withAppended = util.withAppended;\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar canEvaluate = util.canEvaluate;\nvar TypeError = require(\"./errors\").TypeError;\nvar defaultSuffix = \"Async\";\nvar defaultPromisified = {__isPromisified__: true};\nvar noCopyProps = [\n \"arity\", \"length\",\n \"name\",\n \"arguments\",\n \"caller\",\n \"callee\",\n \"prototype\",\n \"__isPromisified__\"\n];\nvar noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\nvar defaultFilter = function(name) {\n return util.isIdentifier(name) &&\n name.charAt(0) !== \"_\" &&\n name !== \"constructor\";\n};\n\nfunction propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n}\n\nfunction isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n }\n catch (e) {\n return false;\n }\n}\n\nfunction hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix,\n defaultPromisified);\n return val ? isPromisified(val) : false;\n}\nfunction checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\"\n .replace(\"%s\", suffix));\n }\n }\n }\n }\n}\n\nfunction promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter\n ? true : defaultFilter(key, value, obj);\n if (typeof value === \"function\" &&\n !isPromisified(value) &&\n !hasPromisified(obj, key, suffix) &&\n filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n}\n\nvar escapeIdentRegex = function(str) {\n return str.replace(/([$])/, \"\\\\$\");\n};\n\nvar makeNodePromisifiedEval;\nif (!false) {\nvar switchCaseArgumentOrder = function(likelyArgumentCount) {\n var ret = [likelyArgumentCount];\n var min = Math.max(0, likelyArgumentCount - 1 - 3);\n for(var i = likelyArgumentCount - 1; i >= min; --i) {\n ret.push(i);\n }\n for(var i = likelyArgumentCount + 1; i <= 3; ++i) {\n ret.push(i);\n }\n return ret;\n};\n\nvar argumentSequence = function(argumentCount) {\n return util.filledRange(argumentCount, \"_arg\", \"\");\n};\n\nvar parameterDeclaration = function(parameterCount) {\n return util.filledRange(\n Math.max(parameterCount, 3), \"_arg\", \"\");\n};\n\nvar parameterCount = function(fn) {\n if (typeof fn.length === \"number\") {\n return Math.max(Math.min(fn.length, 1023 + 1), 0);\n }\n return 0;\n};\n\nmakeNodePromisifiedEval =\nfunction(callback, receiver, originalName, fn, _, multiArgs) {\n var newParameterCount = Math.max(0, parameterCount(fn) - 1);\n var argumentOrder = switchCaseArgumentOrder(newParameterCount);\n var shouldProxyThis = typeof callback === \"string\" || receiver === THIS;\n\n function generateCallForArgumentCount(count) {\n var args = argumentSequence(count).join(\", \");\n var comma = count > 0 ? \", \" : \"\";\n var ret;\n if (shouldProxyThis) {\n ret = \"ret = callback.call(this, {{args}}, nodeback); break;\\n\";\n } else {\n ret = receiver === undefined\n ? \"ret = callback({{args}}, nodeback); break;\\n\"\n : \"ret = callback.call(receiver, {{args}}, nodeback); break;\\n\";\n }\n return ret.replace(\"{{args}}\", args).replace(\", \", comma);\n }\n\n function generateArgumentSwitchCase() {\n var ret = \"\";\n for (var i = 0; i < argumentOrder.length; ++i) {\n ret += \"case \" + argumentOrder[i] +\":\" +\n generateCallForArgumentCount(argumentOrder[i]);\n }\n\n ret += \" \\n\\\n default: \\n\\\n var args = new Array(len + 1); \\n\\\n var i = 0; \\n\\\n for (var i = 0; i < len; ++i) { \\n\\\n args[i] = arguments[i]; \\n\\\n } \\n\\\n args[i] = nodeback; \\n\\\n [CodeForCall] \\n\\\n break; \\n\\\n \".replace(\"[CodeForCall]\", (shouldProxyThis\n ? \"ret = callback.apply(this, args);\\n\"\n : \"ret = callback.apply(receiver, args);\\n\"));\n return ret;\n }\n\n var getFunctionCode = typeof callback === \"string\"\n ? (\"this != null ? this['\"+callback+\"'] : fn\")\n : \"fn\";\n var body = \"'use strict'; \\n\\\n var ret = function (Parameters) { \\n\\\n 'use strict'; \\n\\\n var len = arguments.length; \\n\\\n var promise = new Promise(INTERNAL); \\n\\\n promise._captureStackTrace(); \\n\\\n var nodeback = nodebackForPromise(promise, \" + multiArgs + \"); \\n\\\n var ret; \\n\\\n var callback = tryCatch([GetFunctionCode]); \\n\\\n switch(len) { \\n\\\n [CodeForSwitchCase] \\n\\\n } \\n\\\n if (ret === errorObj) { \\n\\\n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\\n\\\n } \\n\\\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \\n\\\n return promise; \\n\\\n }; \\n\\\n notEnumerableProp(ret, '__isPromisified__', true); \\n\\\n return ret; \\n\\\n \".replace(\"[CodeForSwitchCase]\", generateArgumentSwitchCase())\n .replace(\"[GetFunctionCode]\", getFunctionCode);\n body = body.replace(\"Parameters\", parameterDeclaration(newParameterCount));\n return new Function(\"Promise\",\n \"fn\",\n \"receiver\",\n \"withAppended\",\n \"maybeWrapAsError\",\n \"nodebackForPromise\",\n \"tryCatch\",\n \"errorObj\",\n \"notEnumerableProp\",\n \"INTERNAL\",\n body)(\n Promise,\n fn,\n receiver,\n withAppended,\n maybeWrapAsError,\n nodebackForPromise,\n util.tryCatch,\n util.errorObj,\n util.notEnumerableProp,\n INTERNAL);\n};\n}\n\nfunction makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = (function() {return this;})();\n var method = callback;\n if (typeof method === \"string\") {\n callback = fn;\n }\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n var cb = typeof method === \"string\" && this !== defaultThis\n ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch(e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n}\n\nvar makeNodePromisified = canEvaluate\n ? makeNodePromisifiedEval\n : makeNodePromisifiedClosure;\n\nfunction promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods =\n promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i+= 2) {\n var key = methods[i];\n var fn = methods[i+1];\n var promisifiedKey = key + suffix;\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] =\n makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function() {\n return makeNodePromisified(key, THIS, key,\n fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n util.toFastProperties(obj);\n return obj;\n}\n\nfunction promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined,\n callback, null, multiArgs);\n}\n\nPromise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n if (isPromisified(fn)) {\n return fn;\n }\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n};\n\nPromise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && typeof target !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n\n var keys = util.inheritedDataKeys(target);\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n if (keys[i] !== \"constructor\" &&\n util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier,\n multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n};\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/promisify.js","\"use strict\";\nmodule.exports = function(\n Promise, PromiseArray, tryConvertToPromise, apiRejection) {\nvar util = require(\"./util\");\nvar isObject = util.isObject;\nvar es5 = require(\"./es5\");\nvar Es6Map;\nif (typeof Map === \"function\") Es6Map = Map;\n\nvar mapToEntries = (function() {\n var index = 0;\n var size = 0;\n\n function extractEntry(value, key) {\n this[index] = value;\n this[index + size] = key;\n index++;\n }\n\n return function mapToEntries(map) {\n size = map.size;\n index = 0;\n var ret = new Array(map.size * 2);\n map.forEach(extractEntry, ret);\n return ret;\n };\n})();\n\nvar entriesToMap = function(entries) {\n var ret = new Es6Map();\n var length = entries.length / 2 | 0;\n for (var i = 0; i < length; ++i) {\n var key = entries[length + i];\n var value = entries[i];\n ret.set(key, value);\n }\n return ret;\n};\n\nfunction PropertiesPromiseArray(obj) {\n var isMap = false;\n var entries;\n if (Es6Map !== undefined && obj instanceof Es6Map) {\n entries = mapToEntries(obj);\n isMap = true;\n } else {\n var keys = es5.keys(obj);\n var len = keys.length;\n entries = new Array(len * 2);\n for (var i = 0; i < len; ++i) {\n var key = keys[i];\n entries[i] = obj[key];\n entries[i + len] = key;\n }\n }\n this.constructor$(entries);\n this._isMap = isMap;\n this._init$(undefined, isMap ? -6 : -3);\n}\nutil.inherits(PropertiesPromiseArray, PromiseArray);\n\nPropertiesPromiseArray.prototype._init = function () {};\n\nPropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n var val;\n if (this._isMap) {\n val = entriesToMap(this._values);\n } else {\n val = {};\n var keyOffset = this.length();\n for (var i = 0, len = this.length(); i < len; ++i) {\n val[this._values[i + keyOffset]] = this._values[i];\n }\n }\n this._resolve(val);\n return true;\n }\n return false;\n};\n\nPropertiesPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nPropertiesPromiseArray.prototype.getActualLength = function (len) {\n return len >> 1;\n};\n\nfunction props(promises) {\n var ret;\n var castValue = tryConvertToPromise(promises);\n\n if (!isObject(castValue)) {\n return apiRejection(\"cannot await properties of a non-object\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n } else if (castValue instanceof Promise) {\n ret = castValue._then(\n Promise.props, undefined, undefined, undefined, undefined);\n } else {\n ret = new PropertiesPromiseArray(castValue).promise();\n }\n\n if (castValue instanceof Promise) {\n ret._propagateFrom(castValue, 2);\n }\n return ret;\n}\n\nPromise.prototype.props = function () {\n return props(this);\n};\n\nPromise.props = function (promises) {\n return props(promises);\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/props.js","\"use strict\";\nmodule.exports = function(\n Promise, INTERNAL, tryConvertToPromise, apiRejection) {\nvar util = require(\"./util\");\n\nvar raceLater = function (promise) {\n return promise.then(function(array) {\n return race(array, promise);\n });\n};\n\nfunction race(promises, parent) {\n var maybePromise = tryConvertToPromise(promises);\n\n if (maybePromise instanceof Promise) {\n return raceLater(maybePromise);\n } else {\n promises = util.asArray(promises);\n if (promises === null)\n return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n }\n\n var ret = new Promise(INTERNAL);\n if (parent !== undefined) {\n ret._propagateFrom(parent, 3);\n }\n var fulfill = ret._fulfill;\n var reject = ret._reject;\n for (var i = 0, len = promises.length; i < len; ++i) {\n var val = promises[i];\n\n if (val === undefined && !(i in promises)) {\n continue;\n }\n\n Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n }\n return ret;\n}\n\nPromise.race = function (promises) {\n return race(promises, undefined);\n};\n\nPromise.prototype.race = function () {\n return race(this, undefined);\n};\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/race.js","\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = require(\"./util\");\nvar tryCatch = util.tryCatch;\n\nfunction ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n var domain = getDomain();\n this._fn = domain === null ? fn : util.domainBind(domain, fn);\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n initialValue._attachCancellationCallback(this);\n }\n this._initialValue = initialValue;\n this._currentCancellable = null;\n if(_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n this._promise._captureStackTrace();\n this._init$(undefined, -5);\n}\nutil.inherits(ReductionPromiseArray, PromiseArray);\n\nReductionPromiseArray.prototype._gotAccum = function(accum) {\n if (this._eachValues !== undefined && \n this._eachValues !== null && \n accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n};\n\nReductionPromiseArray.prototype._eachComplete = function(value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n return this._eachValues;\n};\n\nReductionPromiseArray.prototype._init = function() {};\n\nReductionPromiseArray.prototype._resolveEmptyArray = function() {\n this._resolve(this._eachValues !== undefined ? this._eachValues\n : this._initialValue);\n};\n\nReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nReductionPromiseArray.prototype._resolve = function(value) {\n this._promise._resolveCallback(value);\n this._values = null;\n};\n\nReductionPromiseArray.prototype._resultCancelled = function(sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n this._resultCancelled$();\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n};\n\nReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value\n ._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n value._then(completed, completed, undefined, value, this);\n};\n\nPromise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n};\n\nPromise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n};\n\nfunction completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n}\n\nfunction reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n}\n\nfunction gotAccum(accum) {\n this.accum = accum;\n this.array._gotAccum(accum);\n var value = tryConvertToPromise(this.value, this.array._promise);\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n}\n\nfunction gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n promise._pushContext();\n var ret;\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(),\n this.accum, value, this.index, this.length);\n }\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\",\n promise\n );\n return ret;\n}\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/reduce.js","\"use strict\";\nmodule.exports =\n function(Promise, PromiseArray, debug) {\nvar PromiseInspection = Promise.PromiseInspection;\nvar util = require(\"./util\");\n\nfunction SettledPromiseArray(values) {\n this.constructor$(values);\n}\nutil.inherits(SettledPromiseArray, PromiseArray);\n\nSettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n this._values[index] = inspection;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nSettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var ret = new PromiseInspection();\n ret._bitField = 33554432;\n ret._settledValueField = value;\n return this._promiseResolved(index, ret);\n};\nSettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n var ret = new PromiseInspection();\n ret._bitField = 16777216;\n ret._settledValueField = reason;\n return this._promiseResolved(index, ret);\n};\n\nPromise.settle = function (promises) {\n debug.deprecated(\".settle()\", \".reflect()\");\n return new SettledPromiseArray(promises).promise();\n};\n\nPromise.prototype.settle = function () {\n return Promise.settle(this);\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/settle.js","\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, apiRejection) {\nvar util = require(\"./util\");\nvar RangeError = require(\"./errors\").RangeError;\nvar AggregateError = require(\"./errors\").AggregateError;\nvar isArray = util.isArray;\nvar CANCELLATION = {};\n\n\nfunction SomePromiseArray(values) {\n this.constructor$(values);\n this._howMany = 0;\n this._unwrap = false;\n this._initialized = false;\n}\nutil.inherits(SomePromiseArray, PromiseArray);\n\nSomePromiseArray.prototype._init = function () {\n if (!this._initialized) {\n return;\n }\n if (this._howMany === 0) {\n this._resolve([]);\n return;\n }\n this._init$(undefined, -5);\n var isArrayResolved = isArray(this._values);\n if (!this._isResolved() &&\n isArrayResolved &&\n this._howMany > this._canPossiblyFulfill()) {\n this._reject(this._getRangeError(this.length()));\n }\n};\n\nSomePromiseArray.prototype.init = function () {\n this._initialized = true;\n this._init();\n};\n\nSomePromiseArray.prototype.setUnwrap = function () {\n this._unwrap = true;\n};\n\nSomePromiseArray.prototype.howMany = function () {\n return this._howMany;\n};\n\nSomePromiseArray.prototype.setHowMany = function (count) {\n this._howMany = count;\n};\n\nSomePromiseArray.prototype._promiseFulfilled = function (value) {\n this._addFulfilled(value);\n if (this._fulfilled() === this.howMany()) {\n this._values.length = this.howMany();\n if (this.howMany() === 1 && this._unwrap) {\n this._resolve(this._values[0]);\n } else {\n this._resolve(this._values);\n }\n return true;\n }\n return false;\n\n};\nSomePromiseArray.prototype._promiseRejected = function (reason) {\n this._addRejected(reason);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._promiseCancelled = function () {\n if (this._values instanceof Promise || this._values == null) {\n return this._cancel();\n }\n this._addRejected(CANCELLATION);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._checkOutcome = function() {\n if (this.howMany() > this._canPossiblyFulfill()) {\n var e = new AggregateError();\n for (var i = this.length(); i < this._values.length; ++i) {\n if (this._values[i] !== CANCELLATION) {\n e.push(this._values[i]);\n }\n }\n if (e.length > 0) {\n this._reject(e);\n } else {\n this._cancel();\n }\n return true;\n }\n return false;\n};\n\nSomePromiseArray.prototype._fulfilled = function () {\n return this._totalResolved;\n};\n\nSomePromiseArray.prototype._rejected = function () {\n return this._values.length - this.length();\n};\n\nSomePromiseArray.prototype._addRejected = function (reason) {\n this._values.push(reason);\n};\n\nSomePromiseArray.prototype._addFulfilled = function (value) {\n this._values[this._totalResolved++] = value;\n};\n\nSomePromiseArray.prototype._canPossiblyFulfill = function () {\n return this.length() - this._rejected();\n};\n\nSomePromiseArray.prototype._getRangeError = function (count) {\n var message = \"Input array must contain at least \" +\n this._howMany + \" items but contains only \" + count + \" items\";\n return new RangeError(message);\n};\n\nSomePromiseArray.prototype._resolveEmptyArray = function () {\n this._reject(this._getRangeError(0));\n};\n\nfunction some(promises, howMany) {\n if ((howMany | 0) !== howMany || howMany < 0) {\n return apiRejection(\"expecting a positive integer\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(howMany);\n ret.init();\n return promise;\n}\n\nPromise.some = function (promises, howMany) {\n return some(promises, howMany);\n};\n\nPromise.prototype.some = function (howMany) {\n return some(this, howMany);\n};\n\nPromise._SomePromiseArray = SomePromiseArray;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/some.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseMap = Promise.map;\n\nPromise.prototype.filter = function (fn, options) {\n return PromiseMap(this, fn, options, INTERNAL);\n};\n\nPromise.filter = function (promises, fn, options) {\n return PromiseMap(promises, fn, options, INTERNAL);\n};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/filter.js","\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseReduce = Promise.reduce;\nvar PromiseAll = Promise.all;\n\nfunction promiseAllThis() {\n return PromiseAll(this);\n}\n\nfunction PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n}\n\nPromise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, this, undefined);\n};\n\nPromise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n};\n\nPromise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, promises, undefined);\n};\n\nPromise.mapSeries = PromiseMapSeries;\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/each.js","\"use strict\";\nmodule.exports = function(Promise) {\nvar SomePromiseArray = Promise._SomePromiseArray;\nfunction any(promises) {\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(1);\n ret.setUnwrap();\n ret.init();\n return promise;\n}\n\nPromise.any = function (promises) {\n return any(promises);\n};\n\nPromise.prototype.any = function () {\n return any(this);\n};\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/bluebird/js/release/any.js","import each from 'lodash/each';\nconst defaultConfig = require('../config.json');\n\nclass Config {\n constructor(c) {\n each(c, (value, key) => {\n this[key] = value;\n });\n }\n\n get(k) {\n return this[k];\n }\n\n set(k, v) {\n this[k] = v;\n }\n}\n\nmodule.exports = new Config(defaultConfig);\nif(typeof module.exports.Config !== 'undefined') {\n throw new Error(\"default config.json file may not contain a property 'Config'\");\n}\nmodule.exports.Config = Config;\n\n\n\n// WEBPACK FOOTER //\n// ./src/config.js","module.exports = require('./forEach');\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/each.js","var arrayEach = require('./_arrayEach'),\n baseEach = require('./_baseEach'),\n castFunction = require('./_castFunction'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nmodule.exports = forEach;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/forEach.js","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_arrayEach.js","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseEach.js","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseForOwn.js","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseFor.js","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_createBaseFor.js","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/keys.js","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_arrayLikeKeys.js","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseTimes.js","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isArguments.js","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseIsArguments.js","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseGetTag.js","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_Symbol.js","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_root.js","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_freeGlobal.js","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_getRawTag.js","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_objectToString.js","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isObjectLike.js","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isArray.js","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isBuffer.js","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tmodule.children = [];\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// (webpack)/buildin/module.js","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/stubFalse.js","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_isIndex.js","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isTypedArray.js","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseIsTypedArray.js","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isLength.js","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseUnary.js","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_nodeUtil.js","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseKeys.js","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_isPrototype.js","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_nativeKeys.js","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_overArg.js","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isArrayLike.js","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isFunction.js","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isObject.js","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_createBaseEach.js","var identity = require('./identity');\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nmodule.exports = castFunction;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_castFunction.js","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/identity.js","module.exports = {\"transport\":\"http\",\"websocket\":\"wss://api.hive.blog:8090\",\"uri\":\"https://api.hive.blog\",\"url\":\"https://api.hive.blog\",\"dev_uri\":\"\",\"stage_uri\":\"\",\"address_prefix\":\"STM\",\"chain_id\":\"beeab0de00000000000000000000000000000000000000000000000000000000\",\"alternative_api_endpoints\":[\"https://api.hive.blog\",\"https://anyx.io\"],\"failover_threshold\":3}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./config.json\n// module id = 82\n// module chunks = 0 1","export default [\n {\n \"api\": \"database_api\",\n \"method\": \"set_subscribe_callback\",\n \"params\": [\"callback\", \"clearFilter\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"set_pending_transaction_callback\",\n \"params\": [\"cb\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"set_block_applied_callback\",\n \"params\": [\"cb\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"cancel_all_subscriptions\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_trending_tags\",\n \"params\": [\"afterTag\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_tags_used_by_author\",\n \"params\": [\"author\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_post_discussions_by_payout\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_comment_discussions_by_payout\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_trending\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_trending30\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_created\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_active\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_cashout\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_payout\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_votes\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_children\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_hot\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_feed\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_blog\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_comments\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_promoted\",\n \"params\": [\"query\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_block_header\",\n \"params\": [\"blockNum\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_block\",\n \"params\": [\"blockNum\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_ops_in_block\",\n \"params\": [\"blockNum\", \"onlyVirtual\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_state\",\n \"params\": [\"path\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_trending_categories\",\n \"params\": [\"after\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_best_categories\",\n \"params\": [\"after\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_active_categories\",\n \"params\": [\"after\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_recent_categories\",\n \"params\": [\"after\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_config\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_dynamic_global_properties\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_chain_properties\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_feed_history\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_current_median_history_price\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_witness_schedule\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_hardfork_version\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_next_scheduled_hardfork\"\n },\n {\n \"api\": \"account_by_key_api\",\n \"method\": \"get_key_references\",\n \"params\": [\"key\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_accounts\",\n \"params\": [\"names\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_account_references\",\n \"params\": [\"accountId\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"lookup_account_names\",\n \"params\": [\"accountNames\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"lookup_accounts\",\n \"params\": [\"lowerBoundName\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_account_count\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_conversion_requests\",\n \"params\": [\"accountName\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_account_history\",\n \"params\": [\"account\", \"from\", \"limit\", \"operation_filter_low\", \"operation_filter_high\"],\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_owner_history\",\n \"params\": [\"account\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_recovery_request\",\n \"params\": [\"account\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_escrow\",\n \"params\": [\"from\", \"escrowId\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_withdraw_routes\",\n \"params\": [\"account\", \"withdrawRouteType\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_account_bandwidth\",\n \"params\": [\"account\", \"bandwidthType\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_savings_withdraw_from\",\n \"params\": [\"account\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_savings_withdraw_to\",\n \"params\": [\"account\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_order_book\",\n \"params\": [\"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_open_orders\",\n \"params\": [\"owner\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_liquidity_queue\",\n \"params\": [\"startAccount\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_transaction_hex\",\n \"params\": [\"trx\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_transaction\",\n \"params\": [\"trxId\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_required_signatures\",\n \"params\": [\"trx\", \"availableKeys\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_potential_signatures\",\n \"params\": [\"trx\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"verify_authority\",\n \"params\": [\"trx\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"verify_account_authority\",\n \"params\": [\"nameOrId\", \"signers\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_active_votes\",\n \"params\": [\"author\", \"permlink\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_account_votes\",\n \"params\": [\"voter\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_content\",\n \"params\": [\"author\", \"permlink\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_content_replies\",\n \"params\": [\"author\", \"permlink\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_discussions_by_author_before_date\",\n \"params\": [\"author\", \"startPermlink\", \"beforeDate\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_replies_by_last_update\",\n \"params\": [\"startAuthor\", \"startPermlink\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_witnesses\",\n \"params\": [\"witnessIds\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_witness_by_account\",\n \"params\": [\"accountName\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_witnesses_by_vote\",\n \"params\": [\"from\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"lookup_witness_accounts\",\n \"params\": [\"lowerBoundName\", \"limit\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_witness_count\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_active_witnesses\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_miner_queue\"\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_reward_fund\",\n \"params\": [\"name\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_vesting_delegations\",\n \"params\": [\"account\", \"from\", \"limit\"]\n },\n {\n \"api\": \"login_api\",\n \"method\": \"login\",\n \"params\": [\"username\", \"password\"]\n },\n {\n \"api\": \"login_api\",\n \"method\": \"get_api_by_name\",\n \"params\": [\"database_api\"]\n },\n {\n \"api\": \"login_api\",\n \"method\": \"get_version\"\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_followers\",\n \"params\": [\"following\", \"startFollower\", \"followType\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_following\",\n \"params\": [\"follower\", \"startFollowing\", \"followType\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_follow_count\",\n \"params\": [\"account\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_feed_entries\",\n \"params\": [\"account\", \"entryId\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_feed\",\n \"params\": [\"account\", \"entryId\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_blog_entries\",\n \"params\": [\"account\", \"entryId\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_blog\",\n \"params\": [\"account\", \"entryId\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_account_reputations\",\n \"params\": [\"lowerBoundName\", \"limit\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_reblogged_by\",\n \"params\": [\"author\", \"permlink\"]\n },\n {\n \"api\": \"follow_api\",\n \"method\": \"get_blog_authors\",\n \"params\": [\"blogAccount\"]\n },\n {\n \"api\": \"network_broadcast_api\",\n \"method\": \"broadcast_transaction\",\n \"params\": [\"trx\"]\n },\n {\n \"api\": \"network_broadcast_api\",\n \"method\": \"broadcast_transaction_with_callback\",\n \"params\": [\"confirmationCallback\", \"trx\"]\n },\n {\n \"api\": \"network_broadcast_api\",\n \"method\": \"broadcast_transaction_synchronous\",\n \"params\": [\"trx\"]\n },\n {\n \"api\": \"network_broadcast_api\",\n \"method\": \"broadcast_block\",\n \"params\": [\"b\"]\n },\n {\n \"api\": \"network_broadcast_api\",\n \"method\": \"set_max_block_age\",\n \"params\": [\"maxBlockAge\"]\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_ticker\",\n \"params\": []\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_volume\",\n \"params\": []\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_order_book\",\n \"method_name\": \"getMarketOrderBook\",\n \"params\": [\"limit\"]\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_trade_history\",\n \"params\": [\"start\", \"end\", \"limit\"]\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_recent_trades\",\n \"params\": [\"limit\"]\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_market_history\",\n \"params\": [\"bucket_seconds\", \"start\", \"end\"]\n },\n {\n \"api\": \"market_history_api\",\n \"method\": \"get_market_history_buckets\",\n \"params\": []\n },\n {\n \"api\": \"database_api\",\n \"method\": \"find_proposals\",\n \"params\": [\"id_set\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"list_proposals\",\n \"params\": [\"start\", \"limit\", \"order_by\", \"order_direction\", \"status\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"list_proposal_votes\",\n \"params\": [\"start\", \"limit\", \"order_by\", \"order_direction\", \"status\"]\n },\n {\n \"api\": \"database_api\",\n \"method\": \"get_nai_pool\",\n \"params\": []\n }\n];\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/methods.js","import HttpTransport from './http';\nimport WsTransport from './ws';\n\nexport default {\n http: HttpTransport,\n ws: WsTransport,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/transports/index.js","import fetch from 'cross-fetch';\nimport newDebug from 'debug';\nimport retry from 'retry';\nimport Transport from './base';\n\nconst debug = newDebug('steem:http');\n\nexport class RPCError extends Error {\n constructor(rpcError) {\n super(rpcError.message);\n this.name = 'RPCError';\n this.code = rpcError.code;\n this.data = rpcError.data;\n }\n}\n\n/**\n * Makes a JSON-RPC request using `fetch` or a user-provided `fetchMethod`.\n *\n * @param {string} uri - The URI to the JSON-RPC endpoint.\n * @param {string} options.method - The remote JSON-RPC method to call.\n * @param {string} options.id - ID for the request, for matching to a response.\n * @param {*} options.params - The params for the remote method.\n * @param {function} [options.fetchMethod=fetch] - A function with the same\n * signature as `fetch`, which can be used to make the network request, or for\n * stubbing in tests.\n */\nexport function jsonRpc(uri, {method, id, params, fetchMethod=fetch}) {\n const payload = {id, jsonrpc: '2.0', method, params};\n return fetchMethod(uri, {\n body: JSON.stringify(payload),\n method: 'post',\n mode: 'cors',\n headers: {\n Accept: 'application/json, text/plain, */*',\n 'Content-Type': 'application/json',\n },\n }).then(res => {\n if (!res.ok) {\n throw new Error(`HTTP ${ res.status }: ${ res.statusText }`);\n }\n return res.json();\n }).then(rpcRes => {\n if (rpcRes.id !== id) {\n throw new Error(`Invalid response id: ${ rpcRes.id }`);\n }\n if (rpcRes.error) {\n throw new RPCError(rpcRes.error);\n }\n return rpcRes.result\n });\n}\n\nexport default class HttpTransport extends Transport {\n send(api, data, callback) {\n if (this.options.useAppbaseApi) {\n api = 'condenser_api';\n }\n debug('Steem::send', api, data);\n const id = data.id || this.id++;\n let params = [api, data.method, data.params];\n //SPECIAL CODE - can be removed after all API node operators upgrade to get the updated get_account_history api call\n // if (this.options.uri !== 'https://api.hive.blog' && data.method === 'get_account_history' && data.params.length >= 4)\n // {\n // //We are experimenting with a new version of get_account_history that can now take up to 5 params\n // //but this is only deployed on api.hive.blog nodes, so if this particular request is going to a different\n // //backend, just strip the extra parameters off the call to avoid breaking it. Once all API nodes have upgraded\n // //this code can be removed.\n // while (data.params.length > 3)\n // data.params.pop();\n // params = [api, data.method, data.params];\n // }\n //END SPECIAL CODE\n const retriable = this.retriable(api, data);\n const fetchMethod = this.options.fetchMethod;\n if (retriable) {\n retriable.attempt((currentAttempt) => {\n jsonRpc(this.options.uri, { method: 'call', id, params, fetchMethod }).then(\n res => { callback(null, res); },\n err => {\n if (retriable.retry(err)) {\n return;\n }\n callback(retriable.mainError());\n }\n );\n });\n } else {\n jsonRpc(this.options.uri, { method: 'call', id, params, fetchMethod }).then(\n res => { callback(null, res); },\n err => { callback(err); }\n );\n }\n }\n\n get nonRetriableOperations() {\n return this.options.nonRetriableOperations || [\n 'broadcast_transaction',\n 'broadcast_transaction_with_callback',\n 'broadcast_transaction_synchronous',\n 'broadcast_block',\n 'get_account_history'\n ];\n }\n\n // An object which can be used to track retries.\n retriable(api, data) {\n if (this.nonRetriableOperations.some((o) => o === data.method)) {\n // Do not retry if the operation is non-retriable.\n return null;\n } else if (Object(this.options.retry) === this.options.retry) {\n // If `this.options.retry` is a map of options, pass those to operation.\n return retry.operation(this.options.retry);\n } else if (this.options.retry) {\n // If `this.options.retry` is `true`, use default options.\n return retry.operation();\n } else {\n // Otherwise, don't retry.\n return null;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/transports/http.js","var self = {};\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob();\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n };\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue+','+value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) { items.push(name); });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) { items.push(value); });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) { items.push([name, value]); });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'omit';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n };\n\n function decode(body) {\n var form = new FormData();\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = 'status' in options ? options.status : 200;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n var xhr = new XMLHttpRequest();\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n };\n self.fetch.polyfill = true;\n})(typeof self !== 'undefined' ? self : this);\n\n/*\n * Rollup wraps up the whatwg-fetch code on ponyfill mode in\n * order to prevent it from adding fetch to the global object.\n */\n\n var fetch = self.fetch;\n\n fetch.fetch = fetch;\n fetch.Response = self.Response;\n fetch.Headers = self.Headers;\n fetch.Request = self.Request;\n\n // fetch now can be imported as the default object\n module.exports = fetch;\n \n\n\n\n// WEBPACK FOOTER //\n// ./~/cross-fetch/dist/browser.js","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n 'lightseagreen',\n 'forestgreen',\n 'goldenrod',\n 'dodgerblue',\n 'darkorchid',\n 'crimson'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/debug/src/browser.js","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Previous log timestamp.\n */\n\nvar prevTime;\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n return debug;\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (var i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/debug/src/debug.js","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/ms/index.js","module.exports = require('./lib/retry');\n\n\n// WEBPACK FOOTER //\n// ./~/retry/index.js","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && options.forever,\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/retry/lib/retry.js","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts;\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(this._errors.length - 1, this._errors.length);\n this._timeouts = this._cachedTimeouts.slice(0);\n timeout = this._timeouts.shift();\n } else {\n return false;\n }\n }\n\n var self = this;\n var timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/retry/lib/retry_operation.js","import Promise from 'bluebird';\nimport EventEmitter from 'events';\n\nexport default class Transport extends EventEmitter {\n constructor(options = {}) {\n super(options);\n this.options = options;\n this.id = 0;\n }\n\n setOptions(options) {\n Object.assign(this.options, options);\n this.stop();\n }\n\n listenTo(target, eventName, callback) {\n if (target.addEventListener) target.addEventListener(eventName, callback);\n else target.on(eventName, callback);\n\n return () => {\n if (target.removeEventListener)\n target.removeEventListener(eventName, callback);\n else target.removeListener(eventName, callback);\n };\n }\n\n send() {}\n start() {}\n stop() {}\n}\n\nPromise.promisifyAll(Transport.prototype);\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/transports/base.js","import Promise from 'bluebird';\nimport isNode from 'detect-node';\nimport newDebug from 'debug';\n\nimport Transport from './base';\n\nlet WebSocket;\nif (isNode) {\n WebSocket = require('ws'); // eslint-disable-line global-require\n} else if (typeof window !== 'undefined') {\n WebSocket = window.WebSocket;\n} else {\n throw new Error(\"Couldn't decide on a `WebSocket` class\");\n}\n\nconst debug = newDebug('steem:ws');\n\nexport default class WsTransport extends Transport {\n constructor(options = {}) {\n super(Object.assign({id: 0}, options));\n\n this._requests = new Map();\n this.inFlight = 0;\n this.isOpen = false;\n }\n\n start() {\n\n if (this.startPromise) {\n return this.startPromise;\n }\n\n this.startPromise = new Promise((resolve, reject) => {\n this.ws = new WebSocket(this.options.websocket);\n this.ws.onerror = (err) => {\n this.startPromise = null;\n reject(err);\n };\n this.ws.onopen = () => {\n this.isOpen = true;\n this.ws.onerror = this.onError.bind(this);\n this.ws.onmessage = this.onMessage.bind(this);\n this.ws.onclose = this.onClose.bind(this);\n resolve();\n };\n });\n return this.startPromise;\n }\n\n stop() {\n debug('Stopping...');\n\n this.startPromise = null;\n this.isOpen = false;\n this._requests.clear();\n\n if (this.ws) {\n this.ws.onerror = this.ws.onmessage = this.ws.onclose = null;\n this.ws.close();\n this.ws = null;\n }\n }\n\n send(api, data, callback) {\n debug('Steem::send', api, data);\n return this.start().then(() => {\n const deferral = {};\n new Promise((resolve, reject) => {\n deferral.resolve = (val) => {\n resolve(val);\n callback(null, val);\n };\n deferral.reject = (val) => {\n reject(val);\n callback(val);\n }\n });\n\n if (this.options.useAppbaseApi) {\n api = 'condenser_api';\n }\n\n const _request = {\n deferral,\n startedAt: Date.now(),\n message: {\n id: data.id || this.id++,\n method: 'call',\n jsonrpc: '2.0',\n params: [api, data.method, data.params]\n }\n };\n this.inFlight++;\n this._requests.set(_request.message.id, _request);\n this.ws.send(JSON.stringify(_request.message));\n return deferral;\n });\n }\n\n onError(error) {\n for (let _request of this._requests) {\n _request.deferral.reject(error);\n }\n this.stop();\n }\n\n onClose() {\n const error = new Error('Connection was closed');\n for (let _request of this._requests) {\n _request.deferral.reject(error);\n }\n this._requests.clear();\n }\n\n onMessage(websocketMessage) {\n const message = JSON.parse(websocketMessage.data);\n debug('-- Steem.onMessage -->', message.id);\n if (!this._requests.has(message.id)) {\n throw new Error(`Panic: no request in queue for message id ${message.id}`);\n }\n const _request = this._requests.get(message.id);\n this._requests.delete(message.id);\n\n const errorCause = message.error;\n if (errorCause) {\n const err = new Error(\n // eslint-disable-next-line prefer-template\n (errorCause.message || 'Failed to complete operation') +\n ' (see err.payload for the full error payload)'\n );\n err.payload = message;\n _request.deferral.reject(err);\n } else {\n this.emit('track-performance', _request.message.method, Date.now() - _request.startedAt);\n _request.deferral.resolve(message.result);\n }\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/api/transports/ws.js","module.exports = false;\n\n// Only Node.JS has a process variable that is of [[Class]] process\ntry {\n module.exports = Object.prototype.toString.call(global.process) === '[object process]' \n} catch(e) {}\n\n\n\n// WEBPACK FOOTER //\n// ./~/detect-node/index.js","import types from \"./auth/serializer/src/types\"\nimport Serializer from \"./auth/serializer/src/serializer\"\nimport config from './config'\nimport { jsonRpc } from './api/transports/http'\n\nconst ByteBuffer = require('bytebuffer')\n\nconst {\n uint16,\n uint32,\n string,\n public_key,\n asset\n} = types\n\nconst snakeCaseRe = /_([a-z])/g;\nexport function camelCase(str) {\n return str.replace(snakeCaseRe, function(_m, l) {\n return l.toUpperCase();\n });\n}\n\nexport function validateAccountName(value) {\n let i, label, len, suffix;\n\n suffix = \"Account name should \";\n if (!value) {\n return suffix + \"not be empty.\";\n }\n const length = value.length;\n if (length < 3) {\n return suffix + \"be longer.\";\n }\n if (length > 16) {\n return suffix + \"be shorter.\";\n }\n if (/\\./.test(value)) {\n suffix = \"Each account segment should \";\n }\n const ref = value.split(\".\");\n for (i = 0, len = ref.length; i < len; i++) {\n label = ref[i];\n if (!/^[a-z]/.test(label)) {\n return suffix + \"start with a letter.\";\n }\n if (!/^[a-z0-9-]*$/.test(label)) {\n return suffix + \"have only letters, digits, or dashes.\";\n }\n if (/--/.test(label)) {\n return suffix + \"have only one dash in a row.\";\n }\n if (!/[a-z0-9]$/.test(label)) {\n return suffix + \"end with a letter or digit.\";\n }\n if (!(label.length >= 3)) {\n return suffix + \"be longer\";\n }\n }\n return null;\n}\n\n// Hack to be able to generate a valid witness_set_properties op\n// Can hopefully be removed when hived's JSON representation is fixed\nconst price = new Serializer(\n \"price\", {\n base: asset,\n quote: asset\n }\n);\n\nfunction serialize(serializer, data) {\n const buffer = new ByteBuffer(\n ByteBuffer.DEFAULT_CAPACITY,\n ByteBuffer.LITTLE_ENDIAN\n );\n serializer.appendByteBuffer(buffer, data);\n buffer.flip();\n return buffer.toString('hex');\n}\nexport function buildWitnessUpdateOp(\n owner,\n props\n) {\n const data = {\n extensions: [],\n owner,\n props: []\n };\n for (const key of Object.keys(props)) {\n let type;\n switch (key) {\n case \"key\":\n case \"new_signing_key\":\n type = public_key;\n break;\n case \"account_subsidy_budget\":\n case \"account_subsidy_decay\":\n case \"maximum_block_size\":\n type = uint32;\n break;\n case \"hbd_interest_rate\":\n type = uint16;\n break;\n case \"url\":\n type = string;\n break;\n case \"hbd_exchange_rate\":\n type = price;\n break;\n case \"account_creation_fee\":\n type = asset;\n break;\n default:\n throw new Error(`Unknown witness prop: ${key}`);\n }\n data.props.push([key, serialize(type, props[key])]);\n }\n data.props.sort((a, b) => a[0].localeCompare(b[0]));\n return [\"witness_set_properties\", data];\n}\n\nexport function autoDetectApiVersion() {\n console.log('Warning: call to autoDetectApiVersion() is deprecated and can safely be removed')\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils.js","\n\n// Low-level types that make up operations\n\nconst v = require('./validation');\nconst ObjectId = require('./object_id')\nconst fp = require('./fast_parser');\nconst chain_types = require('./ChainTypes')\n//const BigInt = require('BigInt')\n\nimport { PublicKey, Address, ecc_config } from \"../../ecc\"\nimport { fromImpliedDecimal } from \"./number_utils\"\nimport config from \"../../../config.js\"\n\nconst Types = {}\nmodule.exports = Types\n\nconst HEX_DUMP = process.env.npm_config__graphene_serializer_hex_dump\n\n// Highly optimized implementation of Damm algorithm\n// https://en.wikipedia.org/wiki/Damm_algorithm\nfunction damm_checksum_8digit( value ) {\n if( value >= 100000000 )\n throw new Error(\"Expected value less than 100000000, instead got \" + value )\n\n const t = [\n 0, 30, 10, 70, 50, 90, 80, 60, 40, 20,\n 70, 0, 90, 20, 10, 50, 40, 80, 60, 30,\n 40, 20, 0, 60, 80, 70, 10, 30, 50, 90,\n 10, 70, 50, 0, 90, 80, 30, 40, 20, 60,\n 60, 10, 20, 30, 0, 40, 50, 90, 70, 80,\n 30, 60, 70, 40, 20, 0, 90, 50, 80, 10,\n 50, 80, 60, 90, 70, 20, 0, 10, 30, 40,\n 80, 90, 40, 50, 30, 60, 20, 0, 10, 70,\n 90, 40, 30, 80, 60, 10, 70, 20, 0, 50,\n 20, 50, 80, 10, 40, 30, 60, 70, 90, 0\n ];\n\n let q0 = value/10\n let d0 = value%10\n let q1 = q0/10\n let d1 = q0%10\n let q2 = q1/10\n let d2 = q1%10\n let q3 = q2/10\n let d3 = q2%10\n let q4 = q3/10\n let d4 = q3%10\n let q5 = q4/10\n let d5 = q4%10\n let d6 = q5%10\n let d7 = q5/10\n\n let x = t[d7]\n x = t[x+d6]\n x = t[x+d5]\n x = t[x+d4]\n x = t[x+d3]\n x = t[x+d2]\n x = t[x+d1]\n x = t[x+d0]\n\n return x/10\n}\n\n/**\n* Asset symbols contain the following information\n*\n* 4 bit PRECISION\n* 4 bit RESERVED\n* CHAR[6] up to 6 upper case alpha numeric ascii characters,\n* char = \\0 null terminated\n*\n* It is treated as a uint64_t for all internal operations, but\n* is easily converted to something that can be displayed.\n*\n* Legacy serialization of assets\n* 0000pppp aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff 00000000\n* Symbol = abcdef\n*\n* NAI serialization of assets\n* aaa1pppp bbbbbbbb cccccccc dddddddd\n* NAI = (MSB to LSB) dddddddd cccccccc bbbbbbbb aaa\n*\n* NAI internal storage of legacy assets\n*/\nTypes.asset = {\n fromByteBuffer(b){\n let amount = b.readInt64()\n let precision = b.readUint8()\n let amount_string = \"\"\n let symbol = \"\"\n\n if(precision >= 16)\n {\n // NAI Case\n let b_copy = b.copy(b.offset - 1, b.offset + 3)\n let nai = new Buffer(b_copy.toBinary(), \"binary\").readInt32()\n nai = nai / 32\n symbol = \"@@\" + nai.toString().padStart(8, '0') + damm_checksum_8digit(nai).to_String()\n precision = precision % 16\n b.skip(3)\n amount_string = fromImpliedDecimal(amount,precision)\n }\n else\n {\n // Legacy Case\n let b_copy = b.copy(b.offset, b.offset + 7)\n symbol = new Buffer(b_copy.toBinary(), \"binary\").toString().replace(/\\x00/g, \"\")\n b.skip(7)\n // \"1.000 HIVE\" always written with full precision\n amount_string = fromImpliedDecimal(amount, precision)\n }\n\n return amount_string + \" \" + symbol\n },\n appendByteBuffer(b, object){\n let amount = \"\"\n let symbol = \"\"\n let nai = 0\n let precision = 0\n\n if(object[\"nai\"])\n {\n symbol = object[\"nai\"]\n nai = parseInt(symbol.slice(2))\n let checksum = nai % 10\n nai = Math.floor(nai / 10);\n let expected_checksum = damm_checksum_8digit(nai)\n\n switch(object[\"nai\"])\n {\n case \"@@000000021\":\n precision = 3\n symbol = config.get( \"address_prefix\" ) == \"STM\" ? \"STEEM\" : \"TESTS\"\n break\n case \"@@000000013\":\n precision = 3\n symbol = config.get( \"address_prefix\" ) == \"STM\" ? \"SBD\" : \"TBD\"\n break\n case \"@@000000037\":\n precision = 6\n symbol = \"VESTS\"\n break\n }\n\n precision = parseInt(object[\"precision\"])\n b.writeInt64(v.to_long(parseInt(object[\"amount\"])))\n }\n else\n {\n object = object.trim()\n if( ! /^[0-9]+\\.?[0-9]* [A-Za-z0-9@]+$/.test(object))\n throw new Error(\"Expecting amount like '99.000 SYMBOL', instead got '\" + object + \"'\")\n\n let res = object.split(\" \")\n amount = res[0]\n symbol = res[1]\n\n // Hive workaround for now\n symbol = symbol == \"HIVE\" ? \"STEEM\" : symbol == \"HBD\" ? \"SBD\" : symbol\n\n if(symbol.startsWith(\"@@\"))\n {\n // NAI Case\n nai = parseInt(symbol.slice(2))\n let checksum = nai % 10\n nai = Math.floor(nai / 10);\n let expected_checksum = damm_checksum_8digit(nai)\n }\n else if(symbol.length > 6)\n throw new Error(\"Symbols are not longer than 6 characters \" + symbol + \"-\"+ symbol.length)\n\n b.writeInt64(v.to_long(amount.replace(\".\", \"\")))\n let dot = amount.indexOf(\".\") // 0.000\n precision = dot === -1 ? 0 : amount.length - dot - 1\n }\n\n\n if(symbol.startsWith(\"@@\"))\n {\n nai = (nai << 5) + 16 + precision\n b.writeUint32(nai)\n }\n else\n {\n b.writeUint8(precision)\n b.append(symbol.toUpperCase(), 'binary')\n for(let i = 0; i < 7 - symbol.length; i++)\n b.writeUint8(0)\n }\n\n return\n },\n fromObject(object){\n return object\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"0.000 HIVE\"; }\n return object\n }\n}\n\nTypes.asset_symbol = {\n fromByteBuffer(b){\n let precision = b.readUint8()\n let amount_string = \"\"\n let nai_string = \"\"\n\n if(precision >= 16)\n {\n // NAI Case\n let b_copy = b.copy(b.offset - 1, b.offset + 3)\n let nai = new Buffer(b_copy.toBinary(), \"binary\").readInt32()\n nai = nai / 32\n nai_string = \"@@\" + nai.toString().padStart(8, '0') + damm_checksum_8digit(nai).to_String()\n precision = precision % 16\n b.skip(3)\n }\n else\n {\n // Legacy Case\n let b_copy = b.copy(b.offset, b.offset + 7)\n let symbol = new Buffer(b_copy.toBinary(), \"binary\").toString().replace(/\\x00/g, \"\")\n if(symbol == \"STEEM\" || symbol == \"TESTS\")\n nai_string = \"@@000000021\"\n else if(symbol == \"SBD\" || symbol == \"TBD\")\n nai_string = \"@@000000013\"\n else if(symbol == \"VESTS\")\n nai_string = \"@@000000037\"\n else\n throw new Error(\"Expecting non-smt core asset symbol, instead got '\" + symbol + \"'\")\n b.skip(7)\n }\n\n return {\"nai\" : nai_string, \"precision\" : precision}\n },\n appendByteBuffer(b, object){\n\n let nai = 0\n if(!object[\"nai\"].startsWith(\"@@\"))\n throw new Error(\"Asset Symbols NAIs must be prefixed with '@@'. Was \" + object[\"nai\"])\n\n nai = parseInt(object[\"nai\"].slice(2))\n let checksum = nai % 10\n nai = Math.floor(nai / 10);\n let expected_checksum = damm_checksum_8digit(nai)\n\n let precision = 0;\n let symbol = \"\";\n switch(object[\"nai\"])\n {\n case \"@@000000021\":\n precision = 3\n symbol = config.get( \"address_prefix\" ) == \"STM\" ? \"STEEM\" : \"TESTS\"\n break\n case \"@@000000013\":\n precision = 3\n symbol = config.get( \"address_prefix\" ) == \"STM\" ? \"SBD\" : \"TBD\"\n break\n case \"@@000000037\":\n precision = 6\n symbol = \"VESTS\"\n break\n }\n\n if( precision > 0 )\n {\n //Core Symbol Case\n b.writeUint8(precision)\n b.append(symbol, 'binary')\n for(let i = 0; i < 7 - symbol.length; i++)\n b.writeUint8(0)\n }\n else\n {\n nai = (nai << 5) + 16 + object[\"precision\"]\n b.writeUint32(nai)\n }\n\n return\n },\n fromObject(object){\n return object\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"STEEM\"; }\n return object\n }\n}\n\nTypes.uint8 = {\n\n fromByteBuffer(b){\n return b.readUint8();\n },\n appendByteBuffer(b, object){\n v.require_range(0,0xFF,object, `uint8 ${object}`);\n b.writeUint8(object);\n return;\n },\n fromObject(object){\n v.require_range(0,0xFF,object, `uint8 ${object}`);\n return object;\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return 0; }\n v.require_range(0,0xFF,object, `uint8 ${object}`);\n return parseInt(object);\n }\n };\n\nTypes.uint16 =\n {fromByteBuffer(b){\n return b.readUint16();\n },\n appendByteBuffer(b, object){\n v.require_range(0,0xFFFF,object, `uint16 ${object}`);\n b.writeUint16(object);\n return;\n },\n fromObject(object){\n v.require_range(0,0xFFFF,object, `uint16 ${object}`);\n return object;\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return 0; }\n v.require_range(0,0xFFFF,object, `uint16 ${object}`);\n return parseInt(object);\n }\n };\n\nTypes.uint32 =\n {fromByteBuffer(b){\n return b.readUint32();\n },\n appendByteBuffer(b, object){\n v.require_range(0,0xFFFFFFFF,object, `uint32 ${object}`);\n b.writeUint32(object);\n return;\n },\n fromObject(object){\n v.require_range(0,0xFFFFFFFF,object, `uint32 ${object}`);\n return object;\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return 0; }\n v.require_range(0,0xFFFFFFFF,object, `uint32 ${object}`);\n return parseInt(object);\n }\n };\n\nvar MIN_SIGNED_32 = -1 * Math.pow(2,31);\nvar MAX_SIGNED_32 = Math.pow(2,31) - 1;\n\nTypes.varint32 =\n {fromByteBuffer(b){\n return b.readVarint32();\n },\n appendByteBuffer(b, object){\n v.require_range(\n MIN_SIGNED_32,\n MAX_SIGNED_32,\n object,\n `uint32 ${object}`\n );\n b.writeVarint32(object);\n return;\n },\n fromObject(object){\n v.require_range(\n MIN_SIGNED_32,\n MAX_SIGNED_32,\n object,\n `uint32 ${object}`\n );\n return object;\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return 0; }\n v.require_range(\n MIN_SIGNED_32,\n MAX_SIGNED_32,\n object,\n `uint32 ${object}`\n );\n return parseInt(object);\n }\n };\n\nTypes.int16 =\n {fromByteBuffer(b){\n return b.readInt16();\n },\n appendByteBuffer(b, object){\n b.writeInt16(object);\n return;\n },\n fromObject(object){\n return object;\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return 0; }\n return parseInt(object);\n }\n };\n\nTypes.int64 =\n {fromByteBuffer(b){\n return b.readInt64();\n },\n appendByteBuffer(b, object){\n v.required(object);\n b.writeInt64(v.to_long(object));\n return;\n },\n fromObject(object){\n v.required(object);\n return v.to_long(object);\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"0\"; }\n v.required(object);\n return v.to_long(object).toString();\n }\n };\n\nTypes.uint64 =\n {fromByteBuffer(b){\n return b.readUint64();\n },\n appendByteBuffer(b, object){\n b.writeUint64(v.to_long(v.unsigned(object)));\n return;\n },\n fromObject(object){\n return v.to_long(v.unsigned(object));\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"0\"; }\n return v.to_long(object).toString();\n }\n };\n\nTypes.uint128 =\n {fromByteBuffer(b){\n b.readBigInt64();\n return b.readBigInt64();\n },\n appendByteBuffer(b, object){\n b.writeUint64(v.to_long(v.unsigned(0)));\n b.writeUint64(v.to_long(v.unsigned(object)));\n return;\n },\n fromObject(object){\n return v.to_long(v.unsigned(object));\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"0\"; }\n return v.to_long(object).toString();\n }\n };\n\nTypes.string =\n {fromByteBuffer(b){\n return new Buffer(b.readVString(), 'utf8');\n },\n appendByteBuffer(b, object){\n v.required(object);\n b.writeVString(object.toString())\n return;\n },\n fromObject(object){\n v.required(object);\n return new Buffer(object, 'utf8');\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"\"; }\n return object.toString('utf8');\n }\n };\n\nTypes.string_binary =\n {fromByteBuffer(b){\n var b_copy;\n var len = b.readVarint32();\n b_copy = b.copy(b.offset, b.offset + len), b.skip(len);\n return new Buffer(b_copy.toBinary(), 'binary');\n\n },\n appendByteBuffer(b, object){\n b.writeVarint32(object.length);\n b.append(object.toString('binary'), 'binary');\n return;\n },\n fromObject(object){\n v.required(object);\n return new Buffer(object);\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return \"\"; }\n return object.toString();\n }\n };\n\nTypes.bytes = function(size){\n return {fromByteBuffer(b){\n if (size === undefined) {\n var b_copy;\n var len = b.readVarint32();\n b_copy = b.copy(b.offset, b.offset + len), b.skip(len);\n return new Buffer(b_copy.toBinary(), 'binary');\n } else {\n b_copy = b.copy(b.offset, b.offset + size), b.skip(size);\n return new Buffer(b_copy.toBinary(), 'binary');\n }\n },\n appendByteBuffer(b, object){\n v.required(object);\n if(typeof object === \"string\")\n object = new Buffer(object, \"hex\")\n\n if (size === undefined) {\n b.writeVarint32(object.length);\n }\n b.append(object.toString('binary'), 'binary');\n return;\n },\n fromObject(object){\n v.required(object);\n if( Buffer.isBuffer(object) )\n return object\n\n return new Buffer(object, 'hex');\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n var zeros=function(num){ return new Array( num ).join( \"00\" ); };\n return zeros(size);\n }\n v.required(object);\n return object.toString('hex');\n }\n };\n};\n\nTypes.bool =\n {fromByteBuffer(b){\n return b.readUint8() === 1\n },\n appendByteBuffer(b, object){\n // supports boolean or integer\n b.writeUint8(JSON.parse(object) ? 1 : 0);\n return;\n },\n fromObject(object){\n return JSON.parse(object) ? true : false\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) { return false; }\n return JSON.parse(object) ? true : false\n }\n};\n\nTypes.void =\n {fromByteBuffer(b){\n throw new Error(\"(void) undefined type\");\n },\n appendByteBuffer(b, object){\n throw new Error(\"(void) undefined type\");\n },\n fromObject(object){\n throw new Error(\"(void) undefined type\");\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return undefined;\n }\n throw new Error(\"(void) undefined type\");\n }\n };\n\nTypes.array = function(st_operation){\n return {fromByteBuffer(b){\n var size = b.readVarint32();\n if (HEX_DUMP) {\n console.log(\"varint32 size = \" + size.toString(16));\n }\n var result = [];\n for (var i = 0; 0 < size ? i < size : i > size; 0 < size ? i++ : i++) {\n result.push(st_operation.fromByteBuffer(b));\n }\n return sortOperation(result, st_operation);\n },\n appendByteBuffer(b, object){\n v.required(object)\n object = sortOperation(object, st_operation)\n b.writeVarint32(object.length);\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n st_operation.appendByteBuffer(b, o);\n }\n },\n fromObject(object){\n v.required(object)\n object = sortOperation(object, st_operation)\n var result = [];\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n result.push(st_operation.fromObject(o));\n }\n return result;\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return [ st_operation.toObject(object, debug) ];\n }\n v.required(object)\n object = sortOperation(object, st_operation)\n\n var result = [];\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n result.push(st_operation.toObject(o, debug));\n }\n return result;\n }\n };\n};\n\nTypes.time_point_sec = {\n fromByteBuffer(b){ return b.readUint32(); },\n appendByteBuffer(b, object){\n if(typeof object !== \"number\")\n object = Types.time_point_sec.fromObject(object)\n\n b.writeUint32(object);\n return;\n },\n fromObject(object){\n v.required(object)\n\n if(typeof object === \"number\")\n return object\n\n if(object.getTime)\n return Math.floor( object.getTime() / 1000 );\n\n if(typeof object !== \"string\")\n throw new Error(\"Unknown date type: \" + object)\n\n if(typeof object === \"string\" && !/Z$/.test(object))\n object = object + \"Z\"\n\n return Math.floor( new Date(object).getTime() / 1000 );\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined)\n return (new Date(0)).toISOString().split('.')[0];\n\n v.required(object)\n\n if(typeof object === \"string\")\n return object\n\n if(object.getTime)\n return object.toISOString().split('.')[0]\n\n var int = parseInt(object);\n v.require_range(0,0xFFFFFFFF,int, `uint32 ${object}`);\n return (new Date( int * 1000 )).toISOString().split('.')[0];\n }\n}\n\nTypes.set = function(st_operation){\n return {validate(array){\n var dup_map = {};\n for (var i = 0, o; i < array.length; i++) {\n o = array[i];\n var ref;\n if (ref = typeof o, ['string', 'number'].indexOf(ref) >= 0) {\n if (dup_map[o] !== undefined) {\n throw new Error(\"duplicate (set)\");\n }\n dup_map[o] = true;\n }\n }\n return sortOperation(array, st_operation);\n },\n fromByteBuffer(b){\n var size = b.readVarint32();\n if (HEX_DUMP) {\n console.log(\"varint32 size = \" + size.toString(16));\n }\n return this.validate(((() => {\n var result = [];\n for (var i = 0; 0 < size ? i < size : i > size; 0 < size ? i++ : i++) {\n result.push(st_operation.fromByteBuffer(b));\n }\n return result;\n })()));\n },\n appendByteBuffer(b, object){\n if (!object) { object = []; }\n b.writeVarint32(object.length);\n var iterable = this.validate(object);\n for (var i = 0, o; i < iterable.length; i++) {\n o = iterable[i];\n st_operation.appendByteBuffer(b, o);\n }\n return;\n },\n fromObject(object){\n if (!object) { object = []; }\n return this.validate(((() => {\n var result = [];\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n result.push(st_operation.fromObject(o));\n }\n return result;\n })()));\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return [ st_operation.toObject(object, debug) ];\n }\n if (!object) { object = []; }\n return this.validate(((() => {\n var result = [];\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n result.push(st_operation.toObject(o, debug));\n }\n return result;\n })()));\n }\n };\n};\n\n// global_parameters_update_operation current_fees\nTypes.fixed_array = function(count, st_operation) {\n return {\n fromByteBuffer: function(b) {\n var i, j, ref, results;\n results = [];\n for (i = j = 0, ref = count; j < ref; i = j += 1) {\n results.push(st_operation.fromByteBuffer(b));\n }\n return sortOperation(results, st_operation);\n },\n appendByteBuffer: function(b, object) {\n var i, j, ref;\n if (count !== 0) {\n v.required(object);\n object = sortOperation(object, st_operation)\n }\n for (i = j = 0, ref = count; j < ref; i = j += 1) {\n st_operation.appendByteBuffer(b, object[i]);\n }\n },\n fromObject: function(object) {\n var i, j, ref, results;\n if (count !== 0) {\n v.required(object);\n }\n results = [];\n for (i = j = 0, ref = count; j < ref; i = j += 1) {\n results.push(st_operation.fromObject(object[i]));\n }\n return results;\n },\n toObject: function(object, debug) {\n var i, j, k, ref, ref1, results, results1;\n if (debug == null) {\n debug = {};\n }\n if (debug.use_default && object === void 0) {\n results = [];\n for (i = j = 0, ref = count; j < ref; i = j += 1) {\n results.push(st_operation.toObject(void 0, debug));\n }\n return results;\n }\n if (count !== 0) {\n v.required(object);\n }\n results1 = [];\n for (i = k = 0, ref1 = count; k < ref1; i = k += 1) {\n results1.push(st_operation.toObject(object[i], debug));\n }\n return results1;\n }\n };\n};\n\n/* Supports instance numbers (11) or object types (1.2.11). Object type\nvalidation is enforced when an object type is used. */\nvar id_type = function(reserved_spaces, object_type){\n v.required(reserved_spaces, \"reserved_spaces\");\n v.required(object_type, \"object_type\");\n return {fromByteBuffer(b){\n return b.readVarint32();\n },\n appendByteBuffer(b, object){\n v.required(object);\n if (object.resolve !== undefined) { object = object.resolve; }\n // convert 1.2.n into just n\n if (/^[0-9]+\\.[0-9]+\\.[0-9]+$/.test(object)) {\n object = v.get_instance(reserved_spaces, object_type, object);\n }\n b.writeVarint32(v.to_number(object));\n return;\n },\n fromObject(object){\n v.required(object);\n if (object.resolve !== undefined) { object = object.resolve; }\n if (v.is_digits(object)) {\n return v.to_number(object);\n }\n return v.get_instance(reserved_spaces, object_type, object);\n },\n toObject(object, debug = {}){\n var object_type_id = chain_types.object_type[object_type];\n if (debug.use_default && object === undefined) {\n return `${reserved_spaces}.${object_type_id}.0`;\n }\n v.required(object);\n if (object.resolve !== undefined) { object = object.resolve; }\n if (/^[0-9]+\\.[0-9]+\\.[0-9]+$/.test(object)) {\n object = v.get_instance(reserved_spaces, object_type, object);\n }\n\n return `${reserved_spaces}.${object_type_id}.`+object;\n },\n };\n};\n\nTypes.protocol_id_type = function(name){\n v.required(name, \"name\")\n return id_type(chain_types.reserved_spaces.protocol_ids, name);\n};\n\nTypes.object_id_type =\n {fromByteBuffer(b){\n return ObjectId.fromByteBuffer(b);\n },\n appendByteBuffer(b, object){\n v.required(object);\n if (object.resolve !== undefined) { object = object.resolve; }\n object = ObjectId.fromString(object);\n object.appendByteBuffer(b);\n return;\n },\n fromObject(object){\n v.required(object);\n if (object.resolve !== undefined) { object = object.resolve; }\n return ObjectId.fromString(object);\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return \"0.0.0\";\n }\n v.required(object);\n if (object.resolve !== undefined) {\n object = object.resolve;\n }\n object = ObjectId.fromString(object);\n return object.toString();\n }\n };\n\nTypes.vote_id =\n {TYPE: 0x000000FF,\n ID: 0xFFFFFF00,\n fromByteBuffer(b){\n var value = b.readUint32();\n return {\n type: value & this.TYPE,\n id: value & this.ID\n };\n },\n appendByteBuffer(b, object){\n v.required(object);\n if(object === \"string\")\n object = Types.vote_id.fromObject(object)\n\n var value = object.id << 8 | object.type\n b.writeUint32(value);\n return;\n },\n fromObject(object){\n v.required(object, \"(type vote_id)\");\n if(typeof object === \"object\") {\n v.required(object.type, \"type\")\n v.required(object.id, \"id\")\n return object\n }\n v.require_test(/^[0-9]+:[0-9]+$/, object, `vote_id format ${object}`);\n var [type, id] = object.split(':');\n v.require_range(0,0xff,type,`vote type ${object}`);\n v.require_range(0,0xffffff,id,`vote id ${object}`);\n return { type, id };\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return \"0:0\";\n }\n v.required(object);\n if(typeof object === \"string\")\n object = Types.vote_id.fromObject(object)\n\n return object.type + \":\" + object.id;\n },\n compare(a, b) {\n if(typeof a !== \"object\") a = Types.vote_id.fromObject(a)\n if(typeof b !== \"object\") b = Types.vote_id.fromObject(b)\n return parseInt(a.id) - parseInt(b.id);\n }\n};\n\nTypes.optional = function(st_operation){\n v.required(st_operation, \"st_operation\");\n return {fromByteBuffer(b){\n if (!(b.readUint8() === 1)) {\n return undefined;\n }\n return st_operation.fromByteBuffer(b);\n },\n appendByteBuffer(b, object){\n if (object !== null && object !== undefined) {\n b.writeUint8(1);\n st_operation.appendByteBuffer(b, object);\n } else {\n b.writeUint8(0);\n }\n return;\n },\n fromObject(object){\n if (object === undefined) { return undefined; }\n return st_operation.fromObject(object);\n },\n toObject(object, debug = {}){\n // toObject is only null save if use_default is true\n var result_object = (() => {\n if (!debug.use_default && object === undefined) {\n return undefined;\n } else {\n return st_operation.toObject(object, debug);\n }\n })();\n\n if (debug.annotate) {\n if (typeof result_object === \"object\") {\n result_object.__optional = \"parent is optional\";\n } else {\n result_object = {__optional: result_object};\n }\n }\n return result_object;\n }\n };\n};\n\nTypes.static_variant = function(_st_operations){\n return {\n nosort: true,\n st_operations: _st_operations,\n opTypeId(value) {\n let pos = 0, type_id\n if(typeof value === \"number\")\n type_id = value\n else {\n for(let op of this.st_operations) {\n if(op.operation_name === value) {\n type_id = pos\n break\n }\n pos++\n }\n }\n return type_id\n },\n fromByteBuffer(b){\n var type_id = b.readVarint32();\n var st_operation = this.st_operations[type_id];\n if (HEX_DUMP) {\n console.error(`static_variant id 0x${type_id.toString(16)} (${type_id})`);\n }\n v.required(st_operation, `operation ${type_id}`);\n return [\n type_id,\n st_operation.fromByteBuffer(b)\n ];\n },\n appendByteBuffer(b, object){\n v.required(object);\n var type_id = this.opTypeId(object[0]);\n var st_operation = this.st_operations[type_id];\n v.required(st_operation, `operation ${type_id}`);\n b.writeVarint32(type_id);\n st_operation.appendByteBuffer(b, object[1]);\n return;\n },\n fromObject(object){\n v.required(object);\n let type_id = this.opTypeId(object[0]);\n var st_operation = this.st_operations[type_id];\n v.required(st_operation, `operation ${type_id}`);\n return [\n type_id,\n st_operation.fromObject(object[1])\n ];\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return [this.st_operations[0].operation_name, this.st_operations[0].toObject(undefined, debug)];\n }\n v.required(object);\n let type_id = this.opTypeId(object[0]);\n var st_operation = this.st_operations[type_id];\n v.required(st_operation, `operation ${type_id}`);\n return [\n st_operation.operation_name,\n st_operation.toObject(object[1], debug)\n ];\n },\n compare(a, b) {\n return strCmp(this.opTypeId(a[0]), this.opTypeId(b[0]))\n }\n };\n};\n\nTypes.map = function(key_st_operation, value_st_operation){\n return {validate(array){\n if (!Array.isArray(array)) {\n throw new Error(\"expecting array\");\n }\n var dup_map = {};\n for (var i = 0, o; i < array.length; i++) {\n o = array[i];\n var ref;\n if (!(o.length === 2)) {\n throw new Error(\"expecting two elements\");\n }\n if (ref = typeof o[0], ['number', 'string'].indexOf(ref) >= 0) {\n if (dup_map[o[0]] !== undefined) {\n throw new Error(\"duplicate (map)\");\n }\n dup_map[o[0]] = true;\n }\n }\n return sortOperation(array, key_st_operation);\n },\n\n fromByteBuffer(b){\n var result = [];\n var end = b.readVarint32();\n for (var i = 0; 0 < end ? i < end : i > end; 0 < end ? i++ : i++) {\n result.push([\n key_st_operation.fromByteBuffer(b),\n value_st_operation.fromByteBuffer(b)\n ]);\n }\n return this.validate(result);\n },\n\n appendByteBuffer(b, object){\n this.validate(object);\n b.writeVarint32(object.length);\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n key_st_operation.appendByteBuffer(b, o[0]);\n value_st_operation.appendByteBuffer(b, o[1]);\n }\n return;\n },\n fromObject(object){\n v.required(object);\n var result = [];\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n result.push([\n key_st_operation.fromObject(o[0]),\n value_st_operation.fromObject(o[1])\n ]);\n }\n return this.validate(result)\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return [\n [\n key_st_operation.toObject(undefined, debug),\n value_st_operation.toObject(undefined, debug)\n ]\n ];\n }\n v.required(object);\n object = this.validate(object);\n var result = []\n for (var i = 0, o; i < object.length; i++) {\n o = object[i];\n result.push([\n key_st_operation.toObject(o[0], debug),\n value_st_operation.toObject(o[1], debug)\n ]);\n }\n return result\n }\n };\n};\n\nTypes.public_key = {\n toPublic(object){\n if (object.resolve !== undefined) { object = object.resolve; }\n return object == null ? object :\n object.Q ? object : PublicKey.fromStringOrThrow(object)\n },\n fromByteBuffer(b){\n return fp.public_key(b);\n },\n appendByteBuffer(b, object){\n v.required(object);\n fp.public_key(b, Types.public_key.toPublic(object));\n return;\n },\n fromObject(object){\n v.required(object);\n if (object.Q) { return object; }\n return Types.public_key.toPublic(object);\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return ecc_config.get('address_prefix') + \"859gxfnXyUriMgUeThh1fWv3oqcpLFyHa3TfFYC4PK2HqhToVM\";\n }\n v.required(object);\n return object.toString()\n },\n compare(a, b) {\n // sort ascending\n return 1 * strCmp(a.toString(), b.toString())\n }\n};\n\nTypes.address =\n {_to_address(object){\n v.required(object);\n if (object.addy) { return object; }\n return Address.fromString(object);\n },\n fromByteBuffer(b){\n return new Address(fp.ripemd160(b));\n },\n appendByteBuffer(b, object){\n fp.ripemd160(b, Types.address._to_address(object).toBuffer());\n return;\n },\n fromObject(object){\n return Types.address._to_address(object);\n },\n toObject(object, debug = {}){\n if (debug.use_default && object === undefined) {\n return ecc_config.get('address_prefix') + \"664KmHxSuQyDsfwo4WEJvWpzg1QKdg67S\";\n }\n return Types.address._to_address(object).toString();\n },\n compare(a, b) {\n // sort decending\n return -1 * strCmp(a.toString(), b.toString())\n }\n}\n\nlet strCmp = (a, b) => a > b ? 1 : a < b ? -1 : 0\nlet firstEl = el => Array.isArray(el) ? el[0] : el\nlet sortOperation = (array, st_operation) => {\n // console.log('operation.nosort', st_operation.nosort)\n return st_operation.nosort ? array :\n st_operation.compare ?\n array.sort((a,b)=> st_operation.compare(firstEl(a), firstEl(b))) : // custom compare operation\n array.sort((a,b)=>\n typeof firstEl(a) === \"number\" && typeof firstEl(b) === \"number\" ? firstEl(a) - firstEl(b) :\n // A binary string compare does not work. Performanance is very good so HEX is used.. localeCompare is another option.\n Buffer.isBuffer(firstEl(a)) && Buffer.isBuffer(firstEl(b)) ? strCmp(firstEl(a).toString(\"hex\"), firstEl(b).toString(\"hex\")) :\n strCmp(firstEl(a).toString(), firstEl(b).toString())\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/types.js","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/node-libs-browser/~/buffer/index.js","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/base64-js/index.js","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/ieee754/index.js","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/isarray/index.js","\nmodule.exports = {\n Address: require(\"./src/address\"),\n Aes: require(\"./src/aes\"),\n PrivateKey: require(\"./src/key_private\"),\n PublicKey: require(\"./src/key_public\"),\n Signature: require(\"./src/signature\"),\n brainKey: require(\"./src/brain_key\"),\n key_utils: require(\"./src/key_utils\"),\n hash: require(\"./src/hash\"),\n ecc_config: require(\"../../config\")\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/index.js","const assert = require('assert');\nconst config = require('../../../config');\nconst hash = require('./hash');\nconst base58 = require('bs58');\n\n/** Addresses are shortened non-reversable hashes of a public key. The full PublicKey is preferred.\n @deprecated\n*/\nclass Address {\n\n constructor(addy) { this.addy = addy; }\n\n static fromBuffer(buffer) {\n const _hash = hash.sha512(buffer);\n const addy = hash.ripemd160(_hash);\n return new Address(addy);\n }\n\n static fromString(string, address_prefix = config.get('address_prefix')) {\n const prefix = string.slice(0, address_prefix.length);\n assert.equal(address_prefix, prefix, `Expecting key to begin with ${address_prefix}, instead got ${prefix}`);\n let addy = string.slice(address_prefix.length);\n addy = new Buffer(base58.decode(addy), 'binary');\n const checksum = addy.slice(-4);\n addy = addy.slice(0, -4);\n let new_checksum = hash.ripemd160(addy);\n new_checksum = new_checksum.slice(0, 4);\n assert.deepEqual(checksum, new_checksum, 'Checksum did not match');\n return new Address(addy);\n }\n\n /** @return Address - Compressed PTS format (by default) */\n static fromPublic(public_key, compressed = true, version = 56) {\n const sha2 = hash.sha256(public_key.toBuffer(compressed));\n const rep = hash.ripemd160(sha2);\n const versionBuffer = new Buffer(1);\n versionBuffer.writeUInt8((0xFF & version), 0);\n const addr = Buffer.concat([versionBuffer, rep]);\n let check = hash.sha256(addr);\n check = hash.sha256(check);\n const buffer = Buffer.concat([addr, check.slice(0, 4)]);\n return new Address(hash.ripemd160(buffer));\n }\n\n toBuffer() {\n return this.addy;\n }\n\n toString(address_prefix = config.get('address_prefix')) {\n const checksum = hash.ripemd160(this.addy);\n const addy = Buffer.concat([this.addy, checksum.slice(0, 4)]);\n return address_prefix + base58.encode(addy);\n }\n}\n\nmodule.exports = Address;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/address.js","'use strict';\n\n// compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n if (y < x) {\n return 1;\n }\n return 0;\n}\nfunction isBuffer(b) {\n if (global.Buffer && typeof global.Buffer.isBuffer === 'function') {\n return global.Buffer.isBuffer(b);\n }\n return !!(b != null && b._isBuffer);\n}\n\n// based on node assert, original notice:\n\n// http://wiki.commonjs.org/wiki/Unit_Testing/1.0\n//\n// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!\n//\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar util = require('util/');\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar pSlice = Array.prototype.slice;\nvar functionsHaveNames = (function () {\n return function foo() {}.name === 'foo';\n}());\nfunction pToString (obj) {\n return Object.prototype.toString.call(obj);\n}\nfunction isView(arrbuf) {\n if (isBuffer(arrbuf)) {\n return false;\n }\n if (typeof global.ArrayBuffer !== 'function') {\n return false;\n }\n if (typeof ArrayBuffer.isView === 'function') {\n return ArrayBuffer.isView(arrbuf);\n }\n if (!arrbuf) {\n return false;\n }\n if (arrbuf instanceof DataView) {\n return true;\n }\n if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) {\n return true;\n }\n return false;\n}\n// 1. The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\n\n// 2. The AssertionError is defined in assert.\n// new assert.AssertionError({ message: message,\n// actual: actual,\n// expected: expected })\n\nvar regex = /\\s*function\\s+([^\\(\\s]*)\\s*/;\n// based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js\nfunction getName(func) {\n if (!util.isFunction(func)) {\n return;\n }\n if (functionsHaveNames) {\n return func.name;\n }\n var str = func.toString();\n var match = str.match(regex);\n return match && match[1];\n}\nassert.AssertionError = function AssertionError(options) {\n this.name = 'AssertionError';\n this.actual = options.actual;\n this.expected = options.expected;\n this.operator = options.operator;\n if (options.message) {\n this.message = options.message;\n this.generatedMessage = false;\n } else {\n this.message = getMessage(this);\n this.generatedMessage = true;\n }\n var stackStartFunction = options.stackStartFunction || fail;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, stackStartFunction);\n } else {\n // non v8 browsers so we can have a stacktrace\n var err = new Error();\n if (err.stack) {\n var out = err.stack;\n\n // try to strip useless frames\n var fn_name = getName(stackStartFunction);\n var idx = out.indexOf('\\n' + fn_name);\n if (idx >= 0) {\n // once we have located the function frame\n // we need to strip out everything before it (and its line)\n var next_line = out.indexOf('\\n', idx + 1);\n out = out.substring(next_line + 1);\n }\n\n this.stack = out;\n }\n }\n};\n\n// assert.AssertionError instanceof Error\nutil.inherits(assert.AssertionError, Error);\n\nfunction truncate(s, n) {\n if (typeof s === 'string') {\n return s.length < n ? s : s.slice(0, n);\n } else {\n return s;\n }\n}\nfunction inspect(something) {\n if (functionsHaveNames || !util.isFunction(something)) {\n return util.inspect(something);\n }\n var rawname = getName(something);\n var name = rawname ? ': ' + rawname : '';\n return '[Function' + name + ']';\n}\nfunction getMessage(self) {\n return truncate(inspect(self.actual), 128) + ' ' +\n self.operator + ' ' +\n truncate(inspect(self.expected), 128);\n}\n\n// At present only the three keys mentioned above are used and\n// understood by the spec. Implementations or sub modules can pass\n// other keys to the AssertionError's constructor - they will be\n// ignored.\n\n// 3. All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction fail(actual, expected, message, operator, stackStartFunction) {\n throw new assert.AssertionError({\n message: message,\n actual: actual,\n expected: expected,\n operator: operator,\n stackStartFunction: stackStartFunction\n });\n}\n\n// EXTENSION! allows for well behaved errors defined elsewhere.\nassert.fail = fail;\n\n// 4. Pure assertion tests whether a value is truthy, as determined\n// by !!guard.\n// assert.ok(guard, message_opt);\n// This statement is equivalent to assert.equal(true, !!guard,\n// message_opt);. To test strictly for the value true, use\n// assert.strictEqual(true, guard, message_opt);.\n\nfunction ok(value, message) {\n if (!value) fail(value, true, message, '==', assert.ok);\n}\nassert.ok = ok;\n\n// 5. The equality assertion tests shallow, coercive equality with\n// ==.\n// assert.equal(actual, expected, message_opt);\n\nassert.equal = function equal(actual, expected, message) {\n if (actual != expected) fail(actual, expected, message, '==', assert.equal);\n};\n\n// 6. The non-equality assertion tests for whether two objects are not equal\n// with != assert.notEqual(actual, expected, message_opt);\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (actual == expected) {\n fail(actual, expected, message, '!=', assert.notEqual);\n }\n};\n\n// 7. The equivalence assertion tests a deep equality relation.\n// assert.deepEqual(actual, expected, message_opt);\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'deepEqual', assert.deepEqual);\n }\n};\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (!_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual);\n }\n};\n\nfunction _deepEqual(actual, expected, strict, memos) {\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (isBuffer(actual) && isBuffer(expected)) {\n return compare(actual, expected) === 0;\n\n // 7.2. If the expected value is a Date object, the actual value is\n // equivalent if it is also a Date object that refers to the same time.\n } else if (util.isDate(actual) && util.isDate(expected)) {\n return actual.getTime() === expected.getTime();\n\n // 7.3 If the expected value is a RegExp object, the actual value is\n // equivalent if it is also a RegExp object with the same source and\n // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).\n } else if (util.isRegExp(actual) && util.isRegExp(expected)) {\n return actual.source === expected.source &&\n actual.global === expected.global &&\n actual.multiline === expected.multiline &&\n actual.lastIndex === expected.lastIndex &&\n actual.ignoreCase === expected.ignoreCase;\n\n // 7.4. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if ((actual === null || typeof actual !== 'object') &&\n (expected === null || typeof expected !== 'object')) {\n return strict ? actual === expected : actual == expected;\n\n // If both values are instances of typed arrays, wrap their underlying\n // ArrayBuffers in a Buffer each to increase performance\n // This optimization requires the arrays to have the same type as checked by\n // Object.prototype.toString (aka pToString). Never perform binary\n // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their\n // bit patterns are not identical.\n } else if (isView(actual) && isView(expected) &&\n pToString(actual) === pToString(expected) &&\n !(actual instanceof Float32Array ||\n actual instanceof Float64Array)) {\n return compare(new Uint8Array(actual.buffer),\n new Uint8Array(expected.buffer)) === 0;\n\n // 7.5 For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else if (isBuffer(actual) !== isBuffer(expected)) {\n return false;\n } else {\n memos = memos || {actual: [], expected: []};\n\n var actualIndex = memos.actual.indexOf(actual);\n if (actualIndex !== -1) {\n if (actualIndex === memos.expected.indexOf(expected)) {\n return true;\n }\n }\n\n memos.actual.push(actual);\n memos.expected.push(expected);\n\n return objEquiv(actual, expected, strict, memos);\n }\n}\n\nfunction isArguments(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n}\n\nfunction objEquiv(a, b, strict, actualVisitedObjects) {\n if (a === null || a === undefined || b === null || b === undefined)\n return false;\n // if one is a primitive, the other must be same\n if (util.isPrimitive(a) || util.isPrimitive(b))\n return a === b;\n if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b))\n return false;\n var aIsArgs = isArguments(a);\n var bIsArgs = isArguments(b);\n if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))\n return false;\n if (aIsArgs) {\n a = pSlice.call(a);\n b = pSlice.call(b);\n return _deepEqual(a, b, strict);\n }\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n var key, i;\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length !== kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects))\n return false;\n }\n return true;\n}\n\n// 8. The non-equivalence assertion tests for any deep inequality.\n// assert.notDeepEqual(actual, expected, message_opt);\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, false)) {\n fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\nfunction notDeepStrictEqual(actual, expected, message) {\n if (_deepEqual(actual, expected, true)) {\n fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual);\n }\n}\n\n\n// 9. The strict equality assertion tests strict equality, as determined by ===.\n// assert.strictEqual(actual, expected, message_opt);\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (actual !== expected) {\n fail(actual, expected, message, '===', assert.strictEqual);\n }\n};\n\n// 10. The strict non-equality assertion tests for strict inequality, as\n// determined by !==. assert.notStrictEqual(actual, expected, message_opt);\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (actual === expected) {\n fail(actual, expected, message, '!==', assert.notStrictEqual);\n }\n};\n\nfunction expectedException(actual, expected) {\n if (!actual || !expected) {\n return false;\n }\n\n if (Object.prototype.toString.call(expected) == '[object RegExp]') {\n return expected.test(actual);\n }\n\n try {\n if (actual instanceof expected) {\n return true;\n }\n } catch (e) {\n // Ignore. The instanceof check doesn't work for arrow functions.\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction _tryBlock(block) {\n var error;\n try {\n block();\n } catch (e) {\n error = e;\n }\n return error;\n}\n\nfunction _throws(shouldThrow, block, expected, message) {\n var actual;\n\n if (typeof block !== 'function') {\n throw new TypeError('\"block\" argument must be a function');\n }\n\n if (typeof expected === 'string') {\n message = expected;\n expected = null;\n }\n\n actual = _tryBlock(block);\n\n message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +\n (message ? ' ' + message : '.');\n\n if (shouldThrow && !actual) {\n fail(actual, expected, 'Missing expected exception' + message);\n }\n\n var userProvidedMessage = typeof message === 'string';\n var isUnwantedException = !shouldThrow && util.isError(actual);\n var isUnexpectedException = !shouldThrow && actual && !expected;\n\n if ((isUnwantedException &&\n userProvidedMessage &&\n expectedException(actual, expected)) ||\n isUnexpectedException) {\n fail(actual, expected, 'Got unwanted exception' + message);\n }\n\n if ((shouldThrow && actual && expected &&\n !expectedException(actual, expected)) || (!shouldThrow && actual)) {\n throw actual;\n }\n}\n\n// 11. Expected to throw an error:\n// assert.throws(block, Error_opt, message_opt);\n\nassert.throws = function(block, /*optional*/error, /*optional*/message) {\n _throws(true, block, error, message);\n};\n\n// EXTENSION! This is annoying to write outside this module.\nassert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {\n _throws(false, block, error, message);\n};\n\nassert.ifError = function(err) { if (err) throw err; };\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n if (hasOwn.call(obj, key)) keys.push(key);\n }\n return keys;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/assert/assert.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n // Allow for deprecating things in the process of starting up.\n if (isUndefined(global.process)) {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n if (process.noDeprecation === true) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/util/util.js","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}\n\n\n// WEBPACK FOOTER //\n// ./~/util/support/isBufferBrowser.js","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/util/~/inherits/inherits_browser.js","import createHash from 'create-hash';\nimport createHmac from 'create-hmac';\n\n/** @arg {string|Buffer} data\n @arg {string} [digest = null] - 'hex', 'binary' or 'base64'\n @return {string|Buffer} - Buffer when digest is null, or string\n*/\nfunction sha1(data, encoding) {\n return createHash('sha1').update(data).digest(encoding)\n}\n\n/** @arg {string|Buffer} data\n @arg {string} [digest = null] - 'hex', 'binary' or 'base64'\n @return {string|Buffer} - Buffer when digest is null, or string\n*/\nfunction sha256(data, encoding) {\n return createHash('sha256').update(data).digest(encoding)\n}\n\n/** @arg {string|Buffer} data\n @arg {string} [digest = null] - 'hex', 'binary' or 'base64'\n @return {string|Buffer} - Buffer when digest is null, or string\n*/\nfunction sha512(data, encoding) {\n return createHash('sha512').update(data).digest(encoding)\n}\n\nfunction HmacSHA256(buffer, secret) {\n return createHmac('sha256', secret).update(buffer).digest()\n}\n\nfunction ripemd160(data) {\n return createHash('rmd160').update(data).digest()\n}\n\n// function hash160(buffer) {\n// return ripemd160(sha256(buffer))\n// }\n// \n// function hash256(buffer) {\n// return sha256(sha256(buffer))\n// }\n\n// \n// function HmacSHA512(buffer, secret) {\n// return crypto.createHmac('sha512', secret).update(buffer).digest()\n// }\n\nmodule.exports = {\n sha1: sha1,\n sha256: sha256,\n sha512: sha512,\n HmacSHA256: HmacSHA256,\n ripemd160: ripemd160\n // hash160: hash160,\n // hash256: hash256,\n // HmacSHA512: HmacSHA512\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/hash.js","'use strict'\nvar inherits = require('inherits')\nvar md5 = require('./md5')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\n\nvar Base = require('cipher-base')\n\nfunction HashNoConstructor (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n this.buffers = []\n}\n\ninherits(HashNoConstructor, Base)\n\nHashNoConstructor.prototype._update = function (data) {\n this.buffers.push(data)\n}\n\nHashNoConstructor.prototype._final = function () {\n var buf = Buffer.concat(this.buffers)\n var r = this._hash(buf)\n this.buffers = null\n\n return r\n}\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new HashNoConstructor(md5)\n if (alg === 'rmd160' || alg === 'ripemd160') return new Hash(new RIPEMD160())\n\n return new Hash(sha(alg))\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/create-hash/browser.js","'use strict'\n/*\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\nvar makeHash = require('./make-hash')\n\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length\n */\nfunction core_md5 (x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << ((len) % 32)\n x[(((len + 64) >>> 9) << 4) + 14] = len\n\n var a = 1732584193\n var b = -271733879\n var c = -1732584194\n var d = 271733878\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a\n var oldb = b\n var oldc = c\n var oldd = d\n\n a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936)\n d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586)\n c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819)\n b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330)\n a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897)\n d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426)\n c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341)\n b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983)\n a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416)\n d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417)\n c = md5_ff(c, d, a, b, x[i + 10], 17, -42063)\n b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162)\n a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682)\n d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101)\n c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290)\n b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329)\n\n a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510)\n d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632)\n c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713)\n b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302)\n a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691)\n d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083)\n c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335)\n b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848)\n a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438)\n d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690)\n c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961)\n b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501)\n a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467)\n d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784)\n c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473)\n b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734)\n\n a = md5_hh(a, b, c, d, x[i + 5], 4, -378558)\n d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463)\n c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562)\n b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556)\n a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060)\n d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353)\n c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632)\n b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640)\n a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174)\n d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222)\n c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979)\n b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189)\n a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487)\n d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835)\n c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520)\n b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651)\n\n a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844)\n d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415)\n c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905)\n b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055)\n a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571)\n d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606)\n c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523)\n b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799)\n a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359)\n d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744)\n c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380)\n b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649)\n a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070)\n d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379)\n c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259)\n b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551)\n\n a = safe_add(a, olda)\n b = safe_add(b, oldb)\n c = safe_add(c, oldc)\n d = safe_add(d, oldd)\n }\n\n return [a, b, c, d]\n}\n\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\nfunction md5_cmn (q, a, b, x, s, t) {\n return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b)\n}\n\nfunction md5_ff (a, b, c, d, x, s, t) {\n return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t)\n}\n\nfunction md5_gg (a, b, c, d, x, s, t) {\n return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t)\n}\n\nfunction md5_hh (a, b, c, d, x, s, t) {\n return md5_cmn(b ^ c ^ d, a, b, x, s, t)\n}\n\nfunction md5_ii (a, b, c, d, x, s, t) {\n return md5_cmn(c ^ (b | (~d)), a, b, x, s, t)\n}\n\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\nfunction safe_add (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF)\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16)\n return (msw << 16) | (lsw & 0xFFFF)\n}\n\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\nfunction bit_rol (num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt))\n}\n\nmodule.exports = function md5 (buf) {\n return makeHash(buf, core_md5)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/create-hash/md5.js","'use strict'\nvar intSize = 4\nvar zeroBuffer = new Buffer(intSize)\nzeroBuffer.fill(0)\n\nvar charSize = 8\nvar hashSize = 16\n\nfunction toArray (buf) {\n if ((buf.length % intSize) !== 0) {\n var len = buf.length + (intSize - (buf.length % intSize))\n buf = Buffer.concat([buf, zeroBuffer], len)\n }\n\n var arr = new Array(buf.length >>> 2)\n for (var i = 0, j = 0; i < buf.length; i += intSize, j++) {\n arr[j] = buf.readInt32LE(i)\n }\n\n return arr\n}\n\nmodule.exports = function hash (buf, fn) {\n var arr = fn(toArray(buf), buf.length * charSize)\n buf = new Buffer(hashSize)\n for (var i = 0; i < arr.length; i++) {\n buf.writeInt32LE(arr[i], i << 2, true)\n }\n return buf\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/create-hash/make-hash.js","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var m = new Array(16)\n for (var i = 0; i < 16; ++i) m[i] = this._block.readInt32LE(i * 4)\n\n var al = this._a\n var bl = this._b\n var cl = this._c\n var dl = this._d\n var el = this._e\n\n // Mj = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\n // K = 0x00000000\n // Sj = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8\n al = fn1(al, bl, cl, dl, el, m[0], 0x00000000, 11); cl = rotl(cl, 10)\n el = fn1(el, al, bl, cl, dl, m[1], 0x00000000, 14); bl = rotl(bl, 10)\n dl = fn1(dl, el, al, bl, cl, m[2], 0x00000000, 15); al = rotl(al, 10)\n cl = fn1(cl, dl, el, al, bl, m[3], 0x00000000, 12); el = rotl(el, 10)\n bl = fn1(bl, cl, dl, el, al, m[4], 0x00000000, 5); dl = rotl(dl, 10)\n al = fn1(al, bl, cl, dl, el, m[5], 0x00000000, 8); cl = rotl(cl, 10)\n el = fn1(el, al, bl, cl, dl, m[6], 0x00000000, 7); bl = rotl(bl, 10)\n dl = fn1(dl, el, al, bl, cl, m[7], 0x00000000, 9); al = rotl(al, 10)\n cl = fn1(cl, dl, el, al, bl, m[8], 0x00000000, 11); el = rotl(el, 10)\n bl = fn1(bl, cl, dl, el, al, m[9], 0x00000000, 13); dl = rotl(dl, 10)\n al = fn1(al, bl, cl, dl, el, m[10], 0x00000000, 14); cl = rotl(cl, 10)\n el = fn1(el, al, bl, cl, dl, m[11], 0x00000000, 15); bl = rotl(bl, 10)\n dl = fn1(dl, el, al, bl, cl, m[12], 0x00000000, 6); al = rotl(al, 10)\n cl = fn1(cl, dl, el, al, bl, m[13], 0x00000000, 7); el = rotl(el, 10)\n bl = fn1(bl, cl, dl, el, al, m[14], 0x00000000, 9); dl = rotl(dl, 10)\n al = fn1(al, bl, cl, dl, el, m[15], 0x00000000, 8); cl = rotl(cl, 10)\n\n // Mj = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8\n // K = 0x5a827999\n // Sj = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12\n el = fn2(el, al, bl, cl, dl, m[7], 0x5a827999, 7); bl = rotl(bl, 10)\n dl = fn2(dl, el, al, bl, cl, m[4], 0x5a827999, 6); al = rotl(al, 10)\n cl = fn2(cl, dl, el, al, bl, m[13], 0x5a827999, 8); el = rotl(el, 10)\n bl = fn2(bl, cl, dl, el, al, m[1], 0x5a827999, 13); dl = rotl(dl, 10)\n al = fn2(al, bl, cl, dl, el, m[10], 0x5a827999, 11); cl = rotl(cl, 10)\n el = fn2(el, al, bl, cl, dl, m[6], 0x5a827999, 9); bl = rotl(bl, 10)\n dl = fn2(dl, el, al, bl, cl, m[15], 0x5a827999, 7); al = rotl(al, 10)\n cl = fn2(cl, dl, el, al, bl, m[3], 0x5a827999, 15); el = rotl(el, 10)\n bl = fn2(bl, cl, dl, el, al, m[12], 0x5a827999, 7); dl = rotl(dl, 10)\n al = fn2(al, bl, cl, dl, el, m[0], 0x5a827999, 12); cl = rotl(cl, 10)\n el = fn2(el, al, bl, cl, dl, m[9], 0x5a827999, 15); bl = rotl(bl, 10)\n dl = fn2(dl, el, al, bl, cl, m[5], 0x5a827999, 9); al = rotl(al, 10)\n cl = fn2(cl, dl, el, al, bl, m[2], 0x5a827999, 11); el = rotl(el, 10)\n bl = fn2(bl, cl, dl, el, al, m[14], 0x5a827999, 7); dl = rotl(dl, 10)\n al = fn2(al, bl, cl, dl, el, m[11], 0x5a827999, 13); cl = rotl(cl, 10)\n el = fn2(el, al, bl, cl, dl, m[8], 0x5a827999, 12); bl = rotl(bl, 10)\n\n // Mj = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12\n // K = 0x6ed9eba1\n // Sj = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5\n dl = fn3(dl, el, al, bl, cl, m[3], 0x6ed9eba1, 11); al = rotl(al, 10)\n cl = fn3(cl, dl, el, al, bl, m[10], 0x6ed9eba1, 13); el = rotl(el, 10)\n bl = fn3(bl, cl, dl, el, al, m[14], 0x6ed9eba1, 6); dl = rotl(dl, 10)\n al = fn3(al, bl, cl, dl, el, m[4], 0x6ed9eba1, 7); cl = rotl(cl, 10)\n el = fn3(el, al, bl, cl, dl, m[9], 0x6ed9eba1, 14); bl = rotl(bl, 10)\n dl = fn3(dl, el, al, bl, cl, m[15], 0x6ed9eba1, 9); al = rotl(al, 10)\n cl = fn3(cl, dl, el, al, bl, m[8], 0x6ed9eba1, 13); el = rotl(el, 10)\n bl = fn3(bl, cl, dl, el, al, m[1], 0x6ed9eba1, 15); dl = rotl(dl, 10)\n al = fn3(al, bl, cl, dl, el, m[2], 0x6ed9eba1, 14); cl = rotl(cl, 10)\n el = fn3(el, al, bl, cl, dl, m[7], 0x6ed9eba1, 8); bl = rotl(bl, 10)\n dl = fn3(dl, el, al, bl, cl, m[0], 0x6ed9eba1, 13); al = rotl(al, 10)\n cl = fn3(cl, dl, el, al, bl, m[6], 0x6ed9eba1, 6); el = rotl(el, 10)\n bl = fn3(bl, cl, dl, el, al, m[13], 0x6ed9eba1, 5); dl = rotl(dl, 10)\n al = fn3(al, bl, cl, dl, el, m[11], 0x6ed9eba1, 12); cl = rotl(cl, 10)\n el = fn3(el, al, bl, cl, dl, m[5], 0x6ed9eba1, 7); bl = rotl(bl, 10)\n dl = fn3(dl, el, al, bl, cl, m[12], 0x6ed9eba1, 5); al = rotl(al, 10)\n\n // Mj = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2\n // K = 0x8f1bbcdc\n // Sj = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12\n cl = fn4(cl, dl, el, al, bl, m[1], 0x8f1bbcdc, 11); el = rotl(el, 10)\n bl = fn4(bl, cl, dl, el, al, m[9], 0x8f1bbcdc, 12); dl = rotl(dl, 10)\n al = fn4(al, bl, cl, dl, el, m[11], 0x8f1bbcdc, 14); cl = rotl(cl, 10)\n el = fn4(el, al, bl, cl, dl, m[10], 0x8f1bbcdc, 15); bl = rotl(bl, 10)\n dl = fn4(dl, el, al, bl, cl, m[0], 0x8f1bbcdc, 14); al = rotl(al, 10)\n cl = fn4(cl, dl, el, al, bl, m[8], 0x8f1bbcdc, 15); el = rotl(el, 10)\n bl = fn4(bl, cl, dl, el, al, m[12], 0x8f1bbcdc, 9); dl = rotl(dl, 10)\n al = fn4(al, bl, cl, dl, el, m[4], 0x8f1bbcdc, 8); cl = rotl(cl, 10)\n el = fn4(el, al, bl, cl, dl, m[13], 0x8f1bbcdc, 9); bl = rotl(bl, 10)\n dl = fn4(dl, el, al, bl, cl, m[3], 0x8f1bbcdc, 14); al = rotl(al, 10)\n cl = fn4(cl, dl, el, al, bl, m[7], 0x8f1bbcdc, 5); el = rotl(el, 10)\n bl = fn4(bl, cl, dl, el, al, m[15], 0x8f1bbcdc, 6); dl = rotl(dl, 10)\n al = fn4(al, bl, cl, dl, el, m[14], 0x8f1bbcdc, 8); cl = rotl(cl, 10)\n el = fn4(el, al, bl, cl, dl, m[5], 0x8f1bbcdc, 6); bl = rotl(bl, 10)\n dl = fn4(dl, el, al, bl, cl, m[6], 0x8f1bbcdc, 5); al = rotl(al, 10)\n cl = fn4(cl, dl, el, al, bl, m[2], 0x8f1bbcdc, 12); el = rotl(el, 10)\n\n // Mj = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n // K = 0xa953fd4e\n // Sj = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n bl = fn5(bl, cl, dl, el, al, m[4], 0xa953fd4e, 9); dl = rotl(dl, 10)\n al = fn5(al, bl, cl, dl, el, m[0], 0xa953fd4e, 15); cl = rotl(cl, 10)\n el = fn5(el, al, bl, cl, dl, m[5], 0xa953fd4e, 5); bl = rotl(bl, 10)\n dl = fn5(dl, el, al, bl, cl, m[9], 0xa953fd4e, 11); al = rotl(al, 10)\n cl = fn5(cl, dl, el, al, bl, m[7], 0xa953fd4e, 6); el = rotl(el, 10)\n bl = fn5(bl, cl, dl, el, al, m[12], 0xa953fd4e, 8); dl = rotl(dl, 10)\n al = fn5(al, bl, cl, dl, el, m[2], 0xa953fd4e, 13); cl = rotl(cl, 10)\n el = fn5(el, al, bl, cl, dl, m[10], 0xa953fd4e, 12); bl = rotl(bl, 10)\n dl = fn5(dl, el, al, bl, cl, m[14], 0xa953fd4e, 5); al = rotl(al, 10)\n cl = fn5(cl, dl, el, al, bl, m[1], 0xa953fd4e, 12); el = rotl(el, 10)\n bl = fn5(bl, cl, dl, el, al, m[3], 0xa953fd4e, 13); dl = rotl(dl, 10)\n al = fn5(al, bl, cl, dl, el, m[8], 0xa953fd4e, 14); cl = rotl(cl, 10)\n el = fn5(el, al, bl, cl, dl, m[11], 0xa953fd4e, 11); bl = rotl(bl, 10)\n dl = fn5(dl, el, al, bl, cl, m[6], 0xa953fd4e, 8); al = rotl(al, 10)\n cl = fn5(cl, dl, el, al, bl, m[15], 0xa953fd4e, 5); el = rotl(el, 10)\n bl = fn5(bl, cl, dl, el, al, m[13], 0xa953fd4e, 6); dl = rotl(dl, 10)\n\n var ar = this._a\n var br = this._b\n var cr = this._c\n var dr = this._d\n var er = this._e\n\n // M'j = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12\n // K' = 0x50a28be6\n // S'j = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6\n ar = fn5(ar, br, cr, dr, er, m[5], 0x50a28be6, 8); cr = rotl(cr, 10)\n er = fn5(er, ar, br, cr, dr, m[14], 0x50a28be6, 9); br = rotl(br, 10)\n dr = fn5(dr, er, ar, br, cr, m[7], 0x50a28be6, 9); ar = rotl(ar, 10)\n cr = fn5(cr, dr, er, ar, br, m[0], 0x50a28be6, 11); er = rotl(er, 10)\n br = fn5(br, cr, dr, er, ar, m[9], 0x50a28be6, 13); dr = rotl(dr, 10)\n ar = fn5(ar, br, cr, dr, er, m[2], 0x50a28be6, 15); cr = rotl(cr, 10)\n er = fn5(er, ar, br, cr, dr, m[11], 0x50a28be6, 15); br = rotl(br, 10)\n dr = fn5(dr, er, ar, br, cr, m[4], 0x50a28be6, 5); ar = rotl(ar, 10)\n cr = fn5(cr, dr, er, ar, br, m[13], 0x50a28be6, 7); er = rotl(er, 10)\n br = fn5(br, cr, dr, er, ar, m[6], 0x50a28be6, 7); dr = rotl(dr, 10)\n ar = fn5(ar, br, cr, dr, er, m[15], 0x50a28be6, 8); cr = rotl(cr, 10)\n er = fn5(er, ar, br, cr, dr, m[8], 0x50a28be6, 11); br = rotl(br, 10)\n dr = fn5(dr, er, ar, br, cr, m[1], 0x50a28be6, 14); ar = rotl(ar, 10)\n cr = fn5(cr, dr, er, ar, br, m[10], 0x50a28be6, 14); er = rotl(er, 10)\n br = fn5(br, cr, dr, er, ar, m[3], 0x50a28be6, 12); dr = rotl(dr, 10)\n ar = fn5(ar, br, cr, dr, er, m[12], 0x50a28be6, 6); cr = rotl(cr, 10)\n\n // M'j = 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2\n // K' = 0x5c4dd124\n // S'j = 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11\n er = fn4(er, ar, br, cr, dr, m[6], 0x5c4dd124, 9); br = rotl(br, 10)\n dr = fn4(dr, er, ar, br, cr, m[11], 0x5c4dd124, 13); ar = rotl(ar, 10)\n cr = fn4(cr, dr, er, ar, br, m[3], 0x5c4dd124, 15); er = rotl(er, 10)\n br = fn4(br, cr, dr, er, ar, m[7], 0x5c4dd124, 7); dr = rotl(dr, 10)\n ar = fn4(ar, br, cr, dr, er, m[0], 0x5c4dd124, 12); cr = rotl(cr, 10)\n er = fn4(er, ar, br, cr, dr, m[13], 0x5c4dd124, 8); br = rotl(br, 10)\n dr = fn4(dr, er, ar, br, cr, m[5], 0x5c4dd124, 9); ar = rotl(ar, 10)\n cr = fn4(cr, dr, er, ar, br, m[10], 0x5c4dd124, 11); er = rotl(er, 10)\n br = fn4(br, cr, dr, er, ar, m[14], 0x5c4dd124, 7); dr = rotl(dr, 10)\n ar = fn4(ar, br, cr, dr, er, m[15], 0x5c4dd124, 7); cr = rotl(cr, 10)\n er = fn4(er, ar, br, cr, dr, m[8], 0x5c4dd124, 12); br = rotl(br, 10)\n dr = fn4(dr, er, ar, br, cr, m[12], 0x5c4dd124, 7); ar = rotl(ar, 10)\n cr = fn4(cr, dr, er, ar, br, m[4], 0x5c4dd124, 6); er = rotl(er, 10)\n br = fn4(br, cr, dr, er, ar, m[9], 0x5c4dd124, 15); dr = rotl(dr, 10)\n ar = fn4(ar, br, cr, dr, er, m[1], 0x5c4dd124, 13); cr = rotl(cr, 10)\n er = fn4(er, ar, br, cr, dr, m[2], 0x5c4dd124, 11); br = rotl(br, 10)\n\n // M'j = 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13\n // K' = 0x6d703ef3\n // S'j = 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5\n dr = fn3(dr, er, ar, br, cr, m[15], 0x6d703ef3, 9); ar = rotl(ar, 10)\n cr = fn3(cr, dr, er, ar, br, m[5], 0x6d703ef3, 7); er = rotl(er, 10)\n br = fn3(br, cr, dr, er, ar, m[1], 0x6d703ef3, 15); dr = rotl(dr, 10)\n ar = fn3(ar, br, cr, dr, er, m[3], 0x6d703ef3, 11); cr = rotl(cr, 10)\n er = fn3(er, ar, br, cr, dr, m[7], 0x6d703ef3, 8); br = rotl(br, 10)\n dr = fn3(dr, er, ar, br, cr, m[14], 0x6d703ef3, 6); ar = rotl(ar, 10)\n cr = fn3(cr, dr, er, ar, br, m[6], 0x6d703ef3, 6); er = rotl(er, 10)\n br = fn3(br, cr, dr, er, ar, m[9], 0x6d703ef3, 14); dr = rotl(dr, 10)\n ar = fn3(ar, br, cr, dr, er, m[11], 0x6d703ef3, 12); cr = rotl(cr, 10)\n er = fn3(er, ar, br, cr, dr, m[8], 0x6d703ef3, 13); br = rotl(br, 10)\n dr = fn3(dr, er, ar, br, cr, m[12], 0x6d703ef3, 5); ar = rotl(ar, 10)\n cr = fn3(cr, dr, er, ar, br, m[2], 0x6d703ef3, 14); er = rotl(er, 10)\n br = fn3(br, cr, dr, er, ar, m[10], 0x6d703ef3, 13); dr = rotl(dr, 10)\n ar = fn3(ar, br, cr, dr, er, m[0], 0x6d703ef3, 13); cr = rotl(cr, 10)\n er = fn3(er, ar, br, cr, dr, m[4], 0x6d703ef3, 7); br = rotl(br, 10)\n dr = fn3(dr, er, ar, br, cr, m[13], 0x6d703ef3, 5); ar = rotl(ar, 10)\n\n // M'j = 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14\n // K' = 0x7a6d76e9\n // S'j = 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8\n cr = fn2(cr, dr, er, ar, br, m[8], 0x7a6d76e9, 15); er = rotl(er, 10)\n br = fn2(br, cr, dr, er, ar, m[6], 0x7a6d76e9, 5); dr = rotl(dr, 10)\n ar = fn2(ar, br, cr, dr, er, m[4], 0x7a6d76e9, 8); cr = rotl(cr, 10)\n er = fn2(er, ar, br, cr, dr, m[1], 0x7a6d76e9, 11); br = rotl(br, 10)\n dr = fn2(dr, er, ar, br, cr, m[3], 0x7a6d76e9, 14); ar = rotl(ar, 10)\n cr = fn2(cr, dr, er, ar, br, m[11], 0x7a6d76e9, 14); er = rotl(er, 10)\n br = fn2(br, cr, dr, er, ar, m[15], 0x7a6d76e9, 6); dr = rotl(dr, 10)\n ar = fn2(ar, br, cr, dr, er, m[0], 0x7a6d76e9, 14); cr = rotl(cr, 10)\n er = fn2(er, ar, br, cr, dr, m[5], 0x7a6d76e9, 6); br = rotl(br, 10)\n dr = fn2(dr, er, ar, br, cr, m[12], 0x7a6d76e9, 9); ar = rotl(ar, 10)\n cr = fn2(cr, dr, er, ar, br, m[2], 0x7a6d76e9, 12); er = rotl(er, 10)\n br = fn2(br, cr, dr, er, ar, m[13], 0x7a6d76e9, 9); dr = rotl(dr, 10)\n ar = fn2(ar, br, cr, dr, er, m[9], 0x7a6d76e9, 12); cr = rotl(cr, 10)\n er = fn2(er, ar, br, cr, dr, m[7], 0x7a6d76e9, 5); br = rotl(br, 10)\n dr = fn2(dr, er, ar, br, cr, m[10], 0x7a6d76e9, 15); ar = rotl(ar, 10)\n cr = fn2(cr, dr, er, ar, br, m[14], 0x7a6d76e9, 8); er = rotl(er, 10)\n\n // M'j = 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n // K' = 0x00000000\n // S'j = 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n br = fn1(br, cr, dr, er, ar, m[12], 0x00000000, 8); dr = rotl(dr, 10)\n ar = fn1(ar, br, cr, dr, er, m[15], 0x00000000, 5); cr = rotl(cr, 10)\n er = fn1(er, ar, br, cr, dr, m[10], 0x00000000, 12); br = rotl(br, 10)\n dr = fn1(dr, er, ar, br, cr, m[4], 0x00000000, 9); ar = rotl(ar, 10)\n cr = fn1(cr, dr, er, ar, br, m[1], 0x00000000, 12); er = rotl(er, 10)\n br = fn1(br, cr, dr, er, ar, m[5], 0x00000000, 5); dr = rotl(dr, 10)\n ar = fn1(ar, br, cr, dr, er, m[8], 0x00000000, 14); cr = rotl(cr, 10)\n er = fn1(er, ar, br, cr, dr, m[7], 0x00000000, 6); br = rotl(br, 10)\n dr = fn1(dr, er, ar, br, cr, m[6], 0x00000000, 8); ar = rotl(ar, 10)\n cr = fn1(cr, dr, er, ar, br, m[2], 0x00000000, 13); er = rotl(er, 10)\n br = fn1(br, cr, dr, er, ar, m[13], 0x00000000, 6); dr = rotl(dr, 10)\n ar = fn1(ar, br, cr, dr, er, m[14], 0x00000000, 5); cr = rotl(cr, 10)\n er = fn1(er, ar, br, cr, dr, m[0], 0x00000000, 15); br = rotl(br, 10)\n dr = fn1(dr, er, ar, br, cr, m[3], 0x00000000, 13); ar = rotl(ar, 10)\n cr = fn1(cr, dr, er, ar, br, m[9], 0x00000000, 11); er = rotl(er, 10)\n br = fn1(br, cr, dr, er, ar, m[11], 0x00000000, 11); dr = rotl(dr, 10)\n\n // change state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n\n\n\n// WEBPACK FOOTER //\n// ./~/ripemd160/index.js","'use strict'\nvar Transform = require('stream').Transform\nvar inherits = require('inherits')\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = new Buffer(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n if (encoding !== 'buffer') chunk = new Buffer(chunk, encoding)\n this.update(chunk)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this._digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = new Buffer(data, encoding || 'binary')\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function (data) {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n\n\n\n// WEBPACK FOOTER //\n// ./~/ripemd160/~/hash-base/index.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/readable.js');\nStream.Writable = require('readable-stream/writable.js');\nStream.Duplex = require('readable-stream/duplex.js');\nStream.Transform = require('readable-stream/transform.js');\nStream.PassThrough = require('readable-stream/passthrough.js');\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/stream-browserify/index.js","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\n\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/readable-browser.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar processNextTick = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Readable;\n\n/*<replacement>*/\nvar isArray = require('isarray');\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n\n/*<replacement>*/\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function (emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n// TODO(bmeurer): Change this back to const once hole checks are\n// properly optimized away early in Ignition+TurboFan.\n/*<replacement>*/\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*</replacement>*/\n\n/*<replacement>*/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar debugUtil = require('util');\nvar debug = void 0;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function () {};\n}\n/*</replacement>*/\n\nvar BufferList = require('./internal/streams/BufferList');\nvar destroyImpl = require('./internal/streams/destroy');\nvar StringDecoder;\n\nutil.inherits(Readable, Stream);\n\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') {\n return emitter.prependListener(event, fn);\n } else {\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n }\n}\n\nfunction ReadableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n if (!(this instanceof Readable)) return new Readable(options);\n\n this._readableState = new ReadableState(options, this);\n\n // legacy\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n this.push(null);\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n stream.emit('error', er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n stream.emit('error', new Error('stream.push() after EOF'));\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n }\n }\n\n return needMoreData(state);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n stream.emit('data', chunk);\n stream.read(0);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n return er;\n}\n\n// if it's past the high water mark, we can push in some more.\n// Also, if we have no data yet, we can stand some\n// more bytes. This is to work around cases where hwm=0,\n// such as the repl. Also, if the push() triggered a\n// readable event, and the user called read(largeNumber) such that\n// needReadable was set, then we ought to push more, so that another\n// 'readable' event will be triggered.\nfunction needMoreData(state) {\n return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this._readableState.decoder = new StringDecoder(enc);\n this._readableState.encoding = enc;\n return this;\n};\n\n// Don't raise the hwm > 8MB\nvar MAX_HWM = 0x800000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = true;\n n = 0;\n } else {\n state.length -= n;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n\n // emit 'readable' now to make sure it gets picked up.\n emitReadable(stream);\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream);\n }\n}\n\nfunction emitReadable_(stream) {\n debug('emit readable');\n stream.emit('readable');\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n processNextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n var len = state.length;\n while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;else len = state.length;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n this.emit('error', new Error('_read() is not implemented'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn);\n\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n // If the user pushes more data while we're writing to dest then we'll end up\n // in ondata again. However, we only want to increase awaitDrain once because\n // dest will only emit one 'drain' event for the multiple writes.\n // => Introduce a guard on increasing awaitDrain.\n var increasedAwaitDrain = false;\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n increasedAwaitDrain = false;\n var ret = dest.write(chunk);\n if (false === ret && !increasedAwaitDrain) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', src._readableState.awaitDrain);\n src._readableState.awaitDrain++;\n increasedAwaitDrain = true;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function () {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = { hasUnpiped: false };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, unpipeInfo);\n }return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n\n dest.emit('unpipe', this, unpipeInfo);\n\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n\n if (ev === 'data') {\n // Start flowing on next tick if stream isn't explicitly paused\n if (this._readableState.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n var state = this._readableState;\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.emittedReadable = false;\n if (!state.reading) {\n processNextTick(nReadingNextTick, this);\n } else if (state.length) {\n emitReadable(this);\n }\n }\n }\n\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n state.flowing = true;\n resume(this, state);\n }\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n processNextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n if (!state.reading) {\n debug('resume read 0');\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n state.awaitDrain = 0;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (false !== this._readableState.flowing) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null) {}\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var state = this._readableState;\n var paused = false;\n\n var self = this;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) self.push(chunk);\n }\n\n self.push(null);\n });\n\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = self.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function (method) {\n return function () {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n self._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return self;\n};\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = fromListPartial(n, state.buffer, state.decoder);\n }\n\n return ret;\n}\n\n// Extracts only enough buffered data to satisfy the amount requested.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromListPartial(n, list, hasStrings) {\n var ret;\n if (n < list.head.data.length) {\n // slice is the same for buffers and strings\n ret = list.head.data.slice(0, n);\n list.head.data = list.head.data.slice(n);\n } else if (n === list.head.data.length) {\n // first chunk is a perfect match\n ret = list.shift();\n } else {\n // result spans more than one buffer\n ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);\n }\n return ret;\n}\n\n// Copies a specified amount of characters from the list of buffered data\n// chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBufferString(n, list) {\n var p = list.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\n// Copies a specified amount of bytes from the list of buffered data chunks.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction copyFromBuffer(n, list) {\n var ret = Buffer.allocUnsafe(n);\n var p = list.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) list.head = p.next;else list.head = list.tail = null;\n } else {\n list.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n list.length -= c;\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n\n // If we get here before consuming all the bytes, then that is a\n // bug in node. Should never happen.\n if (state.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n\n if (!state.endEmitted) {\n state.ended = true;\n processNextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n }\n}\n\nfunction forEach(xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/_stream_readable.js","'use strict';\n\nif (!process.version ||\n process.version.indexOf('v0.') === 0 ||\n process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {\n module.exports = nextTick;\n} else {\n module.exports = process.nextTick;\n}\n\nfunction nextTick(fn, arg1, arg2, arg3) {\n if (typeof fn !== 'function') {\n throw new TypeError('\"callback\" argument must be a function');\n }\n var len = arguments.length;\n var args, i;\n switch (len) {\n case 0:\n case 1:\n return process.nextTick(fn);\n case 2:\n return process.nextTick(function afterTickOne() {\n fn.call(null, arg1);\n });\n case 3:\n return process.nextTick(function afterTickTwo() {\n fn.call(null, arg1, arg2);\n });\n case 4:\n return process.nextTick(function afterTickThree() {\n fn.call(null, arg1, arg2, arg3);\n });\n default:\n args = new Array(len - 1);\n i = 0;\n while (i < args.length) {\n args[i++] = arguments[i];\n }\n return process.nextTick(function afterTick() {\n fn.apply(null, args);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/process-nextick-args/index.js","module.exports = require('events').EventEmitter;\n\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/internal/streams/stream-browser.js","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/safe-buffer/index.js","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('Invalid typed array length')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\n// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\nif (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n })\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (isArrayBuffer(value)) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n return fromObject(value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nBuffer.prototype.__proto__ = Uint8Array.prototype\nBuffer.__proto__ = Uint8Array\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj) {\n if (isArrayBufferView(obj) || 'length' in obj) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (isArrayBufferView(string) || isArrayBuffer(string)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : new Buffer(val, encoding)\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffers from another context (i.e. an iframe) do not pass the `instanceof` check\n// but they should be treated as valid. See: https://github.com/feross/buffer/issues/166\nfunction isArrayBuffer (obj) {\n return obj instanceof ArrayBuffer ||\n (obj != null && obj.constructor != null && obj.constructor.name === 'ArrayBuffer' &&\n typeof obj.byteLength === 'number')\n}\n\n// Node 0.10 supports `ArrayBuffer` but lacks `ArrayBuffer.isView`\nfunction isArrayBufferView (obj) {\n return (typeof ArrayBuffer.isView === 'function') && ArrayBuffer.isView(obj)\n}\n\nfunction numberIsNaN (obj) {\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/buffer/index.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/core-util-is/lib/util.js","'use strict';\n\n/*<replacement>*/\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nfunction copyBuffer(src, target, offset) {\n src.copy(target, offset);\n}\n\nmodule.exports = function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n BufferList.prototype.push = function push(v) {\n var entry = { data: v, next: null };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n };\n\n BufferList.prototype.unshift = function unshift(v) {\n var entry = { data: v, next: this.head };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n };\n\n BufferList.prototype.shift = function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n };\n\n BufferList.prototype.clear = function clear() {\n this.head = this.tail = null;\n this.length = 0;\n };\n\n BufferList.prototype.join = function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) {\n ret += s + p.data;\n }return ret;\n };\n\n BufferList.prototype.concat = function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n if (this.length === 1) return this.head.data;\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n };\n\n return BufferList;\n}();\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/internal/streams/BufferList.js","'use strict';\n\n/*<replacement>*/\n\nvar processNextTick = require('process-nextick-args');\n/*</replacement>*/\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n processNextTick(emitErrorNT, this, err);\n }\n return;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n processNextTick(emitErrorNT, _this, err);\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/internal/streams/destroy.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/*<replacement>*/\n\nvar processNextTick = require('process-nextick-args');\n/*</replacement>*/\n\n/*<replacement>*/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n};\n/*</replacement>*/\n\nmodule.exports = Duplex;\n\n/*<replacement>*/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\n\nutil.inherits(Duplex, Readable);\n\nvar keys = objectKeys(Writable.prototype);\nfor (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n\n Readable.call(this, options);\n Writable.call(this, options);\n\n if (options && options.readable === false) this.readable = false;\n\n if (options && options.writable === false) this.writable = false;\n\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n\n this.once('end', onend);\n}\n\n// the no-half-open enforcer\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n processNextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function () {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\nDuplex.prototype._destroy = function (err, cb) {\n this.push(null);\n this.end();\n\n processNextTick(cb, err);\n};\n\nfunction forEach(xs, f) {\n for (var i = 0, l = xs.length; i < l; i++) {\n f(xs[i], i);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/_stream_duplex.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\n/*<replacement>*/\n\nvar processNextTick = require('process-nextick-args');\n/*</replacement>*/\n\nmodule.exports = Writable;\n\n/* <replacement> */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick;\n/*</replacement>*/\n\n/*<replacement>*/\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n\n/*<replacement>*/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/*</replacement>*/\n\n/*<replacement>*/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n/*<replacement>*/\nvar Buffer = require('safe-buffer').Buffer;\nvar OurUint8Array = global.Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*</replacement>*/\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || require('./_stream_duplex');\n\n options = options || {};\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n\n if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n var hwm = options.highWaterMark;\n var defaultHwm = this.objectMode ? 16 : 16 * 1024;\n this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;\n\n // cast to ints.\n this.highWaterMark = Math.floor(this.highWaterMark);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function () {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function (object) {\n if (realHasInstance.call(this, object)) return true;\n\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function (object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {\n return new Writable(options);\n }\n\n this._writableState = new WritableState(options, this);\n\n // legacy.\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n\n if (typeof options.writev === 'function') this._writev = options.writev;\n\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n this.emit('error', new Error('Cannot pipe, not readable'));\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new Error('write after end');\n // TODO: defer error events consistently everywhere, not just the cb\n stream.emit('error', er);\n processNextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var valid = true;\n var er = false;\n\n if (chunk === null) {\n er = new TypeError('May not write null values to stream');\n } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new TypeError('Invalid non-string/buffer chunk');\n }\n if (er) {\n stream.emit('error', er);\n processNextTick(cb, er);\n valid = false;\n }\n return valid;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = _isUint8Array(chunk) && !state.objectMode;\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n\n if (typeof cb !== 'function') cb = nop;\n\n if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n\n return ret;\n};\n\nWritable.prototype.cork = function () {\n var state = this._writableState;\n\n state.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n\n if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n\n state.length += len;\n\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n processNextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n processNextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n stream.emit('error', er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n\n onwriteStateUpdate(state);\n\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state);\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n /*<replacement>*/\n asyncWrite(afterWrite, stream, state, finished, cb);\n /*</replacement>*/\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequestCount = 0;\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new Error('_write() is not implemented'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending && !state.finished) endWritable(this, state, cb);\n};\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n stream.emit('error', err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function') {\n state.pendingcb++;\n state.finalCalled = true;\n processNextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n }\n }\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) processNextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n if (state.corkedRequestsFree) {\n state.corkedRequestsFree.next = corkReq;\n } else {\n state.corkedRequestsFree = corkReq;\n }\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n get: function () {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function (value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n this.end();\n cb(err);\n};\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/_stream_writable.js","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/util-deprecate/browser.js","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return -1;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// UTF-8 replacement characters ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd'.repeat(p);\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd'.repeat(p + 1);\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd'.repeat(p + 2);\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character for each buffered byte of a (partial)\n// character needs to be added to the output.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd'.repeat(this.lastTotal - this.lastNeed);\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n\n\n// WEBPACK FOOTER //\n// ./~/string_decoder/lib/string_decoder.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\n\nvar Duplex = require('./_stream_duplex');\n\n/*<replacement>*/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(Transform, Duplex);\n\nfunction TransformState(stream) {\n this.afterTransform = function (er, data) {\n return afterTransform(stream, er, data);\n };\n\n this.needTransform = false;\n this.transforming = false;\n this.writecb = null;\n this.writechunk = null;\n this.writeencoding = null;\n}\n\nfunction afterTransform(stream, er, data) {\n var ts = stream._transformState;\n ts.transforming = false;\n\n var cb = ts.writecb;\n\n if (!cb) {\n return stream.emit('error', new Error('write callback called multiple times'));\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n\n if (data !== null && data !== undefined) stream.push(data);\n\n cb(er);\n\n var rs = stream._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n stream._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n\n Duplex.call(this, options);\n\n this._transformState = new TransformState(this);\n\n var stream = this;\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.once('prefinish', function () {\n if (typeof this._flush === 'function') this._flush(function (er, data) {\n done(stream, er, data);\n });else done(stream);\n });\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n throw new Error('_transform() is not implemented');\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && ts.writecb && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n var _this = this;\n\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n _this.emit('close');\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n\n if (data !== null && data !== undefined) stream.push(data);\n\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n var ws = stream._writableState;\n var ts = stream._transformState;\n\n if (ws.length) throw new Error('Calling transform done when ws.length != 0');\n\n if (ts.transforming) throw new Error('Calling transform done when still transforming');\n\n return stream.push(null);\n}\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/_stream_transform.js","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\n/*<replacement>*/\nvar util = require('core-util-is');\nutil.inherits = require('inherits');\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/lib/_stream_passthrough.js","module.exports = require('./lib/_stream_writable.js');\n\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/writable-browser.js","module.exports = require('./lib/_stream_duplex.js');\n\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/duplex-browser.js","module.exports = require('./readable').Transform\n\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/transform.js","module.exports = require('./readable').PassThrough\n\n\n\n// WEBPACK FOOTER //\n// ./~/readable-stream/passthrough.js","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/index.js","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/sha.js","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = bits & 0xffffffff\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/hash.js","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/sha1.js","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/sha224.js","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/sha256.js","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/sha384.js","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n\n\n\n// WEBPACK FOOTER //\n// ./~/sha.js/sha512.js","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n\n\n\n// WEBPACK FOOTER //\n// ./~/cipher-base/index.js","'use strict'\nvar inherits = require('inherits')\nvar Legacy = require('./legacy')\nvar Base = require('cipher-base')\nvar Buffer = require('safe-buffer').Buffer\nvar md5 = require('create-hash/md5')\nvar RIPEMD160 = require('ripemd160')\n\nvar sha = require('sha.js')\n\nvar ZEROS = Buffer.alloc(128)\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64\n\n this._alg = alg\n this._key = key\n if (key.length > blocksize) {\n var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n key = hash.update(key).digest()\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)\n this._hash.update(ipad)\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._hash.digest()\n var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)\n return hash.update(this._opad).update(h).digest()\n}\n\nmodule.exports = function createHmac (alg, key) {\n alg = alg.toLowerCase()\n if (alg === 'rmd160' || alg === 'ripemd160') {\n return new Hmac('rmd160', key)\n }\n if (alg === 'md5') {\n return new Legacy(md5, key)\n }\n return new Hmac(alg, key)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/create-hmac/browser.js","'use strict'\nvar inherits = require('inherits')\nvar Buffer = require('safe-buffer').Buffer\n\nvar Base = require('cipher-base')\n\nvar ZEROS = Buffer.alloc(128)\nvar blocksize = 64\n\nfunction Hmac (alg, key) {\n Base.call(this, 'digest')\n if (typeof key === 'string') {\n key = Buffer.from(key)\n }\n\n this._alg = alg\n this._key = key\n\n if (key.length > blocksize) {\n key = alg(key)\n } else if (key.length < blocksize) {\n key = Buffer.concat([key, ZEROS], blocksize)\n }\n\n var ipad = this._ipad = Buffer.allocUnsafe(blocksize)\n var opad = this._opad = Buffer.allocUnsafe(blocksize)\n\n for (var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = [ipad]\n}\n\ninherits(Hmac, Base)\n\nHmac.prototype._update = function (data) {\n this._hash.push(data)\n}\n\nHmac.prototype._final = function () {\n var h = this._alg(Buffer.concat(this._hash))\n return this._alg(Buffer.concat([this._opad, h]))\n}\nmodule.exports = Hmac\n\n\n\n// WEBPACK FOOTER //\n// ./~/create-hmac/legacy.js","var basex = require('base-x')\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n\n\n\n// WEBPACK FOOTER //\n// ./~/bs58/index.js","// base-x encoding\n// Forked from https://github.com/cryptocoinjs/bs58\n// Originally written by Mike Hearn for BitcoinJ\n// Copyright (c) 2011 Google Inc\n// Ported to JavaScript by Stefan Thomas\n// Merged Buffer refactorings from base58-native by Stephen Pair\n// Copyright (c) 2013 BitPay Inc\n\nvar Buffer = require('safe-buffer').Buffer\n\nmodule.exports = function base (ALPHABET) {\n var ALPHABET_MAP = {}\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n\n // pre-compute lookup table\n for (var z = 0; z < ALPHABET.length; z++) {\n var x = ALPHABET.charAt(z)\n\n if (ALPHABET_MAP[x] !== undefined) throw new TypeError(x + ' is ambiguous')\n ALPHABET_MAP[x] = z\n }\n\n function encode (source) {\n if (source.length === 0) return ''\n\n var digits = [0]\n for (var i = 0; i < source.length; ++i) {\n for (var j = 0, carry = source[i]; j < digits.length; ++j) {\n carry += digits[j] << 8\n digits[j] = carry % BASE\n carry = (carry / BASE) | 0\n }\n\n while (carry > 0) {\n digits.push(carry % BASE)\n carry = (carry / BASE) | 0\n }\n }\n\n var string = ''\n\n // deal with leading zeros\n for (var k = 0; source[k] === 0 && k < source.length - 1; ++k) string += ALPHABET[0]\n // convert digits to a string\n for (var q = digits.length - 1; q >= 0; --q) string += ALPHABET[digits[q]]\n\n return string\n }\n\n function decodeUnsafe (string) {\n if (typeof string !== 'string') throw new TypeError('Expected String')\n if (string.length === 0) return Buffer.allocUnsafe(0)\n\n var bytes = [0]\n for (var i = 0; i < string.length; i++) {\n var value = ALPHABET_MAP[string[i]]\n if (value === undefined) return\n\n for (var j = 0, carry = value; j < bytes.length; ++j) {\n carry += bytes[j] * BASE\n bytes[j] = carry & 0xff\n carry >>= 8\n }\n\n while (carry > 0) {\n bytes.push(carry & 0xff)\n carry >>= 8\n }\n }\n\n // deal with leading zeros\n for (var k = 0; string[k] === LEADER && k < string.length - 1; ++k) {\n bytes.push(0)\n }\n\n return Buffer.from(bytes.reverse())\n }\n\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) return buffer\n\n throw new Error('Non-base' + BASE + ' character')\n }\n\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/base-x/index.js","import secureRandom from 'secure-random';\nimport ByteBuffer from 'bytebuffer';\nimport crypto from 'browserify-aes';\nimport assert from 'assert';\nimport PublicKey from './key_public';\nimport PrivateKey from './key_private';\nimport hash from './hash';\n\nconst Long = ByteBuffer.Long;\n\n/**\n Spec: http://localhost:3002/steem/@dantheman/how-to-encrypt-a-memo-when-transferring-steem\n @throws {Error|TypeError} - \"Invalid Key, ...\"\n @arg {PrivateKey} private_key - required and used for decryption\n @arg {PublicKey} public_key - required and used to calcualte the shared secret\n @arg {string} [nonce = uniqueNonce()] - assigned a random unique uint64\n\n @return {object}\n @property {string} nonce - random or unique uint64, provides entropy when re-using the same private/public keys.\n @property {Buffer} message - Plain text message\n @property {number} checksum - shared secret checksum\n*/\nexport function encrypt(private_key, public_key, message, nonce = uniqueNonce()) {\n return crypt(private_key, public_key, nonce, message)\n}\n\n/**\n Spec: http://localhost:3002/steem/@dantheman/how-to-encrypt-a-memo-when-transferring-steem\n @arg {PrivateKey} private_key - required and used for decryption\n @arg {PublicKey} public_key - required and used to calcualte the shared secret\n @arg {string} nonce - random or unique uint64, provides entropy when re-using the same private/public keys.\n @arg {Buffer} message - Encrypted or plain text message\n @arg {number} checksum - shared secret checksum\n @throws {Error|TypeError} - \"Invalid Key, ...\"\n @return {Buffer} - message\n*/\nexport function decrypt(private_key, public_key, nonce, message, checksum) {\n return crypt(private_key, public_key, nonce, message, checksum).message\n}\n\n/**\n @arg {Buffer} message - Encrypted or plain text message (see checksum)\n @arg {number} checksum - shared secret checksum (null to encrypt, non-null to decrypt)\n*/\nfunction crypt(private_key, public_key, nonce, message, checksum) {\n private_key = toPrivateObj(private_key)\n if (!private_key)\n throw new TypeError('private_key is required')\n\n public_key = toPublicObj(public_key)\n if (!public_key)\n throw new TypeError('public_key is required')\n\n nonce = toLongObj(nonce)\n if (!nonce)\n throw new TypeError('nonce is required')\n\n if (!Buffer.isBuffer(message)) {\n if (typeof message !== 'string')\n throw new TypeError('message should be buffer or string')\n message = new Buffer(message, 'binary')\n }\n if (checksum && typeof checksum !== 'number')\n throw new TypeError('checksum should be a number')\n\n const S = private_key.get_shared_secret(public_key);\n let ebuf = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN)\n ebuf.writeUint64(nonce)\n ebuf.append(S.toString('binary'), 'binary')\n ebuf = new Buffer(ebuf.copy(0, ebuf.offset).toBinary(), 'binary')\n const encryption_key = hash.sha512(ebuf)\n\n // D E B U G\n // console.log('crypt', {\n // priv_to_pub: private_key.toPublicKey().toString(),\n // pub: public_key.toString(),\n // nonce: nonce.toString(),\n // message: message.length,\n // checksum,\n // S: S.toString('hex'),\n // encryption_key: encryption_key.toString('hex'),\n // })\n\n const iv = encryption_key.slice(32, 48)\n const key = encryption_key.slice(0, 32)\n\n // check is first 64 bit of sha256 hash treated as uint64_t truncated to 32 bits.\n let check = hash.sha256(encryption_key)\n check = check.slice(0, 4)\n const cbuf = ByteBuffer.fromBinary(check.toString('binary'), ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN)\n check = cbuf.readUint32()\n\n if (checksum) {\n if (check !== checksum)\n throw new Error('Invalid key')\n message = cryptoJsDecrypt(message, key, iv)\n } else {\n message = cryptoJsEncrypt(message, key, iv)\n }\n return {nonce, message, checksum: check}\n}\n\n/** This method does not use a checksum, the returned data must be validated some other way.\n @arg {string|Buffer} ciphertext - binary format\n @return {Buffer}\n*/\nfunction cryptoJsDecrypt(message, key, iv) {\n assert(message, \"Missing cipher text\")\n message = toBinaryBuffer(message)\n const decipher = crypto.createDecipheriv('aes-256-cbc', key, iv)\n // decipher.setAutoPadding(true)\n message = Buffer.concat([decipher.update(message), decipher.final()])\n return message\n}\n\n/** This method does not use a checksum, the returned data must be validated some other way.\n @arg {string|Buffer} plaintext - binary format\n @return {Buffer} binary\n*/\nfunction cryptoJsEncrypt(message, key, iv) {\n assert(message, \"Missing plain text\")\n message = toBinaryBuffer(message)\n const cipher = crypto.createCipheriv('aes-256-cbc', key, iv)\n // cipher.setAutoPadding(true)\n message = Buffer.concat([cipher.update(message), cipher.final()])\n return message\n}\n\n/** @return {string} unique 64 bit unsigned number string. Being time based, this is careful to never choose the same nonce twice. This value could be recorded in the blockchain for a long time.\n*/\nfunction uniqueNonce() {\n if(unique_nonce_entropy === null) {\n const b = secureRandom.randomUint8Array(2)\n unique_nonce_entropy = parseInt(b[0] << 8 | b[1], 10)\n }\n let long = Long.fromNumber(Date.now())\n const entropy = ++unique_nonce_entropy % 0xFFFF\n // console.log('uniqueNonce date\\t', ByteBuffer.allocate(8).writeUint64(long).toHex(0))\n // console.log('uniqueNonce entropy\\t', ByteBuffer.allocate(8).writeUint64(Long.fromNumber(entropy)).toHex(0))\n long = long.shiftLeft(16).or(Long.fromNumber(entropy));\n // console.log('uniqueNonce final\\t', ByteBuffer.allocate(8).writeUint64(long).toHex(0))\n return long.toString()\n}\nlet unique_nonce_entropy = null\n// for(let i=1; i < 10; i++) key.uniqueNonce()\n\nconst toPrivateObj = o => (o ? o.d ? o : PrivateKey.fromWif(o) : o/*null or undefined*/)\nconst toPublicObj = o => (o ? o.Q ? o : PublicKey.fromString(o) : o/*null or undefined*/)\nconst toLongObj = o => (o ? Long.isLong(o) ? o : Long.fromString(o) : o)\nconst toBinaryBuffer = o => (o ? Buffer.isBuffer(o) ? o : new Buffer(o, 'binary') : o)\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/aes.js","!function(globals){\n'use strict'\n\n//*** UMD BEGIN\nif (typeof define !== 'undefined' && define.amd) { //require.js / AMD\n define([], function() {\n return secureRandom\n })\n} else if (typeof module !== 'undefined' && module.exports) { //CommonJS\n module.exports = secureRandom\n} else { //script / browser\n globals.secureRandom = secureRandom\n}\n//*** UMD END\n\n//options.type is the only valid option\nfunction secureRandom(count, options) {\n options = options || {type: 'Array'}\n //we check for process.pid to prevent browserify from tricking us\n if (\n typeof process != 'undefined'\n && typeof process.pid == 'number'\n && process.versions\n && process.versions.node\n ) {\n return nodeRandom(count, options)\n } else {\n var crypto = window.crypto || window.msCrypto\n if (!crypto) throw new Error(\"Your browser does not support window.crypto.\")\n return browserRandom(count, options)\n }\n}\n\nfunction nodeRandom(count, options) {\n var crypto = require('crypto')\n var buf = crypto.randomBytes(count)\n\n switch (options.type) {\n case 'Array':\n return [].slice.call(buf)\n case 'Buffer':\n return buf\n case 'Uint8Array':\n var arr = new Uint8Array(count)\n for (var i = 0; i < count; ++i) { arr[i] = buf.readUInt8(i) }\n return arr\n default:\n throw new Error(options.type + \" is unsupported.\")\n }\n}\n\nfunction browserRandom(count, options) {\n var nativeArr = new Uint8Array(count)\n var crypto = window.crypto || window.msCrypto\n crypto.getRandomValues(nativeArr)\n\n switch (options.type) {\n case 'Array':\n return [].slice.call(nativeArr)\n case 'Buffer':\n try { var b = new Buffer(1) } catch(e) { throw new Error('Buffer not supported in this environment. Use Node.js or Browserify for browser support.')}\n return new Buffer(nativeArr)\n case 'Uint8Array':\n return nativeArr\n default:\n throw new Error(options.type + \" is unsupported.\")\n }\n}\n\nsecureRandom.randomArray = function(byteCount) {\n return secureRandom(byteCount, {type: 'Array'})\n}\n\nsecureRandom.randomUint8Array = function(byteCount) {\n return secureRandom(byteCount, {type: 'Uint8Array'})\n}\n\nsecureRandom.randomBuffer = function(byteCount) {\n return secureRandom(byteCount, {type: 'Buffer'})\n}\n\n\n}(this);\n\n\n\n// WEBPACK FOOTER //\n// ./~/secure-random/lib/secure-random.js","/*\r\n Copyright 2013-2014 Daniel Wirtz <dcode@dcode.io>\r\n\r\n Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.\r\n */\r\n\r\n/**\r\n * @license bytebuffer.js (c) 2015 Daniel Wirtz <dcode@dcode.io>\r\n * Backing buffer: ArrayBuffer, Accessor: Uint8Array\r\n * Released under the Apache License, Version 2.0\r\n * see: https://github.com/dcodeIO/bytebuffer.js for details\r\n */\r\n(function(global, factory) {\r\n\r\n /* AMD */ if (typeof define === 'function' && define[\"amd\"])\r\n define([\"long\"], factory);\r\n /* CommonJS */ else if (typeof require === 'function' && typeof module === \"object\" && module && module[\"exports\"])\r\n module['exports'] = (function() {\r\n var Long; try { Long = require(\"long\"); } catch (e) {}\r\n return factory(Long);\r\n })();\r\n /* Global */ else\r\n (global[\"dcodeIO\"] = global[\"dcodeIO\"] || {})[\"ByteBuffer\"] = factory(global[\"dcodeIO\"][\"Long\"]);\r\n\r\n})(this, function(Long) {\r\n \"use strict\";\r\n\r\n /**\r\n * Constructs a new ByteBuffer.\r\n * @class The swiss army knife for binary data in JavaScript.\r\n * @exports ByteBuffer\r\n * @constructor\r\n * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}.\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @expose\r\n */\r\n var ByteBuffer = function(capacity, littleEndian, noAssert) {\r\n if (typeof capacity === 'undefined')\r\n capacity = ByteBuffer.DEFAULT_CAPACITY;\r\n if (typeof littleEndian === 'undefined')\r\n littleEndian = ByteBuffer.DEFAULT_ENDIAN;\r\n if (typeof noAssert === 'undefined')\r\n noAssert = ByteBuffer.DEFAULT_NOASSERT;\r\n if (!noAssert) {\r\n capacity = capacity | 0;\r\n if (capacity < 0)\r\n throw RangeError(\"Illegal capacity\");\r\n littleEndian = !!littleEndian;\r\n noAssert = !!noAssert;\r\n }\r\n\r\n /**\r\n * Backing ArrayBuffer.\r\n * @type {!ArrayBuffer}\r\n * @expose\r\n */\r\n this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity);\r\n\r\n /**\r\n * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`.\r\n * @type {?Uint8Array}\r\n * @expose\r\n */\r\n this.view = capacity === 0 ? null : new Uint8Array(this.buffer);\r\n\r\n /**\r\n * Absolute read/write offset.\r\n * @type {number}\r\n * @expose\r\n * @see ByteBuffer#flip\r\n * @see ByteBuffer#clear\r\n */\r\n this.offset = 0;\r\n\r\n /**\r\n * Marked offset.\r\n * @type {number}\r\n * @expose\r\n * @see ByteBuffer#mark\r\n * @see ByteBuffer#reset\r\n */\r\n this.markedOffset = -1;\r\n\r\n /**\r\n * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation.\r\n * @type {number}\r\n * @expose\r\n * @see ByteBuffer#flip\r\n * @see ByteBuffer#clear\r\n */\r\n this.limit = capacity;\r\n\r\n /**\r\n * Whether to use little endian byte order, defaults to `false` for big endian.\r\n * @type {boolean}\r\n * @expose\r\n */\r\n this.littleEndian = littleEndian;\r\n\r\n /**\r\n * Whether to skip assertions of offsets and values, defaults to `false`.\r\n * @type {boolean}\r\n * @expose\r\n */\r\n this.noAssert = noAssert;\r\n };\r\n\r\n /**\r\n * ByteBuffer version.\r\n * @type {string}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.VERSION = \"5.0.1\";\r\n\r\n /**\r\n * Little endian constant that can be used instead of its boolean value. Evaluates to `true`.\r\n * @type {boolean}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.LITTLE_ENDIAN = true;\r\n\r\n /**\r\n * Big endian constant that can be used instead of its boolean value. Evaluates to `false`.\r\n * @type {boolean}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.BIG_ENDIAN = false;\r\n\r\n /**\r\n * Default initial capacity of `16`.\r\n * @type {number}\r\n * @expose\r\n */\r\n ByteBuffer.DEFAULT_CAPACITY = 16;\r\n\r\n /**\r\n * Default endianess of `false` for big endian.\r\n * @type {boolean}\r\n * @expose\r\n */\r\n ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN;\r\n\r\n /**\r\n * Default no assertions flag of `false`.\r\n * @type {boolean}\r\n * @expose\r\n */\r\n ByteBuffer.DEFAULT_NOASSERT = false;\r\n\r\n /**\r\n * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded\r\n * and int64 support is not available.\r\n * @type {?Long}\r\n * @const\r\n * @see https://github.com/dcodeIO/long.js\r\n * @expose\r\n */\r\n ByteBuffer.Long = Long || null;\r\n\r\n /**\r\n * @alias ByteBuffer.prototype\r\n * @inner\r\n */\r\n var ByteBufferPrototype = ByteBuffer.prototype;\r\n\r\n /**\r\n * An indicator used to reliably determine if an object is a ByteBuffer or not.\r\n * @type {boolean}\r\n * @const\r\n * @expose\r\n * @private\r\n */\r\n ByteBufferPrototype.__isByteBuffer__;\r\n\r\n Object.defineProperty(ByteBufferPrototype, \"__isByteBuffer__\", {\r\n value: true,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n\r\n // helpers\r\n\r\n /**\r\n * @type {!ArrayBuffer}\r\n * @inner\r\n */\r\n var EMPTY_BUFFER = new ArrayBuffer(0);\r\n\r\n /**\r\n * String.fromCharCode reference for compile-time renaming.\r\n * @type {function(...number):string}\r\n * @inner\r\n */\r\n var stringFromCharCode = String.fromCharCode;\r\n\r\n /**\r\n * Creates a source function for a string.\r\n * @param {string} s String to read from\r\n * @returns {function():number|null} Source function returning the next char code respectively `null` if there are\r\n * no more characters left.\r\n * @throws {TypeError} If the argument is invalid\r\n * @inner\r\n */\r\n function stringSource(s) {\r\n var i=0; return function() {\r\n return i < s.length ? s.charCodeAt(i++) : null;\r\n };\r\n }\r\n\r\n /**\r\n * Creates a destination function for a string.\r\n * @returns {function(number=):undefined|string} Destination function successively called with the next char code.\r\n * Returns the final string when called without arguments.\r\n * @inner\r\n */\r\n function stringDestination() {\r\n var cs = [], ps = []; return function() {\r\n if (arguments.length === 0)\r\n return ps.join('')+stringFromCharCode.apply(String, cs);\r\n if (cs.length + arguments.length > 1024)\r\n ps.push(stringFromCharCode.apply(String, cs)),\r\n cs.length = 0;\r\n Array.prototype.push.apply(cs, arguments);\r\n };\r\n }\r\n\r\n /**\r\n * Gets the accessor type.\r\n * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes)\r\n * @expose\r\n */\r\n ByteBuffer.accessor = function() {\r\n return Uint8Array;\r\n };\r\n /**\r\n * Allocates a new ByteBuffer backed by a buffer of the specified capacity.\r\n * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}.\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @returns {!ByteBuffer}\r\n * @expose\r\n */\r\n ByteBuffer.allocate = function(capacity, littleEndian, noAssert) {\r\n return new ByteBuffer(capacity, littleEndian, noAssert);\r\n };\r\n\r\n /**\r\n * Concatenates multiple ByteBuffers into one.\r\n * @param {!Array.<!ByteBuffer|!ArrayBuffer|!Uint8Array|string>} buffers Buffers to concatenate\r\n * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string (\"base64\", \"hex\", \"binary\",\r\n * defaults to \"utf8\")\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults\r\n * to {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @returns {!ByteBuffer} Concatenated ByteBuffer\r\n * @expose\r\n */\r\n ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) {\r\n if (typeof encoding === 'boolean' || typeof encoding !== 'string') {\r\n noAssert = littleEndian;\r\n littleEndian = encoding;\r\n encoding = undefined;\r\n }\r\n var capacity = 0;\r\n for (var i=0, k=buffers.length, length; i<k; ++i) {\r\n if (!ByteBuffer.isByteBuffer(buffers[i]))\r\n buffers[i] = ByteBuffer.wrap(buffers[i], encoding);\r\n length = buffers[i].limit - buffers[i].offset;\r\n if (length > 0) capacity += length;\r\n }\r\n if (capacity === 0)\r\n return new ByteBuffer(0, littleEndian, noAssert);\r\n var bb = new ByteBuffer(capacity, littleEndian, noAssert),\r\n bi;\r\n i=0; while (i<k) {\r\n bi = buffers[i++];\r\n length = bi.limit - bi.offset;\r\n if (length <= 0) continue;\r\n bb.view.set(bi.view.subarray(bi.offset, bi.limit), bb.offset);\r\n bb.offset += length;\r\n }\r\n bb.limit = bb.offset;\r\n bb.offset = 0;\r\n return bb;\r\n };\r\n\r\n /**\r\n * Tests if the specified type is a ByteBuffer.\r\n * @param {*} bb ByteBuffer to test\r\n * @returns {boolean} `true` if it is a ByteBuffer, otherwise `false`\r\n * @expose\r\n */\r\n ByteBuffer.isByteBuffer = function(bb) {\r\n return (bb && bb[\"__isByteBuffer__\"]) === true;\r\n };\r\n /**\r\n * Gets the backing buffer type.\r\n * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes)\r\n * @expose\r\n */\r\n ByteBuffer.type = function() {\r\n return ArrayBuffer;\r\n };\r\n /**\r\n * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its\r\n * {@link ByteBuffer#limit} to the length of the wrapped data.\r\n * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string|!Array.<number>} buffer Anything that can be wrapped\r\n * @param {(string|boolean)=} encoding String encoding if `buffer` is a string (\"base64\", \"hex\", \"binary\", defaults to\r\n * \"utf8\")\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer`\r\n * @expose\r\n */\r\n ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) {\r\n if (typeof encoding !== 'string') {\r\n noAssert = littleEndian;\r\n littleEndian = encoding;\r\n encoding = undefined;\r\n }\r\n if (typeof buffer === 'string') {\r\n if (typeof encoding === 'undefined')\r\n encoding = \"utf8\";\r\n switch (encoding) {\r\n case \"base64\":\r\n return ByteBuffer.fromBase64(buffer, littleEndian);\r\n case \"hex\":\r\n return ByteBuffer.fromHex(buffer, littleEndian);\r\n case \"binary\":\r\n return ByteBuffer.fromBinary(buffer, littleEndian);\r\n case \"utf8\":\r\n return ByteBuffer.fromUTF8(buffer, littleEndian);\r\n case \"debug\":\r\n return ByteBuffer.fromDebug(buffer, littleEndian);\r\n default:\r\n throw Error(\"Unsupported encoding: \"+encoding);\r\n }\r\n }\r\n if (buffer === null || typeof buffer !== 'object')\r\n throw TypeError(\"Illegal buffer\");\r\n var bb;\r\n if (ByteBuffer.isByteBuffer(buffer)) {\r\n bb = ByteBufferPrototype.clone.call(buffer);\r\n bb.markedOffset = -1;\r\n return bb;\r\n }\r\n if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array\r\n bb = new ByteBuffer(0, littleEndian, noAssert);\r\n if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER\r\n bb.buffer = buffer.buffer;\r\n bb.offset = buffer.byteOffset;\r\n bb.limit = buffer.byteOffset + buffer.byteLength;\r\n bb.view = new Uint8Array(buffer.buffer);\r\n }\r\n } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer\r\n bb = new ByteBuffer(0, littleEndian, noAssert);\r\n if (buffer.byteLength > 0) {\r\n bb.buffer = buffer;\r\n bb.offset = 0;\r\n bb.limit = buffer.byteLength;\r\n bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null;\r\n }\r\n } else if (Object.prototype.toString.call(buffer) === \"[object Array]\") { // Create from octets\r\n bb = new ByteBuffer(buffer.length, littleEndian, noAssert);\r\n bb.limit = buffer.length;\r\n for (var i=0; i<buffer.length; ++i)\r\n bb.view[i] = buffer[i];\r\n } else\r\n throw TypeError(\"Illegal buffer\"); // Otherwise fail\r\n return bb;\r\n };\r\n\r\n /**\r\n * Writes the array as a bitset.\r\n * @param {Array<boolean>} value Array of booleans to write\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted.\r\n * @returns {!ByteBuffer}\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeBitSet = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (!(value instanceof Array))\r\n throw TypeError(\"Illegal BitSet: Not an array\");\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n\r\n var start = offset,\r\n bits = value.length,\r\n bytes = (bits >> 3),\r\n bit = 0,\r\n k;\r\n\r\n offset += this.writeVarint32(bits,offset);\r\n\r\n while(bytes--) {\r\n k = (!!value[bit++] & 1) |\r\n ((!!value[bit++] & 1) << 1) |\r\n ((!!value[bit++] & 1) << 2) |\r\n ((!!value[bit++] & 1) << 3) |\r\n ((!!value[bit++] & 1) << 4) |\r\n ((!!value[bit++] & 1) << 5) |\r\n ((!!value[bit++] & 1) << 6) |\r\n ((!!value[bit++] & 1) << 7);\r\n this.writeByte(k,offset++);\r\n }\r\n\r\n if(bit < bits) {\r\n var m = 0; k = 0;\r\n while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++));\r\n this.writeByte(k,offset++);\r\n }\r\n\r\n if (relative) {\r\n this.offset = offset;\r\n return this;\r\n }\r\n return offset - start;\r\n }\r\n\r\n /**\r\n * Reads a BitSet as an array of booleans.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted.\r\n * @returns {Array<boolean>\r\n * @expose\r\n */\r\n ByteBufferPrototype.readBitSet = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n\r\n var ret = this.readVarint32(offset),\r\n bits = ret.value,\r\n bytes = (bits >> 3),\r\n bit = 0,\r\n value = [],\r\n k;\r\n\r\n offset += ret.length;\r\n\r\n while(bytes--) {\r\n k = this.readByte(offset++);\r\n value[bit++] = !!(k & 0x01);\r\n value[bit++] = !!(k & 0x02);\r\n value[bit++] = !!(k & 0x04);\r\n value[bit++] = !!(k & 0x08);\r\n value[bit++] = !!(k & 0x10);\r\n value[bit++] = !!(k & 0x20);\r\n value[bit++] = !!(k & 0x40);\r\n value[bit++] = !!(k & 0x80);\r\n }\r\n\r\n if(bit < bits) {\r\n var m = 0;\r\n k = this.readByte(offset++);\r\n while(bit < bits) value[bit++] = !!((k >> (m++)) & 1);\r\n }\r\n\r\n if (relative) {\r\n this.offset = offset;\r\n }\r\n return value;\r\n }\r\n /**\r\n * Reads the specified number of bytes.\r\n * @param {number} length Number of bytes to read\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted.\r\n * @returns {!ByteBuffer}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readBytes = function(length, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + length > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+length+\") <= \"+this.buffer.byteLength);\n }\r\n var slice = this.slice(offset, offset + length);\r\n if (relative) this.offset += length;\n return slice;\r\n };\r\n\r\n /**\r\n * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}.\r\n * @function\r\n * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets\r\n * will be modified according to the performed read operation.\r\n * @param {(string|number)=} encoding Encoding if `data` is a string (\"base64\", \"hex\", \"binary\", defaults to \"utf8\")\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeBytes = ByteBufferPrototype.append;\r\n\r\n // types/ints/int8\r\n\r\n /**\r\n * Writes an 8bit signed integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeInt8 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value |= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 1;\n var capacity0 = this.buffer.byteLength;\n if (offset > capacity0)\n this.resize((capacity0 *= 2) > offset ? capacity0 : offset);\n offset -= 1;\n this.view[offset] = value;\r\n if (relative) this.offset += 1;\n return this;\r\n };\r\n\r\n /**\r\n * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8;\r\n\r\n /**\r\n * Reads an 8bit signed integer.\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readInt8 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 1 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+1+\") <= \"+this.buffer.byteLength);\n }\r\n var value = this.view[offset];\r\n if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed\r\n if (relative) this.offset += 1;\n return value;\r\n };\r\n\r\n /**\r\n * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8;\r\n\r\n /**\r\n * Writes an 8bit unsigned integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUint8 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value >>>= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 1;\n var capacity1 = this.buffer.byteLength;\n if (offset > capacity1)\n this.resize((capacity1 *= 2) > offset ? capacity1 : offset);\n offset -= 1;\n this.view[offset] = value;\r\n if (relative) this.offset += 1;\n return this;\r\n };\r\n\r\n /**\r\n * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8;\r\n\r\n /**\r\n * Reads an 8bit unsigned integer.\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUint8 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 1 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+1+\") <= \"+this.buffer.byteLength);\n }\r\n var value = this.view[offset];\r\n if (relative) this.offset += 1;\n return value;\r\n };\r\n\r\n /**\r\n * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8;\r\n\r\n // types/ints/int16\r\n\r\n /**\r\n * Writes a 16bit signed integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @throws {TypeError} If `offset` or `value` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeInt16 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value |= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 2;\n var capacity2 = this.buffer.byteLength;\n if (offset > capacity2)\n this.resize((capacity2 *= 2) > offset ? capacity2 : offset);\n offset -= 2;\n if (this.littleEndian) {\r\n this.view[offset+1] = (value & 0xFF00) >>> 8;\r\n this.view[offset ] = value & 0x00FF;\r\n } else {\r\n this.view[offset] = (value & 0xFF00) >>> 8;\r\n this.view[offset+1] = value & 0x00FF;\r\n }\r\n if (relative) this.offset += 2;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @throws {TypeError} If `offset` or `value` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16;\r\n\r\n /**\r\n * Reads a 16bit signed integer.\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @returns {number} Value read\r\n * @throws {TypeError} If `offset` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.readInt16 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 2 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+2+\") <= \"+this.buffer.byteLength);\n }\r\n var value = 0;\r\n if (this.littleEndian) {\r\n value = this.view[offset ];\r\n value |= this.view[offset+1] << 8;\r\n } else {\r\n value = this.view[offset ] << 8;\r\n value |= this.view[offset+1];\r\n }\r\n if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed\r\n if (relative) this.offset += 2;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @returns {number} Value read\r\n * @throws {TypeError} If `offset` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16;\r\n\r\n /**\r\n * Writes a 16bit unsigned integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @throws {TypeError} If `offset` or `value` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUint16 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value >>>= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 2;\n var capacity3 = this.buffer.byteLength;\n if (offset > capacity3)\n this.resize((capacity3 *= 2) > offset ? capacity3 : offset);\n offset -= 2;\n if (this.littleEndian) {\r\n this.view[offset+1] = (value & 0xFF00) >>> 8;\r\n this.view[offset ] = value & 0x00FF;\r\n } else {\r\n this.view[offset] = (value & 0xFF00) >>> 8;\r\n this.view[offset+1] = value & 0x00FF;\r\n }\r\n if (relative) this.offset += 2;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @throws {TypeError} If `offset` or `value` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16;\r\n\r\n /**\r\n * Reads a 16bit unsigned integer.\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @returns {number} Value read\r\n * @throws {TypeError} If `offset` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUint16 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 2 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+2+\") <= \"+this.buffer.byteLength);\n }\r\n var value = 0;\r\n if (this.littleEndian) {\r\n value = this.view[offset ];\r\n value |= this.view[offset+1] << 8;\r\n } else {\r\n value = this.view[offset ] << 8;\r\n value |= this.view[offset+1];\r\n }\r\n if (relative) this.offset += 2;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted.\r\n * @returns {number} Value read\r\n * @throws {TypeError} If `offset` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16;\r\n\r\n // types/ints/int32\r\n\r\n /**\r\n * Writes a 32bit signed integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeInt32 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value |= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 4;\n var capacity4 = this.buffer.byteLength;\n if (offset > capacity4)\n this.resize((capacity4 *= 2) > offset ? capacity4 : offset);\n offset -= 4;\n if (this.littleEndian) {\n this.view[offset+3] = (value >>> 24) & 0xFF;\n this.view[offset+2] = (value >>> 16) & 0xFF;\n this.view[offset+1] = (value >>> 8) & 0xFF;\n this.view[offset ] = value & 0xFF;\n } else {\n this.view[offset ] = (value >>> 24) & 0xFF;\n this.view[offset+1] = (value >>> 16) & 0xFF;\n this.view[offset+2] = (value >>> 8) & 0xFF;\n this.view[offset+3] = value & 0xFF;\n }\n if (relative) this.offset += 4;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32;\r\n\r\n /**\r\n * Reads a 32bit signed integer.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readInt32 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 4 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+4+\") <= \"+this.buffer.byteLength);\n }\r\n var value = 0;\r\n if (this.littleEndian) {\n value = this.view[offset+2] << 16;\n value |= this.view[offset+1] << 8;\n value |= this.view[offset ];\n value += this.view[offset+3] << 24 >>> 0;\n } else {\n value = this.view[offset+1] << 16;\n value |= this.view[offset+2] << 8;\n value |= this.view[offset+3];\n value += this.view[offset ] << 24 >>> 0;\n }\n value |= 0; // Cast to signed\r\n if (relative) this.offset += 4;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}.\r\n * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32;\r\n\r\n /**\r\n * Writes a 32bit unsigned integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUint32 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value >>>= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 4;\n var capacity5 = this.buffer.byteLength;\n if (offset > capacity5)\n this.resize((capacity5 *= 2) > offset ? capacity5 : offset);\n offset -= 4;\n if (this.littleEndian) {\n this.view[offset+3] = (value >>> 24) & 0xFF;\n this.view[offset+2] = (value >>> 16) & 0xFF;\n this.view[offset+1] = (value >>> 8) & 0xFF;\n this.view[offset ] = value & 0xFF;\n } else {\n this.view[offset ] = (value >>> 24) & 0xFF;\n this.view[offset+1] = (value >>> 16) & 0xFF;\n this.view[offset+2] = (value >>> 8) & 0xFF;\n this.view[offset+3] = value & 0xFF;\n }\n if (relative) this.offset += 4;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32;\r\n\r\n /**\r\n * Reads a 32bit unsigned integer.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUint32 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 4 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+4+\") <= \"+this.buffer.byteLength);\n }\r\n var value = 0;\r\n if (this.littleEndian) {\n value = this.view[offset+2] << 16;\n value |= this.view[offset+1] << 8;\n value |= this.view[offset ];\n value += this.view[offset+3] << 24 >>> 0;\n } else {\n value = this.view[offset+1] << 16;\n value |= this.view[offset+2] << 8;\n value |= this.view[offset+3];\n value += this.view[offset ] << 24 >>> 0;\n }\n if (relative) this.offset += 4;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {number} Value read\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32;\r\n\r\n // types/ints/int64\r\n\r\n if (Long) {\r\n\r\n /**\r\n * Writes a 64bit signed integer.\r\n * @param {number|!Long} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeInt64 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value === 'number')\n value = Long.fromNumber(value);\n else if (typeof value === 'string')\n value = Long.fromString(value);\n else if (!(value && value instanceof Long))\n throw TypeError(\"Illegal value: \"+value+\" (not an integer or Long)\");\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n if (typeof value === 'number')\n value = Long.fromNumber(value);\n else if (typeof value === 'string')\n value = Long.fromString(value);\n offset += 8;\n var capacity6 = this.buffer.byteLength;\n if (offset > capacity6)\n this.resize((capacity6 *= 2) > offset ? capacity6 : offset);\n offset -= 8;\n var lo = value.low,\r\n hi = value.high;\r\n if (this.littleEndian) {\r\n this.view[offset+3] = (lo >>> 24) & 0xFF;\n this.view[offset+2] = (lo >>> 16) & 0xFF;\n this.view[offset+1] = (lo >>> 8) & 0xFF;\n this.view[offset ] = lo & 0xFF;\n offset += 4;\r\n this.view[offset+3] = (hi >>> 24) & 0xFF;\n this.view[offset+2] = (hi >>> 16) & 0xFF;\n this.view[offset+1] = (hi >>> 8) & 0xFF;\n this.view[offset ] = hi & 0xFF;\n } else {\r\n this.view[offset ] = (hi >>> 24) & 0xFF;\n this.view[offset+1] = (hi >>> 16) & 0xFF;\n this.view[offset+2] = (hi >>> 8) & 0xFF;\n this.view[offset+3] = hi & 0xFF;\n offset += 4;\r\n this.view[offset ] = (lo >>> 24) & 0xFF;\n this.view[offset+1] = (lo >>> 16) & 0xFF;\n this.view[offset+2] = (lo >>> 8) & 0xFF;\n this.view[offset+3] = lo & 0xFF;\n }\r\n if (relative) this.offset += 8;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}.\r\n * @param {number|!Long} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64;\r\n\r\n /**\r\n * Reads a 64bit signed integer.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!Long}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readInt64 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 8 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+8+\") <= \"+this.buffer.byteLength);\n }\r\n var lo = 0,\r\n hi = 0;\r\n if (this.littleEndian) {\r\n lo = this.view[offset+2] << 16;\n lo |= this.view[offset+1] << 8;\n lo |= this.view[offset ];\n lo += this.view[offset+3] << 24 >>> 0;\n offset += 4;\r\n hi = this.view[offset+2] << 16;\n hi |= this.view[offset+1] << 8;\n hi |= this.view[offset ];\n hi += this.view[offset+3] << 24 >>> 0;\n } else {\r\n hi = this.view[offset+1] << 16;\n hi |= this.view[offset+2] << 8;\n hi |= this.view[offset+3];\n hi += this.view[offset ] << 24 >>> 0;\n offset += 4;\r\n lo = this.view[offset+1] << 16;\n lo |= this.view[offset+2] << 8;\n lo |= this.view[offset+3];\n lo += this.view[offset ] << 24 >>> 0;\n }\r\n var value = new Long(lo, hi, false);\r\n if (relative) this.offset += 8;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!Long}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64;\r\n\r\n /**\r\n * Writes a 64bit unsigned integer.\r\n * @param {number|!Long} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUint64 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value === 'number')\n value = Long.fromNumber(value);\n else if (typeof value === 'string')\n value = Long.fromString(value);\n else if (!(value && value instanceof Long))\n throw TypeError(\"Illegal value: \"+value+\" (not an integer or Long)\");\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n if (typeof value === 'number')\n value = Long.fromNumber(value);\n else if (typeof value === 'string')\n value = Long.fromString(value);\n offset += 8;\n var capacity7 = this.buffer.byteLength;\n if (offset > capacity7)\n this.resize((capacity7 *= 2) > offset ? capacity7 : offset);\n offset -= 8;\n var lo = value.low,\r\n hi = value.high;\r\n if (this.littleEndian) {\r\n this.view[offset+3] = (lo >>> 24) & 0xFF;\n this.view[offset+2] = (lo >>> 16) & 0xFF;\n this.view[offset+1] = (lo >>> 8) & 0xFF;\n this.view[offset ] = lo & 0xFF;\n offset += 4;\r\n this.view[offset+3] = (hi >>> 24) & 0xFF;\n this.view[offset+2] = (hi >>> 16) & 0xFF;\n this.view[offset+1] = (hi >>> 8) & 0xFF;\n this.view[offset ] = hi & 0xFF;\n } else {\r\n this.view[offset ] = (hi >>> 24) & 0xFF;\n this.view[offset+1] = (hi >>> 16) & 0xFF;\n this.view[offset+2] = (hi >>> 8) & 0xFF;\n this.view[offset+3] = hi & 0xFF;\n offset += 4;\r\n this.view[offset ] = (lo >>> 24) & 0xFF;\n this.view[offset+1] = (lo >>> 16) & 0xFF;\n this.view[offset+2] = (lo >>> 8) & 0xFF;\n this.view[offset+3] = lo & 0xFF;\n }\r\n if (relative) this.offset += 8;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}.\r\n * @function\r\n * @param {number|!Long} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64;\r\n\r\n /**\r\n * Reads a 64bit unsigned integer.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!Long}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUint64 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 8 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+8+\") <= \"+this.buffer.byteLength);\n }\r\n var lo = 0,\r\n hi = 0;\r\n if (this.littleEndian) {\r\n lo = this.view[offset+2] << 16;\n lo |= this.view[offset+1] << 8;\n lo |= this.view[offset ];\n lo += this.view[offset+3] << 24 >>> 0;\n offset += 4;\r\n hi = this.view[offset+2] << 16;\n hi |= this.view[offset+1] << 8;\n hi |= this.view[offset ];\n hi += this.view[offset+3] << 24 >>> 0;\n } else {\r\n hi = this.view[offset+1] << 16;\n hi |= this.view[offset+2] << 8;\n hi |= this.view[offset+3];\n hi += this.view[offset ] << 24 >>> 0;\n offset += 4;\r\n lo = this.view[offset+1] << 16;\n lo |= this.view[offset+2] << 8;\n lo |= this.view[offset+3];\n lo += this.view[offset ] << 24 >>> 0;\n }\r\n var value = new Long(lo, hi, true);\r\n if (relative) this.offset += 8;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!Long}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64;\r\n\r\n } // Long\r\n\r\n\r\n // types/floats/float32\r\n\r\n /*\r\n ieee754 - https://github.com/feross/ieee754\r\n\r\n The MIT License (MIT)\r\n\r\n Copyright (c) Feross Aboukhadijeh\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining a copy\r\n of this software and associated documentation files (the \"Software\"), to deal\r\n in the Software without restriction, including without limitation the rights\r\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n copies of the Software, and to permit persons to whom the Software is\r\n furnished to do so, subject to the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be included in\r\n all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\n THE SOFTWARE.\r\n */\r\n\r\n /**\r\n * Reads an IEEE754 float from a byte array.\r\n * @param {!Array} buffer\r\n * @param {number} offset\r\n * @param {boolean} isLE\r\n * @param {number} mLen\r\n * @param {number} nBytes\r\n * @returns {number}\r\n * @inner\r\n */\r\n function ieee754_read(buffer, offset, isLE, mLen, nBytes) {\r\n var e, m,\r\n eLen = nBytes * 8 - mLen - 1,\r\n eMax = (1 << eLen) - 1,\r\n eBias = eMax >> 1,\r\n nBits = -7,\r\n i = isLE ? (nBytes - 1) : 0,\r\n d = isLE ? -1 : 1,\r\n s = buffer[offset + i];\r\n\r\n i += d;\r\n\r\n e = s & ((1 << (-nBits)) - 1);\r\n s >>= (-nBits);\r\n nBits += eLen;\r\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\r\n\r\n m = e & ((1 << (-nBits)) - 1);\r\n e >>= (-nBits);\r\n nBits += mLen;\r\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\r\n\r\n if (e === 0) {\r\n e = 1 - eBias;\r\n } else if (e === eMax) {\r\n return m ? NaN : ((s ? -1 : 1) * Infinity);\r\n } else {\r\n m = m + Math.pow(2, mLen);\r\n e = e - eBias;\r\n }\r\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\r\n }\r\n\r\n /**\r\n * Writes an IEEE754 float to a byte array.\r\n * @param {!Array} buffer\r\n * @param {number} value\r\n * @param {number} offset\r\n * @param {boolean} isLE\r\n * @param {number} mLen\r\n * @param {number} nBytes\r\n * @inner\r\n */\r\n function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) {\r\n var e, m, c,\r\n eLen = nBytes * 8 - mLen - 1,\r\n eMax = (1 << eLen) - 1,\r\n eBias = eMax >> 1,\r\n rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),\r\n i = isLE ? 0 : (nBytes - 1),\r\n d = isLE ? 1 : -1,\r\n s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\r\n\r\n value = Math.abs(value);\r\n\r\n if (isNaN(value) || value === Infinity) {\r\n m = isNaN(value) ? 1 : 0;\r\n e = eMax;\r\n } else {\r\n e = Math.floor(Math.log(value) / Math.LN2);\r\n if (value * (c = Math.pow(2, -e)) < 1) {\r\n e--;\r\n c *= 2;\r\n }\r\n if (e + eBias >= 1) {\r\n value += rt / c;\r\n } else {\r\n value += rt * Math.pow(2, 1 - eBias);\r\n }\r\n if (value * c >= 2) {\r\n e++;\r\n c /= 2;\r\n }\r\n\r\n if (e + eBias >= eMax) {\r\n m = 0;\r\n e = eMax;\r\n } else if (e + eBias >= 1) {\r\n m = (value * c - 1) * Math.pow(2, mLen);\r\n e = e + eBias;\r\n } else {\r\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\r\n e = 0;\r\n }\r\n }\r\n\r\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\r\n\r\n e = (e << mLen) | m;\r\n eLen += mLen;\r\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\r\n\r\n buffer[offset + i - d] |= s * 128;\r\n }\r\n\r\n /**\r\n * Writes a 32bit float.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeFloat32 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number')\r\n throw TypeError(\"Illegal value: \"+value+\" (not a number)\");\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 4;\n var capacity8 = this.buffer.byteLength;\n if (offset > capacity8)\n this.resize((capacity8 *= 2) > offset ? capacity8 : offset);\n offset -= 4;\n ieee754_write(this.view, value, offset, this.littleEndian, 23, 4);\r\n if (relative) this.offset += 4;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32;\r\n\r\n /**\r\n * Reads a 32bit float.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {number}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readFloat32 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 4 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+4+\") <= \"+this.buffer.byteLength);\n }\r\n var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4);\r\n if (relative) this.offset += 4;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted.\r\n * @returns {number}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32;\r\n\r\n // types/floats/float64\r\n\r\n /**\r\n * Writes a 64bit float.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeFloat64 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number')\r\n throw TypeError(\"Illegal value: \"+value+\" (not a number)\");\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n offset += 8;\n var capacity9 = this.buffer.byteLength;\n if (offset > capacity9)\n this.resize((capacity9 *= 2) > offset ? capacity9 : offset);\n offset -= 8;\n ieee754_write(this.view, value, offset, this.littleEndian, 52, 8);\r\n if (relative) this.offset += 8;\n return this;\r\n };\r\n\r\n /**\r\n * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}.\r\n * @function\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64;\r\n\r\n /**\r\n * Reads a 64bit float.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {number}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readFloat64 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 8 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+8+\") <= \"+this.buffer.byteLength);\n }\r\n var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8);\r\n if (relative) this.offset += 8;\n return value;\r\n };\r\n\r\n /**\r\n * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}.\r\n * @function\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted.\r\n * @returns {number}\r\n * @expose\r\n */\r\n ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64;\r\n\r\n\r\n // types/varints/varint32\r\n\r\n /**\r\n * Maximum number of bytes required to store a 32bit base 128 variable-length integer.\r\n * @type {number}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.MAX_VARINT32_BYTES = 5;\r\n\r\n /**\r\n * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer.\r\n * @param {number} value Value to encode\r\n * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES}\r\n * @expose\r\n */\r\n ByteBuffer.calculateVarint32 = function(value) {\r\n // ref: src/google/protobuf/io/coded_stream.cc\r\n value = value >>> 0;\r\n if (value < 1 << 7 ) return 1;\r\n else if (value < 1 << 14) return 2;\r\n else if (value < 1 << 21) return 3;\r\n else if (value < 1 << 28) return 4;\r\n else return 5;\r\n };\r\n\r\n /**\r\n * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding.\r\n * @param {number} n Signed 32bit integer\r\n * @returns {number} Unsigned zigzag encoded 32bit integer\r\n * @expose\r\n */\r\n ByteBuffer.zigZagEncode32 = function(n) {\r\n return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h\r\n };\r\n\r\n /**\r\n * Decodes a zigzag encoded signed 32bit integer.\r\n * @param {number} n Unsigned zigzag encoded 32bit integer\r\n * @returns {number} Signed 32bit integer\r\n * @expose\r\n */\r\n ByteBuffer.zigZagDecode32 = function(n) {\r\n return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h\r\n };\r\n\r\n /**\r\n * Writes a 32bit base 128 variable-length integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeVarint32 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value |= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n var size = ByteBuffer.calculateVarint32(value),\r\n b;\r\n offset += size;\n var capacity10 = this.buffer.byteLength;\n if (offset > capacity10)\n this.resize((capacity10 *= 2) > offset ? capacity10 : offset);\n offset -= size;\n value >>>= 0;\r\n while (value >= 0x80) {\r\n b = (value & 0x7f) | 0x80;\r\n this.view[offset++] = b;\r\n value >>>= 7;\r\n }\r\n this.view[offset++] = value;\r\n if (relative) {\r\n this.offset = offset;\r\n return this;\r\n }\r\n return size;\r\n };\r\n\r\n /**\r\n * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer.\r\n * @param {number} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) {\r\n return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset);\r\n };\r\n\r\n /**\r\n * Reads a 32bit base 128 variable-length integer.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read\r\n * and the actual number of bytes read.\r\n * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available\r\n * to fully decode the varint.\r\n * @expose\r\n */\r\n ByteBufferPrototype.readVarint32 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 1 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+1+\") <= \"+this.buffer.byteLength);\n }\r\n var c = 0,\r\n value = 0 >>> 0,\r\n b;\r\n do {\r\n if (!this.noAssert && offset > this.limit) {\r\n var err = Error(\"Truncated\");\r\n err['truncated'] = true;\r\n throw err;\r\n }\r\n b = this.view[offset++];\r\n if (c < 5)\r\n value |= (b & 0x7f) << (7*c);\r\n ++c;\r\n } while ((b & 0x80) !== 0);\r\n value |= 0;\r\n if (relative) {\r\n this.offset = offset;\r\n return value;\r\n }\r\n return {\r\n \"value\": value,\r\n \"length\": c\r\n };\r\n };\r\n\r\n /**\r\n * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read\r\n * and the actual number of bytes read.\r\n * @throws {Error} If it's not a valid varint\r\n * @expose\r\n */\r\n ByteBufferPrototype.readVarint32ZigZag = function(offset) {\r\n var val = this.readVarint32(offset);\r\n if (typeof val === 'object')\r\n val[\"value\"] = ByteBuffer.zigZagDecode32(val[\"value\"]);\r\n else\r\n val = ByteBuffer.zigZagDecode32(val);\r\n return val;\r\n };\r\n\r\n // types/varints/varint64\r\n\r\n if (Long) {\r\n\r\n /**\r\n * Maximum number of bytes required to store a 64bit base 128 variable-length integer.\r\n * @type {number}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.MAX_VARINT64_BYTES = 10;\r\n\r\n /**\r\n * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer.\r\n * @param {number|!Long} value Value to encode\r\n * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES}\r\n * @expose\r\n */\r\n ByteBuffer.calculateVarint64 = function(value) {\r\n if (typeof value === 'number')\n value = Long.fromNumber(value);\n else if (typeof value === 'string')\n value = Long.fromString(value);\n // ref: src/google/protobuf/io/coded_stream.cc\r\n var part0 = value.toInt() >>> 0,\r\n part1 = value.shiftRightUnsigned(28).toInt() >>> 0,\r\n part2 = value.shiftRightUnsigned(56).toInt() >>> 0;\r\n if (part2 == 0) {\r\n if (part1 == 0) {\r\n if (part0 < 1 << 14)\r\n return part0 < 1 << 7 ? 1 : 2;\r\n else\r\n return part0 < 1 << 21 ? 3 : 4;\r\n } else {\r\n if (part1 < 1 << 14)\r\n return part1 < 1 << 7 ? 5 : 6;\r\n else\r\n return part1 < 1 << 21 ? 7 : 8;\r\n }\r\n } else\r\n return part2 < 1 << 7 ? 9 : 10;\r\n };\r\n\r\n /**\r\n * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding.\r\n * @param {number|!Long} value Signed long\r\n * @returns {!Long} Unsigned zigzag encoded long\r\n * @expose\r\n */\r\n ByteBuffer.zigZagEncode64 = function(value) {\r\n if (typeof value === 'number')\n value = Long.fromNumber(value, false);\n else if (typeof value === 'string')\n value = Long.fromString(value, false);\n else if (value.unsigned !== false) value = value.toSigned();\n // ref: src/google/protobuf/wire_format_lite.h\r\n return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned();\r\n };\r\n\r\n /**\r\n * Decodes a zigzag encoded signed 64bit integer.\r\n * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number\r\n * @returns {!Long} Signed long\r\n * @expose\r\n */\r\n ByteBuffer.zigZagDecode64 = function(value) {\r\n if (typeof value === 'number')\n value = Long.fromNumber(value, false);\n else if (typeof value === 'string')\n value = Long.fromString(value, false);\n else if (value.unsigned !== false) value = value.toSigned();\n // ref: src/google/protobuf/wire_format_lite.h\r\n return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned();\r\n };\r\n\r\n /**\r\n * Writes a 64bit base 128 variable-length integer.\r\n * @param {number|Long} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeVarint64 = function(value, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof value === 'number')\n value = Long.fromNumber(value);\n else if (typeof value === 'string')\n value = Long.fromString(value);\n else if (!(value && value instanceof Long))\n throw TypeError(\"Illegal value: \"+value+\" (not an integer or Long)\");\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n if (typeof value === 'number')\n value = Long.fromNumber(value, false);\n else if (typeof value === 'string')\n value = Long.fromString(value, false);\n else if (value.unsigned !== false) value = value.toSigned();\n var size = ByteBuffer.calculateVarint64(value),\r\n part0 = value.toInt() >>> 0,\r\n part1 = value.shiftRightUnsigned(28).toInt() >>> 0,\r\n part2 = value.shiftRightUnsigned(56).toInt() >>> 0;\r\n offset += size;\n var capacity11 = this.buffer.byteLength;\n if (offset > capacity11)\n this.resize((capacity11 *= 2) > offset ? capacity11 : offset);\n offset -= size;\n switch (size) {\r\n case 10: this.view[offset+9] = (part2 >>> 7) & 0x01;\r\n case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F;\r\n case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F;\r\n case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F;\r\n case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F;\r\n case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F;\r\n case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F;\r\n case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F;\r\n case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F;\r\n case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F;\r\n }\r\n if (relative) {\r\n this.offset += size;\r\n return this;\r\n } else {\r\n return size;\r\n }\r\n };\r\n\r\n /**\r\n * Writes a zig-zag encoded 64bit base 128 variable-length integer.\r\n * @param {number|Long} value Value to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) {\r\n return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset);\r\n };\r\n\r\n /**\r\n * Reads a 64bit base 128 variable-length integer. Requires Long.js.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and\r\n * the actual number of bytes read.\r\n * @throws {Error} If it's not a valid varint\r\n * @expose\r\n */\r\n ByteBufferPrototype.readVarint64 = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 1 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+1+\") <= \"+this.buffer.byteLength);\n }\r\n // ref: src/google/protobuf/io/coded_stream.cc\r\n var start = offset,\r\n part0 = 0,\r\n part1 = 0,\r\n part2 = 0,\r\n b = 0;\r\n b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) {\r\n b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) {\r\n throw Error(\"Buffer overrun\"); }}}}}}}}}}\r\n var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false);\r\n if (relative) {\r\n this.offset = offset;\r\n return value;\r\n } else {\r\n return {\r\n 'value': value,\r\n 'length': offset-start\r\n };\r\n }\r\n };\r\n\r\n /**\r\n * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and\r\n * the actual number of bytes read.\r\n * @throws {Error} If it's not a valid varint\r\n * @expose\r\n */\r\n ByteBufferPrototype.readVarint64ZigZag = function(offset) {\r\n var val = this.readVarint64(offset);\r\n if (val && val['value'] instanceof Long)\r\n val[\"value\"] = ByteBuffer.zigZagDecode64(val[\"value\"]);\r\n else\r\n val = ByteBuffer.zigZagDecode64(val);\r\n return val;\r\n };\r\n\r\n } // Long\r\n\r\n\r\n // types/strings/cstring\r\n\r\n /**\r\n * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL\r\n * characters itself.\r\n * @param {string} str String to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * contained in `str` + 1 if omitted.\r\n * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeCString = function(str, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n var i,\r\n k = str.length;\r\n if (!this.noAssert) {\r\n if (typeof str !== 'string')\r\n throw TypeError(\"Illegal str: Not a string\");\r\n for (i=0; i<k; ++i) {\r\n if (str.charCodeAt(i) === 0)\r\n throw RangeError(\"Illegal str: Contains NULL-characters\");\r\n }\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n // UTF8 strings do not contain zero bytes in between except for the zero character, so:\r\n k = utfx.calculateUTF16asUTF8(stringSource(str))[1];\r\n offset += k+1;\n var capacity12 = this.buffer.byteLength;\n if (offset > capacity12)\n this.resize((capacity12 *= 2) > offset ? capacity12 : offset);\n offset -= k+1;\n utfx.encodeUTF16toUTF8(stringSource(str), function(b) {\r\n this.view[offset++] = b;\r\n }.bind(this));\r\n this.view[offset++] = 0;\r\n if (relative) {\r\n this.offset = offset;\r\n return this;\r\n }\r\n return k;\r\n };\r\n\r\n /**\r\n * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters\r\n * itself.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n * read and the actual number of bytes read.\r\n * @expose\r\n */\r\n ByteBufferPrototype.readCString = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 1 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+1+\") <= \"+this.buffer.byteLength);\n }\r\n var start = offset,\r\n temp;\r\n // UTF8 strings do not contain zero bytes in between except for the zero character itself, so:\r\n var sd, b = -1;\r\n utfx.decodeUTF8toUTF16(function() {\r\n if (b === 0) return null;\r\n if (offset >= this.limit)\r\n throw RangeError(\"Illegal range: Truncated data, \"+offset+\" < \"+this.limit);\r\n b = this.view[offset++];\r\n return b === 0 ? null : b;\r\n }.bind(this), sd = stringDestination(), true);\r\n if (relative) {\r\n this.offset = offset;\r\n return sd();\r\n } else {\r\n return {\r\n \"string\": sd(),\r\n \"length\": offset - start\r\n };\r\n }\r\n };\r\n\r\n // types/strings/istring\r\n\r\n /**\r\n * Writes a length as uint32 prefixed UTF8 encoded string.\r\n * @param {string} str String to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written\r\n * @expose\r\n * @see ByteBuffer#writeVarint32\r\n */\r\n ByteBufferPrototype.writeIString = function(str, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof str !== 'string')\r\n throw TypeError(\"Illegal str: Not a string\");\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n var start = offset,\r\n k;\r\n k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1];\r\n offset += 4+k;\n var capacity13 = this.buffer.byteLength;\n if (offset > capacity13)\n this.resize((capacity13 *= 2) > offset ? capacity13 : offset);\n offset -= 4+k;\n if (this.littleEndian) {\n this.view[offset+3] = (k >>> 24) & 0xFF;\n this.view[offset+2] = (k >>> 16) & 0xFF;\n this.view[offset+1] = (k >>> 8) & 0xFF;\n this.view[offset ] = k & 0xFF;\n } else {\n this.view[offset ] = (k >>> 24) & 0xFF;\n this.view[offset+1] = (k >>> 16) & 0xFF;\n this.view[offset+2] = (k >>> 8) & 0xFF;\n this.view[offset+3] = k & 0xFF;\n }\n offset += 4;\r\n utfx.encodeUTF16toUTF8(stringSource(str), function(b) {\r\n this.view[offset++] = b;\r\n }.bind(this));\r\n if (offset !== start + 4 + k)\r\n throw RangeError(\"Illegal range: Truncated data, \"+offset+\" == \"+(offset+4+k));\r\n if (relative) {\r\n this.offset = offset;\r\n return this;\r\n }\r\n return offset - start;\r\n };\r\n\r\n /**\r\n * Reads a length as uint32 prefixed UTF8 encoded string.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n * read and the actual number of bytes read.\r\n * @expose\r\n * @see ByteBuffer#readVarint32\r\n */\r\n ByteBufferPrototype.readIString = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 4 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+4+\") <= \"+this.buffer.byteLength);\n }\r\n var start = offset;\r\n var len = this.readUint32(offset);\r\n var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4);\r\n offset += str['length'];\r\n if (relative) {\r\n this.offset = offset;\r\n return str['string'];\r\n } else {\r\n return {\r\n 'string': str['string'],\r\n 'length': offset - start\r\n };\r\n }\r\n };\r\n\r\n // types/strings/utf8string\r\n\r\n /**\r\n * Metrics representing number of UTF8 characters. Evaluates to `c`.\r\n * @type {string}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.METRICS_CHARS = 'c';\r\n\r\n /**\r\n * Metrics representing number of bytes. Evaluates to `b`.\r\n * @type {string}\r\n * @const\r\n * @expose\r\n */\r\n ByteBuffer.METRICS_BYTES = 'b';\r\n\r\n /**\r\n * Writes an UTF8 encoded string.\r\n * @param {string} str String to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted.\r\n * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeUTF8String = function(str, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n var k;\r\n var start = offset;\r\n k = utfx.calculateUTF16asUTF8(stringSource(str))[1];\r\n offset += k;\n var capacity14 = this.buffer.byteLength;\n if (offset > capacity14)\n this.resize((capacity14 *= 2) > offset ? capacity14 : offset);\n offset -= k;\n utfx.encodeUTF16toUTF8(stringSource(str), function(b) {\r\n this.view[offset++] = b;\r\n }.bind(this));\r\n if (relative) {\r\n this.offset = offset;\r\n return this;\r\n }\r\n return offset - start;\r\n };\r\n\r\n /**\r\n * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}.\r\n * @function\r\n * @param {string} str String to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted.\r\n * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written.\r\n * @expose\r\n */\r\n ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String;\r\n\r\n /**\r\n * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's\r\n * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF.\r\n * @param {string} str String to calculate\r\n * @returns {number} Number of UTF8 characters\r\n * @expose\r\n */\r\n ByteBuffer.calculateUTF8Chars = function(str) {\r\n return utfx.calculateUTF16asUTF8(stringSource(str))[0];\r\n };\r\n\r\n /**\r\n * Calculates the number of UTF8 bytes of a string.\r\n * @param {string} str String to calculate\r\n * @returns {number} Number of UTF8 bytes\r\n * @expose\r\n */\r\n ByteBuffer.calculateUTF8Bytes = function(str) {\r\n return utfx.calculateUTF16asUTF8(stringSource(str))[1];\r\n };\r\n\r\n /**\r\n * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}.\r\n * @function\r\n * @param {string} str String to calculate\r\n * @returns {number} Number of UTF8 bytes\r\n * @expose\r\n */\r\n ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes;\r\n\r\n /**\r\n * Reads an UTF8 encoded string.\r\n * @param {number} length Number of characters or bytes to read.\r\n * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to\r\n * {@link ByteBuffer.METRICS_CHARS}.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n * read and the actual number of bytes read.\r\n * @expose\r\n */\r\n ByteBufferPrototype.readUTF8String = function(length, metrics, offset) {\r\n if (typeof metrics === 'number') {\r\n offset = metrics;\r\n metrics = undefined;\r\n }\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS;\r\n if (!this.noAssert) {\r\n if (typeof length !== 'number' || length % 1 !== 0)\n throw TypeError(\"Illegal length: \"+length+\" (not an integer)\");\n length |= 0;\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n var i = 0,\r\n start = offset,\r\n sd;\r\n if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser\r\n sd = stringDestination();\r\n utfx.decodeUTF8(function() {\r\n return i < length && offset < this.limit ? this.view[offset++] : null;\r\n }.bind(this), function(cp) {\r\n ++i; utfx.UTF8toUTF16(cp, sd);\r\n });\r\n if (i !== length)\r\n throw RangeError(\"Illegal range: Truncated data, \"+i+\" == \"+length);\r\n if (relative) {\r\n this.offset = offset;\r\n return sd();\r\n } else {\r\n return {\r\n \"string\": sd(),\r\n \"length\": offset - start\r\n };\r\n }\r\n } else if (metrics === ByteBuffer.METRICS_BYTES) {\r\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + length > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+length+\") <= \"+this.buffer.byteLength);\n }\r\n var k = offset + length;\r\n utfx.decodeUTF8toUTF16(function() {\r\n return offset < k ? this.view[offset++] : null;\r\n }.bind(this), sd = stringDestination(), this.noAssert);\r\n if (offset !== k)\r\n throw RangeError(\"Illegal range: Truncated data, \"+offset+\" == \"+k);\r\n if (relative) {\r\n this.offset = offset;\r\n return sd();\r\n } else {\r\n return {\r\n 'string': sd(),\r\n 'length': offset - start\r\n };\r\n }\r\n } else\r\n throw TypeError(\"Unsupported metrics: \"+metrics);\r\n };\r\n\r\n /**\r\n * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}.\r\n * @function\r\n * @param {number} length Number of characters or bytes to read\r\n * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to\r\n * {@link ByteBuffer.METRICS_CHARS}.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n * read and the actual number of bytes read.\r\n * @expose\r\n */\r\n ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String;\r\n\r\n // types/strings/vstring\r\n\r\n /**\r\n * Writes a length as varint32 prefixed UTF8 encoded string.\r\n * @param {string} str String to write\r\n * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written\r\n * @expose\r\n * @see ByteBuffer#writeVarint32\r\n */\r\n ByteBufferPrototype.writeVString = function(str, offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof str !== 'string')\r\n throw TypeError(\"Illegal str: Not a string\");\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n var start = offset,\r\n k, l;\r\n k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1];\r\n l = ByteBuffer.calculateVarint32(k);\r\n offset += l+k;\n var capacity15 = this.buffer.byteLength;\n if (offset > capacity15)\n this.resize((capacity15 *= 2) > offset ? capacity15 : offset);\n offset -= l+k;\n offset += this.writeVarint32(k, offset);\r\n utfx.encodeUTF16toUTF8(stringSource(str), function(b) {\r\n this.view[offset++] = b;\r\n }.bind(this));\r\n if (offset !== start+k+l)\r\n throw RangeError(\"Illegal range: Truncated data, \"+offset+\" == \"+(offset+k+l));\r\n if (relative) {\r\n this.offset = offset;\r\n return this;\r\n }\r\n return offset - start;\r\n };\r\n\r\n /**\r\n * Reads a length as varint32 prefixed UTF8 encoded string.\r\n * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string\r\n * read and the actual number of bytes read.\r\n * @expose\r\n * @see ByteBuffer#readVarint32\r\n */\r\n ByteBufferPrototype.readVString = function(offset) {\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 1 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+1+\") <= \"+this.buffer.byteLength);\n }\r\n var start = offset;\r\n var len = this.readVarint32(offset);\r\n var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']);\r\n offset += str['length'];\r\n if (relative) {\r\n this.offset = offset;\r\n return str['string'];\r\n } else {\r\n return {\r\n 'string': str['string'],\r\n 'length': offset - start\r\n };\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended\r\n * data's length.\r\n * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets\r\n * will be modified according to the performed read operation.\r\n * @param {(string|number)=} encoding Encoding if `data` is a string (\"base64\", \"hex\", \"binary\", defaults to \"utf8\")\r\n * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|`\r\n * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|`\r\n */\r\n ByteBufferPrototype.append = function(source, encoding, offset) {\r\n if (typeof encoding === 'number' || typeof encoding !== 'string') {\r\n offset = encoding;\r\n encoding = undefined;\r\n }\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n if (!(source instanceof ByteBuffer))\r\n source = ByteBuffer.wrap(source, encoding);\r\n var length = source.limit - source.offset;\r\n if (length <= 0) return this; // Nothing to append\r\n offset += length;\n var capacity16 = this.buffer.byteLength;\n if (offset > capacity16)\n this.resize((capacity16 *= 2) > offset ? capacity16 : offset);\n offset -= length;\n this.view.set(source.view.subarray(source.offset, source.limit), offset);\r\n source.offset += length;\r\n if (relative) this.offset += length;\n return this;\r\n };\r\n\r\n /**\r\n * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the\r\n specified offset up to the length of this ByteBuffer's data.\r\n * @param {!ByteBuffer} target Target ByteBuffer\r\n * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * read if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n * @see ByteBuffer#append\r\n */\r\n ByteBufferPrototype.appendTo = function(target, offset) {\r\n target.append(this, offset);\r\n return this;\r\n };\r\n\r\n /**\r\n * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to\r\n * disable them if your code already makes sure that everything is valid.\r\n * @param {boolean} assert `true` to enable assertions, otherwise `false`\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.assert = function(assert) {\r\n this.noAssert = !assert;\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the capacity of this ByteBuffer's backing buffer.\r\n * @returns {number} Capacity of the backing buffer\r\n * @expose\r\n */\r\n ByteBufferPrototype.capacity = function() {\r\n return this.buffer.byteLength;\r\n };\r\n /**\r\n * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the\r\n * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.clear = function() {\r\n this.offset = 0;\r\n this.limit = this.buffer.byteLength;\r\n this.markedOffset = -1;\r\n return this;\r\n };\r\n\r\n /**\r\n * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset},\r\n * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}.\r\n * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false`\r\n * @returns {!ByteBuffer} Cloned instance\r\n * @expose\r\n */\r\n ByteBufferPrototype.clone = function(copy) {\r\n var bb = new ByteBuffer(0, this.littleEndian, this.noAssert);\r\n if (copy) {\r\n bb.buffer = new ArrayBuffer(this.buffer.byteLength);\r\n bb.view = new Uint8Array(bb.buffer);\r\n } else {\r\n bb.buffer = this.buffer;\r\n bb.view = this.view;\r\n }\r\n bb.offset = this.offset;\r\n bb.markedOffset = this.markedOffset;\r\n bb.limit = this.limit;\r\n return bb;\r\n };\r\n\r\n /**\r\n * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes\r\n * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and\r\n * adapt {@link ByteBuffer#markedOffset} to the same relative position if set.\r\n * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset}\r\n * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.compact = function(begin, end) {\r\n if (typeof begin === 'undefined') begin = this.offset;\r\n if (typeof end === 'undefined') end = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n if (begin === 0 && end === this.buffer.byteLength)\r\n return this; // Already compacted\r\n var len = end - begin;\r\n if (len === 0) {\r\n this.buffer = EMPTY_BUFFER;\r\n this.view = null;\r\n if (this.markedOffset >= 0) this.markedOffset -= begin;\r\n this.offset = 0;\r\n this.limit = 0;\r\n return this;\r\n }\r\n var buffer = new ArrayBuffer(len);\r\n var view = new Uint8Array(buffer);\r\n view.set(this.view.subarray(begin, end));\r\n this.buffer = buffer;\r\n this.view = view;\r\n if (this.markedOffset >= 0) this.markedOffset -= begin;\r\n this.offset = 0;\r\n this.limit = len;\r\n return this;\r\n };\r\n\r\n /**\r\n * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and\r\n * {@link ByteBuffer#limit}.\r\n * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}.\r\n * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}.\r\n * @returns {!ByteBuffer} Copy\r\n * @expose\r\n */\r\n ByteBufferPrototype.copy = function(begin, end) {\r\n if (typeof begin === 'undefined') begin = this.offset;\r\n if (typeof end === 'undefined') end = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n if (begin === end)\r\n return new ByteBuffer(0, this.littleEndian, this.noAssert);\r\n var capacity = end - begin,\r\n bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert);\r\n bb.offset = 0;\r\n bb.limit = capacity;\r\n if (bb.markedOffset >= 0) bb.markedOffset -= begin;\r\n this.copyTo(bb, 0, begin, end);\r\n return bb;\r\n };\r\n\r\n /**\r\n * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and\r\n * {@link ByteBuffer#limit}.\r\n * @param {!ByteBuffer} target Target ByteBuffer\r\n * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset}\r\n * by the number of bytes copied if omitted.\r\n * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the\r\n * number of bytes copied if omitted.\r\n * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit}\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) {\r\n var relative,\r\n targetRelative;\r\n if (!this.noAssert) {\r\n if (!ByteBuffer.isByteBuffer(target))\r\n throw TypeError(\"Illegal target: Not a ByteBuffer\");\r\n }\r\n targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0;\r\n sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0;\r\n sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0;\r\n\r\n if (targetOffset < 0 || targetOffset > target.buffer.byteLength)\r\n throw RangeError(\"Illegal target range: 0 <= \"+targetOffset+\" <= \"+target.buffer.byteLength);\r\n if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength)\r\n throw RangeError(\"Illegal source range: 0 <= \"+sourceOffset+\" <= \"+this.buffer.byteLength);\r\n\r\n var len = sourceLimit - sourceOffset;\r\n if (len === 0)\r\n return target; // Nothing to copy\r\n\r\n target.ensureCapacity(targetOffset + len);\r\n\r\n target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset);\r\n\r\n if (relative) this.offset += len;\r\n if (targetRelative) target.offset += len;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the\r\n * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity,\r\n * the required capacity will be used instead.\r\n * @param {number} capacity Required capacity\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.ensureCapacity = function(capacity) {\r\n var current = this.buffer.byteLength;\r\n if (current < capacity)\r\n return this.resize((current *= 2) > capacity ? current : capacity);\r\n return this;\r\n };\r\n\r\n /**\r\n * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between\r\n * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}.\r\n * @param {number|string} value Byte value to fill with. If given as a string, the first character is used.\r\n * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes\r\n * written if omitted. defaults to {@link ByteBuffer#offset}.\r\n * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes\r\n */\r\n ByteBufferPrototype.fill = function(value, begin, end) {\r\n var relative = typeof begin === 'undefined';\n if (relative) begin = this.offset;\n if (typeof value === 'string' && value.length > 0)\r\n value = value.charCodeAt(0);\r\n if (typeof begin === 'undefined') begin = this.offset;\r\n if (typeof end === 'undefined') end = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof value !== 'number' || value % 1 !== 0)\n throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");\n value |= 0;\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n if (begin >= end)\r\n return this; // Nothing to fill\r\n while (begin < end) this.view[begin++] = value;\r\n if (relative) this.offset = begin;\r\n return this;\r\n };\r\n\r\n /**\r\n * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and\r\n * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.flip = function() {\r\n this.limit = this.offset;\r\n this.offset = 0;\r\n return this;\r\n };\r\n /**\r\n * Marks an offset on this ByteBuffer to be used later.\r\n * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}.\r\n * @returns {!ByteBuffer} this\r\n * @throws {TypeError} If `offset` is not a valid number\r\n * @throws {RangeError} If `offset` is out of bounds\r\n * @see ByteBuffer#reset\r\n * @expose\r\n */\r\n ByteBufferPrototype.mark = function(offset) {\r\n offset = typeof offset === 'undefined' ? this.offset : offset;\r\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n this.markedOffset = offset;\r\n return this;\r\n };\r\n /**\r\n * Sets the byte order.\r\n * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.order = function(littleEndian) {\r\n if (!this.noAssert) {\r\n if (typeof littleEndian !== 'boolean')\r\n throw TypeError(\"Illegal littleEndian: Not a boolean\");\r\n }\r\n this.littleEndian = !!littleEndian;\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches (to) little endian byte order.\r\n * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.LE = function(littleEndian) {\r\n this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true;\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches (to) big endian byte order.\r\n * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.BE = function(bigEndian) {\r\n this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false;\r\n return this;\r\n };\r\n /**\r\n * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the\r\n * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer\r\n * will be resized and its contents moved accordingly.\r\n * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be\r\n * modified according to the performed read operation.\r\n * @param {(string|number)=} encoding Encoding if `data` is a string (\"base64\", \"hex\", \"binary\", defaults to \"utf8\")\r\n * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes\r\n * prepended if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|`\r\n * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|`\r\n */\r\n ByteBufferPrototype.prepend = function(source, encoding, offset) {\r\n if (typeof encoding === 'number' || typeof encoding !== 'string') {\r\n offset = encoding;\r\n encoding = undefined;\r\n }\r\n var relative = typeof offset === 'undefined';\n if (relative) offset = this.offset;\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");\n offset >>>= 0;\n if (offset < 0 || offset + 0 > this.buffer.byteLength)\n throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+0+\") <= \"+this.buffer.byteLength);\n }\r\n if (!(source instanceof ByteBuffer))\r\n source = ByteBuffer.wrap(source, encoding);\r\n var len = source.limit - source.offset;\r\n if (len <= 0) return this; // Nothing to prepend\r\n var diff = len - offset;\r\n if (diff > 0) { // Not enough space before offset, so resize + move\r\n var buffer = new ArrayBuffer(this.buffer.byteLength + diff);\r\n var view = new Uint8Array(buffer);\r\n view.set(this.view.subarray(offset, this.buffer.byteLength), len);\r\n this.buffer = buffer;\r\n this.view = view;\r\n this.offset += diff;\r\n if (this.markedOffset >= 0) this.markedOffset += diff;\r\n this.limit += diff;\r\n offset += diff;\r\n } else {\r\n var arrayView = new Uint8Array(this.buffer);\r\n }\r\n this.view.set(source.view.subarray(source.offset, source.limit), offset - len);\r\n\r\n source.offset = source.limit;\r\n if (relative)\r\n this.offset -= len;\r\n return this;\r\n };\r\n\r\n /**\r\n * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the\r\n * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer\r\n * will be resized and its contents moved accordingly.\r\n * @param {!ByteBuffer} target Target ByteBuffer\r\n * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes\r\n * prepended if omitted.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n * @see ByteBuffer#prepend\r\n */\r\n ByteBufferPrototype.prependTo = function(target, offset) {\r\n target.prepend(this, offset);\r\n return this;\r\n };\r\n /**\r\n * Prints debug information about this ByteBuffer's contents.\r\n * @param {function(string)=} out Output function to call, defaults to console.log\r\n * @expose\r\n */\r\n ByteBufferPrototype.printDebug = function(out) {\r\n if (typeof out !== 'function') out = console.log.bind(console);\r\n out(\r\n this.toString()+\"\\n\"+\r\n \"-------------------------------------------------------------------\\n\"+\r\n this.toDebug(/* columns */ true)\r\n );\r\n };\r\n\r\n /**\r\n * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and\r\n * {@link ByteBuffer#limit}, so this returns `limit - offset`.\r\n * @returns {number} Remaining readable bytes. May be negative if `offset > limit`.\r\n * @expose\r\n */\r\n ByteBufferPrototype.remaining = function() {\r\n return this.limit - this.offset;\r\n };\r\n /**\r\n * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark}\r\n * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been\r\n * marked, sets `offset = 0`.\r\n * @returns {!ByteBuffer} this\r\n * @see ByteBuffer#mark\r\n * @expose\r\n */\r\n ByteBufferPrototype.reset = function() {\r\n if (this.markedOffset >= 0) {\r\n this.offset = this.markedOffset;\r\n this.markedOffset = -1;\r\n } else {\r\n this.offset = 0;\r\n }\r\n return this;\r\n };\r\n /**\r\n * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that\r\n * large or larger.\r\n * @param {number} capacity Capacity required\r\n * @returns {!ByteBuffer} this\r\n * @throws {TypeError} If `capacity` is not a number\r\n * @throws {RangeError} If `capacity < 0`\r\n * @expose\r\n */\r\n ByteBufferPrototype.resize = function(capacity) {\r\n if (!this.noAssert) {\r\n if (typeof capacity !== 'number' || capacity % 1 !== 0)\n throw TypeError(\"Illegal capacity: \"+capacity+\" (not an integer)\");\n capacity |= 0;\n if (capacity < 0)\r\n throw RangeError(\"Illegal capacity: 0 <= \"+capacity);\r\n }\r\n if (this.buffer.byteLength < capacity) {\r\n var buffer = new ArrayBuffer(capacity);\r\n var view = new Uint8Array(buffer);\r\n view.set(this.view);\r\n this.buffer = buffer;\r\n this.view = view;\r\n }\r\n return this;\r\n };\r\n /**\r\n * Reverses this ByteBuffer's contents.\r\n * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset}\r\n * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.reverse = function(begin, end) {\r\n if (typeof begin === 'undefined') begin = this.offset;\r\n if (typeof end === 'undefined') end = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n if (begin === end)\r\n return this; // Nothing to reverse\r\n Array.prototype.reverse.call(this.view.subarray(begin, end));\r\n return this;\r\n };\r\n /**\r\n * Skips the next `length` bytes. This will just advance\r\n * @param {number} length Number of bytes to skip. May also be negative to move the offset back.\r\n * @returns {!ByteBuffer} this\r\n * @expose\r\n */\r\n ByteBufferPrototype.skip = function(length) {\r\n if (!this.noAssert) {\r\n if (typeof length !== 'number' || length % 1 !== 0)\n throw TypeError(\"Illegal length: \"+length+\" (not an integer)\");\n length |= 0;\n }\r\n var offset = this.offset + length;\r\n if (!this.noAssert) {\r\n if (offset < 0 || offset > this.buffer.byteLength)\r\n throw RangeError(\"Illegal length: 0 <= \"+this.offset+\" + \"+length+\" <= \"+this.buffer.byteLength);\r\n }\r\n this.offset = offset;\r\n return this;\r\n };\r\n\r\n /**\r\n * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`.\r\n * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}.\r\n * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}.\r\n * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer}\r\n * @expose\r\n */\r\n ByteBufferPrototype.slice = function(begin, end) {\r\n if (typeof begin === 'undefined') begin = this.offset;\r\n if (typeof end === 'undefined') end = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n var bb = this.clone();\r\n bb.offset = begin;\r\n bb.limit = end;\r\n return bb;\r\n };\r\n /**\r\n * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between\r\n * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}.\r\n * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if\r\n * possible. Defaults to `false`\r\n * @returns {!ArrayBuffer} Contents as an ArrayBuffer\r\n * @expose\r\n */\r\n ByteBufferPrototype.toBuffer = function(forceCopy) {\r\n var offset = this.offset,\r\n limit = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof offset !== 'number' || offset % 1 !== 0)\n throw TypeError(\"Illegal offset: Not an integer\");\n offset >>>= 0;\n if (typeof limit !== 'number' || limit % 1 !== 0)\n throw TypeError(\"Illegal limit: Not an integer\");\n limit >>>= 0;\n if (offset < 0 || offset > limit || limit > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+offset+\" <= \"+limit+\" <= \"+this.buffer.byteLength);\n }\r\n // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is\r\n // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So:\r\n if (!forceCopy && offset === 0 && limit === this.buffer.byteLength)\r\n return this.buffer;\r\n if (offset === limit)\r\n return EMPTY_BUFFER;\r\n var buffer = new ArrayBuffer(limit - offset);\r\n new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0);\r\n return buffer;\r\n };\r\n\r\n /**\r\n * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between\r\n * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}.\r\n * @function\r\n * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory.\r\n * Defaults to `false`\r\n * @returns {!ArrayBuffer} Contents as an ArrayBuffer\r\n * @expose\r\n */\r\n ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer;\r\n\r\n /**\r\n * Converts the ByteBuffer's contents to a string.\r\n * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows\r\n * direct conversion to \"utf8\", \"hex\", \"base64\" and \"binary\" encoding. \"debug\" returns a hex representation with\r\n * highlighted offsets.\r\n * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}\r\n * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}\r\n * @returns {string} String representation\r\n * @throws {Error} If `encoding` is invalid\r\n * @expose\r\n */\r\n ByteBufferPrototype.toString = function(encoding, begin, end) {\r\n if (typeof encoding === 'undefined')\r\n return \"ByteBufferAB(offset=\"+this.offset+\",markedOffset=\"+this.markedOffset+\",limit=\"+this.limit+\",capacity=\"+this.capacity()+\")\";\r\n if (typeof encoding === 'number')\r\n encoding = \"utf8\",\r\n begin = encoding,\r\n end = begin;\r\n switch (encoding) {\r\n case \"utf8\":\r\n return this.toUTF8(begin, end);\r\n case \"base64\":\r\n return this.toBase64(begin, end);\r\n case \"hex\":\r\n return this.toHex(begin, end);\r\n case \"binary\":\r\n return this.toBinary(begin, end);\r\n case \"debug\":\r\n return this.toDebug();\r\n case \"columns\":\r\n return this.toColumns();\r\n default:\r\n throw Error(\"Unsupported encoding: \"+encoding);\r\n }\r\n };\r\n\r\n // lxiv-embeddable\r\n\r\n /**\r\n * lxiv-embeddable (c) 2014 Daniel Wirtz <dcode@dcode.io>\r\n * Released under the Apache License, Version 2.0\r\n * see: https://github.com/dcodeIO/lxiv for details\r\n */\r\n var lxiv = function() {\r\n \"use strict\";\r\n\r\n /**\r\n * lxiv namespace.\r\n * @type {!Object.<string,*>}\r\n * @exports lxiv\r\n */\r\n var lxiv = {};\r\n\r\n /**\r\n * Character codes for output.\r\n * @type {!Array.<number>}\r\n * @inner\r\n */\r\n var aout = [\r\n 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,\r\n 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102,\r\n 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,\r\n 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47\r\n ];\r\n\r\n /**\r\n * Character codes for input.\r\n * @type {!Array.<number>}\r\n * @inner\r\n */\r\n var ain = [];\r\n for (var i=0, k=aout.length; i<k; ++i)\r\n ain[aout[i]] = i;\r\n\r\n /**\r\n * Encodes bytes to base64 char codes.\r\n * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if\r\n * there are no more bytes left.\r\n * @param {!function(number)} dst Characters destination as a function successively called with each encoded char\r\n * code.\r\n */\r\n lxiv.encode = function(src, dst) {\r\n var b, t;\r\n while ((b = src()) !== null) {\r\n dst(aout[(b>>2)&0x3f]);\r\n t = (b&0x3)<<4;\r\n if ((b = src()) !== null) {\r\n t |= (b>>4)&0xf;\r\n dst(aout[(t|((b>>4)&0xf))&0x3f]);\r\n t = (b&0xf)<<2;\r\n if ((b = src()) !== null)\r\n dst(aout[(t|((b>>6)&0x3))&0x3f]),\r\n dst(aout[b&0x3f]);\r\n else\r\n dst(aout[t&0x3f]),\r\n dst(61);\r\n } else\r\n dst(aout[t&0x3f]),\r\n dst(61),\r\n dst(61);\r\n }\r\n };\r\n\r\n /**\r\n * Decodes base64 char codes to bytes.\r\n * @param {!function():number|null} src Characters source as a function returning the next char code respectively\r\n * `null` if there are no more characters left.\r\n * @param {!function(number)} dst Bytes destination as a function successively called with the next byte.\r\n * @throws {Error} If a character code is invalid\r\n */\r\n lxiv.decode = function(src, dst) {\r\n var c, t1, t2;\r\n function fail(c) {\r\n throw Error(\"Illegal character code: \"+c);\r\n }\r\n while ((c = src()) !== null) {\r\n t1 = ain[c];\r\n if (typeof t1 === 'undefined') fail(c);\r\n if ((c = src()) !== null) {\r\n t2 = ain[c];\r\n if (typeof t2 === 'undefined') fail(c);\r\n dst((t1<<2)>>>0|(t2&0x30)>>4);\r\n if ((c = src()) !== null) {\r\n t1 = ain[c];\r\n if (typeof t1 === 'undefined')\r\n if (c === 61) break; else fail(c);\r\n dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2);\r\n if ((c = src()) !== null) {\r\n t2 = ain[c];\r\n if (typeof t2 === 'undefined')\r\n if (c === 61) break; else fail(c);\r\n dst(((t1&0x3)<<6)>>>0|t2);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Tests if a string is valid base64.\r\n * @param {string} str String to test\r\n * @returns {boolean} `true` if valid, otherwise `false`\r\n */\r\n lxiv.test = function(str) {\r\n return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str);\r\n };\r\n\r\n return lxiv;\r\n }();\r\n\r\n // encodings/base64\r\n\r\n /**\r\n * Encodes this ByteBuffer's contents to a base64 encoded string.\r\n * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}.\r\n * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}.\r\n * @returns {string} Base64 encoded string\r\n * @throws {RangeError} If `begin` or `end` is out of bounds\r\n * @expose\r\n */\r\n ByteBufferPrototype.toBase64 = function(begin, end) {\r\n if (typeof begin === 'undefined')\r\n begin = this.offset;\r\n if (typeof end === 'undefined')\r\n end = this.limit;\r\n begin = begin | 0; end = end | 0;\r\n if (begin < 0 || end > this.capacity || begin > end)\r\n throw RangeError(\"begin, end\");\r\n var sd; lxiv.encode(function() {\r\n return begin < end ? this.view[begin++] : null;\r\n }.bind(this), sd = stringDestination());\r\n return sd();\r\n };\r\n\r\n /**\r\n * Decodes a base64 encoded string to a ByteBuffer.\r\n * @param {string} str String to decode\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @returns {!ByteBuffer} ByteBuffer\r\n * @expose\r\n */\r\n ByteBuffer.fromBase64 = function(str, littleEndian) {\r\n if (typeof str !== 'string')\r\n throw TypeError(\"str\");\r\n var bb = new ByteBuffer(str.length/4*3, littleEndian),\r\n i = 0;\r\n lxiv.decode(stringSource(str), function(b) {\r\n bb.view[i++] = b;\r\n });\r\n bb.limit = i;\r\n return bb;\r\n };\r\n\r\n /**\r\n * Encodes a binary string to base64 like `window.btoa` does.\r\n * @param {string} str Binary string\r\n * @returns {string} Base64 encoded string\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa\r\n * @expose\r\n */\r\n ByteBuffer.btoa = function(str) {\r\n return ByteBuffer.fromBinary(str).toBase64();\r\n };\r\n\r\n /**\r\n * Decodes a base64 encoded string to binary like `window.atob` does.\r\n * @param {string} b64 Base64 encoded string\r\n * @returns {string} Binary string\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob\r\n * @expose\r\n */\r\n ByteBuffer.atob = function(b64) {\r\n return ByteBuffer.fromBase64(b64).toBinary();\r\n };\r\n\r\n // encodings/binary\r\n\r\n /**\r\n * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes.\r\n * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}.\r\n * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}.\r\n * @returns {string} Binary encoded string\r\n * @throws {RangeError} If `offset > limit`\r\n * @expose\r\n */\r\n ByteBufferPrototype.toBinary = function(begin, end) {\r\n if (typeof begin === 'undefined')\r\n begin = this.offset;\r\n if (typeof end === 'undefined')\r\n end = this.limit;\r\n begin |= 0; end |= 0;\r\n if (begin < 0 || end > this.capacity() || begin > end)\r\n throw RangeError(\"begin, end\");\r\n if (begin === end)\r\n return \"\";\r\n var chars = [],\r\n parts = [];\r\n while (begin < end) {\r\n chars.push(this.view[begin++]);\r\n if (chars.length >= 1024)\r\n parts.push(String.fromCharCode.apply(String, chars)),\r\n chars = [];\r\n }\r\n return parts.join('') + String.fromCharCode.apply(String, chars);\r\n };\r\n\r\n /**\r\n * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer.\r\n * @param {string} str String to decode\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @returns {!ByteBuffer} ByteBuffer\r\n * @expose\r\n */\r\n ByteBuffer.fromBinary = function(str, littleEndian) {\r\n if (typeof str !== 'string')\r\n throw TypeError(\"str\");\r\n var i = 0,\r\n k = str.length,\r\n charCode,\r\n bb = new ByteBuffer(k, littleEndian);\r\n while (i<k) {\r\n charCode = str.charCodeAt(i);\r\n if (charCode > 0xff)\r\n throw RangeError(\"illegal char code: \"+charCode);\r\n bb.view[i++] = charCode;\r\n }\r\n bb.limit = k;\r\n return bb;\r\n };\r\n\r\n // encodings/debug\r\n\r\n /**\r\n * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are:\r\n * * `<` : offset,\r\n * * `'` : markedOffset,\r\n * * `>` : limit,\r\n * * `|` : offset and limit,\r\n * * `[` : offset and markedOffset,\r\n * * `]` : markedOffset and limit,\r\n * * `!` : offset, markedOffset and limit\r\n * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false`\r\n * @returns {string|!Array.<string>} Debug string or array of lines if `asArray = true`\r\n * @expose\r\n * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3`\r\n * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4`\r\n * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1`\r\n * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1`\r\n */\r\n ByteBufferPrototype.toDebug = function(columns) {\r\n var i = -1,\r\n k = this.buffer.byteLength,\r\n b,\r\n hex = \"\",\r\n asc = \"\",\r\n out = \"\";\r\n while (i<k) {\r\n if (i !== -1) {\r\n b = this.view[i];\r\n if (b < 0x10) hex += \"0\"+b.toString(16).toUpperCase();\r\n else hex += b.toString(16).toUpperCase();\r\n if (columns)\r\n asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.';\r\n }\r\n ++i;\r\n if (columns) {\r\n if (i > 0 && i % 16 === 0 && i !== k) {\r\n while (hex.length < 3*16+3) hex += \" \";\r\n out += hex+asc+\"\\n\";\r\n hex = asc = \"\";\r\n }\r\n }\r\n if (i === this.offset && i === this.limit)\r\n hex += i === this.markedOffset ? \"!\" : \"|\";\r\n else if (i === this.offset)\r\n hex += i === this.markedOffset ? \"[\" : \"<\";\r\n else if (i === this.limit)\r\n hex += i === this.markedOffset ? \"]\" : \">\";\r\n else\r\n hex += i === this.markedOffset ? \"'\" : (columns || (i !== 0 && i !== k) ? \" \" : \"\");\r\n }\r\n if (columns && hex !== \" \") {\r\n while (hex.length < 3*16+3)\r\n hex += \" \";\r\n out += hex + asc + \"\\n\";\r\n }\r\n return columns ? out : hex;\r\n };\r\n\r\n /**\r\n * Decodes a hex encoded string with marked offsets to a ByteBuffer.\r\n * @param {string} str Debug string to decode (not be generated with `columns = true`)\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @returns {!ByteBuffer} ByteBuffer\r\n * @expose\r\n * @see ByteBuffer#toDebug\r\n */\r\n ByteBuffer.fromDebug = function(str, littleEndian, noAssert) {\r\n var k = str.length,\r\n bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert);\r\n var i = 0, j = 0, ch, b,\r\n rs = false, // Require symbol next\r\n ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)?\r\n fail = false;\r\n while (i<k) {\r\n switch (ch = str.charAt(i++)) {\r\n case '!':\r\n if (!noAssert) {\r\n if (ho || hm || hl) {\r\n fail = true;\r\n break;\r\n }\r\n ho = hm = hl = true;\r\n }\r\n bb.offset = bb.markedOffset = bb.limit = j;\r\n rs = false;\r\n break;\r\n case '|':\r\n if (!noAssert) {\r\n if (ho || hl) {\r\n fail = true;\r\n break;\r\n }\r\n ho = hl = true;\r\n }\r\n bb.offset = bb.limit = j;\r\n rs = false;\r\n break;\r\n case '[':\r\n if (!noAssert) {\r\n if (ho || hm) {\r\n fail = true;\r\n break;\r\n }\r\n ho = hm = true;\r\n }\r\n bb.offset = bb.markedOffset = j;\r\n rs = false;\r\n break;\r\n case '<':\r\n if (!noAssert) {\r\n if (ho) {\r\n fail = true;\r\n break;\r\n }\r\n ho = true;\r\n }\r\n bb.offset = j;\r\n rs = false;\r\n break;\r\n case ']':\r\n if (!noAssert) {\r\n if (hl || hm) {\r\n fail = true;\r\n break;\r\n }\r\n hl = hm = true;\r\n }\r\n bb.limit = bb.markedOffset = j;\r\n rs = false;\r\n break;\r\n case '>':\r\n if (!noAssert) {\r\n if (hl) {\r\n fail = true;\r\n break;\r\n }\r\n hl = true;\r\n }\r\n bb.limit = j;\r\n rs = false;\r\n break;\r\n case \"'\":\r\n if (!noAssert) {\r\n if (hm) {\r\n fail = true;\r\n break;\r\n }\r\n hm = true;\r\n }\r\n bb.markedOffset = j;\r\n rs = false;\r\n break;\r\n case ' ':\r\n rs = false;\r\n break;\r\n default:\r\n if (!noAssert) {\r\n if (rs) {\r\n fail = true;\r\n break;\r\n }\r\n }\r\n b = parseInt(ch+str.charAt(i++), 16);\r\n if (!noAssert) {\r\n if (isNaN(b) || b < 0 || b > 255)\r\n throw TypeError(\"Illegal str: Not a debug encoded string\");\r\n }\r\n bb.view[j++] = b;\r\n rs = true;\r\n }\r\n if (fail)\r\n throw TypeError(\"Illegal str: Invalid symbol at \"+i);\r\n }\r\n if (!noAssert) {\r\n if (!ho || !hl)\r\n throw TypeError(\"Illegal str: Missing offset or limit\");\r\n if (j<bb.buffer.byteLength)\r\n throw TypeError(\"Illegal str: Not a debug encoded string (is it hex?) \"+j+\" < \"+k);\r\n }\r\n return bb;\r\n };\r\n\r\n // encodings/hex\r\n\r\n /**\r\n * Encodes this ByteBuffer's contents to a hex encoded string.\r\n * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}.\r\n * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}.\r\n * @returns {string} Hex encoded string\r\n * @expose\r\n */\r\n ByteBufferPrototype.toHex = function(begin, end) {\r\n begin = typeof begin === 'undefined' ? this.offset : begin;\r\n end = typeof end === 'undefined' ? this.limit : end;\r\n if (!this.noAssert) {\r\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n var out = new Array(end - begin),\r\n b;\r\n while (begin < end) {\r\n b = this.view[begin++];\r\n if (b < 0x10)\r\n out.push(\"0\", b.toString(16));\r\n else out.push(b.toString(16));\r\n }\r\n return out.join('');\r\n };\r\n\r\n /**\r\n * Decodes a hex encoded string to a ByteBuffer.\r\n * @param {string} str String to decode\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @returns {!ByteBuffer} ByteBuffer\r\n * @expose\r\n */\r\n ByteBuffer.fromHex = function(str, littleEndian, noAssert) {\r\n if (!noAssert) {\r\n if (typeof str !== 'string')\r\n throw TypeError(\"Illegal str: Not a string\");\r\n if (str.length % 2 !== 0)\r\n throw TypeError(\"Illegal str: Length not a multiple of 2\");\r\n }\r\n var k = str.length,\r\n bb = new ByteBuffer((k / 2) | 0, littleEndian),\r\n b;\r\n for (var i=0, j=0; i<k; i+=2) {\r\n b = parseInt(str.substring(i, i+2), 16);\r\n if (!noAssert)\r\n if (!isFinite(b) || b < 0 || b > 255)\r\n throw TypeError(\"Illegal str: Contains non-hex characters\");\r\n bb.view[j++] = b;\r\n }\r\n bb.limit = j;\r\n return bb;\r\n };\r\n\r\n // utfx-embeddable\r\n\r\n /**\r\n * utfx-embeddable (c) 2014 Daniel Wirtz <dcode@dcode.io>\r\n * Released under the Apache License, Version 2.0\r\n * see: https://github.com/dcodeIO/utfx for details\r\n */\r\n var utfx = function() {\r\n \"use strict\";\r\n\r\n /**\r\n * utfx namespace.\r\n * @inner\r\n * @type {!Object.<string,*>}\r\n */\r\n var utfx = {};\r\n\r\n /**\r\n * Maximum valid code point.\r\n * @type {number}\r\n * @const\r\n */\r\n utfx.MAX_CODEPOINT = 0x10FFFF;\r\n\r\n /**\r\n * Encodes UTF8 code points to UTF8 bytes.\r\n * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point\r\n * respectively `null` if there are no more code points left or a single numeric code point.\r\n * @param {!function(number)} dst Bytes destination as a function successively called with the next byte\r\n */\r\n utfx.encodeUTF8 = function(src, dst) {\r\n var cp = null;\r\n if (typeof src === 'number')\r\n cp = src,\r\n src = function() { return null; };\r\n while (cp !== null || (cp = src()) !== null) {\r\n if (cp < 0x80)\r\n dst(cp&0x7F);\r\n else if (cp < 0x800)\r\n dst(((cp>>6)&0x1F)|0xC0),\r\n dst((cp&0x3F)|0x80);\r\n else if (cp < 0x10000)\r\n dst(((cp>>12)&0x0F)|0xE0),\r\n dst(((cp>>6)&0x3F)|0x80),\r\n dst((cp&0x3F)|0x80);\r\n else\r\n dst(((cp>>18)&0x07)|0xF0),\r\n dst(((cp>>12)&0x3F)|0x80),\r\n dst(((cp>>6)&0x3F)|0x80),\r\n dst((cp&0x3F)|0x80);\r\n cp = null;\r\n }\r\n };\r\n\r\n /**\r\n * Decodes UTF8 bytes to UTF8 code points.\r\n * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there\r\n * are no more bytes left.\r\n * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point.\r\n * @throws {RangeError} If a starting byte is invalid in UTF8\r\n * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the\r\n * remaining bytes.\r\n */\r\n utfx.decodeUTF8 = function(src, dst) {\r\n var a, b, c, d, fail = function(b) {\r\n b = b.slice(0, b.indexOf(null));\r\n var err = Error(b.toString());\r\n err.name = \"TruncatedError\";\r\n err['bytes'] = b;\r\n throw err;\r\n };\r\n while ((a = src()) !== null) {\r\n if ((a&0x80) === 0)\r\n dst(a);\r\n else if ((a&0xE0) === 0xC0)\r\n ((b = src()) === null) && fail([a, b]),\r\n dst(((a&0x1F)<<6) | (b&0x3F));\r\n else if ((a&0xF0) === 0xE0)\r\n ((b=src()) === null || (c=src()) === null) && fail([a, b, c]),\r\n dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F));\r\n else if ((a&0xF8) === 0xF0)\r\n ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]),\r\n dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F));\r\n else throw RangeError(\"Illegal starting byte: \"+a);\r\n }\r\n };\r\n\r\n /**\r\n * Converts UTF16 characters to UTF8 code points.\r\n * @param {!function():number|null} src Characters source as a function returning the next char code respectively\r\n * `null` if there are no more characters left.\r\n * @param {!function(number)} dst Code points destination as a function successively called with each converted code\r\n * point.\r\n */\r\n utfx.UTF16toUTF8 = function(src, dst) {\r\n var c1, c2 = null;\r\n while (true) {\r\n if ((c1 = c2 !== null ? c2 : src()) === null)\r\n break;\r\n if (c1 >= 0xD800 && c1 <= 0xDFFF) {\r\n if ((c2 = src()) !== null) {\r\n if (c2 >= 0xDC00 && c2 <= 0xDFFF) {\r\n dst((c1-0xD800)*0x400+c2-0xDC00+0x10000);\r\n c2 = null; continue;\r\n }\r\n }\r\n }\r\n dst(c1);\r\n }\r\n if (c2 !== null) dst(c2);\r\n };\r\n\r\n /**\r\n * Converts UTF8 code points to UTF16 characters.\r\n * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point\r\n * respectively `null` if there are no more code points left or a single numeric code point.\r\n * @param {!function(number)} dst Characters destination as a function successively called with each converted char code.\r\n * @throws {RangeError} If a code point is out of range\r\n */\r\n utfx.UTF8toUTF16 = function(src, dst) {\r\n var cp = null;\r\n if (typeof src === 'number')\r\n cp = src, src = function() { return null; };\r\n while (cp !== null || (cp = src()) !== null) {\r\n if (cp <= 0xFFFF)\r\n dst(cp);\r\n else\r\n cp -= 0x10000,\r\n dst((cp>>10)+0xD800),\r\n dst((cp%0x400)+0xDC00);\r\n cp = null;\r\n }\r\n };\r\n\r\n /**\r\n * Converts and encodes UTF16 characters to UTF8 bytes.\r\n * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null`\r\n * if there are no more characters left.\r\n * @param {!function(number)} dst Bytes destination as a function successively called with the next byte.\r\n */\r\n utfx.encodeUTF16toUTF8 = function(src, dst) {\r\n utfx.UTF16toUTF8(src, function(cp) {\r\n utfx.encodeUTF8(cp, dst);\r\n });\r\n };\r\n\r\n /**\r\n * Decodes and converts UTF8 bytes to UTF16 characters.\r\n * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there\r\n * are no more bytes left.\r\n * @param {!function(number)} dst Characters destination as a function successively called with each converted char code.\r\n * @throws {RangeError} If a starting byte is invalid in UTF8\r\n * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes.\r\n */\r\n utfx.decodeUTF8toUTF16 = function(src, dst) {\r\n utfx.decodeUTF8(src, function(cp) {\r\n utfx.UTF8toUTF16(cp, dst);\r\n });\r\n };\r\n\r\n /**\r\n * Calculates the byte length of an UTF8 code point.\r\n * @param {number} cp UTF8 code point\r\n * @returns {number} Byte length\r\n */\r\n utfx.calculateCodePoint = function(cp) {\r\n return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4;\r\n };\r\n\r\n /**\r\n * Calculates the number of UTF8 bytes required to store UTF8 code points.\r\n * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively\r\n * `null` if there are no more code points left.\r\n * @returns {number} The number of UTF8 bytes required\r\n */\r\n utfx.calculateUTF8 = function(src) {\r\n var cp, l=0;\r\n while ((cp = src()) !== null)\r\n l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4;\r\n return l;\r\n };\r\n\r\n /**\r\n * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes.\r\n * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively\r\n * `null` if there are no more characters left.\r\n * @returns {!Array.<number>} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1.\r\n */\r\n utfx.calculateUTF16asUTF8 = function(src) {\r\n var n=0, l=0;\r\n utfx.UTF16toUTF8(src, function(cp) {\r\n ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4;\r\n });\r\n return [n,l];\r\n };\r\n\r\n return utfx;\r\n }();\r\n\r\n // encodings/utf8\r\n\r\n /**\r\n * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded\r\n * string.\r\n * @returns {string} Hex encoded string\r\n * @throws {RangeError} If `offset > limit`\r\n * @expose\r\n */\r\n ByteBufferPrototype.toUTF8 = function(begin, end) {\r\n if (typeof begin === 'undefined') begin = this.offset;\r\n if (typeof end === 'undefined') end = this.limit;\r\n if (!this.noAssert) {\r\n if (typeof begin !== 'number' || begin % 1 !== 0)\n throw TypeError(\"Illegal begin: Not an integer\");\n begin >>>= 0;\n if (typeof end !== 'number' || end % 1 !== 0)\n throw TypeError(\"Illegal end: Not an integer\");\n end >>>= 0;\n if (begin < 0 || begin > end || end > this.buffer.byteLength)\n throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength);\n }\r\n var sd; try {\r\n utfx.decodeUTF8toUTF16(function() {\r\n return begin < end ? this.view[begin++] : null;\r\n }.bind(this), sd = stringDestination());\r\n } catch (e) {\r\n if (begin !== end)\r\n throw RangeError(\"Illegal range: Truncated data, \"+begin+\" != \"+end);\r\n }\r\n return sd();\r\n };\r\n\r\n /**\r\n * Decodes an UTF8 encoded string to a ByteBuffer.\r\n * @param {string} str String to decode\r\n * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to\r\n * {@link ByteBuffer.DEFAULT_ENDIAN}.\r\n * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to\r\n * {@link ByteBuffer.DEFAULT_NOASSERT}.\r\n * @returns {!ByteBuffer} ByteBuffer\r\n * @expose\r\n */\r\n ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) {\r\n if (!noAssert)\r\n if (typeof str !== 'string')\r\n throw TypeError(\"Illegal str: Not a string\");\r\n var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert),\r\n i = 0;\r\n utfx.encodeUTF16toUTF8(stringSource(str), function(b) {\r\n bb.view[i++] = b;\r\n });\r\n bb.limit = i;\r\n return bb;\r\n };\r\n\r\n return ByteBuffer;\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/bytebuffer/dist/bytebuffer.js","module.exports = function() { throw new Error(\"define cannot be used indirect\"); };\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/amd-define.js\n// module id = 154\n// module chunks = 0 1","/*\r\n Copyright 2013 Daniel Wirtz <dcode@dcode.io>\r\n Copyright 2009 The Closure Library Authors. All Rights Reserved.\r\n\r\n Licensed under the Apache License, Version 2.0 (the \"License\");\r\n you may not use this file except in compliance with the License.\r\n You may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n Unless required by applicable law or agreed to in writing, software\r\n distributed under the License is distributed on an \"AS-IS\" BASIS,\r\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n See the License for the specific language governing permissions and\r\n limitations under the License.\r\n */\r\n\r\n/**\r\n * @license long.js (c) 2013 Daniel Wirtz <dcode@dcode.io>\r\n * Released under the Apache License, Version 2.0\r\n * see: https://github.com/dcodeIO/long.js for details\r\n */\r\n(function(global, factory) {\r\n\r\n /* AMD */ if (typeof define === 'function' && define[\"amd\"])\r\n define([], factory);\r\n /* CommonJS */ else if (typeof require === 'function' && typeof module === \"object\" && module && module[\"exports\"])\r\n module[\"exports\"] = factory();\r\n /* Global */ else\r\n (global[\"dcodeIO\"] = global[\"dcodeIO\"] || {})[\"Long\"] = factory();\r\n\r\n})(this, function() {\r\n \"use strict\";\r\n\r\n /**\r\n * Constructs a 64 bit two's-complement integer, given its low and high 32 bit values as *signed* integers.\r\n * See the from* functions below for more convenient ways of constructing Longs.\r\n * @exports Long\r\n * @class A Long class for representing a 64 bit two's-complement integer value.\r\n * @param {number} low The low (signed) 32 bits of the long\r\n * @param {number} high The high (signed) 32 bits of the long\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n * @constructor\r\n */\r\n function Long(low, high, unsigned) {\r\n\r\n /**\r\n * The low 32 bits as a signed value.\r\n * @type {number}\r\n */\r\n this.low = low | 0;\r\n\r\n /**\r\n * The high 32 bits as a signed value.\r\n * @type {number}\r\n */\r\n this.high = high | 0;\r\n\r\n /**\r\n * Whether unsigned or not.\r\n * @type {boolean}\r\n */\r\n this.unsigned = !!unsigned;\r\n }\r\n\r\n // The internal representation of a long is the two given signed, 32-bit values.\r\n // We use 32-bit pieces because these are the size of integers on which\r\n // Javascript performs bit-operations. For operations like addition and\r\n // multiplication, we split each number into 16 bit pieces, which can easily be\r\n // multiplied within Javascript's floating-point representation without overflow\r\n // or change in sign.\r\n //\r\n // In the algorithms below, we frequently reduce the negative case to the\r\n // positive case by negating the input(s) and then post-processing the result.\r\n // Note that we must ALWAYS check specially whether those values are MIN_VALUE\r\n // (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as\r\n // a positive number, it overflows back into a negative). Not handling this\r\n // case would often result in infinite recursion.\r\n //\r\n // Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the from*\r\n // methods on which they depend.\r\n\r\n /**\r\n * An indicator used to reliably determine if an object is a Long or not.\r\n * @type {boolean}\r\n * @const\r\n * @private\r\n */\r\n Long.prototype.__isLong__;\r\n\r\n Object.defineProperty(Long.prototype, \"__isLong__\", {\r\n value: true,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n\r\n /**\r\n * @function\r\n * @param {*} obj Object\r\n * @returns {boolean}\r\n * @inner\r\n */\r\n function isLong(obj) {\r\n return (obj && obj[\"__isLong__\"]) === true;\r\n }\r\n\r\n /**\r\n * Tests if the specified object is a Long.\r\n * @function\r\n * @param {*} obj Object\r\n * @returns {boolean}\r\n */\r\n Long.isLong = isLong;\r\n\r\n /**\r\n * A cache of the Long representations of small integer values.\r\n * @type {!Object}\r\n * @inner\r\n */\r\n var INT_CACHE = {};\r\n\r\n /**\r\n * A cache of the Long representations of small unsigned integer values.\r\n * @type {!Object}\r\n * @inner\r\n */\r\n var UINT_CACHE = {};\r\n\r\n /**\r\n * @param {number} value\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\n function fromInt(value, unsigned) {\r\n var obj, cachedObj, cache;\r\n if (unsigned) {\r\n value >>>= 0;\r\n if (cache = (0 <= value && value < 256)) {\r\n cachedObj = UINT_CACHE[value];\r\n if (cachedObj)\r\n return cachedObj;\r\n }\r\n obj = fromBits(value, (value | 0) < 0 ? -1 : 0, true);\r\n if (cache)\r\n UINT_CACHE[value] = obj;\r\n return obj;\r\n } else {\r\n value |= 0;\r\n if (cache = (-128 <= value && value < 128)) {\r\n cachedObj = INT_CACHE[value];\r\n if (cachedObj)\r\n return cachedObj;\r\n }\r\n obj = fromBits(value, value < 0 ? -1 : 0, false);\r\n if (cache)\r\n INT_CACHE[value] = obj;\r\n return obj;\r\n }\r\n }\r\n\r\n /**\r\n * Returns a Long representing the given 32 bit integer value.\r\n * @function\r\n * @param {number} value The 32 bit integer in question\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\n Long.fromInt = fromInt;\r\n\r\n /**\r\n * @param {number} value\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\n function fromNumber(value, unsigned) {\r\n if (isNaN(value) || !isFinite(value))\r\n return unsigned ? UZERO : ZERO;\r\n if (unsigned) {\r\n if (value < 0)\r\n return UZERO;\r\n if (value >= TWO_PWR_64_DBL)\r\n return MAX_UNSIGNED_VALUE;\r\n } else {\r\n if (value <= -TWO_PWR_63_DBL)\r\n return MIN_VALUE;\r\n if (value + 1 >= TWO_PWR_63_DBL)\r\n return MAX_VALUE;\r\n }\r\n if (value < 0)\r\n return fromNumber(-value, unsigned).neg();\r\n return fromBits((value % TWO_PWR_32_DBL) | 0, (value / TWO_PWR_32_DBL) | 0, unsigned);\r\n }\r\n\r\n /**\r\n * Returns a Long representing the given value, provided that it is a finite number. Otherwise, zero is returned.\r\n * @function\r\n * @param {number} value The number in question\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\n Long.fromNumber = fromNumber;\r\n\r\n /**\r\n * @param {number} lowBits\r\n * @param {number} highBits\r\n * @param {boolean=} unsigned\r\n * @returns {!Long}\r\n * @inner\r\n */\r\n function fromBits(lowBits, highBits, unsigned) {\r\n return new Long(lowBits, highBits, unsigned);\r\n }\r\n\r\n /**\r\n * Returns a Long representing the 64 bit integer that comes by concatenating the given low and high bits. Each is\r\n * assumed to use 32 bits.\r\n * @function\r\n * @param {number} lowBits The low 32 bits\r\n * @param {number} highBits The high 32 bits\r\n * @param {boolean=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n * @returns {!Long} The corresponding Long value\r\n */\r\n Long.fromBits = fromBits;\r\n\r\n /**\r\n * @function\r\n * @param {number} base\r\n * @param {number} exponent\r\n * @returns {number}\r\n * @inner\r\n */\r\n var pow_dbl = Math.pow; // Used 4 times (4*8 to 15+4)\r\n\r\n /**\r\n * @param {string} str\r\n * @param {(boolean|number)=} unsigned\r\n * @param {number=} radix\r\n * @returns {!Long}\r\n * @inner\r\n */\r\n function fromString(str, unsigned, radix) {\r\n if (str.length === 0)\r\n throw Error('empty string');\r\n if (str === \"NaN\" || str === \"Infinity\" || str === \"+Infinity\" || str === \"-Infinity\")\r\n return ZERO;\r\n if (typeof unsigned === 'number') {\r\n // For goog.math.long compatibility\r\n radix = unsigned,\r\n unsigned = false;\r\n } else {\r\n unsigned = !! unsigned;\r\n }\r\n radix = radix || 10;\r\n if (radix < 2 || 36 < radix)\r\n throw RangeError('radix');\r\n\r\n var p;\r\n if ((p = str.indexOf('-')) > 0)\r\n throw Error('interior hyphen');\r\n else if (p === 0) {\r\n return fromString(str.substring(1), unsigned, radix).neg();\r\n }\r\n\r\n // Do several (8) digits each time through the loop, so as to\r\n // minimize the calls to the very expensive emulated div.\r\n var radixToPower = fromNumber(pow_dbl(radix, 8));\r\n\r\n var result = ZERO;\r\n for (var i = 0; i < str.length; i += 8) {\r\n var size = Math.min(8, str.length - i),\r\n value = parseInt(str.substring(i, i + size), radix);\r\n if (size < 8) {\r\n var power = fromNumber(pow_dbl(radix, size));\r\n result = result.mul(power).add(fromNumber(value));\r\n } else {\r\n result = result.mul(radixToPower);\r\n result = result.add(fromNumber(value));\r\n }\r\n }\r\n result.unsigned = unsigned;\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns a Long representation of the given string, written using the specified radix.\r\n * @function\r\n * @param {string} str The textual representation of the Long\r\n * @param {(boolean|number)=} unsigned Whether unsigned or not, defaults to `false` for signed\r\n * @param {number=} radix The radix in which the text is written (2-36), defaults to 10\r\n * @returns {!Long} The corresponding Long value\r\n */\r\n Long.fromString = fromString;\r\n\r\n /**\r\n * @function\r\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val\r\n * @returns {!Long}\r\n * @inner\r\n */\r\n function fromValue(val) {\r\n if (val /* is compatible */ instanceof Long)\r\n return val;\r\n if (typeof val === 'number')\r\n return fromNumber(val);\r\n if (typeof val === 'string')\r\n return fromString(val);\r\n // Throws for non-objects, converts non-instanceof Long:\r\n return fromBits(val.low, val.high, val.unsigned);\r\n }\r\n\r\n /**\r\n * Converts the specified value to a Long.\r\n * @function\r\n * @param {!Long|number|string|!{low: number, high: number, unsigned: boolean}} val Value\r\n * @returns {!Long}\r\n */\r\n Long.fromValue = fromValue;\r\n\r\n // NOTE: the compiler should inline these constant values below and then remove these variables, so there should be\r\n // no runtime penalty for these.\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var TWO_PWR_16_DBL = 1 << 16;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var TWO_PWR_24_DBL = 1 << 24;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var TWO_PWR_32_DBL = TWO_PWR_16_DBL * TWO_PWR_16_DBL;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var TWO_PWR_64_DBL = TWO_PWR_32_DBL * TWO_PWR_32_DBL;\r\n\r\n /**\r\n * @type {number}\r\n * @const\r\n * @inner\r\n */\r\n var TWO_PWR_63_DBL = TWO_PWR_64_DBL / 2;\r\n\r\n /**\r\n * @type {!Long}\r\n * @const\r\n * @inner\r\n */\r\n var TWO_PWR_24 = fromInt(TWO_PWR_24_DBL);\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var ZERO = fromInt(0);\r\n\r\n /**\r\n * Signed zero.\r\n * @type {!Long}\r\n */\r\n Long.ZERO = ZERO;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var UZERO = fromInt(0, true);\r\n\r\n /**\r\n * Unsigned zero.\r\n * @type {!Long}\r\n */\r\n Long.UZERO = UZERO;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var ONE = fromInt(1);\r\n\r\n /**\r\n * Signed one.\r\n * @type {!Long}\r\n */\r\n Long.ONE = ONE;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var UONE = fromInt(1, true);\r\n\r\n /**\r\n * Unsigned one.\r\n * @type {!Long}\r\n */\r\n Long.UONE = UONE;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var NEG_ONE = fromInt(-1);\r\n\r\n /**\r\n * Signed negative one.\r\n * @type {!Long}\r\n */\r\n Long.NEG_ONE = NEG_ONE;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var MAX_VALUE = fromBits(0xFFFFFFFF|0, 0x7FFFFFFF|0, false);\r\n\r\n /**\r\n * Maximum signed value.\r\n * @type {!Long}\r\n */\r\n Long.MAX_VALUE = MAX_VALUE;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var MAX_UNSIGNED_VALUE = fromBits(0xFFFFFFFF|0, 0xFFFFFFFF|0, true);\r\n\r\n /**\r\n * Maximum unsigned value.\r\n * @type {!Long}\r\n */\r\n Long.MAX_UNSIGNED_VALUE = MAX_UNSIGNED_VALUE;\r\n\r\n /**\r\n * @type {!Long}\r\n * @inner\r\n */\r\n var MIN_VALUE = fromBits(0, 0x80000000|0, false);\r\n\r\n /**\r\n * Minimum signed value.\r\n * @type {!Long}\r\n */\r\n Long.MIN_VALUE = MIN_VALUE;\r\n\r\n /**\r\n * @alias Long.prototype\r\n * @inner\r\n */\r\n var LongPrototype = Long.prototype;\r\n\r\n /**\r\n * Converts the Long to a 32 bit integer, assuming it is a 32 bit integer.\r\n * @returns {number}\r\n */\r\n LongPrototype.toInt = function toInt() {\r\n return this.unsigned ? this.low >>> 0 : this.low;\r\n };\r\n\r\n /**\r\n * Converts the Long to a the nearest floating-point representation of this value (double, 53 bit mantissa).\r\n * @returns {number}\r\n */\r\n LongPrototype.toNumber = function toNumber() {\r\n if (this.unsigned)\r\n return ((this.high >>> 0) * TWO_PWR_32_DBL) + (this.low >>> 0);\r\n return this.high * TWO_PWR_32_DBL + (this.low >>> 0);\r\n };\r\n\r\n /**\r\n * Converts the Long to a string written in the specified radix.\r\n * @param {number=} radix Radix (2-36), defaults to 10\r\n * @returns {string}\r\n * @override\r\n * @throws {RangeError} If `radix` is out of range\r\n */\r\n LongPrototype.toString = function toString(radix) {\r\n radix = radix || 10;\r\n if (radix < 2 || 36 < radix)\r\n throw RangeError('radix');\r\n if (this.isZero())\r\n return '0';\r\n if (this.isNegative()) { // Unsigned Longs are never negative\r\n if (this.eq(MIN_VALUE)) {\r\n // We need to change the Long value before it can be negated, so we remove\r\n // the bottom-most digit in this base and then recurse to do the rest.\r\n var radixLong = fromNumber(radix),\r\n div = this.div(radixLong),\r\n rem1 = div.mul(radixLong).sub(this);\r\n return div.toString(radix) + rem1.toInt().toString(radix);\r\n } else\r\n return '-' + this.neg().toString(radix);\r\n }\r\n\r\n // Do several (6) digits each time through the loop, so as to\r\n // minimize the calls to the very expensive emulated div.\r\n var radixToPower = fromNumber(pow_dbl(radix, 6), this.unsigned),\r\n rem = this;\r\n var result = '';\r\n while (true) {\r\n var remDiv = rem.div(radixToPower),\r\n intval = rem.sub(remDiv.mul(radixToPower)).toInt() >>> 0,\r\n digits = intval.toString(radix);\r\n rem = remDiv;\r\n if (rem.isZero())\r\n return digits + result;\r\n else {\r\n while (digits.length < 6)\r\n digits = '0' + digits;\r\n result = '' + digits + result;\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Gets the high 32 bits as a signed integer.\r\n * @returns {number} Signed high bits\r\n */\r\n LongPrototype.getHighBits = function getHighBits() {\r\n return this.high;\r\n };\r\n\r\n /**\r\n * Gets the high 32 bits as an unsigned integer.\r\n * @returns {number} Unsigned high bits\r\n */\r\n LongPrototype.getHighBitsUnsigned = function getHighBitsUnsigned() {\r\n return this.high >>> 0;\r\n };\r\n\r\n /**\r\n * Gets the low 32 bits as a signed integer.\r\n * @returns {number} Signed low bits\r\n */\r\n LongPrototype.getLowBits = function getLowBits() {\r\n return this.low;\r\n };\r\n\r\n /**\r\n * Gets the low 32 bits as an unsigned integer.\r\n * @returns {number} Unsigned low bits\r\n */\r\n LongPrototype.getLowBitsUnsigned = function getLowBitsUnsigned() {\r\n return this.low >>> 0;\r\n };\r\n\r\n /**\r\n * Gets the number of bits needed to represent the absolute value of this Long.\r\n * @returns {number}\r\n */\r\n LongPrototype.getNumBitsAbs = function getNumBitsAbs() {\r\n if (this.isNegative()) // Unsigned Longs are never negative\r\n return this.eq(MIN_VALUE) ? 64 : this.neg().getNumBitsAbs();\r\n var val = this.high != 0 ? this.high : this.low;\r\n for (var bit = 31; bit > 0; bit--)\r\n if ((val & (1 << bit)) != 0)\r\n break;\r\n return this.high != 0 ? bit + 33 : bit + 1;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value equals zero.\r\n * @returns {boolean}\r\n */\r\n LongPrototype.isZero = function isZero() {\r\n return this.high === 0 && this.low === 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is negative.\r\n * @returns {boolean}\r\n */\r\n LongPrototype.isNegative = function isNegative() {\r\n return !this.unsigned && this.high < 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is positive.\r\n * @returns {boolean}\r\n */\r\n LongPrototype.isPositive = function isPositive() {\r\n return this.unsigned || this.high >= 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is odd.\r\n * @returns {boolean}\r\n */\r\n LongPrototype.isOdd = function isOdd() {\r\n return (this.low & 1) === 1;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is even.\r\n * @returns {boolean}\r\n */\r\n LongPrototype.isEven = function isEven() {\r\n return (this.low & 1) === 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value equals the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.equals = function equals(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n if (this.unsigned !== other.unsigned && (this.high >>> 31) === 1 && (other.high >>> 31) === 1)\r\n return false;\r\n return this.high === other.high && this.low === other.low;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value equals the specified's. This is an alias of {@link Long#equals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.eq = LongPrototype.equals;\r\n\r\n /**\r\n * Tests if this Long's value differs from the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.notEquals = function notEquals(other) {\r\n return !this.eq(/* validates */ other);\r\n };\r\n\r\n /**\r\n * Tests if this Long's value differs from the specified's. This is an alias of {@link Long#notEquals}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.neq = LongPrototype.notEquals;\r\n\r\n /**\r\n * Tests if this Long's value is less than the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.lessThan = function lessThan(other) {\r\n return this.comp(/* validates */ other) < 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is less than the specified's. This is an alias of {@link Long#lessThan}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.lt = LongPrototype.lessThan;\r\n\r\n /**\r\n * Tests if this Long's value is less than or equal the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.lessThanOrEqual = function lessThanOrEqual(other) {\r\n return this.comp(/* validates */ other) <= 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is less than or equal the specified's. This is an alias of {@link Long#lessThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.lte = LongPrototype.lessThanOrEqual;\r\n\r\n /**\r\n * Tests if this Long's value is greater than the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.greaterThan = function greaterThan(other) {\r\n return this.comp(/* validates */ other) > 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is greater than the specified's. This is an alias of {@link Long#greaterThan}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.gt = LongPrototype.greaterThan;\r\n\r\n /**\r\n * Tests if this Long's value is greater than or equal the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.greaterThanOrEqual = function greaterThanOrEqual(other) {\r\n return this.comp(/* validates */ other) >= 0;\r\n };\r\n\r\n /**\r\n * Tests if this Long's value is greater than or equal the specified's. This is an alias of {@link Long#greaterThanOrEqual}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {boolean}\r\n */\r\n LongPrototype.gte = LongPrototype.greaterThanOrEqual;\r\n\r\n /**\r\n * Compares this Long's value with the specified's.\r\n * @param {!Long|number|string} other Other value\r\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n * if the given one is greater\r\n */\r\n LongPrototype.compare = function compare(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n if (this.eq(other))\r\n return 0;\r\n var thisNeg = this.isNegative(),\r\n otherNeg = other.isNegative();\r\n if (thisNeg && !otherNeg)\r\n return -1;\r\n if (!thisNeg && otherNeg)\r\n return 1;\r\n // At this point the sign bits are the same\r\n if (!this.unsigned)\r\n return this.sub(other).isNegative() ? -1 : 1;\r\n // Both are positive if at least one is unsigned\r\n return (other.high >>> 0) > (this.high >>> 0) || (other.high === this.high && (other.low >>> 0) > (this.low >>> 0)) ? -1 : 1;\r\n };\r\n\r\n /**\r\n * Compares this Long's value with the specified's. This is an alias of {@link Long#compare}.\r\n * @function\r\n * @param {!Long|number|string} other Other value\r\n * @returns {number} 0 if they are the same, 1 if the this is greater and -1\r\n * if the given one is greater\r\n */\r\n LongPrototype.comp = LongPrototype.compare;\r\n\r\n /**\r\n * Negates this Long's value.\r\n * @returns {!Long} Negated Long\r\n */\r\n LongPrototype.negate = function negate() {\r\n if (!this.unsigned && this.eq(MIN_VALUE))\r\n return MIN_VALUE;\r\n return this.not().add(ONE);\r\n };\r\n\r\n /**\r\n * Negates this Long's value. This is an alias of {@link Long#negate}.\r\n * @function\r\n * @returns {!Long} Negated Long\r\n */\r\n LongPrototype.neg = LongPrototype.negate;\r\n\r\n /**\r\n * Returns the sum of this and the specified Long.\r\n * @param {!Long|number|string} addend Addend\r\n * @returns {!Long} Sum\r\n */\r\n LongPrototype.add = function add(addend) {\r\n if (!isLong(addend))\r\n addend = fromValue(addend);\r\n\r\n // Divide each number into 4 chunks of 16 bits, and then sum the chunks.\r\n\r\n var a48 = this.high >>> 16;\r\n var a32 = this.high & 0xFFFF;\r\n var a16 = this.low >>> 16;\r\n var a00 = this.low & 0xFFFF;\r\n\r\n var b48 = addend.high >>> 16;\r\n var b32 = addend.high & 0xFFFF;\r\n var b16 = addend.low >>> 16;\r\n var b00 = addend.low & 0xFFFF;\r\n\r\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\r\n c00 += a00 + b00;\r\n c16 += c00 >>> 16;\r\n c00 &= 0xFFFF;\r\n c16 += a16 + b16;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c32 += a32 + b32;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c48 += a48 + b48;\r\n c48 &= 0xFFFF;\r\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns the difference of this and the specified Long.\r\n * @param {!Long|number|string} subtrahend Subtrahend\r\n * @returns {!Long} Difference\r\n */\r\n LongPrototype.subtract = function subtract(subtrahend) {\r\n if (!isLong(subtrahend))\r\n subtrahend = fromValue(subtrahend);\r\n return this.add(subtrahend.neg());\r\n };\r\n\r\n /**\r\n * Returns the difference of this and the specified Long. This is an alias of {@link Long#subtract}.\r\n * @function\r\n * @param {!Long|number|string} subtrahend Subtrahend\r\n * @returns {!Long} Difference\r\n */\r\n LongPrototype.sub = LongPrototype.subtract;\r\n\r\n /**\r\n * Returns the product of this and the specified Long.\r\n * @param {!Long|number|string} multiplier Multiplier\r\n * @returns {!Long} Product\r\n */\r\n LongPrototype.multiply = function multiply(multiplier) {\r\n if (this.isZero())\r\n return ZERO;\r\n if (!isLong(multiplier))\r\n multiplier = fromValue(multiplier);\r\n if (multiplier.isZero())\r\n return ZERO;\r\n if (this.eq(MIN_VALUE))\r\n return multiplier.isOdd() ? MIN_VALUE : ZERO;\r\n if (multiplier.eq(MIN_VALUE))\r\n return this.isOdd() ? MIN_VALUE : ZERO;\r\n\r\n if (this.isNegative()) {\r\n if (multiplier.isNegative())\r\n return this.neg().mul(multiplier.neg());\r\n else\r\n return this.neg().mul(multiplier).neg();\r\n } else if (multiplier.isNegative())\r\n return this.mul(multiplier.neg()).neg();\r\n\r\n // If both longs are small, use float multiplication\r\n if (this.lt(TWO_PWR_24) && multiplier.lt(TWO_PWR_24))\r\n return fromNumber(this.toNumber() * multiplier.toNumber(), this.unsigned);\r\n\r\n // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.\r\n // We can skip products that would overflow.\r\n\r\n var a48 = this.high >>> 16;\r\n var a32 = this.high & 0xFFFF;\r\n var a16 = this.low >>> 16;\r\n var a00 = this.low & 0xFFFF;\r\n\r\n var b48 = multiplier.high >>> 16;\r\n var b32 = multiplier.high & 0xFFFF;\r\n var b16 = multiplier.low >>> 16;\r\n var b00 = multiplier.low & 0xFFFF;\r\n\r\n var c48 = 0, c32 = 0, c16 = 0, c00 = 0;\r\n c00 += a00 * b00;\r\n c16 += c00 >>> 16;\r\n c00 &= 0xFFFF;\r\n c16 += a16 * b00;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c16 += a00 * b16;\r\n c32 += c16 >>> 16;\r\n c16 &= 0xFFFF;\r\n c32 += a32 * b00;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c32 += a16 * b16;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c32 += a00 * b32;\r\n c48 += c32 >>> 16;\r\n c32 &= 0xFFFF;\r\n c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;\r\n c48 &= 0xFFFF;\r\n return fromBits((c16 << 16) | c00, (c48 << 16) | c32, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns the product of this and the specified Long. This is an alias of {@link Long#multiply}.\r\n * @function\r\n * @param {!Long|number|string} multiplier Multiplier\r\n * @returns {!Long} Product\r\n */\r\n LongPrototype.mul = LongPrototype.multiply;\r\n\r\n /**\r\n * Returns this Long divided by the specified. The result is signed if this Long is signed or\r\n * unsigned if this Long is unsigned.\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Quotient\r\n */\r\n LongPrototype.divide = function divide(divisor) {\r\n if (!isLong(divisor))\r\n divisor = fromValue(divisor);\r\n if (divisor.isZero())\r\n throw Error('division by zero');\r\n if (this.isZero())\r\n return this.unsigned ? UZERO : ZERO;\r\n var approx, rem, res;\r\n if (!this.unsigned) {\r\n // This section is only relevant for signed longs and is derived from the\r\n // closure library as a whole.\r\n if (this.eq(MIN_VALUE)) {\r\n if (divisor.eq(ONE) || divisor.eq(NEG_ONE))\r\n return MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE\r\n else if (divisor.eq(MIN_VALUE))\r\n return ONE;\r\n else {\r\n // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.\r\n var halfThis = this.shr(1);\r\n approx = halfThis.div(divisor).shl(1);\r\n if (approx.eq(ZERO)) {\r\n return divisor.isNegative() ? ONE : NEG_ONE;\r\n } else {\r\n rem = this.sub(divisor.mul(approx));\r\n res = approx.add(rem.div(divisor));\r\n return res;\r\n }\r\n }\r\n } else if (divisor.eq(MIN_VALUE))\r\n return this.unsigned ? UZERO : ZERO;\r\n if (this.isNegative()) {\r\n if (divisor.isNegative())\r\n return this.neg().div(divisor.neg());\r\n return this.neg().div(divisor).neg();\r\n } else if (divisor.isNegative())\r\n return this.div(divisor.neg()).neg();\r\n res = ZERO;\r\n } else {\r\n // The algorithm below has not been made for unsigned longs. It's therefore\r\n // required to take special care of the MSB prior to running it.\r\n if (!divisor.unsigned)\r\n divisor = divisor.toUnsigned();\r\n if (divisor.gt(this))\r\n return UZERO;\r\n if (divisor.gt(this.shru(1))) // 15 >>> 1 = 7 ; with divisor = 8 ; true\r\n return UONE;\r\n res = UZERO;\r\n }\r\n\r\n // Repeat the following until the remainder is less than other: find a\r\n // floating-point that approximates remainder / other *from below*, add this\r\n // into the result, and subtract it from the remainder. It is critical that\r\n // the approximate value is less than or equal to the real value so that the\r\n // remainder never becomes negative.\r\n rem = this;\r\n while (rem.gte(divisor)) {\r\n // Approximate the result of division. This may be a little greater or\r\n // smaller than the actual value.\r\n approx = Math.max(1, Math.floor(rem.toNumber() / divisor.toNumber()));\r\n\r\n // We will tweak the approximate result by changing it in the 48-th digit or\r\n // the smallest non-fractional digit, whichever is larger.\r\n var log2 = Math.ceil(Math.log(approx) / Math.LN2),\r\n delta = (log2 <= 48) ? 1 : pow_dbl(2, log2 - 48),\r\n\r\n // Decrease the approximation until it is smaller than the remainder. Note\r\n // that if it is too large, the product overflows and is negative.\r\n approxRes = fromNumber(approx),\r\n approxRem = approxRes.mul(divisor);\r\n while (approxRem.isNegative() || approxRem.gt(rem)) {\r\n approx -= delta;\r\n approxRes = fromNumber(approx, this.unsigned);\r\n approxRem = approxRes.mul(divisor);\r\n }\r\n\r\n // We know the answer can't be zero... and actually, zero would cause\r\n // infinite recursion since we would make no progress.\r\n if (approxRes.isZero())\r\n approxRes = ONE;\r\n\r\n res = res.add(approxRes);\r\n rem = rem.sub(approxRem);\r\n }\r\n return res;\r\n };\r\n\r\n /**\r\n * Returns this Long divided by the specified. This is an alias of {@link Long#divide}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Quotient\r\n */\r\n LongPrototype.div = LongPrototype.divide;\r\n\r\n /**\r\n * Returns this Long modulo the specified.\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\n LongPrototype.modulo = function modulo(divisor) {\r\n if (!isLong(divisor))\r\n divisor = fromValue(divisor);\r\n return this.sub(this.div(divisor).mul(divisor));\r\n };\r\n\r\n /**\r\n * Returns this Long modulo the specified. This is an alias of {@link Long#modulo}.\r\n * @function\r\n * @param {!Long|number|string} divisor Divisor\r\n * @returns {!Long} Remainder\r\n */\r\n LongPrototype.mod = LongPrototype.modulo;\r\n\r\n /**\r\n * Returns the bitwise NOT of this Long.\r\n * @returns {!Long}\r\n */\r\n LongPrototype.not = function not() {\r\n return fromBits(~this.low, ~this.high, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns the bitwise AND of this Long and the specified.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\n LongPrototype.and = function and(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low & other.low, this.high & other.high, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns the bitwise OR of this Long and the specified.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\n LongPrototype.or = function or(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low | other.low, this.high | other.high, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns the bitwise XOR of this Long and the given one.\r\n * @param {!Long|number|string} other Other Long\r\n * @returns {!Long}\r\n */\r\n LongPrototype.xor = function xor(other) {\r\n if (!isLong(other))\r\n other = fromValue(other);\r\n return fromBits(this.low ^ other.low, this.high ^ other.high, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns this Long with bits shifted to the left by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\n LongPrototype.shiftLeft = function shiftLeft(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n if ((numBits &= 63) === 0)\r\n return this;\r\n else if (numBits < 32)\r\n return fromBits(this.low << numBits, (this.high << numBits) | (this.low >>> (32 - numBits)), this.unsigned);\r\n else\r\n return fromBits(0, this.low << (numBits - 32), this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns this Long with bits shifted to the left by the given amount. This is an alias of {@link Long#shiftLeft}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\n LongPrototype.shl = LongPrototype.shiftLeft;\r\n\r\n /**\r\n * Returns this Long with bits arithmetically shifted to the right by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\n LongPrototype.shiftRight = function shiftRight(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n if ((numBits &= 63) === 0)\r\n return this;\r\n else if (numBits < 32)\r\n return fromBits((this.low >>> numBits) | (this.high << (32 - numBits)), this.high >> numBits, this.unsigned);\r\n else\r\n return fromBits(this.high >> (numBits - 32), this.high >= 0 ? 0 : -1, this.unsigned);\r\n };\r\n\r\n /**\r\n * Returns this Long with bits arithmetically shifted to the right by the given amount. This is an alias of {@link Long#shiftRight}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\n LongPrototype.shr = LongPrototype.shiftRight;\r\n\r\n /**\r\n * Returns this Long with bits logically shifted to the right by the given amount.\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\n LongPrototype.shiftRightUnsigned = function shiftRightUnsigned(numBits) {\r\n if (isLong(numBits))\r\n numBits = numBits.toInt();\r\n numBits &= 63;\r\n if (numBits === 0)\r\n return this;\r\n else {\r\n var high = this.high;\r\n if (numBits < 32) {\r\n var low = this.low;\r\n return fromBits((low >>> numBits) | (high << (32 - numBits)), high >>> numBits, this.unsigned);\r\n } else if (numBits === 32)\r\n return fromBits(high, 0, this.unsigned);\r\n else\r\n return fromBits(high >>> (numBits - 32), 0, this.unsigned);\r\n }\r\n };\r\n\r\n /**\r\n * Returns this Long with bits logically shifted to the right by the given amount. This is an alias of {@link Long#shiftRightUnsigned}.\r\n * @function\r\n * @param {number|!Long} numBits Number of bits\r\n * @returns {!Long} Shifted Long\r\n */\r\n LongPrototype.shru = LongPrototype.shiftRightUnsigned;\r\n\r\n /**\r\n * Converts this Long to signed.\r\n * @returns {!Long} Signed long\r\n */\r\n LongPrototype.toSigned = function toSigned() {\r\n if (!this.unsigned)\r\n return this;\r\n return fromBits(this.low, this.high, false);\r\n };\r\n\r\n /**\r\n * Converts this Long to unsigned.\r\n * @returns {!Long} Unsigned long\r\n */\r\n LongPrototype.toUnsigned = function toUnsigned() {\r\n if (this.unsigned)\r\n return this;\r\n return fromBits(this.low, this.high, true);\r\n };\r\n\r\n /**\r\n * Converts this Long to its byte representation.\r\n * @param {boolean=} le Whether little or big endian, defaults to big endian\r\n * @returns {!Array.<number>} Byte representation\r\n */\r\n LongPrototype.toBytes = function(le) {\r\n return le ? this.toBytesLE() : this.toBytesBE();\r\n }\r\n\r\n /**\r\n * Converts this Long to its little endian byte representation.\r\n * @returns {!Array.<number>} Little endian byte representation\r\n */\r\n LongPrototype.toBytesLE = function() {\r\n var hi = this.high,\r\n lo = this.low;\r\n return [\r\n lo & 0xff,\r\n (lo >>> 8) & 0xff,\r\n (lo >>> 16) & 0xff,\r\n (lo >>> 24) & 0xff,\r\n hi & 0xff,\r\n (hi >>> 8) & 0xff,\r\n (hi >>> 16) & 0xff,\r\n (hi >>> 24) & 0xff\r\n ];\r\n }\r\n\r\n /**\r\n * Converts this Long to its big endian byte representation.\r\n * @returns {!Array.<number>} Big endian byte representation\r\n */\r\n LongPrototype.toBytesBE = function() {\r\n var hi = this.high,\r\n lo = this.low;\r\n return [\r\n (hi >>> 24) & 0xff,\r\n (hi >>> 16) & 0xff,\r\n (hi >>> 8) & 0xff,\r\n hi & 0xff,\r\n (lo >>> 24) & 0xff,\r\n (lo >>> 16) & 0xff,\r\n (lo >>> 8) & 0xff,\r\n lo & 0xff\r\n ];\r\n }\r\n\r\n return Long;\r\n});\r\n\n\n\n// WEBPACK FOOTER //\n// ./~/long/dist/long.js","var ciphers = require('./encrypter')\nvar deciphers = require('./decrypter')\nvar modes = require('./modes/list.json')\n\nfunction getCiphers () {\n return Object.keys(modes)\n}\n\nexports.createCipher = exports.Cipher = ciphers.createCipher\nexports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv\nexports.createDecipher = exports.Decipher = deciphers.createDecipher\nexports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv\nexports.listCiphers = exports.getCiphers = getCiphers\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/browser.js","var MODES = require('./modes')\nvar AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Cipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Cipher, Transform)\n\nCipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk)\n out.push(thing)\n }\n\n return Buffer.concat(out)\n}\n\nvar PADDING = Buffer.alloc(16, 0x10)\n\nCipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n chunk = this._mode.encrypt(this, chunk)\n this._cipher.scrub()\n return chunk\n }\n\n if (!chunk.equals(PADDING)) {\n this._cipher.scrub()\n throw new Error('data not multiple of block length')\n }\n}\n\nCipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n return null\n}\n\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length\n var padBuff = Buffer.allocUnsafe(len)\n\n var i = -1\n while (++i < len) {\n padBuff.writeUInt8(len, i)\n }\n\n return Buffer.concat([this.cache, padBuff])\n}\n\nfunction createCipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv)\n }\n\n return new Cipher(config.module, password, iv)\n}\n\nfunction createCipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createCipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createCipheriv = createCipheriv\nexports.createCipher = createCipher\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/encrypter.js","var modeModules = {\n ECB: require('./ecb'),\n CBC: require('./cbc'),\n CFB: require('./cfb'),\n CFB8: require('./cfb8'),\n CFB1: require('./cfb1'),\n OFB: require('./ofb'),\n CTR: require('./ctr'),\n GCM: require('./ctr')\n}\n\nvar modes = require('./list.json')\n\nfor (var key in modes) {\n modes[key].module = modeModules[modes[key].mode]\n}\n\nmodule.exports = modes\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/index.js","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block)\n}\n\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/ecb.js","var xor = require('buffer-xor')\n\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev)\n\n self._prev = self._cipher.encryptBlock(data)\n return self._prev\n}\n\nexports.decrypt = function (self, block) {\n var pad = self._prev\n\n self._prev = block\n var out = self._cipher.decryptBlock(block)\n\n return xor(out, pad)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/cbc.js","module.exports = function xor (a, b) {\n var length = Math.min(a.length, b.length)\n var buffer = new Buffer(length)\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i]\n }\n\n return buffer\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/buffer-xor/index.js","var Buffer = require('safe-buffer').Buffer\nvar xor = require('buffer-xor')\n\nfunction encryptStart (self, data, decrypt) {\n var len = data.length\n var out = xor(data, self._cache)\n self._cache = self._cache.slice(len)\n self._prev = Buffer.concat([self._prev, decrypt ? data : out])\n return out\n}\n\nexports.encrypt = function (self, data, decrypt) {\n var out = Buffer.allocUnsafe(0)\n var len\n\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev)\n self._prev = Buffer.allocUnsafe(0)\n }\n\n if (self._cache.length <= data.length) {\n len = self._cache.length\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])\n data = data.slice(len)\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)])\n break\n }\n }\n\n return out\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/cfb.js","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad = self._cipher.encryptBlock(self._prev)\n var out = pad[0] ^ byteParam\n\n self._prev = Buffer.concat([\n self._prev.slice(1),\n Buffer.from([decrypt ? byteParam : out])\n ])\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/cfb8.js","var Buffer = require('safe-buffer').Buffer\n\nfunction encryptByte (self, byteParam, decrypt) {\n var pad\n var i = -1\n var len = 8\n var out = 0\n var bit, value\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev)\n bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0\n value = pad[0] ^ bit\n out += ((value & 0x80) >> (i % 8))\n self._prev = shiftIn(self._prev, decrypt ? bit : value)\n }\n return out\n}\n\nfunction shiftIn (buffer, value) {\n var len = buffer.length\n var i = -1\n var out = Buffer.allocUnsafe(buffer.length)\n buffer = Buffer.concat([buffer, Buffer.from([value])])\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)\n }\n\n return out\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length\n var out = Buffer.allocUnsafe(len)\n var i = -1\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt)\n }\n\n return out\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/cfb1.js","var xor = require('buffer-xor')\n\nfunction getBlock (self) {\n self._prev = self._cipher.encryptBlock(self._prev)\n return self._prev\n}\n\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)])\n }\n\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/ofb.js","var xor = require('buffer-xor')\nvar Buffer = require('safe-buffer').Buffer\nvar incr32 = require('../incr32')\n\nfunction getBlock (self) {\n var out = self._cipher.encryptBlockRaw(self._prev)\n incr32(self._prev)\n return out\n}\n\nvar blockSize = 16\nexports.encrypt = function (self, chunk) {\n var chunkNum = Math.ceil(chunk.length / blockSize)\n var start = self._cache.length\n self._cache = Buffer.concat([\n self._cache,\n Buffer.allocUnsafe(chunkNum * blockSize)\n ])\n for (var i = 0; i < chunkNum; i++) {\n var out = getBlock(self)\n var offset = start + i * blockSize\n self._cache.writeUInt32BE(out[0], offset + 0)\n self._cache.writeUInt32BE(out[1], offset + 4)\n self._cache.writeUInt32BE(out[2], offset + 8)\n self._cache.writeUInt32BE(out[3], offset + 12)\n }\n var pad = self._cache.slice(0, chunk.length)\n self._cache = self._cache.slice(chunk.length)\n return xor(chunk, pad)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/modes/ctr.js","function incr32 (iv) {\n var len = iv.length\n var item\n while (len--) {\n item = iv.readUInt8(len)\n if (item === 255) {\n iv.writeUInt8(0, len)\n } else {\n item++\n iv.writeUInt8(item, len)\n break\n }\n }\n}\nmodule.exports = incr32\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/incr32.js","module.exports = {\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/browserify-aes/modes/list.json\n// module id = 168\n// module chunks = 0 1","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\nvar GHASH = require('./ghash')\nvar xor = require('buffer-xor')\nvar incr32 = require('./incr32')\n\nfunction xorTest (a, b) {\n var out = 0\n if (a.length !== b.length) out++\n\n var len = Math.min(a.length, b.length)\n for (var i = 0; i < len; ++i) {\n out += (a[i] ^ b[i])\n }\n\n return out\n}\n\nfunction calcIv (self, iv, ck) {\n if (iv.length === 12) {\n self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])\n return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])\n }\n var ghash = new GHASH(ck)\n var len = iv.length\n var toPad = len % 16\n ghash.update(iv)\n if (toPad) {\n toPad = 16 - toPad\n ghash.update(Buffer.alloc(toPad, 0))\n }\n ghash.update(Buffer.alloc(8, 0))\n var ivBits = len * 8\n var tail = Buffer.alloc(8)\n tail.writeUIntBE(ivBits, 0, 8)\n ghash.update(tail)\n self._finID = ghash.state\n var out = Buffer.from(self._finID)\n incr32(out)\n return out\n}\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n var h = Buffer.alloc(4, 0)\n\n this._cipher = new aes.AES(key)\n var ck = this._cipher.encryptBlock(h)\n this._ghash = new GHASH(ck)\n iv = calcIv(this, iv, ck)\n\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._alen = 0\n this._len = 0\n this._mode = mode\n\n this._authTag = null\n this._called = false\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n if (!this._called && this._alen) {\n var rump = 16 - (this._alen % 16)\n if (rump < 16) {\n rump = Buffer.alloc(rump, 0)\n this._ghash.update(rump)\n }\n }\n\n this._called = true\n var out = this._mode.encrypt(this, chunk)\n if (this._decrypt) {\n this._ghash.update(chunk)\n } else {\n this._ghash.update(out)\n }\n this._len += chunk.length\n return out\n}\n\nStreamCipher.prototype._final = function () {\n if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')\n\n var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))\n if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')\n\n this._authTag = tag\n this._cipher.scrub()\n}\n\nStreamCipher.prototype.getAuthTag = function getAuthTag () {\n if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')\n\n return this._authTag\n}\n\nStreamCipher.prototype.setAuthTag = function setAuthTag (tag) {\n if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')\n\n this._authTag = tag\n}\n\nStreamCipher.prototype.setAAD = function setAAD (buf) {\n if (this._called) throw new Error('Attempting to set AAD in unsupported state')\n\n this._ghash.update(buf)\n this._alen += buf.length\n}\n\nmodule.exports = StreamCipher\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/authCipher.js","// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n var len = (buf.length / 4) | 0\n var out = new Array(len)\n\n for (var i = 0; i < len; i++) {\n out[i] = buf.readUInt32BE(i * 4)\n }\n\n return out\n}\n\nfunction scrubVec (v) {\n for (var i = 0; i < v.length; v++) {\n v[i] = 0\n }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n var SUB_MIX0 = SUB_MIX[0]\n var SUB_MIX1 = SUB_MIX[1]\n var SUB_MIX2 = SUB_MIX[2]\n var SUB_MIX3 = SUB_MIX[3]\n\n var s0 = M[0] ^ keySchedule[0]\n var s1 = M[1] ^ keySchedule[1]\n var s2 = M[2] ^ keySchedule[2]\n var s3 = M[3] ^ keySchedule[3]\n var t0, t1, t2, t3\n var ksRow = 4\n\n for (var round = 1; round < nRounds; round++) {\n t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n s0 = t0\n s1 = t1\n s2 = t2\n s3 = t3\n }\n\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n t0 = t0 >>> 0\n t1 = t1 >>> 0\n t2 = t2 >>> 0\n t3 = t3 >>> 0\n\n return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n // Compute double table\n var d = new Array(256)\n for (var j = 0; j < 256; j++) {\n if (j < 128) {\n d[j] = j << 1\n } else {\n d[j] = (j << 1) ^ 0x11b\n }\n }\n\n var SBOX = []\n var INV_SBOX = []\n var SUB_MIX = [[], [], [], []]\n var INV_SUB_MIX = [[], [], [], []]\n\n // Walk GF(2^8)\n var x = 0\n var xi = 0\n for (var i = 0; i < 256; ++i) {\n // Compute sbox\n var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n SBOX[x] = sx\n INV_SBOX[sx] = x\n\n // Compute multiplication\n var x2 = d[x]\n var x4 = d[x2]\n var x8 = d[x4]\n\n // Compute sub bytes, mix columns tables\n var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n SUB_MIX[3][x] = t\n\n // Compute inv sub bytes, inv mix columns tables\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n INV_SUB_MIX[3][sx] = t\n\n if (x === 0) {\n x = xi = 1\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]]\n xi ^= d[d[xi]]\n }\n }\n\n return {\n SBOX: SBOX,\n INV_SBOX: INV_SBOX,\n SUB_MIX: SUB_MIX,\n INV_SUB_MIX: INV_SUB_MIX\n }\n})()\n\nfunction AES (key) {\n this._key = asUInt32Array(key)\n this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n var keyWords = this._key\n var keySize = keyWords.length\n var nRounds = keySize + 6\n var ksRows = (nRounds + 1) * 4\n\n var keySchedule = []\n for (var k = 0; k < keySize; k++) {\n keySchedule[k] = keyWords[k]\n }\n\n for (k = keySize; k < ksRows; k++) {\n var t = keySchedule[k - 1]\n\n if (k % keySize === 0) {\n t = (t << 8) | (t >>> 24)\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n\n t ^= RCON[(k / keySize) | 0] << 24\n } else if (keySize > 6 && k % keySize === 4) {\n t =\n (G.SBOX[t >>> 24] << 24) |\n (G.SBOX[(t >>> 16) & 0xff] << 16) |\n (G.SBOX[(t >>> 8) & 0xff] << 8) |\n (G.SBOX[t & 0xff])\n }\n\n keySchedule[k] = keySchedule[k - keySize] ^ t\n }\n\n var invKeySchedule = []\n for (var ik = 0; ik < ksRows; ik++) {\n var ksR = ksRows - ik\n var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n if (ik < 4 || ksR <= 4) {\n invKeySchedule[ik] = tt\n } else {\n invKeySchedule[ik] =\n G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n }\n }\n\n this._nRounds = nRounds\n this._keySchedule = keySchedule\n this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n M = asUInt32Array(M)\n return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n var out = this.encryptBlockRaw(M)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[1], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[3], 12)\n return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n M = asUInt32Array(M)\n\n // swap\n var m1 = M[1]\n M[1] = M[3]\n M[3] = m1\n\n var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0], 0)\n buf.writeUInt32BE(out[3], 4)\n buf.writeUInt32BE(out[2], 8)\n buf.writeUInt32BE(out[1], 12)\n return buf\n}\n\nAES.prototype.scrub = function () {\n scrubVec(this._keySchedule)\n scrubVec(this._invKeySchedule)\n scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/aes.js","var Buffer = require('safe-buffer').Buffer\nvar ZEROES = Buffer.alloc(16, 0)\n\nfunction toArray (buf) {\n return [\n buf.readUInt32BE(0),\n buf.readUInt32BE(4),\n buf.readUInt32BE(8),\n buf.readUInt32BE(12)\n ]\n}\n\nfunction fromArray (out) {\n var buf = Buffer.allocUnsafe(16)\n buf.writeUInt32BE(out[0] >>> 0, 0)\n buf.writeUInt32BE(out[1] >>> 0, 4)\n buf.writeUInt32BE(out[2] >>> 0, 8)\n buf.writeUInt32BE(out[3] >>> 0, 12)\n return buf\n}\n\nfunction GHASH (key) {\n this.h = key\n this.state = Buffer.alloc(16, 0)\n this.cache = Buffer.allocUnsafe(0)\n}\n\n// from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html\n// by Juho Vähä-Herttua\nGHASH.prototype.ghash = function (block) {\n var i = -1\n while (++i < block.length) {\n this.state[i] ^= block[i]\n }\n this._multiply()\n}\n\nGHASH.prototype._multiply = function () {\n var Vi = toArray(this.h)\n var Zi = [0, 0, 0, 0]\n var j, xi, lsbVi\n var i = -1\n while (++i < 128) {\n xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0\n if (xi) {\n // Z_i+1 = Z_i ^ V_i\n Zi[0] ^= Vi[0]\n Zi[1] ^= Vi[1]\n Zi[2] ^= Vi[2]\n Zi[3] ^= Vi[3]\n }\n\n // Store the value of LSB(V_i)\n lsbVi = (Vi[3] & 1) !== 0\n\n // V_i+1 = V_i >> 1\n for (j = 3; j > 0; j--) {\n Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)\n }\n Vi[0] = Vi[0] >>> 1\n\n // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R\n if (lsbVi) {\n Vi[0] = Vi[0] ^ (0xe1 << 24)\n }\n }\n this.state = fromArray(Zi)\n}\n\nGHASH.prototype.update = function (buf) {\n this.cache = Buffer.concat([this.cache, buf])\n var chunk\n while (this.cache.length >= 16) {\n chunk = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n this.ghash(chunk)\n }\n}\n\nGHASH.prototype.final = function (abl, bl) {\n if (this.cache.length) {\n this.ghash(Buffer.concat([this.cache, ZEROES], 16))\n }\n\n this.ghash(fromArray([0, abl, 0, bl]))\n return this.state\n}\n\nmodule.exports = GHASH\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/ghash.js","var aes = require('./aes')\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('cipher-base')\nvar inherits = require('inherits')\n\nfunction StreamCipher (mode, key, iv, decrypt) {\n Transform.call(this)\n\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._cache = Buffer.allocUnsafe(0)\n this._secCache = Buffer.allocUnsafe(0)\n this._decrypt = decrypt\n this._mode = mode\n}\n\ninherits(StreamCipher, Transform)\n\nStreamCipher.prototype._update = function (chunk) {\n return this._mode.encrypt(this, chunk, this._decrypt)\n}\n\nStreamCipher.prototype._final = function () {\n this._cipher.scrub()\n}\n\nmodule.exports = StreamCipher\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/streamCipher.js","var Buffer = require('safe-buffer').Buffer\nvar MD5 = require('md5.js')\n\n/* eslint-disable camelcase */\nfunction EVP_BytesToKey (password, salt, keyBits, ivLen) {\n if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')\n if (salt) {\n if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')\n if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')\n }\n\n var keyLen = keyBits / 8\n var key = Buffer.alloc(keyLen)\n var iv = Buffer.alloc(ivLen || 0)\n var tmp = Buffer.alloc(0)\n\n while (keyLen > 0 || ivLen > 0) {\n var hash = new MD5()\n hash.update(tmp)\n hash.update(password)\n if (salt) hash.update(salt)\n tmp = hash.digest()\n\n var used = 0\n\n if (keyLen > 0) {\n var keyStart = key.length - keyLen\n used = Math.min(keyLen, tmp.length)\n tmp.copy(key, keyStart, 0, used)\n keyLen -= used\n }\n\n if (used < tmp.length && ivLen > 0) {\n var ivStart = iv.length - ivLen\n var length = Math.min(ivLen, tmp.length - used)\n tmp.copy(iv, ivStart, used, used + length)\n ivLen -= length\n }\n }\n\n tmp.fill(0)\n return { key: key, iv: iv }\n}\n\nmodule.exports = EVP_BytesToKey\n\n\n\n// WEBPACK FOOTER //\n// ./~/evp_bytestokey/index.js","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = new Buffer(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n\n\n\n// WEBPACK FOOTER //\n// ./~/md5.js/index.js","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n\n\n\n// WEBPACK FOOTER //\n// ./~/hash-base/index.js","var AuthCipher = require('./authCipher')\nvar Buffer = require('safe-buffer').Buffer\nvar MODES = require('./modes')\nvar StreamCipher = require('./streamCipher')\nvar Transform = require('cipher-base')\nvar aes = require('./aes')\nvar ebtk = require('evp_bytestokey')\nvar inherits = require('inherits')\n\nfunction Decipher (mode, key, iv) {\n Transform.call(this)\n\n this._cache = new Splitter()\n this._last = void 0\n this._cipher = new aes.AES(key)\n this._prev = Buffer.from(iv)\n this._mode = mode\n this._autopadding = true\n}\n\ninherits(Decipher, Transform)\n\nDecipher.prototype._update = function (data) {\n this._cache.add(data)\n var chunk\n var thing\n var out = []\n while ((chunk = this._cache.get(this._autopadding))) {\n thing = this._mode.decrypt(this, chunk)\n out.push(thing)\n }\n return Buffer.concat(out)\n}\n\nDecipher.prototype._final = function () {\n var chunk = this._cache.flush()\n if (this._autopadding) {\n return unpad(this._mode.decrypt(this, chunk))\n } else if (chunk) {\n throw new Error('data not multiple of block length')\n }\n}\n\nDecipher.prototype.setAutoPadding = function (setTo) {\n this._autopadding = !!setTo\n return this\n}\n\nfunction Splitter () {\n this.cache = Buffer.allocUnsafe(0)\n}\n\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data])\n}\n\nSplitter.prototype.get = function (autoPadding) {\n var out\n if (autoPadding) {\n if (this.cache.length > 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n } else {\n if (this.cache.length >= 16) {\n out = this.cache.slice(0, 16)\n this.cache = this.cache.slice(16)\n return out\n }\n }\n\n return null\n}\n\nSplitter.prototype.flush = function () {\n if (this.cache.length) return this.cache\n}\n\nfunction unpad (last) {\n var padded = last[15]\n var i = -1\n while (++i < padded) {\n if (last[(i + (16 - padded))] !== padded) {\n throw new Error('unable to decrypt data')\n }\n }\n if (padded === 16) return\n\n return last.slice(0, 16 - padded)\n}\n\nfunction createDecipheriv (suite, password, iv) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n if (typeof iv === 'string') iv = Buffer.from(iv)\n if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)\n\n if (typeof password === 'string') password = Buffer.from(password)\n if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)\n\n if (config.type === 'stream') {\n return new StreamCipher(config.module, password, iv, true)\n } else if (config.type === 'auth') {\n return new AuthCipher(config.module, password, iv, true)\n }\n\n return new Decipher(config.module, password, iv)\n}\n\nfunction createDecipher (suite, password) {\n var config = MODES[suite.toLowerCase()]\n if (!config) throw new TypeError('invalid suite type')\n\n var keys = ebtk(password, false, config.key, config.iv)\n return createDecipheriv(suite, keys.key, keys.iv)\n}\n\nexports.createDecipher = createDecipher\nexports.createDecipheriv = createDecipheriv\n\n\n\n// WEBPACK FOOTER //\n// ./~/browserify-aes/decrypter.js","var BigInteger = require('bigi');\nvar ecurve = require('ecurve');\nvar secp256k1 = ecurve.getCurveByName('secp256k1');\nBigInteger = require('bigi');\nvar base58 = require('bs58');\nvar hash = require('./hash');\nvar config = require('../../../config');\nvar assert = require('assert');\n\nvar G = secp256k1.G\nvar n = secp256k1.n\n\nclass PublicKey {\n\n /** @param {ecurve.Point} public key */\n constructor(Q) { this.Q = Q; }\n\n static fromBinary(bin) {\n return PublicKey.fromBuffer(new Buffer(bin, 'binary'));\n }\n\n static fromBuffer(buffer) {\n if (\n buffer.toString(\"hex\") ===\n \"000000000000000000000000000000000000000000000000000000000000000000\"\n )\n return new PublicKey(null);\n return new PublicKey(ecurve.Point.decodeFrom(secp256k1, buffer));\n }\n\n toBuffer(compressed = this.Q ? this.Q.compressed : null) {\n if (this.Q === null)\n return Buffer.from(\n \"000000000000000000000000000000000000000000000000000000000000000000\",\n \"hex\"\n );\n return this.Q.getEncoded(compressed);\n }\n\n static fromPoint(point) {\n return new PublicKey(point);\n }\n\n toUncompressed() {\n var buf = this.Q.getEncoded(false);\n var point = ecurve.Point.decodeFrom(secp256k1, buf);\n return PublicKey.fromPoint(point);\n }\n\n /** bts::blockchain::address (unique but not a full public key) */\n toBlockchainAddress() {\n var pub_buf = this.toBuffer();\n var pub_sha = hash.sha512(pub_buf);\n return hash.ripemd160(pub_sha);\n }\n\n toString(address_prefix = config.get('address_prefix')) {\n return this.toPublicKeyString(address_prefix)\n }\n\n /**\n Full public key\n {return} string\n */\n toPublicKeyString(address_prefix = config.get('address_prefix')) {\n if(this.pubdata) return address_prefix + this.pubdata\n const pub_buf = this.toBuffer();\n const checksum = hash.ripemd160(pub_buf);\n const addy = Buffer.concat([pub_buf, checksum.slice(0, 4)]);\n this.pubdata = base58.encode(addy)\n return address_prefix + this.pubdata;\n }\n\n /**\n @arg {string} public_key - like STMXyz...\n @arg {string} address_prefix - like STM\n @return PublicKey or `null` (if the public_key string is invalid)\n @deprecated fromPublicKeyString (use fromString instead)\n */\n static fromString(public_key, address_prefix = config.get('address_prefix')) {\n try {\n return PublicKey.fromStringOrThrow(public_key, address_prefix)\n } catch (e) {\n return null;\n }\n }\n\n /**\n @arg {string} public_key - like STMXyz...\n @arg {string} address_prefix - like STM\n @throws {Error} if public key is invalid\n @return PublicKey\n */\n static fromStringOrThrow(public_key, address_prefix = config.get('address_prefix')) {\n var prefix = public_key.slice(0, address_prefix.length);\n assert.equal(\n address_prefix, prefix,\n `Expecting key to begin with ${address_prefix}, instead got ${prefix}`);\n public_key = public_key.slice(address_prefix.length);\n\n public_key = new Buffer(base58.decode(public_key), 'binary');\n var checksum = public_key.slice(-4);\n public_key = public_key.slice(0, -4);\n var new_checksum = hash.ripemd160(public_key);\n new_checksum = new_checksum.slice(0, 4);\n assert.deepEqual(checksum, new_checksum, 'Checksum did not match');\n return PublicKey.fromBuffer(public_key);\n }\n\n toAddressString(address_prefix = config.get('address_prefix')) {\n var pub_buf = this.toBuffer();\n var pub_sha = hash.sha512(pub_buf);\n var addy = hash.ripemd160(pub_sha);\n var checksum = hash.ripemd160(addy);\n addy = Buffer.concat([addy, checksum.slice(0, 4)]);\n return address_prefix + base58.encode(addy);\n }\n\n toPtsAddy() {\n var pub_buf = this.toBuffer();\n var pub_sha = hash.sha256(pub_buf);\n var addy = hash.ripemd160(pub_sha);\n addy = Buffer.concat([new Buffer([0x38]), addy]); //version 56(decimal)\n\n var checksum = hash.sha256(addy);\n checksum = hash.sha256(checksum);\n\n addy = Buffer.concat([addy, checksum.slice(0, 4)]);\n return base58.encode(addy);\n }\n\n child( offset ) {\n\n assert(Buffer.isBuffer(offset), \"Buffer required: offset\")\n assert.equal(offset.length, 32, \"offset length\")\n\n offset = Buffer.concat([ this.toBuffer(), offset ])\n offset = hash.sha256( offset )\n\n let c = BigInteger.fromBuffer( offset )\n\n if (c.compareTo(n) >= 0)\n throw new Error(\"Child offset went out of bounds, try again\")\n\n\n let cG = G.multiply(c)\n let Qprime = this.Q.add(cG)\n\n if( secp256k1.isInfinity(Qprime) )\n throw new Error(\"Child offset derived to an invalid key, try again\")\n\n return PublicKey.fromPoint(Qprime)\n }\n\n // toByteBuffer() {\n // var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n // this.appendByteBuffer(b);\n // return b.copy(0, b.offset);\n // }\n\n static fromHex(hex) {\n return PublicKey.fromBuffer(new Buffer(hex, 'hex'));\n }\n\n toHex() {\n return this.toBuffer().toString('hex');\n }\n\n static fromStringHex(hex) {\n return PublicKey.fromString(new Buffer(hex, 'hex'));\n }\n\n /* </HEX> */\n}\n\n\nmodule.exports = PublicKey;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/key_public.js","var BigInteger = require('./bigi')\n\n//addons\nrequire('./convert')\n\nmodule.exports = BigInteger\n\n\n// WEBPACK FOOTER //\n// ./~/bigi/lib/index.js","// (public) Constructor\nfunction BigInteger(a, b, c) {\n if (!(this instanceof BigInteger))\n return new BigInteger(a, b, c)\n\n if (a != null) {\n if (\"number\" == typeof a) this.fromNumber(a, b, c)\n else if (b == null && \"string\" != typeof a) this.fromString(a, 256)\n else this.fromString(a, b)\n }\n}\n\nvar proto = BigInteger.prototype\n\n// duck-typed isBigInteger\nproto.__bigi = require('../package.json').version\nBigInteger.isBigInteger = function (obj, check_ver) {\n return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)\n}\n\n// Bits per digit\nvar dbits\n\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c\n c = Math.floor(v / 0x4000000)\n w[j++] = v & 0x3ffffff\n }\n return c\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15\n while (--n >= 0) {\n var l = this[i] & 0x7fff\n var h = this[i++] >> 15\n var m = xh * l + h * xl\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)\n w[j++] = l & 0x3fffffff\n }\n return c\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14\n while (--n >= 0) {\n var l = this[i] & 0x3fff\n var h = this[i++] >> 14\n var m = xh * l + h * xl\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c\n c = (l >> 28) + (m >> 14) + xh * h\n w[j++] = l & 0xfffffff\n }\n return c\n}\n\n// wtf?\nBigInteger.prototype.am = am1\ndbits = 26\n\nBigInteger.prototype.DB = dbits\nBigInteger.prototype.DM = ((1 << dbits) - 1)\nvar DV = BigInteger.prototype.DV = (1 << dbits)\n\nvar BI_FP = 52\nBigInteger.prototype.FV = Math.pow(2, BI_FP)\nBigInteger.prototype.F1 = BI_FP - dbits\nBigInteger.prototype.F2 = 2 * dbits - BI_FP\n\n// Digit conversions\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\"\nvar BI_RC = new Array()\nvar rr, vv\nrr = \"0\".charCodeAt(0)\nfor (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv\nrr = \"a\".charCodeAt(0)\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv\nrr = \"A\".charCodeAt(0)\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv\n\nfunction int2char(n) {\n return BI_RM.charAt(n)\n}\n\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)]\n return (c == null) ? -1 : c\n}\n\n// (protected) copy this to r\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]\n r.t = this.t\n r.s = this.s\n}\n\n// (protected) set from integer value x, -DV <= x < DV\nfunction bnpFromInt(x) {\n this.t = 1\n this.s = (x < 0) ? -1 : 0\n if (x > 0) this[0] = x\n else if (x < -1) this[0] = x + DV\n else this.t = 0\n}\n\n// return bigint initialized to value\nfunction nbv(i) {\n var r = new BigInteger()\n r.fromInt(i)\n return r\n}\n\n// (protected) set from string and radix\nfunction bnpFromString(s, b) {\n var self = this\n\n var k\n if (b == 16) k = 4\n else if (b == 8) k = 3\n else if (b == 256) k = 8; // byte array\n else if (b == 2) k = 1\n else if (b == 32) k = 5\n else if (b == 4) k = 2\n else {\n self.fromRadix(s, b)\n return\n }\n self.t = 0\n self.s = 0\n var i = s.length,\n mi = false,\n sh = 0\n while (--i >= 0) {\n var x = (k == 8) ? s[i] & 0xff : intAt(s, i)\n if (x < 0) {\n if (s.charAt(i) == \"-\") mi = true\n continue\n }\n mi = false\n if (sh == 0)\n self[self.t++] = x\n else if (sh + k > self.DB) {\n self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh\n self[self.t++] = (x >> (self.DB - sh))\n } else\n self[self.t - 1] |= x << sh\n sh += k\n if (sh >= self.DB) sh -= self.DB\n }\n if (k == 8 && (s[0] & 0x80) != 0) {\n self.s = -1\n if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh\n }\n self.clamp()\n if (mi) BigInteger.ZERO.subTo(self, self)\n}\n\n// (protected) clamp off excess high words\nfunction bnpClamp() {\n var c = this.s & this.DM\n while (this.t > 0 && this[this.t - 1] == c)--this.t\n}\n\n// (public) return string representation in given radix\nfunction bnToString(b) {\n var self = this\n if (self.s < 0) return \"-\" + self.negate()\n .toString(b)\n var k\n if (b == 16) k = 4\n else if (b == 8) k = 3\n else if (b == 2) k = 1\n else if (b == 32) k = 5\n else if (b == 4) k = 2\n else return self.toRadix(b)\n var km = (1 << k) - 1,\n d, m = false,\n r = \"\",\n i = self.t\n var p = self.DB - (i * self.DB) % k\n if (i-- > 0) {\n if (p < self.DB && (d = self[i] >> p) > 0) {\n m = true\n r = int2char(d)\n }\n while (i >= 0) {\n if (p < k) {\n d = (self[i] & ((1 << p) - 1)) << (k - p)\n d |= self[--i] >> (p += self.DB - k)\n } else {\n d = (self[i] >> (p -= k)) & km\n if (p <= 0) {\n p += self.DB\n --i\n }\n }\n if (d > 0) m = true\n if (m) r += int2char(d)\n }\n }\n return m ? r : \"0\"\n}\n\n// (public) -this\nfunction bnNegate() {\n var r = new BigInteger()\n BigInteger.ZERO.subTo(this, r)\n return r\n}\n\n// (public) |this|\nfunction bnAbs() {\n return (this.s < 0) ? this.negate() : this\n}\n\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n var r = this.s - a.s\n if (r != 0) return r\n var i = this.t\n r = i - a.t\n if (r != 0) return (this.s < 0) ? -r : r\n while (--i >= 0)\n if ((r = this[i] - a[i]) != 0) return r\n return 0\n}\n\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1,\n t\n if ((t = x >>> 16) != 0) {\n x = t\n r += 16\n }\n if ((t = x >> 8) != 0) {\n x = t\n r += 8\n }\n if ((t = x >> 4) != 0) {\n x = t\n r += 4\n }\n if ((t = x >> 2) != 0) {\n x = t\n r += 2\n }\n if ((t = x >> 1) != 0) {\n x = t\n r += 1\n }\n return r\n}\n\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0) return 0\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))\n}\n\n// (public) return the number of bytes in \"this\"\nfunction bnByteLength() {\n return this.bitLength() >> 3\n}\n\n// (protected) r = this << n*DB\nfunction bnpDLShiftTo(n, r) {\n var i\n for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]\n for (i = n - 1; i >= 0; --i) r[i] = 0\n r.t = this.t + n\n r.s = this.s\n}\n\n// (protected) r = this >> n*DB\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) r[i - n] = this[i]\n r.t = Math.max(this.t - n, 0)\n r.s = this.s\n}\n\n// (protected) r = this << n\nfunction bnpLShiftTo(n, r) {\n var self = this\n var bs = n % self.DB\n var cbs = self.DB - bs\n var bm = (1 << cbs) - 1\n var ds = Math.floor(n / self.DB),\n c = (self.s << bs) & self.DM,\n i\n for (i = self.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (self[i] >> cbs) | c\n c = (self[i] & bm) << bs\n }\n for (i = ds - 1; i >= 0; --i) r[i] = 0\n r[ds] = c\n r.t = self.t + ds + 1\n r.s = self.s\n r.clamp()\n}\n\n// (protected) r = this >> n\nfunction bnpRShiftTo(n, r) {\n var self = this\n r.s = self.s\n var ds = Math.floor(n / self.DB)\n if (ds >= self.t) {\n r.t = 0\n return\n }\n var bs = n % self.DB\n var cbs = self.DB - bs\n var bm = (1 << bs) - 1\n r[0] = self[ds] >> bs\n for (var i = ds + 1; i < self.t; ++i) {\n r[i - ds - 1] |= (self[i] & bm) << cbs\n r[i - ds] = self[i] >> bs\n }\n if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs\n r.t = self.t - ds\n r.clamp()\n}\n\n// (protected) r = this - a\nfunction bnpSubTo(a, r) {\n var self = this\n var i = 0,\n c = 0,\n m = Math.min(a.t, self.t)\n while (i < m) {\n c += self[i] - a[i]\n r[i++] = c & self.DM\n c >>= self.DB\n }\n if (a.t < self.t) {\n c -= a.s\n while (i < self.t) {\n c += self[i]\n r[i++] = c & self.DM\n c >>= self.DB\n }\n c += self.s\n } else {\n c += self.s\n while (i < a.t) {\n c -= a[i]\n r[i++] = c & self.DM\n c >>= self.DB\n }\n c -= a.s\n }\n r.s = (c < 0) ? -1 : 0\n if (c < -1) r[i++] = self.DV + c\n else if (c > 0) r[i++] = c\n r.t = i\n r.clamp()\n}\n\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs()\n var i = x.t\n r.t = i + y.t\n while (--i >= 0) r[i] = 0\n for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)\n r.s = 0\n r.clamp()\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r)\n}\n\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction bnpSquareTo(r) {\n var x = this.abs()\n var i = r.t = 2 * x.t\n while (--i >= 0) r[i] = 0\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1)\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV\n r[i + x.t + 1] = 1\n }\n }\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)\n r.s = 0\n r.clamp()\n}\n\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction bnpDivRemTo(m, q, r) {\n var self = this\n var pm = m.abs()\n if (pm.t <= 0) return\n var pt = self.abs()\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0)\n if (r != null) self.copyTo(r)\n return\n }\n if (r == null) r = new BigInteger()\n var y = new BigInteger(),\n ts = self.s,\n ms = m.s\n var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y)\n pt.lShiftTo(nsh, r)\n } else {\n pm.copyTo(y)\n pt.copyTo(r)\n }\n var ys = y.t\n var y0 = y[ys - 1]\n if (y0 == 0) return\n var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)\n var d1 = self.FV / yt,\n d2 = (1 << self.F1) / yt,\n e = 1 << self.F2\n var i = r.t,\n j = i - ys,\n t = (q == null) ? new BigInteger() : q\n y.dlShiftTo(j, t)\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1\n r.subTo(t, r)\n }\n BigInteger.ONE.dlShiftTo(ys, t)\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n while (y.t < ys) y[y.t++] = 0\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\n y.dlShiftTo(j, t)\n r.subTo(t, r)\n while (r[i] < --qd) r.subTo(t, r)\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q)\n if (ts != ms) BigInteger.ZERO.subTo(q, q)\n }\n r.t = ys\n r.clamp()\n if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder\n if (ts < 0) BigInteger.ZERO.subTo(r, r)\n}\n\n// (public) this mod a\nfunction bnMod(a) {\n var r = new BigInteger()\n this.abs()\n .divRemTo(a, null, r)\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)\n return r\n}\n\n// Modular reduction using \"classic\" algorithm\nfunction Classic(m) {\n this.m = m\n}\n\nfunction cConvert(x) {\n if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)\n else return x\n}\n\nfunction cRevert(x) {\n return x\n}\n\nfunction cReduce(x) {\n x.divRemTo(this.m, null, x)\n}\n\nfunction cMulTo(x, y, r) {\n x.multiplyTo(y, r)\n this.reduce(r)\n}\n\nfunction cSqrTo(x, r) {\n x.squareTo(r)\n this.reduce(r)\n}\n\nClassic.prototype.convert = cConvert\nClassic.prototype.revert = cRevert\nClassic.prototype.reduce = cReduce\nClassic.prototype.mulTo = cMulTo\nClassic.prototype.sqrTo = cSqrTo\n\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction bnpInvDigit() {\n if (this.t < 1) return 0\n var x = this[0]\n if ((x & 1) == 0) return 0\n var y = x & 3; // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y > 0) ? this.DV - y : -y\n}\n\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m\n this.mp = m.invDigit()\n this.mpl = this.mp & 0x7fff\n this.mph = this.mp >> 15\n this.um = (1 << (m.DB - 15)) - 1\n this.mt2 = 2 * m.t\n}\n\n// xR mod m\nfunction montConvert(x) {\n var r = new BigInteger()\n x.abs()\n .dlShiftTo(this.m.t, r)\n r.divRemTo(this.m, null, r)\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)\n return r\n}\n\n// x/R mod m\nfunction montRevert(x) {\n var r = new BigInteger()\n x.copyTo(r)\n this.reduce(r)\n return r\n}\n\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2) // pad x so am has enough room later\n x[x.t++] = 0\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t)\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV\n x[++j]++\n }\n }\n x.clamp()\n x.drShiftTo(this.m.t, x)\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)\n}\n\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r)\n this.reduce(r)\n}\n\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r)\n this.reduce(r)\n}\n\nMontgomery.prototype.convert = montConvert\nMontgomery.prototype.revert = montRevert\nMontgomery.prototype.reduce = montReduce\nMontgomery.prototype.mulTo = montMulTo\nMontgomery.prototype.sqrTo = montSqrTo\n\n// (protected) true iff this is even\nfunction bnpIsEven() {\n return ((this.t > 0) ? (this[0] & 1) : this.s) == 0\n}\n\n// (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\nfunction bnpExp(e, z) {\n if (e > 0xffffffff || e < 1) return BigInteger.ONE\n var r = new BigInteger(),\n r2 = new BigInteger(),\n g = z.convert(this),\n i = nbits(e) - 1\n g.copyTo(r)\n while (--i >= 0) {\n z.sqrTo(r, r2)\n if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)\n else {\n var t = r\n r = r2\n r2 = t\n }\n }\n return z.revert(r)\n}\n\n// (public) this^e % m, 0 <= e < 2^32\nfunction bnModPowInt(e, m) {\n var z\n if (e < 256 || m.isEven()) z = new Classic(m)\n else z = new Montgomery(m)\n return this.exp(e, z)\n}\n\n// protected\nproto.copyTo = bnpCopyTo\nproto.fromInt = bnpFromInt\nproto.fromString = bnpFromString\nproto.clamp = bnpClamp\nproto.dlShiftTo = bnpDLShiftTo\nproto.drShiftTo = bnpDRShiftTo\nproto.lShiftTo = bnpLShiftTo\nproto.rShiftTo = bnpRShiftTo\nproto.subTo = bnpSubTo\nproto.multiplyTo = bnpMultiplyTo\nproto.squareTo = bnpSquareTo\nproto.divRemTo = bnpDivRemTo\nproto.invDigit = bnpInvDigit\nproto.isEven = bnpIsEven\nproto.exp = bnpExp\n\n// public\nproto.toString = bnToString\nproto.negate = bnNegate\nproto.abs = bnAbs\nproto.compareTo = bnCompareTo\nproto.bitLength = bnBitLength\nproto.byteLength = bnByteLength\nproto.mod = bnMod\nproto.modPowInt = bnModPowInt\n\n// (public)\nfunction bnClone() {\n var r = new BigInteger()\n this.copyTo(r)\n return r\n}\n\n// (public) return value as integer\nfunction bnIntValue() {\n if (this.s < 0) {\n if (this.t == 1) return this[0] - this.DV\n else if (this.t == 0) return -1\n } else if (this.t == 1) return this[0]\n else if (this.t == 0) return 0\n // assumes 16 < DB < 32\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]\n}\n\n// (public) return value as byte\nfunction bnByteValue() {\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24\n}\n\n// (public) return value as short (assumes DB>=16)\nfunction bnShortValue() {\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16\n}\n\n// (protected) return x s.t. r^x < DV\nfunction bnpChunkSize(r) {\n return Math.floor(Math.LN2 * this.DB / Math.log(r))\n}\n\n// (public) 0 if this == 0, 1 if this > 0\nfunction bnSigNum() {\n if (this.s < 0) return -1\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0\n else return 1\n}\n\n// (protected) convert to radix string\nfunction bnpToRadix(b) {\n if (b == null) b = 10\n if (this.signum() == 0 || b < 2 || b > 36) return \"0\"\n var cs = this.chunkSize(b)\n var a = Math.pow(b, cs)\n var d = nbv(a),\n y = new BigInteger(),\n z = new BigInteger(),\n r = \"\"\n this.divRemTo(d, y, z)\n while (y.signum() > 0) {\n r = (a + z.intValue())\n .toString(b)\n .substr(1) + r\n y.divRemTo(d, y, z)\n }\n return z.intValue()\n .toString(b) + r\n}\n\n// (protected) convert from radix string\nfunction bnpFromRadix(s, b) {\n var self = this\n self.fromInt(0)\n if (b == null) b = 10\n var cs = self.chunkSize(b)\n var d = Math.pow(b, cs),\n mi = false,\n j = 0,\n w = 0\n for (var i = 0; i < s.length; ++i) {\n var x = intAt(s, i)\n if (x < 0) {\n if (s.charAt(i) == \"-\" && self.signum() == 0) mi = true\n continue\n }\n w = b * w + x\n if (++j >= cs) {\n self.dMultiply(d)\n self.dAddOffset(w, 0)\n j = 0\n w = 0\n }\n }\n if (j > 0) {\n self.dMultiply(Math.pow(b, j))\n self.dAddOffset(w, 0)\n }\n if (mi) BigInteger.ZERO.subTo(self, self)\n}\n\n// (protected) alternate constructor\nfunction bnpFromNumber(a, b, c) {\n var self = this\n if (\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if (a < 2) self.fromInt(1)\n else {\n self.fromNumber(a, c)\n if (!self.testBit(a - 1)) // force MSB set\n self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)\n if (self.isEven()) self.dAddOffset(1, 0); // force odd\n while (!self.isProbablePrime(b)) {\n self.dAddOffset(2, 0)\n if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)\n }\n }\n } else {\n // new BigInteger(int,RNG)\n var x = new Array(),\n t = a & 7\n x.length = (a >> 3) + 1\n b.nextBytes(x)\n if (t > 0) x[0] &= ((1 << t) - 1)\n else x[0] = 0\n self.fromString(x, 256)\n }\n}\n\n// (public) convert to bigendian byte array\nfunction bnToByteArray() {\n var self = this\n var i = self.t,\n r = new Array()\n r[0] = self.s\n var p = self.DB - (i * self.DB) % 8,\n d, k = 0\n if (i-- > 0) {\n if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)\n r[k++] = d | (self.s << (self.DB - p))\n while (i >= 0) {\n if (p < 8) {\n d = (self[i] & ((1 << p) - 1)) << (8 - p)\n d |= self[--i] >> (p += self.DB - 8)\n } else {\n d = (self[i] >> (p -= 8)) & 0xff\n if (p <= 0) {\n p += self.DB\n --i\n }\n }\n if ((d & 0x80) != 0) d |= -256\n if (k === 0 && (self.s & 0x80) != (d & 0x80))++k\n if (k > 0 || d != self.s) r[k++] = d\n }\n }\n return r\n}\n\nfunction bnEquals(a) {\n return (this.compareTo(a) == 0)\n}\n\nfunction bnMin(a) {\n return (this.compareTo(a) < 0) ? this : a\n}\n\nfunction bnMax(a) {\n return (this.compareTo(a) > 0) ? this : a\n}\n\n// (protected) r = this op a (bitwise)\nfunction bnpBitwiseTo(a, op, r) {\n var self = this\n var i, f, m = Math.min(a.t, self.t)\n for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])\n if (a.t < self.t) {\n f = a.s & self.DM\n for (i = m; i < self.t; ++i) r[i] = op(self[i], f)\n r.t = self.t\n } else {\n f = self.s & self.DM\n for (i = m; i < a.t; ++i) r[i] = op(f, a[i])\n r.t = a.t\n }\n r.s = op(self.s, a.s)\n r.clamp()\n}\n\n// (public) this & a\nfunction op_and(x, y) {\n return x & y\n}\n\nfunction bnAnd(a) {\n var r = new BigInteger()\n this.bitwiseTo(a, op_and, r)\n return r\n}\n\n// (public) this | a\nfunction op_or(x, y) {\n return x | y\n}\n\nfunction bnOr(a) {\n var r = new BigInteger()\n this.bitwiseTo(a, op_or, r)\n return r\n}\n\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y\n}\n\nfunction bnXor(a) {\n var r = new BigInteger()\n this.bitwiseTo(a, op_xor, r)\n return r\n}\n\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y\n}\n\nfunction bnAndNot(a) {\n var r = new BigInteger()\n this.bitwiseTo(a, op_andnot, r)\n return r\n}\n\n// (public) ~this\nfunction bnNot() {\n var r = new BigInteger()\n for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]\n r.t = this.t\n r.s = ~this.s\n return r\n}\n\n// (public) this << n\nfunction bnShiftLeft(n) {\n var r = new BigInteger()\n if (n < 0) this.rShiftTo(-n, r)\n else this.lShiftTo(n, r)\n return r\n}\n\n// (public) this >> n\nfunction bnShiftRight(n) {\n var r = new BigInteger()\n if (n < 0) this.lShiftTo(-n, r)\n else this.rShiftTo(n, r)\n return r\n}\n\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) return -1\n var r = 0\n if ((x & 0xffff) == 0) {\n x >>= 16\n r += 16\n }\n if ((x & 0xff) == 0) {\n x >>= 8\n r += 8\n }\n if ((x & 0xf) == 0) {\n x >>= 4\n r += 4\n }\n if ((x & 3) == 0) {\n x >>= 2\n r += 2\n }\n if ((x & 1) == 0)++r\n return r\n}\n\n// (public) returns index of lowest 1-bit (or -1 if none)\nfunction bnGetLowestSetBit() {\n for (var i = 0; i < this.t; ++i)\n if (this[i] != 0) return i * this.DB + lbit(this[i])\n if (this.s < 0) return this.t * this.DB\n return -1\n}\n\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0\n while (x != 0) {\n x &= x - 1\n ++r\n }\n return r\n}\n\n// (public) return number of set bits\nfunction bnBitCount() {\n var r = 0,\n x = this.s & this.DM\n for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)\n return r\n}\n\n// (public) true iff nth bit is set\nfunction bnTestBit(n) {\n var j = Math.floor(n / this.DB)\n if (j >= this.t) return (this.s != 0)\n return ((this[j] & (1 << (n % this.DB))) != 0)\n}\n\n// (protected) this op (1<<n)\nfunction bnpChangeBit(n, op) {\n var r = BigInteger.ONE.shiftLeft(n)\n this.bitwiseTo(r, op, r)\n return r\n}\n\n// (public) this | (1<<n)\nfunction bnSetBit(n) {\n return this.changeBit(n, op_or)\n}\n\n// (public) this & ~(1<<n)\nfunction bnClearBit(n) {\n return this.changeBit(n, op_andnot)\n}\n\n// (public) this ^ (1<<n)\nfunction bnFlipBit(n) {\n return this.changeBit(n, op_xor)\n}\n\n// (protected) r = this + a\nfunction bnpAddTo(a, r) {\n var self = this\n\n var i = 0,\n c = 0,\n m = Math.min(a.t, self.t)\n while (i < m) {\n c += self[i] + a[i]\n r[i++] = c & self.DM\n c >>= self.DB\n }\n if (a.t < self.t) {\n c += a.s\n while (i < self.t) {\n c += self[i]\n r[i++] = c & self.DM\n c >>= self.DB\n }\n c += self.s\n } else {\n c += self.s\n while (i < a.t) {\n c += a[i]\n r[i++] = c & self.DM\n c >>= self.DB\n }\n c += a.s\n }\n r.s = (c < 0) ? -1 : 0\n if (c > 0) r[i++] = c\n else if (c < -1) r[i++] = self.DV + c\n r.t = i\n r.clamp()\n}\n\n// (public) this + a\nfunction bnAdd(a) {\n var r = new BigInteger()\n this.addTo(a, r)\n return r\n}\n\n// (public) this - a\nfunction bnSubtract(a) {\n var r = new BigInteger()\n this.subTo(a, r)\n return r\n}\n\n// (public) this * a\nfunction bnMultiply(a) {\n var r = new BigInteger()\n this.multiplyTo(a, r)\n return r\n}\n\n// (public) this^2\nfunction bnSquare() {\n var r = new BigInteger()\n this.squareTo(r)\n return r\n}\n\n// (public) this / a\nfunction bnDivide(a) {\n var r = new BigInteger()\n this.divRemTo(a, r, null)\n return r\n}\n\n// (public) this % a\nfunction bnRemainder(a) {\n var r = new BigInteger()\n this.divRemTo(a, null, r)\n return r\n}\n\n// (public) [this/a,this%a]\nfunction bnDivideAndRemainder(a) {\n var q = new BigInteger(),\n r = new BigInteger()\n this.divRemTo(a, q, r)\n return new Array(q, r)\n}\n\n// (protected) this *= n, this >= 0, 1 < n < DV\nfunction bnpDMultiply(n) {\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)\n ++this.t\n this.clamp()\n}\n\n// (protected) this += n << w words, this >= 0\nfunction bnpDAddOffset(n, w) {\n if (n == 0) return\n while (this.t <= w) this[this.t++] = 0\n this[w] += n\n while (this[w] >= this.DV) {\n this[w] -= this.DV\n if (++w >= this.t) this[this.t++] = 0\n ++this[w]\n }\n}\n\n// A \"null\" reducer\nfunction NullExp() {}\n\nfunction nNop(x) {\n return x\n}\n\nfunction nMulTo(x, y, r) {\n x.multiplyTo(y, r)\n}\n\nfunction nSqrTo(x, r) {\n x.squareTo(r)\n}\n\nNullExp.prototype.convert = nNop\nNullExp.prototype.revert = nNop\nNullExp.prototype.mulTo = nMulTo\nNullExp.prototype.sqrTo = nSqrTo\n\n// (public) this^e\nfunction bnPow(e) {\n return this.exp(e, new NullExp())\n}\n\n// (protected) r = lower n words of \"this * a\", a.t <= n\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyLowerTo(a, n, r) {\n var i = Math.min(this.t + a.t, n)\n r.s = 0; // assumes a,this >= 0\n r.t = i\n while (i > 0) r[--i] = 0\n var j\n for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)\n for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)\n r.clamp()\n}\n\n// (protected) r = \"this * a\" without lower n words, n > 0\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyUpperTo(a, n, r) {\n --n\n var i = r.t = this.t + a.t - n\n r.s = 0; // assumes a,this >= 0\n while (--i >= 0) r[i] = 0\n for (i = Math.max(n - this.t, 0); i < a.t; ++i)\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)\n r.clamp()\n r.drShiftTo(1, r)\n}\n\n// Barrett modular reduction\nfunction Barrett(m) {\n // setup Barrett\n this.r2 = new BigInteger()\n this.q3 = new BigInteger()\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)\n this.mu = this.r2.divide(m)\n this.m = m\n}\n\nfunction barrettConvert(x) {\n if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)\n else if (x.compareTo(this.m) < 0) return x\n else {\n var r = new BigInteger()\n x.copyTo(r)\n this.reduce(r)\n return r\n }\n}\n\nfunction barrettRevert(x) {\n return x\n}\n\n// x = x mod m (HAC 14.42)\nfunction barrettReduce(x) {\n var self = this\n x.drShiftTo(self.m.t - 1, self.r2)\n if (x.t > self.m.t + 1) {\n x.t = self.m.t + 1\n x.clamp()\n }\n self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)\n self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)\n while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)\n x.subTo(self.r2, x)\n while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)\n}\n\n// r = x^2 mod m; x != r\nfunction barrettSqrTo(x, r) {\n x.squareTo(r)\n this.reduce(r)\n}\n\n// r = x*y mod m; x,y != r\nfunction barrettMulTo(x, y, r) {\n x.multiplyTo(y, r)\n this.reduce(r)\n}\n\nBarrett.prototype.convert = barrettConvert\nBarrett.prototype.revert = barrettRevert\nBarrett.prototype.reduce = barrettReduce\nBarrett.prototype.mulTo = barrettMulTo\nBarrett.prototype.sqrTo = barrettSqrTo\n\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m) {\n var i = e.bitLength(),\n k, r = nbv(1),\n z\n if (i <= 0) return r\n else if (i < 18) k = 1\n else if (i < 48) k = 3\n else if (i < 144) k = 4\n else if (i < 768) k = 5\n else k = 6\n if (i < 8)\n z = new Classic(m)\n else if (m.isEven())\n z = new Barrett(m)\n else\n z = new Montgomery(m)\n\n // precomputation\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1\n g[1] = z.convert(this)\n if (k > 1) {\n var g2 = new BigInteger()\n z.sqrTo(g[1], g2)\n while (n <= km) {\n g[n] = new BigInteger()\n z.mulTo(g2, g[n - 2], g[n])\n n += 2\n }\n }\n\n var j = e.t - 1,\n w, is1 = true,\n r2 = new BigInteger(),\n t\n i = nbits(e[j]) - 1\n while (j >= 0) {\n if (i >= k1) w = (e[j] >> (i - k1)) & km\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)\n if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)\n }\n\n n = k\n while ((w & 1) == 0) {\n w >>= 1\n --n\n }\n if ((i -= n) < 0) {\n i += this.DB\n --j\n }\n if (is1) { // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r)\n is1 = false\n } else {\n while (n > 1) {\n z.sqrTo(r, r2)\n z.sqrTo(r2, r)\n n -= 2\n }\n if (n > 0) z.sqrTo(r, r2)\n else {\n t = r\n r = r2\n r2 = t\n }\n z.mulTo(r2, g[w], r)\n }\n\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\n z.sqrTo(r, r2)\n t = r\n r = r2\n r2 = t\n if (--i < 0) {\n i = this.DB - 1\n --j\n }\n }\n }\n return z.revert(r)\n}\n\n// (public) gcd(this,a) (HAC 14.54)\nfunction bnGCD(a) {\n var x = (this.s < 0) ? this.negate() : this.clone()\n var y = (a.s < 0) ? a.negate() : a.clone()\n if (x.compareTo(y) < 0) {\n var t = x\n x = y\n y = t\n }\n var i = x.getLowestSetBit(),\n g = y.getLowestSetBit()\n if (g < 0) return x\n if (i < g) g = i\n if (g > 0) {\n x.rShiftTo(g, x)\n y.rShiftTo(g, y)\n }\n while (x.signum() > 0) {\n if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)\n if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x)\n x.rShiftTo(1, x)\n } else {\n y.subTo(x, y)\n y.rShiftTo(1, y)\n }\n }\n if (g > 0) y.lShiftTo(g, y)\n return y\n}\n\n// (protected) this % n, n < 2^26\nfunction bnpModInt(n) {\n if (n <= 0) return 0\n var d = this.DV % n,\n r = (this.s < 0) ? n - 1 : 0\n if (this.t > 0)\n if (d == 0) r = this[0] % n\n else\n for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n\n return r\n}\n\n// (public) 1/this % m (HAC 14.61)\nfunction bnModInverse(m) {\n var ac = m.isEven()\n if (this.signum() === 0) throw new Error('division by zero')\n if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO\n var u = m.clone(),\n v = this.clone()\n var a = nbv(1),\n b = nbv(0),\n c = nbv(0),\n d = nbv(1)\n while (u.signum() != 0) {\n while (u.isEven()) {\n u.rShiftTo(1, u)\n if (ac) {\n if (!a.isEven() || !b.isEven()) {\n a.addTo(this, a)\n b.subTo(m, b)\n }\n a.rShiftTo(1, a)\n } else if (!b.isEven()) b.subTo(m, b)\n b.rShiftTo(1, b)\n }\n while (v.isEven()) {\n v.rShiftTo(1, v)\n if (ac) {\n if (!c.isEven() || !d.isEven()) {\n c.addTo(this, c)\n d.subTo(m, d)\n }\n c.rShiftTo(1, c)\n } else if (!d.isEven()) d.subTo(m, d)\n d.rShiftTo(1, d)\n }\n if (u.compareTo(v) >= 0) {\n u.subTo(v, u)\n if (ac) a.subTo(c, a)\n b.subTo(d, b)\n } else {\n v.subTo(u, v)\n if (ac) c.subTo(a, c)\n d.subTo(b, d)\n }\n }\n if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO\n while (d.compareTo(m) >= 0) d.subTo(m, d)\n while (d.signum() < 0) d.addTo(m, d)\n return d\n}\n\nvar lowprimes = [\n 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,\n 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,\n 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,\n 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,\n 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,\n 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,\n 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,\n 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,\n 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,\n 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,\n 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997\n]\n\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1]\n\n// (public) test primality with certainty >= 1-.5^t\nfunction bnIsProbablePrime(t) {\n var i, x = this.abs()\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n for (i = 0; i < lowprimes.length; ++i)\n if (x[0] == lowprimes[i]) return true\n return false\n }\n if (x.isEven()) return false\n i = 1\n while (i < lowprimes.length) {\n var m = lowprimes[i],\n j = i + 1\n while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]\n m = x.modInt(m)\n while (i < j) if (m % lowprimes[i++] == 0) return false\n }\n return x.millerRabin(t)\n}\n\n// (protected) true if probably prime (HAC 4.24, Miller-Rabin)\nfunction bnpMillerRabin(t) {\n var n1 = this.subtract(BigInteger.ONE)\n var k = n1.getLowestSetBit()\n if (k <= 0) return false\n var r = n1.shiftRight(k)\n t = (t + 1) >> 1\n if (t > lowprimes.length) t = lowprimes.length\n var a = new BigInteger(null)\n var j, bases = []\n for (var i = 0; i < t; ++i) {\n for (;;) {\n j = lowprimes[Math.floor(Math.random() * lowprimes.length)]\n if (bases.indexOf(j) == -1) break\n }\n bases.push(j)\n a.fromInt(j)\n var y = a.modPow(r, this)\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1\n while (j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2, this)\n if (y.compareTo(BigInteger.ONE) == 0) return false\n }\n if (y.compareTo(n1) != 0) return false\n }\n }\n return true\n}\n\n// protected\nproto.chunkSize = bnpChunkSize\nproto.toRadix = bnpToRadix\nproto.fromRadix = bnpFromRadix\nproto.fromNumber = bnpFromNumber\nproto.bitwiseTo = bnpBitwiseTo\nproto.changeBit = bnpChangeBit\nproto.addTo = bnpAddTo\nproto.dMultiply = bnpDMultiply\nproto.dAddOffset = bnpDAddOffset\nproto.multiplyLowerTo = bnpMultiplyLowerTo\nproto.multiplyUpperTo = bnpMultiplyUpperTo\nproto.modInt = bnpModInt\nproto.millerRabin = bnpMillerRabin\n\n// public\nproto.clone = bnClone\nproto.intValue = bnIntValue\nproto.byteValue = bnByteValue\nproto.shortValue = bnShortValue\nproto.signum = bnSigNum\nproto.toByteArray = bnToByteArray\nproto.equals = bnEquals\nproto.min = bnMin\nproto.max = bnMax\nproto.and = bnAnd\nproto.or = bnOr\nproto.xor = bnXor\nproto.andNot = bnAndNot\nproto.not = bnNot\nproto.shiftLeft = bnShiftLeft\nproto.shiftRight = bnShiftRight\nproto.getLowestSetBit = bnGetLowestSetBit\nproto.bitCount = bnBitCount\nproto.testBit = bnTestBit\nproto.setBit = bnSetBit\nproto.clearBit = bnClearBit\nproto.flipBit = bnFlipBit\nproto.add = bnAdd\nproto.subtract = bnSubtract\nproto.multiply = bnMultiply\nproto.divide = bnDivide\nproto.remainder = bnRemainder\nproto.divideAndRemainder = bnDivideAndRemainder\nproto.modPow = bnModPow\nproto.modInverse = bnModInverse\nproto.pow = bnPow\nproto.gcd = bnGCD\nproto.isProbablePrime = bnIsProbablePrime\n\n// JSBN-specific extension\nproto.square = bnSquare\n\n// constants\nBigInteger.ZERO = nbv(0)\nBigInteger.ONE = nbv(1)\nBigInteger.valueOf = nbv\n\nmodule.exports = BigInteger\n\n\n\n// WEBPACK FOOTER //\n// ./~/bigi/lib/bigi.js","module.exports = {\"name\":\"bigi\",\"version\":\"1.4.2\",\"description\":\"Big integers.\",\"keywords\":[\"cryptography\",\"math\",\"bitcoin\",\"arbitrary\",\"precision\",\"arithmetic\",\"big\",\"integer\",\"int\",\"number\",\"biginteger\",\"bigint\",\"bignumber\",\"decimal\",\"float\"],\"devDependencies\":{\"coveralls\":\"^2.11.2\",\"istanbul\":\"^0.3.5\",\"jshint\":\"^2.5.1\",\"mocha\":\"^2.1.0\",\"mochify\":\"^2.1.0\"},\"repository\":{\"url\":\"https://github.com/cryptocoinjs/bigi\",\"type\":\"git\"},\"main\":\"./lib/index.js\",\"scripts\":{\"browser-test\":\"./node_modules/.bin/mochify --wd -R spec\",\"test\":\"./node_modules/.bin/_mocha -- test/*.js\",\"jshint\":\"./node_modules/.bin/jshint --config jshint.json lib/*.js ; true\",\"unit\":\"./node_modules/.bin/mocha\",\"coverage\":\"./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js\",\"coveralls\":\"npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info\"},\"dependencies\":{},\"testling\":{\"files\":\"test/*.js\",\"harness\":\"mocha\",\"browsers\":[\"ie/9..latest\",\"firefox/latest\",\"chrome/latest\",\"safari/6.0..latest\",\"iphone/6.0..latest\",\"android-browser/4.2..latest\"]}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/bigi/package.json\n// module id = 180\n// module chunks = 0 1","// FIXME: Kind of a weird way to throw exceptions, consider removing\nvar assert = require('assert')\nvar BigInteger = require('./bigi')\n\n/**\n * Turns a byte array into a big integer.\n *\n * This function will interpret a byte array as a big integer in big\n * endian notation.\n */\nBigInteger.fromByteArrayUnsigned = function(byteArray) {\n // BigInteger expects a DER integer conformant byte array\n if (byteArray[0] & 0x80) {\n return new BigInteger([0].concat(byteArray))\n }\n\n return new BigInteger(byteArray)\n}\n\n/**\n * Returns a byte array representation of the big integer.\n *\n * This returns the absolute of the contained value in big endian\n * form. A value of zero results in an empty array.\n */\nBigInteger.prototype.toByteArrayUnsigned = function() {\n var byteArray = this.toByteArray()\n return byteArray[0] === 0 ? byteArray.slice(1) : byteArray\n}\n\nBigInteger.fromDERInteger = function(byteArray) {\n return new BigInteger(byteArray)\n}\n\n/*\n * Converts BigInteger to a DER integer representation.\n *\n * The format for this value uses the most significant bit as a sign\n * bit. If the most significant bit is already set and the integer is\n * positive, a 0x00 is prepended.\n *\n * Examples:\n *\n * 0 => 0x00\n * 1 => 0x01\n * -1 => 0xff\n * 127 => 0x7f\n * -127 => 0x81\n * 128 => 0x0080\n * -128 => 0x80\n * 255 => 0x00ff\n * -255 => 0xff01\n * 16300 => 0x3fac\n * -16300 => 0xc054\n * 62300 => 0x00f35c\n * -62300 => 0xff0ca4\n*/\nBigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray\n\nBigInteger.fromBuffer = function(buffer) {\n // BigInteger expects a DER integer conformant byte array\n if (buffer[0] & 0x80) {\n var byteArray = Array.prototype.slice.call(buffer)\n\n return new BigInteger([0].concat(byteArray))\n }\n\n return new BigInteger(buffer)\n}\n\nBigInteger.fromHex = function(hex) {\n if (hex === '') return BigInteger.ZERO\n\n assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')\n assert.equal(hex.length % 2, 0, 'Incomplete hex')\n return new BigInteger(hex, 16)\n}\n\nBigInteger.prototype.toBuffer = function(size) {\n var byteArray = this.toByteArrayUnsigned()\n var zeros = []\n\n var padding = size - byteArray.length\n while (zeros.length < padding) zeros.push(0)\n\n return new Buffer(zeros.concat(byteArray))\n}\n\nBigInteger.prototype.toHex = function(size) {\n return this.toBuffer(size).toString('hex')\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/bigi/lib/convert.js","var Point = require('./point')\nvar Curve = require('./curve')\n\nvar getCurveByName = require('./names')\n\nmodule.exports = {\n Curve: Curve,\n Point: Point,\n getCurveByName: getCurveByName\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/ecurve/lib/index.js","var assert = require('assert')\nvar Buffer = require('safe-buffer').Buffer\nvar BigInteger = require('bigi')\n\nvar THREE = BigInteger.valueOf(3)\n\nfunction Point (curve, x, y, z) {\n assert.notStrictEqual(z, undefined, 'Missing Z coordinate')\n\n this.curve = curve\n this.x = x\n this.y = y\n this.z = z\n this._zInv = null\n\n this.compressed = true\n}\n\nObject.defineProperty(Point.prototype, 'zInv', {\n get: function () {\n if (this._zInv === null) {\n this._zInv = this.z.modInverse(this.curve.p)\n }\n\n return this._zInv\n }\n})\n\nObject.defineProperty(Point.prototype, 'affineX', {\n get: function () {\n return this.x.multiply(this.zInv).mod(this.curve.p)\n }\n})\n\nObject.defineProperty(Point.prototype, 'affineY', {\n get: function () {\n return this.y.multiply(this.zInv).mod(this.curve.p)\n }\n})\n\nPoint.fromAffine = function (curve, x, y) {\n return new Point(curve, x, y, BigInteger.ONE)\n}\n\nPoint.prototype.equals = function (other) {\n if (other === this) return true\n if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)\n if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)\n\n // u = Y2 * Z1 - Y1 * Z2\n var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)\n\n if (u.signum() !== 0) return false\n\n // v = X2 * Z1 - X1 * Z2\n var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)\n\n return v.signum() === 0\n}\n\nPoint.prototype.negate = function () {\n var y = this.curve.p.subtract(this.y)\n\n return new Point(this.curve, this.x, y, this.z)\n}\n\nPoint.prototype.add = function (b) {\n if (this.curve.isInfinity(this)) return b\n if (this.curve.isInfinity(b)) return this\n\n var x1 = this.x\n var y1 = this.y\n var x2 = b.x\n var y2 = b.y\n\n // u = Y2 * Z1 - Y1 * Z2\n var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)\n // v = X2 * Z1 - X1 * Z2\n var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)\n\n if (v.signum() === 0) {\n if (u.signum() === 0) {\n return this.twice() // this == b, so double\n }\n\n return this.curve.infinity // this = -b, so infinity\n }\n\n var v2 = v.square()\n var v3 = v2.multiply(v)\n var x1v2 = x1.multiply(v2)\n var zu2 = u.square().multiply(this.z)\n\n // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)\n var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)\n // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3\n var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.p)\n // z3 = v^3 * z1 * z2\n var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)\n\n return new Point(this.curve, x3, y3, z3)\n}\n\nPoint.prototype.twice = function () {\n if (this.curve.isInfinity(this)) return this\n if (this.y.signum() === 0) return this.curve.infinity\n\n var x1 = this.x\n var y1 = this.y\n\n var y1z1 = y1.multiply(this.z).mod(this.curve.p)\n var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)\n var a = this.curve.a\n\n // w = 3 * x1^2 + a * z1^2\n var w = x1.square().multiply(THREE)\n\n if (a.signum() !== 0) {\n w = w.add(this.z.square().multiply(a))\n }\n\n w = w.mod(this.curve.p)\n // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)\n var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)\n // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3\n var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)\n // z3 = 8 * (y1 * z1)^3\n var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)\n\n return new Point(this.curve, x3, y3, z3)\n}\n\n// Simple NAF (Non-Adjacent Form) multiplication algorithm\n// TODO: modularize the multiplication algorithm\nPoint.prototype.multiply = function (k) {\n if (this.curve.isInfinity(this)) return this\n if (k.signum() === 0) return this.curve.infinity\n\n var e = k\n var h = e.multiply(THREE)\n\n var neg = this.negate()\n var R = this\n\n for (var i = h.bitLength() - 2; i > 0; --i) {\n var hBit = h.testBit(i)\n var eBit = e.testBit(i)\n\n R = R.twice()\n\n if (hBit !== eBit) {\n R = R.add(hBit ? this : neg)\n }\n }\n\n return R\n}\n\n// Compute this*j + x*k (simultaneous multiplication)\nPoint.prototype.multiplyTwo = function (j, x, k) {\n var i = Math.max(j.bitLength(), k.bitLength()) - 1\n var R = this.curve.infinity\n var both = this.add(x)\n\n while (i >= 0) {\n var jBit = j.testBit(i)\n var kBit = k.testBit(i)\n\n R = R.twice()\n\n if (jBit) {\n if (kBit) {\n R = R.add(both)\n } else {\n R = R.add(this)\n }\n } else if (kBit) {\n R = R.add(x)\n }\n --i\n }\n\n return R\n}\n\nPoint.prototype.getEncoded = function (compressed) {\n if (compressed == null) compressed = this.compressed\n if (this.curve.isInfinity(this)) return Buffer.alloc(1, 0) // Infinity point encoded is simply '00'\n\n var x = this.affineX\n var y = this.affineY\n var byteLength = this.curve.pLength\n var buffer\n\n // 0x02/0x03 | X\n if (compressed) {\n buffer = Buffer.allocUnsafe(1 + byteLength)\n buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)\n\n // 0x04 | X | Y\n } else {\n buffer = Buffer.allocUnsafe(1 + byteLength + byteLength)\n buffer.writeUInt8(0x04, 0)\n\n y.toBuffer(byteLength).copy(buffer, 1 + byteLength)\n }\n\n x.toBuffer(byteLength).copy(buffer, 1)\n\n return buffer\n}\n\nPoint.decodeFrom = function (curve, buffer) {\n var type = buffer.readUInt8(0)\n var compressed = (type !== 4)\n\n var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)\n var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))\n\n var Q\n if (compressed) {\n assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')\n assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')\n\n var isOdd = (type === 0x03)\n Q = curve.pointFromX(isOdd, x)\n } else {\n assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')\n\n var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))\n Q = Point.fromAffine(curve, x, y)\n }\n\n Q.compressed = compressed\n return Q\n}\n\nPoint.prototype.toString = function () {\n if (this.curve.isInfinity(this)) return '(INFINITY)'\n\n return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'\n}\n\nmodule.exports = Point\n\n\n\n// WEBPACK FOOTER //\n// ./~/ecurve/lib/point.js","var assert = require('assert')\nvar BigInteger = require('bigi')\n\nvar Point = require('./point')\n\nfunction Curve (p, a, b, Gx, Gy, n, h) {\n this.p = p\n this.a = a\n this.b = b\n this.G = Point.fromAffine(this, Gx, Gy)\n this.n = n\n this.h = h\n\n this.infinity = new Point(this, null, null, BigInteger.ZERO)\n\n // result caching\n this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)\n\n // determine size of p in bytes\n this.pLength = Math.floor((this.p.bitLength() + 7) / 8)\n}\n\nCurve.prototype.pointFromX = function (isOdd, x) {\n var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)\n var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves\n\n var y = beta\n if (beta.isEven() ^ !isOdd) {\n y = this.p.subtract(y) // -y % p\n }\n\n return Point.fromAffine(this, x, y)\n}\n\nCurve.prototype.isInfinity = function (Q) {\n if (Q === this.infinity) return true\n\n return Q.z.signum() === 0 && Q.y.signum() !== 0\n}\n\nCurve.prototype.isOnCurve = function (Q) {\n if (this.isInfinity(Q)) return true\n\n var x = Q.affineX\n var y = Q.affineY\n var a = this.a\n var b = this.b\n var p = this.p\n\n // Check that xQ and yQ are integers in the interval [0, p - 1]\n if (x.signum() < 0 || x.compareTo(p) >= 0) return false\n if (y.signum() < 0 || y.compareTo(p) >= 0) return false\n\n // and check that y^2 = x^3 + ax + b (mod p)\n var lhs = y.square().mod(p)\n var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)\n return lhs.equals(rhs)\n}\n\n/**\n * Validate an elliptic curve point.\n *\n * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive\n */\nCurve.prototype.validate = function (Q) {\n // Check Q != O\n assert(!this.isInfinity(Q), 'Point is at infinity')\n assert(this.isOnCurve(Q), 'Point is not on the curve')\n\n // Check nQ = O (where Q is a scalar multiple of G)\n var nQ = Q.multiply(this.n)\n assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')\n\n return true\n}\n\nmodule.exports = Curve\n\n\n\n// WEBPACK FOOTER //\n// ./~/ecurve/lib/curve.js","var BigInteger = require('bigi')\n\nvar curves = require('./curves.json')\nvar Curve = require('./curve')\n\nfunction getCurveByName (name) {\n var curve = curves[name]\n if (!curve) return null\n\n var p = new BigInteger(curve.p, 16)\n var a = new BigInteger(curve.a, 16)\n var b = new BigInteger(curve.b, 16)\n var n = new BigInteger(curve.n, 16)\n var h = new BigInteger(curve.h, 16)\n var Gx = new BigInteger(curve.Gx, 16)\n var Gy = new BigInteger(curve.Gy, 16)\n\n return new Curve(p, a, b, Gx, Gy, n, h)\n}\n\nmodule.exports = getCurveByName\n\n\n\n// WEBPACK FOOTER //\n// ./~/ecurve/lib/names.js","module.exports = {\"secp128r1\":{\"p\":\"fffffffdffffffffffffffffffffffff\",\"a\":\"fffffffdfffffffffffffffffffffffc\",\"b\":\"e87579c11079f43dd824993c2cee5ed3\",\"n\":\"fffffffe0000000075a30d1b9038a115\",\"h\":\"01\",\"Gx\":\"161ff7528b899b2d0c28607ca52c5b86\",\"Gy\":\"cf5ac8395bafeb13c02da292dded7a83\"},\"secp160k1\":{\"p\":\"fffffffffffffffffffffffffffffffeffffac73\",\"a\":\"00\",\"b\":\"07\",\"n\":\"0100000000000000000001b8fa16dfab9aca16b6b3\",\"h\":\"01\",\"Gx\":\"3b4c382ce37aa192a4019e763036f4f5dd4d7ebb\",\"Gy\":\"938cf935318fdced6bc28286531733c3f03c4fee\"},\"secp160r1\":{\"p\":\"ffffffffffffffffffffffffffffffff7fffffff\",\"a\":\"ffffffffffffffffffffffffffffffff7ffffffc\",\"b\":\"1c97befc54bd7a8b65acf89f81d4d4adc565fa45\",\"n\":\"0100000000000000000001f4c8f927aed3ca752257\",\"h\":\"01\",\"Gx\":\"4a96b5688ef573284664698968c38bb913cbfc82\",\"Gy\":\"23a628553168947d59dcc912042351377ac5fb32\"},\"secp192k1\":{\"p\":\"fffffffffffffffffffffffffffffffffffffffeffffee37\",\"a\":\"00\",\"b\":\"03\",\"n\":\"fffffffffffffffffffffffe26f2fc170f69466a74defd8d\",\"h\":\"01\",\"Gx\":\"db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d\",\"Gy\":\"9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d\"},\"secp192r1\":{\"p\":\"fffffffffffffffffffffffffffffffeffffffffffffffff\",\"a\":\"fffffffffffffffffffffffffffffffefffffffffffffffc\",\"b\":\"64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1\",\"n\":\"ffffffffffffffffffffffff99def836146bc9b1b4d22831\",\"h\":\"01\",\"Gx\":\"188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012\",\"Gy\":\"07192b95ffc8da78631011ed6b24cdd573f977a11e794811\"},\"secp256k1\":{\"p\":\"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f\",\"a\":\"00\",\"b\":\"07\",\"n\":\"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\",\"h\":\"01\",\"Gx\":\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"Gy\":\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\"},\"secp256r1\":{\"p\":\"ffffffff00000001000000000000000000000000ffffffffffffffffffffffff\",\"a\":\"ffffffff00000001000000000000000000000000fffffffffffffffffffffffc\",\"b\":\"5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\",\"n\":\"ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\",\"h\":\"01\",\"Gx\":\"6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\",\"Gy\":\"4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/ecurve/lib/curves.json\n// module id = 186\n// module chunks = 0 1","var ecurve = require('ecurve');\nvar Point = ecurve.Point;\nvar secp256k1 = ecurve.getCurveByName('secp256k1');\nvar BigInteger = require('bigi');\nvar base58 = require('bs58');\nvar assert = require('assert');\nvar hash = require('./hash');\nvar PublicKey = require('./key_public');\n\nvar G = secp256k1.G\nvar n = secp256k1.n\n\nclass PrivateKey {\n\n /**\n @private see static functions\n @param {BigInteger}\n */\n constructor(d) { this.d = d; }\n\n static fromBuffer(buf) {\n if (!Buffer.isBuffer(buf)) {\n throw new Error(\"Expecting paramter to be a Buffer type\");\n }\n if (32 !== buf.length) {\n console.log(`WARN: Expecting 32 bytes, instead got ${buf.length}, stack trace:`, new Error().stack);\n }\n if (buf.length === 0) {\n throw new Error(\"Empty buffer\");\n }\n return new PrivateKey(BigInteger.fromBuffer(buf));\n }\n\n /** @arg {string} seed - any length string. This is private, the same seed produces the same private key every time. */\n static fromSeed(seed) { // generate_private_key\n if (!(typeof seed === 'string')) {\n throw new Error('seed must be of type string');\n }\n return PrivateKey.fromBuffer(hash.sha256(seed));\n }\n\n static isWif(text) {\n try {\n this.fromWif(text)\n return true\n } catch(e) {\n return false\n }\n }\n\n /**\n @throws {AssertError|Error} parsing key\n @return {string} Wallet Import Format (still a secret, Not encrypted)\n */\n static fromWif(_private_wif) {\n var private_wif = new Buffer(base58.decode(_private_wif));\n var version = private_wif.readUInt8(0);\n assert.equal(0x80, version, `Expected version ${0x80}, instead got ${version}`);\n // checksum includes the version\n var private_key = private_wif.slice(0, -4);\n var checksum = private_wif.slice(-4);\n var new_checksum = hash.sha256(private_key);\n new_checksum = hash.sha256(new_checksum);\n new_checksum = new_checksum.slice(0, 4);\n if (checksum.toString() !== new_checksum.toString())\n throw new Error('Invalid WIF key (checksum miss-match)')\n\n private_key = private_key.slice(1);\n return PrivateKey.fromBuffer(private_key);\n }\n\n toWif() {\n var private_key = this.toBuffer();\n // checksum includes the version\n private_key = Buffer.concat([new Buffer([0x80]), private_key]);\n var checksum = hash.sha256(private_key);\n checksum = hash.sha256(checksum);\n checksum = checksum.slice(0, 4);\n var private_wif = Buffer.concat([private_key, checksum]);\n return base58.encode(private_wif);\n }\n\n /** Alias for {@link toWif} */\n toString() {\n return this.toWif()\n }\n\n /**\n @return {Point}\n */\n toPublicKeyPoint() {\n var Q;\n return Q = secp256k1.G.multiply(this.d);\n }\n\n toPublic() {\n if (this.public_key) { return this.public_key; }\n return this.public_key = PublicKey.fromPoint(this.toPublicKeyPoint());\n }\n\n toBuffer() {\n return this.d.toBuffer(32);\n }\n\n /** ECIES */\n get_shared_secret(public_key) {\n public_key = toPublic(public_key)\n let KB = public_key.toUncompressed().toBuffer()\n let KBP = Point.fromAffine(\n secp256k1,\n BigInteger.fromBuffer( KB.slice( 1,33 )), // x\n BigInteger.fromBuffer( KB.slice( 33,65 )) // y\n )\n let r = this.toBuffer()\n let P = KBP.multiply(BigInteger.fromBuffer(r))\n let S = P.affineX.toBuffer({size: 32})\n // SHA512 used in ECIES\n return hash.sha512(S)\n }\n\n // /** ECIES (does not always match the Point.fromAffine version above) */\n // get_shared_secret(public_key){\n // public_key = toPublic(public_key)\n // var P = public_key.Q.multiply( this.d );\n // var S = P.affineX.toBuffer({size: 32});\n // // ECIES, adds an extra sha512\n // return hash.sha512(S);\n // }\n\n /** @throws {Error} - overflow of the key could not be derived */\n child( offset ) {\n offset = Buffer.concat([ this.toPublicKey().toBuffer(), offset ])\n offset = hash.sha256( offset )\n let c = BigInteger.fromBuffer(offset)\n\n if (c.compareTo(n) >= 0)\n throw new Error(\"Child offset went out of bounds, try again\")\n\n let derived = this.d.add(c)//.mod(n)\n\n if( derived.signum() === 0 )\n throw new Error(\"Child offset derived to an invalid key, try again\")\n\n return new PrivateKey( derived )\n }\n\n // toByteBuffer() {\n // var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n // this.appendByteBuffer(b);\n // return b.copy(0, b.offset);\n // }\n\n static fromHex(hex) {\n return PrivateKey.fromBuffer(new Buffer(hex, 'hex'));\n }\n\n toHex() {\n return this.toBuffer().toString('hex');\n }\n\n toPublicKey() {\n return this.toPublic()\n }\n\n /* </helper_functions> */\n}\n\nmodule.exports = PrivateKey;\n\nconst toPublic = data => data == null ? data :\n data.Q ? data : PublicKey.fromStringOrThrow(data)\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/key_private.js","var ecdsa = require('./ecdsa');\nvar hash = require('./hash');\nvar curve = require('ecurve').getCurveByName('secp256k1');\nvar assert = require('assert');\nvar BigInteger = require('bigi');\nvar PublicKey = require('./key_public');\nvar PrivateKey = require('./key_private');\n\nclass Signature {\n\n constructor(r1, s1, i1) {\n this.r = r1;\n this.s = s1;\n this.i = i1;\n assert.equal(this.r != null, true, 'Missing parameter');\n assert.equal(this.s != null, true, 'Missing parameter');\n assert.equal(this.i != null, true, 'Missing parameter');\n }\n\n static fromBuffer(buf) {\n var i, r, s;\n assert.equal(buf.length, 65, 'Invalid signature length');\n i = buf.readUInt8(0);\n assert.equal(i - 27, i - 27 & 7, 'Invalid signature parameter');\n r = BigInteger.fromBuffer(buf.slice(1, 33));\n s = BigInteger.fromBuffer(buf.slice(33));\n return new Signature(r, s, i);\n };\n\n toBuffer() {\n var buf;\n buf = new Buffer(65);\n buf.writeUInt8(this.i, 0);\n this.r.toBuffer(32).copy(buf, 1);\n this.s.toBuffer(32).copy(buf, 33);\n return buf;\n };\n\n recoverPublicKeyFromBuffer(buffer) {\n return this.recoverPublicKey(hash.sha256(buffer));\n };\n\n /**\n @return {PublicKey}\n */\n recoverPublicKey(sha256_buffer) {\n let Q, e, i;\n e = BigInteger.fromBuffer(sha256_buffer);\n i = this.i;\n i -= 27;\n i = i & 3;\n Q = ecdsa.recoverPubKey(curve, e, this, i);\n return PublicKey.fromPoint(Q);\n };\n\n\n /**\n @param {Buffer} buf\n @param {PrivateKey} private_key\n @return {Signature}\n */\n static signBuffer(buf, private_key) {\n var _hash = hash.sha256(buf);\n return Signature.signBufferSha256(_hash, private_key)\n }\n \n /** Sign a buffer of exactally 32 bytes in size (sha256(text))\n @param {Buffer} buf - 32 bytes binary\n @param {PrivateKey} private_key\n @return {Signature}\n */\n static signBufferSha256(buf_sha256, private_key) {\n if( buf_sha256.length !== 32 || ! Buffer.isBuffer(buf_sha256) )\n throw new Error(\"buf_sha256: 32 byte buffer requred\")\n private_key = toPrivateObj(private_key)\n assert(private_key, 'private_key required')\n\n var der, e, ecsignature, i, lenR, lenS, nonce;\n i = null;\n nonce = 0;\n e = BigInteger.fromBuffer(buf_sha256);\n while (true) {\n ecsignature = ecdsa.sign(curve, buf_sha256, private_key.d, nonce++);\n der = ecsignature.toDER();\n lenR = der[3];\n lenS = der[5 + lenR];\n if (lenR === 32 && lenS === 32) {\n i = ecdsa.calcPubKeyRecoveryParam(curve, e, ecsignature, private_key.toPublicKey().Q);\n i += 4; // compressed\n i += 27; // compact // 24 or 27 :( forcing odd-y 2nd key candidate)\n break;\n }\n if (nonce % 10 === 0) {\n console.log(\"WARN: \" + nonce + \" attempts to find canonical signature\");\n }\n }\n return new Signature(ecsignature.r, ecsignature.s, i);\n };\n\n static sign(string, private_key) {\n return Signature.signBuffer(new Buffer(string), private_key);\n };\n\n\n /**\n @param {Buffer} un-hashed\n @param {./PublicKey}\n @return {boolean}\n */\n verifyBuffer(buf, public_key) {\n var _hash = hash.sha256(buf);\n return this.verifyHash(_hash, public_key);\n };\n\n verifyHash(hash, public_key) {\n assert.equal(hash.length, 32, \"A SHA 256 should be 32 bytes long, instead got \" + hash.length);\n return ecdsa.verify(curve, hash, {\n r: this.r,\n s: this.s\n }, public_key.Q);\n };\n\n\n // toByteBuffer() {\n // var b;\n // b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n // this.appendByteBuffer(b);\n // return b.copy(0, b.offset);\n // };\n\n static fromHex(hex) {\n return Signature.fromBuffer(new Buffer(hex, \"hex\"));\n };\n\n toHex() {\n return this.toBuffer().toString(\"hex\");\n };\n\n static signHex(hex, private_key) {\n var buf;\n buf = new Buffer(hex, 'hex');\n return Signature.signBuffer(buf, private_key);\n };\n\n verifyHex(hex, public_key) {\n var buf;\n buf = new Buffer(hex, 'hex');\n return this.verifyBuffer(buf, public_key);\n };\n\n}\nconst toPrivateObj = o => (o ? o.d ? o : PrivateKey.fromWif(o) : o/*null or undefined*/)\nmodule.exports = Signature;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/signature.js","var assert = require('assert') // from github.com/bitcoinjs/bitcoinjs-lib from github.com/cryptocoinjs/ecdsa\nvar crypto = require('./hash')\nvar enforceType = require('./enforce_types')\n\nvar BigInteger = require('bigi')\nvar ECSignature = require('./ecsignature')\n\n// https://tools.ietf.org/html/rfc6979#section-3.2\nfunction deterministicGenerateK(curve, hash, d, checkSig, nonce) {\n \n enforceType('Buffer', hash)\n enforceType(BigInteger, d)\n \n if (nonce) {\n hash = crypto.sha256(Buffer.concat([hash, new Buffer(nonce)]))\n }\n\n // sanity check\n assert.equal(hash.length, 32, 'Hash must be 256 bit')\n\n var x = d.toBuffer(32)\n var k = new Buffer(32)\n var v = new Buffer(32)\n\n // Step B\n v.fill(1)\n\n // Step C\n k.fill(0)\n\n // Step D\n k = crypto.HmacSHA256(Buffer.concat([v, new Buffer([0]), x, hash]), k)\n\n // Step E\n v = crypto.HmacSHA256(v, k)\n\n // Step F\n k = crypto.HmacSHA256(Buffer.concat([v, new Buffer([1]), x, hash]), k)\n\n // Step G\n v = crypto.HmacSHA256(v, k)\n\n // Step H1/H2a, ignored as tlen === qlen (256 bit)\n // Step H2b\n v = crypto.HmacSHA256(v, k)\n\n var T = BigInteger.fromBuffer(v)\n\n // Step H3, repeat until T is within the interval [1, n - 1]\n while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {\n k = crypto.HmacSHA256(Buffer.concat([v, new Buffer([0])]), k)\n v = crypto.HmacSHA256(v, k)\n\n // Step H1/H2a, again, ignored as tlen === qlen (256 bit)\n // Step H2b again\n v = crypto.HmacSHA256(v, k)\n \n T = BigInteger.fromBuffer(v)\n }\n\n return T\n\n}\n\nfunction sign(curve, hash, d, nonce) {\n \n var e = BigInteger.fromBuffer(hash)\n var n = curve.n\n var G = curve.G\n \n var r, s\n var k = deterministicGenerateK(curve, hash, d, function (k) {\n // find canonically valid signature\n var Q = G.multiply(k)\n \n if (curve.isInfinity(Q)) return false\n \n r = Q.affineX.mod(n)\n if (r.signum() === 0) return false\n \n s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)\n if (s.signum() === 0) return false\n \n return true\n }, nonce)\n\n var N_OVER_TWO = n.shiftRight(1)\n\n // enforce low S values, see bip62: 'low s values in signatures'\n if (s.compareTo(N_OVER_TWO) > 0) {\n s = n.subtract(s)\n }\n\n return new ECSignature(r, s)\n}\n\nfunction verifyRaw(curve, e, signature, Q) {\n var n = curve.n\n var G = curve.G\n\n var r = signature.r\n var s = signature.s\n\n // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]\n if (r.signum() <= 0 || r.compareTo(n) >= 0) return false\n if (s.signum() <= 0 || s.compareTo(n) >= 0) return false\n\n // c = s^-1 mod n\n var c = s.modInverse(n)\n\n // 1.4.4 Compute u1 = es^−1 mod n\n // u2 = rs^−1 mod n\n var u1 = e.multiply(c).mod(n)\n var u2 = r.multiply(c).mod(n)\n\n // 1.4.5 Compute R = (xR, yR) = u1G + u2Q\n var R = G.multiplyTwo(u1, Q, u2)\n\n // 1.4.5 (cont.) Enforce R is not at infinity\n if (curve.isInfinity(R)) return false\n\n // 1.4.6 Convert the field element R.x to an integer\n var xR = R.affineX\n\n // 1.4.7 Set v = xR mod n\n var v = xR.mod(n)\n \n // 1.4.8 If v = r, output \"valid\", and if v != r, output \"invalid\"\n return v.equals(r)\n}\n\nfunction verify(curve, hash, signature, Q) {\n // 1.4.2 H = Hash(M), already done by the user\n // 1.4.3 e = H\n var e = BigInteger.fromBuffer(hash)\n return verifyRaw(curve, e, signature, Q)\n}\n\n/**\n * Recover a public key from a signature.\n *\n * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, \"Public\n * Key Recovery Operation\".\n *\n * http://www.secg.org/download/aid-780/sec1-v2.pdf\n */\nfunction recoverPubKey(curve, e, signature, i) {\n assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')\n\n var n = curve.n\n var G = curve.G\n\n var r = signature.r\n var s = signature.s\n\n assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')\n assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = i & 1\n\n // The more significant bit specifies whether we should use the\n // first or second candidate key.\n var isSecondKey = i >> 1\n\n // 1.1 Let x = r + jn\n var x = isSecondKey ? r.add(n) : r\n var R = curve.pointFromX(isYOdd, x)\n\n // 1.4 Check that nR is at infinity\n var nR = R.multiply(n)\n assert(curve.isInfinity(nR), 'nR is not a valid curve point')\n\n // Compute -e from e\n var eNeg = e.negate().mod(n)\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n var rInv = r.modInverse(n)\n\n var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)\n curve.validate(Q)\n\n return Q\n}\n\n/**\n * Calculate pubkey extraction parameter.\n *\n * When extracting a pubkey from a signature, we have to\n * distinguish four different cases. Rather than putting this\n * burden on the verifier, Bitcoin includes a 2-bit value with the\n * signature.\n *\n * This function simply tries all four cases and returns the value\n * that resulted in a successful pubkey recovery.\n */\nfunction calcPubKeyRecoveryParam(curve, e, signature, Q) {\n for (var i = 0; i < 4; i++) {\n var Qprime = recoverPubKey(curve, e, signature, i)\n\n // 1.6.2 Verify Q\n if (Qprime.equals(Q)) {\n return i\n }\n }\n\n throw new Error('Unable to find valid recovery factor')\n}\n\nmodule.exports = {\n calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,\n deterministicGenerateK: deterministicGenerateK,\n recoverPubKey: recoverPubKey,\n sign: sign,\n verify: verify,\n verifyRaw: verifyRaw\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/ecdsa.js","module.exports = function enforce(type, value) { // Copied from https://github.com/bitcoinjs/bitcoinjs-lib\n switch (type) {\n case 'Array': {\n if (Array.isArray(value)) return\n break\n }\n\n case 'Boolean': {\n if (typeof value === 'boolean') return\n break\n }\n\n case 'Buffer': {\n if (Buffer.isBuffer(value)) return\n break\n }\n\n case 'Number': {\n if (typeof value === 'number') return\n break\n }\n\n case 'String': {\n if (typeof value === 'string') return\n break\n }\n\n default: {\n if (getName(value.constructor) === getName(type)) return\n }\n }\n\n throw new TypeError('Expected ' + (getName(type) || type) + ', got ' + value)\n}\n\nfunction getName(fn) {\n // Why not fn.name: https://kangax.github.io/compat-table/es6/#function_name_property\n var match = fn.toString().match(/function (.*?)\\(/)\n return match ? match[1] : null\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/enforce_types.js","var assert = require('assert') // from https://github.com/bitcoinjs/bitcoinjs-lib\nvar enforceType = require('./enforce_types')\n\nvar BigInteger = require('bigi')\n\nfunction ECSignature(r, s) {\n enforceType(BigInteger, r)\n enforceType(BigInteger, s)\n\n this.r = r\n this.s = s\n}\n\n// Import operations\nECSignature.parseCompact = function(buffer) {\n assert.equal(buffer.length, 65, 'Invalid signature length')\n var i = buffer.readUInt8(0) - 27\n\n // At most 3 bits\n assert.equal(i, i & 7, 'Invalid signature parameter')\n var compressed = !!(i & 4)\n\n // Recovery param only\n i = i & 3\n\n var r = BigInteger.fromBuffer(buffer.slice(1, 33))\n var s = BigInteger.fromBuffer(buffer.slice(33))\n\n return {\n compressed: compressed,\n i: i,\n signature: new ECSignature(r, s)\n }\n}\n\nECSignature.fromDER = function(buffer) {\n assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')\n assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')\n assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')\n\n var rLen = buffer.readUInt8(3)\n assert(rLen > 0, 'R length is zero')\n\n var offset = 4 + rLen\n assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')\n\n var sLen = buffer.readUInt8(offset + 1)\n assert(sLen > 0, 'S length is zero')\n\n var rB = buffer.slice(4, offset)\n var sB = buffer.slice(offset + 2)\n offset += 2 + sLen\n\n if (rLen > 1 && rB.readUInt8(0) === 0x00) {\n assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')\n }\n\n if (sLen > 1 && sB.readUInt8(0) === 0x00) {\n assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')\n }\n\n assert.equal(offset, buffer.length, 'Invalid DER encoding')\n var r = BigInteger.fromDERInteger(rB)\n var s = BigInteger.fromDERInteger(sB)\n\n assert(r.signum() >= 0, 'R value is negative')\n assert(s.signum() >= 0, 'S value is negative')\n\n return new ECSignature(r, s)\n}\n\n// FIXME: 0x00, 0x04, 0x80 are SIGHASH_* boundary constants, importing Transaction causes a circular dependency\nECSignature.parseScriptSignature = function(buffer) {\n var hashType = buffer.readUInt8(buffer.length - 1)\n var hashTypeMod = hashType & ~0x80\n\n assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType')\n\n return {\n signature: ECSignature.fromDER(buffer.slice(0, -1)),\n hashType: hashType\n }\n}\n\n// Export operations\nECSignature.prototype.toCompact = function(i, compressed) {\n if (compressed) i += 4\n i += 27\n\n var buffer = new Buffer(65)\n buffer.writeUInt8(i, 0)\n\n this.r.toBuffer(32).copy(buffer, 1)\n this.s.toBuffer(32).copy(buffer, 33)\n\n return buffer\n}\n\nECSignature.prototype.toDER = function() {\n var rBa = this.r.toDERInteger()\n var sBa = this.s.toDERInteger()\n\n var sequence = []\n\n // INTEGER\n sequence.push(0x02, rBa.length)\n sequence = sequence.concat(rBa)\n\n // INTEGER\n sequence.push(0x02, sBa.length)\n sequence = sequence.concat(sBa)\n\n // SEQUENCE\n sequence.unshift(0x30, sequence.length)\n\n return new Buffer(sequence)\n}\n\nECSignature.prototype.toScriptSignature = function(hashType) {\n var hashTypeBuffer = new Buffer(1)\n hashTypeBuffer.writeUInt8(hashType, 0)\n\n return Buffer.concat([this.toDER(), hashTypeBuffer])\n}\n\nmodule.exports = ECSignature\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/ecsignature.js","\nexport function normalize(brain_key) {\n if (typeof brain_key !== 'string') {\n throw new Error(\"string required for brain_key\");\n }\n brain_key = brain_key.trim();\n return brain_key.split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/brain_key.js","\nconst PrivateKey = require('./key_private');\nconst hash = require('./hash');\nconst secureRandom = require('secure-random');\n\n// hash for .25 second\nconst HASH_POWER_MILLS = 250;\n\nlet entropyPos = 0, entropyCount = 0\nconst entropyArray = secureRandom.randomBuffer(101)\n\nmodule.exports = {\n\n addEntropy(...ints) {\n entropyCount++\n for(const i of ints) {\n const pos = entropyPos++ % 101\n const i2 = entropyArray[pos] += i\n if(i2 > 9007199254740991)\n entropyArray[pos] = 0\n }\n },\n\n /**\n A week random number generator can run out of entropy. This should ensure even the worst random number implementation will be reasonably safe.\n\n @param1 string entropy of at least 32 bytes\n */\n random32ByteBuffer(entropy = this.browserEntropy()) {\n\n if (!(typeof entropy === 'string')) {\n throw new Error(\"string required for entropy\");\n }\n\n if (entropy.length < 32) {\n throw new Error(\"expecting at least 32 bytes of entropy\");\n }\n\n const start_t = Date.now();\n\n while (Date.now() - start_t < HASH_POWER_MILLS)\n entropy = hash.sha256(entropy);\n\n const hash_array = [];\n hash_array.push(entropy);\n\n // Hashing for 1 second may helps the computer is not low on entropy (this method may be called back-to-back).\n hash_array.push(secureRandom.randomBuffer(32));\n\n return hash.sha256(Buffer.concat(hash_array));\n },\n\n get_random_key(entropy) {\n return PrivateKey.fromBuffer(this.random32ByteBuffer(entropy));\n },\n\n // Turn invisible space like characters into a single space\n // normalize_brain_key(brain_key){\n // if (!(typeof brain_key === 'string')) {\n // throw new Error(\"string required for brain_key\");\n // }\n // brain_key = brain_key.trim();\n // return brain_key.split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n // },\n\n browserEntropy() {\n let entropyStr = Array(entropyArray).join()\n try {\n entropyStr += (new Date()).toString() + \" \" + window.screen.height + \" \" + window.screen.width + \" \" +\n window.screen.colorDepth + \" \" + \" \" + window.screen.availHeight + \" \" + window.screen.availWidth + \" \" +\n window.screen.pixelDepth + navigator.language + \" \" + window.location + \" \" + window.history.length;\n\n for (let i = 0, mimeType; i < navigator.mimeTypes.length; i++) {\n mimeType = navigator.mimeTypes[i];\n entropyStr += mimeType.description + \" \" + mimeType.type + \" \" + mimeType.suffixes + \" \";\n }\n console.log(\"INFO\\tbrowserEntropy gathered\", entropyCount, 'events')\n } catch(error) {\n //nodejs:ReferenceError: window is not defined\n entropyStr += hash.sha256((new Date()).toString())\n }\n\n const b = new Buffer(entropyStr);\n entropyStr += b.toString('binary') + \" \" + (new Date()).toString();\n return entropyStr;\n },\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/ecc/src/key_utils.js","import assert from \"assert\"\n\n/**\n Convert 12.34 with a precision of 3 into 12340\n\n @arg {number|string} number - Use strings for large numbers. This may contain one decimal but no sign\n @arg {number} precision - number of implied decimal places (usually causes right zero padding)\n @return {string} -\n*/\nexport function toImpliedDecimal(number, precision) {\n\n if(typeof number === \"number\") {\n assert(number <= 9007199254740991, \"overflow\")\n number = \"\"+number;\n } else\n if( number.toString )\n number = number.toString()\n\n assert(typeof number === \"string\", \"number should be an actual number or string: \" + (typeof number))\n number = number.trim()\n assert(/^[0-9]*\\.?[0-9]*$/.test(number), \"Invalid decimal number \" + number)\n\n let [ whole = \"\", decimal = \"\"] = number.split(\".\")\n\n let padding = precision - decimal.length\n assert(padding >= 0, \"Too many decimal digits in \" + number + \" to create an implied decimal of \" + precision)\n\n for(let i = 0; i < padding; i++)\n decimal += \"0\"\n\n while(whole.charAt(0) === \"0\")\n whole = whole.substring(1)\n\n return whole + decimal\n}\n\nexport function fromImpliedDecimal(number, precision) {\n if(typeof number === \"number\") {\n assert(number <= 9007199254740991, \"overflow\")\n number = \"\"+number;\n } else\n if( number.toString )\n number = number.toString()\n\n while(number.length < precision + 1)// 0.123\n number = \"0\" + number\n\n // 44000 => 44.000\n let dec_string = number.substring(number.length - precision)\n return number.substring(0, number.length - precision) +\n (dec_string ? \".\" + dec_string : \"\")\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/number_utils.js","var _my;\nvar is_empty;\nvar is_digits;\nvar to_number;\nvar require_match;\nvar require_object_id;\nvar require_object_type;\nvar get_instance;\nvar require_relative_type;\nvar get_relative_instance;\nvar require_protocol_type;\nvar get_protocol_instance;\nvar get_protocol_type;\nvar require_implementation_type;\nvar get_implementation_instance;\nvar Long = require('bytebuffer').Long;\n// var BigInteger = require('bigi');\n\nvar chain_types = require('./ChainTypes');\n\nvar MAX_SAFE_INT = 9007199254740991;\nvar MIN_SAFE_INT =-9007199254740991;\n\n/**\n Most validations are skipped and the value returned unchanged when an empty string, null, or undefined is encountered (except \"required\"). \n\n Validations support a string format for dealing with large numbers.\n*/\nmodule.exports = _my = {\n\n is_empty: is_empty=function(value){\n return value === null || value === undefined;\n },\n \n required(value, field_name=\"\"){\n if (is_empty(value) ){\n throw new Error(`value required ${field_name} ${value}`);\n }\n return value;\n },\n \n require_long(value, field_name=\"\"){\n if (!Long.isLong(value)) {\n throw new Error(`Long value required ${field_name} ${value}`);\n }\n return value;\n },\n \n string(value){\n if (is_empty(value) ){ return value; }\n if (typeof value !== \"string\") {\n throw new Error(`string required: ${value}`);\n }\n return value;\n },\n \n number(value){\n if (is_empty(value) ){ return value; }\n if (typeof value !== \"number\") {\n throw new Error(`number required: ${value}`);\n }\n return value;\n },\n \n whole_number(value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n if (/\\./.test(value) ){\n throw new Error(`whole number required ${field_name} ${value}`);\n }\n return value;\n },\n \n unsigned(value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n if (/-/.test(value) ){\n throw new Error(`unsigned required ${field_name} ${value}`);\n }\n return value;\n },\n \n is_digits: is_digits=function(value){\n if (typeof value === \"numeric\") { return true; }\n return /^[0-9]+$/.test(value);\n },\n \n to_number: to_number=function(value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n _my.no_overflow53(value, field_name);\n var int_value = (() => {\n if (typeof value === \"number\") {\n return value;\n } else {\n return parseInt(value);\n }\n })();\n return int_value;\n },\n \n to_long(value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n if (Long.isLong(value) ){ return value; }\n \n _my.no_overflow64(value, field_name);\n if (typeof value === \"number\") {\n value = \"\"+value;\n }\n return Long.fromString(value);\n },\n \n to_string(value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n if (typeof value === \"string\") { return value; }\n if (typeof value === \"number\") {\n _my.no_overflow53(value, field_name);\n return \"\"+value;\n }\n if (Long.isLong(value) ){\n return value.toString();\n }\n throw `unsupported type ${field_name}: (${typeof value}) ${value}`;\n },\n \n require_test(regex, value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n if (!regex.test(value)) {\n throw new Error(`unmatched ${regex} ${field_name} ${value}`);\n }\n return value;\n },\n \n require_match: require_match=function(regex, value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n var match = value.match(regex);\n if (match === null) {\n throw new Error(`unmatched ${regex} ${field_name} ${value}`);\n }\n return match;\n },\n \n // require_object_id: require_object_id=function(value, field_name){\n // return require_match(\n // /^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/,\n // value,\n // field_name\n // );\n // },\n \n // Does not support over 53 bits\n require_range(min,max,value, field_name=\"\"){\n if (is_empty(value) ){ return value; }\n var number = to_number(value);\n if (value < min || value > max) {\n throw new Error(`out of range ${value} ${field_name} ${value}`);\n }\n return value;\n },\n \n require_object_type: require_object_type=function(\n reserved_spaces = 1, type, value,\n field_name=\"\"\n ){\n if (is_empty(value) ){ return value; }\n var object_type = chain_types.object_type[type];\n if (!object_type) {\n throw new Error(`Unknown object type: ${type}, ${field_name}, ${value}`);\n }\n var re = new RegExp(`${reserved_spaces}\\.${object_type}\\.[0-9]+$`);\n if (!re.test(value)) {\n throw new Error(`Expecting ${type} in format `+ `${reserved_spaces}.${object_type}.[0-9]+ `+ `instead of ${value} ${field_name} ${value}`);\n }\n return value;\n },\n \n get_instance: get_instance=function(reserve_spaces, type, value, field_name){\n if (is_empty(value) ){ return value; }\n require_object_type(reserve_spaces, type, value, field_name);\n return to_number(value.split('.')[2]);\n },\n \n require_relative_type: require_relative_type=function(type, value, field_name){\n require_object_type(0, type, value, field_name);\n return value;\n },\n \n get_relative_instance: get_relative_instance=function(type, value, field_name){\n if (is_empty(value) ){ return value; }\n require_object_type(0, type, value, field_name);\n return to_number(value.split('.')[2]);\n },\n \n require_protocol_type: require_protocol_type=function(type, value, field_name){\n require_object_type(1, type, value, field_name);\n return value;\n },\n \n get_protocol_instance: get_protocol_instance=function(type, value, field_name){\n if (is_empty(value) ){ return value; }\n require_object_type(1, type, value, field_name);\n return to_number(value.split('.')[2]);\n },\n \n get_protocol_type: get_protocol_type=function(value, field_name){\n if (is_empty(value) ){ return value; }\n require_object_id(value, field_name);\n var values = value.split('.');\n return to_number(values[1]);\n },\n \n get_protocol_type_name(value, field_name){\n if (is_empty(value) ){ return value; }\n var type_id = get_protocol_type(value, field_name);\n return (Object.keys(chain_types.object_type))[type_id];\n },\n \n require_implementation_type: require_implementation_type=function(type, value, field_name){\n require_object_type(2, type, value, field_name);\n return value;\n },\n \n get_implementation_instance: get_implementation_instance=function(type, value, field_name){\n if (is_empty(value) ){ return value; }\n require_object_type(2, type, value, field_name);\n return to_number(value.split('.')[2]);\n },\n\n // signed / unsigned decimal\n no_overflow53(value, field_name=\"\"){\n if (typeof value === \"number\") {\n if (value > MAX_SAFE_INT || value < MIN_SAFE_INT) {\n throw new Error(`overflow ${field_name} ${value}`);\n }\n return;\n }\n if (typeof value === \"string\") {\n var int = parseInt(value);\n if (value > MAX_SAFE_INT || value < MIN_SAFE_INT) {\n throw new Error(`overflow ${field_name} ${value}`);\n }\n return;\n }\n if (Long.isLong(value) ){\n // typeof value.toInt() is 'number'\n _my.no_overflow53(value.toInt(), field_name);\n return;\n }\n throw `unsupported type ${field_name}: (${typeof value}) ${value}`;\n },\n \n // signed / unsigned whole numbers only\n no_overflow64(value, field_name=\"\"){\n // https://github.com/dcodeIO/Long.js/issues/20\n if (Long.isLong(value) ){ return; }\n \n // BigInteger#isBigInteger https://github.com/cryptocoinjs/bigi/issues/20\n if (value.t !== undefined && value.s !== undefined) {\n _my.no_overflow64(value.toString(), field_name);\n return;\n }\n \n if (typeof value === \"string\") {\n // remove leading zeros, will cause a false positive\n value = value.replace(/^0+/,'');\n // remove trailing zeros\n while (/0$/.test(value) ){\n value = value.substring(0, value.length - 1);\n }\n if (/\\.$/.test(value) ){\n // remove trailing dot\n value = value.substring(0, value.length - 1);\n }\n if (value === \"\") { value = \"0\"; }\n var long_string = Long.fromString(value).toString();\n if (long_string !== value.trim()) {\n throw new Error(`overflow ${field_name} ${value}`);\n }\n return;\n }\n if (typeof value === \"number\") {\n if (value > MAX_SAFE_INT || value < MIN_SAFE_INT) {\n throw new Error(`overflow ${field_name} ${value}`);\n }\n return;\n }\n \n throw `unsupported type ${field_name}: (${typeof value}) ${value}`;\n }\n };\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/validation.js","var ChainTypes = {};\n\nChainTypes.reserved_spaces = {\n relative_protocol_ids: 0,\n protocol_ids: 1,\n implementation_ids: 2\n};\n\nChainTypes.operations= {\n vote: 0,\n comment: 1,\n transfer: 2,\n transfer_to_vesting: 3,\n withdraw_vesting: 4,\n limit_order_create: 5,\n limit_order_cancel: 6,\n feed_publish: 7,\n convert: 8,\n account_create: 9,\n account_update: 10,\n witness_update: 11,\n account_witness_vote: 12,\n account_witness_proxy: 13,\n pow: 14,\n custom: 15,\n report_over_production: 16,\n delete_comment: 17,\n custom_json: 18,\n comment_options: 19,\n set_withdraw_vesting_route: 20,\n limit_order_create2: 21,\n claim_account: 22,\n create_claimed_account: 23,\n request_account_recovery: 24,\n recover_account: 25,\n change_recovery_account: 26,\n escrow_transfer: 27,\n escrow_dispute: 28,\n escrow_release: 29,\n pow2: 30,\n escrow_approve: 31,\n transfer_to_savings: 32,\n transfer_from_savings: 33,\n cancel_transfer_from_savings: 34,\n custom_binary: 35,\n decline_voting_rights: 36,\n reset_account: 37,\n set_reset_account: 38,\n claim_reward_balance: 39,\n delegate_vesting_shares: 40,\n account_create_with_delegation: 41,\n witness_set_properties: 42,\n account_update2: 43,\n create_proposal: 44,\n update_proposal_votes: 45,\n remove_proposal: 46,\n update_proposal: 47,\n fill_convert_request: 48,\n author_reward: 49,\n curation_reward: 50,\n comment_reward: 51,\n liquidity_reward: 52,\n interest: 53,\n fill_vesting_withdraw: 54,\n fill_order: 55,\n shutdown_witness: 56,\n fill_transfer_from_savings: 57,\n hardfork: 58,\n comment_payout_update: 59,\n return_vesting_delegation: 60,\n comment_benefactor_reward: 61,\n producer_reward: 62,\n clear_null_account_balance: 63,\n proposal_pay: 64,\n sps_fund: 65,\n hardfork_hive: 66,\n hardfork_hive_restore: 67,\n delayed_voting: 68,\n consolidate_treasury_balance: 69,\n effective_comment_vote: 70,\n ineffective_delete_comment: 71,\n sps_convert: 72,\n };\n\n//types.hpp\nChainTypes.object_type = {\n \"null\": 0,\n base: 1,\n};\n\nmodule.exports = ChainTypes;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/ChainTypes.js","var Long = (require('bytebuffer')).Long;\n\nvar v = require('./validation');\nvar DB_MAX_INSTANCE_ID = Long.fromNumber(((Math.pow(2,48))-1));\n\nclass ObjectId {\n \n constructor(space,type,instance){\n this.space = space;\n this.type = type;\n this.instance = instance;\n var instance_string = this.instance.toString();\n var object_id = `${this.space}.${this.type}.${instance_string}`;\n if (!v.is_digits(instance_string)) {\n throw new `Invalid object id ${object_id}`();\n }\n }\n \n static fromString(value){\n if (\n value.space !== undefined && \n value.type !== undefined &&\n value.instance !== undefined\n ) {\n return value;\n }\n var params = v.require_match(\n /^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/,\n v.required(value, \"object_id\"),\n \"object_id\"\n );\n return new ObjectId(\n parseInt(params[1]),\n parseInt(params[2]),\n Long.fromString(params[3])\n );\n }\n \n static fromLong(long){\n var space = long.shiftRight(56).toInt();\n var type = long.shiftRight(48).toInt() & 0x00ff;\n var instance = long.and(DB_MAX_INSTANCE_ID);\n return new ObjectId(space, type, instance);\n }\n \n static fromByteBuffer(b){\n return ObjectId.fromLong(b.readUint64());\n }\n \n toLong() {\n return Long.fromNumber(this.space).shiftLeft(56).or(\n Long.fromNumber(this.type).shiftLeft(48).or(this.instance)\n );\n }\n \n appendByteBuffer(b){\n return b.writeUint64(this.toLong());\n }\n \n toString() {\n return `${this.space}.${this.type}.${this.instance.toString()}`;\n }\n}\n\nmodule.exports = ObjectId;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/object_id.js","import { PublicKey } from \"../../ecc\"\n\nclass FastParser {\n\n static fixed_data(b, len, buffer) {\n if (!b) {\n return;\n }\n if (buffer) {\n let data = buffer.slice(0, len).toString('binary');\n b.append(data, 'binary');\n while (len-- > data.length) {\n b.writeUint8(0);\n }\n } else {\n let b_copy = b.copy(b.offset, b.offset + len);\n b.skip(len);\n return new Buffer(b_copy.toBinary(), 'binary');\n }\n }\n\n\n static public_key(b, public_key) {\n if (!b) { return; }\n if (public_key) {\n var buffer = public_key.toBuffer();\n b.append(buffer.toString('binary'), 'binary');\n return;\n } else {\n buffer = FastParser.fixed_data(b, 33);\n return PublicKey.fromBuffer(buffer);\n }\n }\n\n static ripemd160(b, ripemd160) {\n if (!b) { return; }\n if (ripemd160) {\n FastParser.fixed_data(b, 20, ripemd160);\n return;\n } else {\n return FastParser.fixed_data(b, 20);\n }\n }\n\n static time_point_sec(b, epoch) {\n if (epoch) {\n epoch = Math.ceil(epoch / 1000);\n b.writeInt32(epoch);\n return;\n } else {\n epoch = b.readInt32(); // fc::time_point_sec\n return new Date(epoch * 1000);\n }\n }\n}\n\nmodule.exports = FastParser;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/fast_parser.js","var ByteBuffer = require('bytebuffer');\nvar EC = require('./error_with_cause');\n\nconst HEX_DUMP = process.env.npm_config__graphene_serializer_hex_dump\n\nclass Serializer {\n \n constructor(operation_name, types) {\n this.operation_name = operation_name\n this.types = types\n if(this.types)\n this.keys = Object.keys(this.types)\n \n Serializer.printDebug = true\n }\n \n fromByteBuffer(b) {\n var object = {};\n var field = null;\n try {\n var iterable = this.keys;\n for (var i = 0, field; i < iterable.length; i++) {\n field = iterable[i];\n var type = this.types[field];\n try {\n if (HEX_DUMP) {\n if (type.operation_name) {\n console.error(type.operation_name);\n } else {\n var o1 = b.offset;\n type.fromByteBuffer(b);\n var o2 = b.offset;\n b.offset = o1;\n //b.reset()\n var _b = b.copy(o1, o2);\n console.error(\n `${this.operation_name}.${field}\\t`, \n _b.toHex()\n );\n }\n }\n object[field] = type.fromByteBuffer(b);\n } catch (e) {\n if(Serializer.printDebug) {\n console.error(`Error reading ${this.operation_name}.${field} in data:`);\n b.printDebug();\n }\n throw e;\n }\n }\n \n } catch (error) {\n EC.throw(this.operation_name+'.'+field, error);\n }\n \n return object;\n }\n \n appendByteBuffer(b, object) {\n var field = null;\n try {\n var iterable = this.keys;\n for (var i = 0, field; i < iterable.length; i++) {\n field = iterable[i];\n var type = this.types[field];\n type.appendByteBuffer(b, object[field]);\n }\n \n } catch (error) {\n try {\n EC.throw(this.operation_name+'.'+field+\" = \"+ JSON.stringify(object[field]), error);\n } catch (e) { // circular ref\n EC.throw(this.operation_name+'.'+field+\" = \"+ object[field], error);\n }\n }\n return;\n }\n \n fromObject(serialized_object){\n var result = {};\n var field = null;\n try {\n var iterable = this.keys;\n for (var i = 0, field; i < iterable.length; i++) {\n field = iterable[i];\n var type = this.types[field];\n var value = serialized_object[field];\n //DEBUG value = value.resolve if value.resolve\n //DEBUG console.log('... value',field,value)\n var object = type.fromObject(value);\n result[field] = object;\n }\n \n } catch (error) {\n EC.throw(this.operation_name+'.'+field, error);\n }\n \n return result;\n }\n \n /**\n @arg {boolean} [debug.use_default = false] - more template friendly\n @arg {boolean} [debug.annotate = false] - add user-friendly information\n */\n toObject(serialized_object = {}, debug = { use_default: false, annotate: false }){\n var result = {};\n var field = null;\n try {\n if( ! this.types )\n return result;\n \n var iterable = this.keys;\n for (var i = 0, field; i < iterable.length; i++) {\n field = iterable[i];\n var type = this.types[field];\n var object = type.toObject(((typeof serialized_object !== \"undefined\" && serialized_object !== null) ? serialized_object[field] : undefined), debug);\n result[field] = object;\n if(HEX_DUMP) {\n var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n let has_value = typeof serialized_object !== \"undefined\" && serialized_object !== null\n if(has_value) {\n let value = serialized_object[field]\n if(value)\n type.appendByteBuffer(b, value);\n }\n b = b.copy(0, b.offset);\n console.error(\n this.operation_name+'.'+field,\n b.toHex()\n );\n }\n }\n } catch (error) {\n EC.throw(this.operation_name+'.'+field, error);\n }\n \n return result;\n }\n \n /** Sort by the first element in a operation */\n compare(a, b) {\n\n let first_key = this.keys[0]\n let first_type = this.types[first_key]\n \n let valA = a[first_key]\n let valB = b[first_key]\n\n if(first_type.compare)\n return first_type.compare(valA, valB)\n \n if(typeof valA === \"number\" && typeof valB === \"number\")\n return valA - valB\n \n let encoding\n if(Buffer.isBuffer(valA) && Buffer.isBuffer(valB)) {\n // A binary string compare does not work. If localeCompare is well supported that could replace HEX. Performanance is very good so comparing HEX works.\n encoding = \"hex\"\n }\n \n let strA = valA.toString(encoding)\n let strB = valB.toString(encoding)\n return strA > strB ? 1 : strA < strB ? -1 : 0\n }\n \n // <helper_functions>\n \n fromHex(hex) {\n var b = ByteBuffer.fromHex(hex, ByteBuffer.LITTLE_ENDIAN);\n return this.fromByteBuffer(b);\n }\n \n fromBuffer(buffer){\n var b = ByteBuffer.fromBinary(buffer.toString(\"binary\"), ByteBuffer.LITTLE_ENDIAN);\n return this.fromByteBuffer(b);\n }\n \n toHex(object) {\n // return this.toBuffer(object).toString(\"hex\")\n var b=this.toByteBuffer(object);\n return b.toHex();\n }\n \n toByteBuffer(object) {\n var b = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN);\n this.appendByteBuffer(b, object);\n return b.copy(0, b.offset);\n }\n \n toBuffer(object){\n return new Buffer(this.toByteBuffer(object).toBinary(), 'binary');\n }\n}\n\nmodule.exports = Serializer\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/serializer.js","/** Exception nesting. */\nclass ErrorWithCause {\n \n constructor(message, cause){\n this.message = message;\n if ((typeof cause !== \"undefined\" && cause !== null) ? cause.message : undefined) {\n this.message = `cause\\t${cause.message}\\t` + this.message;\n }\n \n var stack = \"\";//(new Error).stack\n if ((typeof cause !== \"undefined\" && cause !== null) ? cause.stack : undefined) {\n stack = `caused by\\n\\t${cause.stack}\\t` + stack;\n }\n \n this.stack = this.message + \"\\n\" + stack;\n }\n\n static throw(message, cause){\n var msg = message;\n if ((typeof cause !== \"undefined\" && cause !== null) ? cause.message : undefined) { msg += `\\t cause: ${cause.message} `; }\n if ((typeof cause !== \"undefined\" && cause !== null) ? cause.stack : undefined) { msg += `\\n stack: ${cause.stack} `; }\n throw new Error(msg);\n }\n}\n \nmodule.exports = ErrorWithCause;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/error_with_cause.js","module.exports = {\n\n // Primary class for creating operations\n Serializer: require('./src/serializer'),\n\n // helper functions for creating operations\n fp: require('./src/fast_parser'),\n\n // Low level types\n types: require('./src/types'),\n\n // Higher level operations (made out of generic types)\n ops: require('./src/operations'),\n\n // Utility that generates JSON examples\n template: require('./src/template'),\n\n number_utils: require('./src/number_utils'),\n\n ChainTypes: require ('./src/ChainTypes'),\n\n makeBitMaskFilter: require('./src/makeBitMaskFilter'),\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/index.js","// This file is merge updated from hived's js_operation_serializer program.\n/*\n\n./js_operation_serializer |\nsed 's/void/future_extensions/g'|\nsed 's/steemit_protocol:://g'|\nsed 's/14static_variantIJNS_12fixed_stringINSt3__14pairIyyEEEEEEE/string/g'|\nsed 's/steemit_future_extensions/future_extensions/g'|\nsed 's/steemit_protocol_//g' > tmp.coffee\n\n*/\n// coffee tmp.coffee # fix errors until you see: `ChainTypes is not defined`\n\n/*\n\n remove these 7 lines from tmp.coffee:\n\nstatic_variant [\n pow2\n equihash_pow\n] = static_variant [\n pow2\n equihash_pow\n]\n\n*/\n\n// npm i -g decaffeinate\n// decaffeinate tmp.coffee\n\n// Merge tmp.js - See \"Generated code follows\" below\n\nimport types from \"./types\"\nimport SerializerImpl from \"./serializer\"\nimport config from \"../../../config\"\n\nconst {\n //id_type,\n //varint32, uint8, int64, fixed_array, object_id_type, vote_id, address,\n uint8, uint16, int16, uint32, uint64, int64, uint128,\n string, string_binary, bytes, bool, array,\n // protocol_id_type,\n static_variant, map, set,\n public_key,\n time_point_sec,\n optional,\n asset,\n asset_symbol\n} = types\n\nconst future_extensions = types.void\nconst hardfork_version_vote = types.void\nconst version = types.void\nconst required_automated_actions = types.void\nconst optional_automated_actions = types.void\n\n// Place-holder, their are dependencies on \"operation\" .. The final list of\n// operations is not avialble until the very end of the generated code.\n// See: operation.st_operations = ...\nconst operation = static_variant();\nmodule.exports.operation = operation;\n\n// For module.exports\nconst Serializer=function(operation_name, serilization_types_object){\n const s = new SerializerImpl(operation_name, serilization_types_object);\n return module.exports[operation_name] = s;\n}\n\nconst beneficiaries = new Serializer(\"beneficiaries\", {\n account: string,\n weight: uint16\n});\n\nconst comment_payout_beneficiaries = new Serializer(0, {\n beneficiaries: set(beneficiaries)\n});\n\nconst votable_asset_options = new Serializer(\n \"votable_asset_options\", {\n max_accepted_payout: int64,\n allow_curation_rewards: bool,\n beneficiaries: comment_payout_beneficiaries\n});\n\nconst allowed_vote_assets = new Serializer(1, {\n votable_assets: map((asset_symbol), (votable_asset_options))\n});\n\nconst smt_generation_unit = new Serializer(\n \"smt_generation_unit\", {\n hive_unit: map((string), (uint16)),\n token_unit: map((string), (uint16))\n});\n\nconst smt_capped_generation_policy = new Serializer(0, {\n generation_unit: smt_generation_unit,\n extensions: set(future_extensions)\n});\n\nconst smt_emissions_unit = new Serializer(\n \"smt_emissions_unit\", {\n token_unit: map((string), (uint16))\n});\n\nconst smt_param_allow_voting = new Serializer(0, {\n value: bool\n});\n\nconst smt_param_windows_v1 = new Serializer(0, {\n cashout_window_seconds: uint32,\n reverse_auction_window_seconds: uint32\n});\n\nconst smt_param_vote_regeneration_period_seconds_v1 = new Serializer(1, {\n vote_regeneration_period_seconds: uint32,\n votes_per_regeneration_period: uint32\n});\n\nconst smt_param_rewards_v1 = new Serializer(2, {\n content_constant: uint128,\n percent_curation_rewards: uint16,\n author_reward_curve: int64,\n curation_reward_curve: int64\n});\n\nconst smt_param_allow_downvotes = new Serializer(3, {\n value: bool\n});\n\nvar update_proposal_end_date = new Serializer(1, {\n end_date: time_point_sec\n});\n\n\n// Custom-types after Generated code\n\n// ## Generated code follows\n// -------------------------------\n/*\nWhen updating generated code (fix closing notation)\nReplace: var operation = static_variant([\nwith: operation.st_operations = [\n\nDelete (these are custom types instead):\nlet public_key = new Serializer(\n \"public_key\",\n {key_data: bytes(33)}\n);\n\nlet asset = new Serializer(\n \"asset\",\n {amount: int64,\n symbol: uint64}\n);\n\nReplace: authority.prototype.account_authority_map\nWith: map((string), (uint16))\n*/\nlet signed_transaction = new Serializer(\n \"signed_transaction\", {\n ref_block_num: uint16,\n ref_block_prefix: uint32,\n expiration: time_point_sec,\n operations: array(operation),\n extensions: set(future_extensions),\n signatures: array(bytes(65))\n}\n);\n\nlet signed_block = new Serializer(\n \"signed_block\", {\n previous: bytes(20),\n timestamp: time_point_sec,\n witness: string,\n transaction_merkle_root: bytes(20),\n extensions: set(static_variant([\n future_extensions,\n version,\n hardfork_version_vote,\n required_automated_actions,\n optional_automated_actions\n ])),\n witness_signature: bytes(65),\n transactions: array(signed_transaction)\n}\n);\n\nlet block_header = new Serializer(\n \"block_header\", {\n previous: bytes(20),\n timestamp: time_point_sec,\n witness: string,\n transaction_merkle_root: bytes(20),\n extensions: set(static_variant([\n future_extensions,\n version,\n hardfork_version_vote\n ]))\n}\n);\n\nlet signed_block_header = new Serializer(\n \"signed_block_header\", {\n previous: bytes(20),\n timestamp: time_point_sec,\n witness: string,\n transaction_merkle_root: bytes(20),\n extensions: set(static_variant([\n future_extensions,\n version,\n hardfork_version_vote,\n required_automated_actions,\n optional_automated_actions\n ])),\n witness_signature: bytes(65)\n}\n);\n\nlet vote = new Serializer(\n \"vote\", {\n voter: string,\n author: string,\n permlink: string,\n weight: int16\n}\n);\n\nlet comment = new Serializer(\n \"comment\", {\n parent_author: string,\n parent_permlink: string,\n author: string,\n permlink: string,\n title: string,\n body: string,\n json_metadata: string\n}\n);\n\nlet transfer = new Serializer(\n \"transfer\", {\n from: string,\n to: string,\n amount: asset,\n memo: string\n}\n);\n\nlet transfer_to_vesting = new Serializer(\n \"transfer_to_vesting\", {\n from: string,\n to: string,\n amount: asset\n}\n);\n\nlet withdraw_vesting = new Serializer(\n \"withdraw_vesting\", {\n account: string,\n vesting_shares: asset\n}\n);\n\nlet limit_order_create = new Serializer(\n \"limit_order_create\", {\n owner: string,\n orderid: uint32,\n amount_to_sell: asset,\n min_to_receive: asset,\n fill_or_kill: bool,\n expiration: time_point_sec\n}\n);\n\nlet limit_order_cancel = new Serializer(\n \"limit_order_cancel\", {\n owner: string,\n orderid: uint32\n}\n);\n\nlet price = new Serializer(\n \"price\", {\n base: asset,\n quote: asset\n}\n);\n\nlet feed_publish = new Serializer(\n \"feed_publish\", {\n publisher: string,\n exchange_rate: price\n}\n);\n\nlet convert = new Serializer(\n \"convert\", {\n owner: string,\n requestid: uint32,\n amount: asset\n}\n);\n\nlet collateralized_convert = new Serializer(\n \"collateralized_convert\",{\n owner: string,\n requestid: uint32,\n amount: asset\n}\n);\n\nvar authority = new Serializer(\n \"authority\", {\n weight_threshold: uint32,\n account_auths: map((string), (uint16)),\n key_auths: map((public_key), (uint16))\n}\n);\n\nlet account_create = new Serializer(\n \"account_create\", {\n fee: asset,\n creator: string,\n new_account_name: string,\n owner: authority,\n active: authority,\n posting: authority,\n memo_key: public_key,\n json_metadata: string\n}\n);\n\nlet account_update = new Serializer(\n \"account_update\", {\n account: string,\n owner: optional(authority),\n active: optional(authority),\n posting: optional(authority),\n memo_key: public_key,\n json_metadata: string\n}\n);\n\nlet chain_properties = new Serializer(\n \"chain_properties\", {\n account_creation_fee: asset,\n maximum_block_size: uint32,\n hbd_interest_rate: uint16\n}\n);\n\nlet witness_update = new Serializer(\n \"witness_update\", {\n owner: string,\n url: string,\n block_signing_key: public_key,\n props: chain_properties,\n fee: asset\n}\n);\n\nlet account_witness_vote = new Serializer(\n \"account_witness_vote\", {\n account: string,\n witness: string,\n approve: bool\n}\n);\n\nlet account_witness_proxy = new Serializer(\n \"account_witness_proxy\", {\n account: string,\n proxy: string\n}\n);\n\nlet pow = new Serializer(\n \"pow\", {\n worker: public_key,\n input: bytes(32),\n signature: bytes(65),\n work: bytes(32)\n}\n);\n\nlet custom = new Serializer(\n \"custom\", {\n required_auths: set(string),\n id: uint16,\n data: bytes()\n}\n);\n\nlet report_over_production = new Serializer(\n \"report_over_production\", {\n reporter: string,\n first_block: signed_block_header,\n second_block: signed_block_header\n}\n);\n\nlet delete_comment = new Serializer(\n \"delete_comment\", {\n author: string,\n permlink: string\n}\n);\n\nlet custom_json = new Serializer(\n \"custom_json\", {\n required_auths: set(string),\n required_posting_auths: set(string),\n id: string,\n json: string\n}\n);\n\nlet comment_options = new Serializer(\n \"comment_options\", {\n author: string,\n permlink: string,\n max_accepted_payout: asset,\n percent_hbd: uint16,\n allow_votes: bool,\n allow_curation_rewards: bool,\n extensions: set(static_variant([\n comment_payout_beneficiaries,\n allowed_vote_assets\n ]))\n}\n);\n\nlet set_withdraw_vesting_route = new Serializer(\n \"set_withdraw_vesting_route\", {\n from_account: string,\n to_account: string,\n percent: uint16,\n auto_vest: bool\n}\n);\n\nlet limit_order_create2 = new Serializer(\n \"limit_order_create2\", {\n owner: string,\n orderid: uint32,\n amount_to_sell: asset,\n exchange_rate: price,\n fill_or_kill: bool,\n expiration: time_point_sec\n}\n);\n\nlet claim_account = new Serializer(\n \"claim_account\", {\n creator: string,\n fee: asset,\n extensions: set(future_extensions)\n}\n);\n\nlet create_claimed_account = new Serializer(\n \"create_claimed_account\", {\n creator: string,\n new_account_name: string,\n owner: authority,\n active: authority,\n posting: authority,\n memo_key: public_key,\n json_metadata: string,\n extensions: set(future_extensions)\n}\n);\n\nlet request_account_recovery = new Serializer(\n \"request_account_recovery\", {\n recovery_account: string,\n account_to_recover: string,\n new_owner_authority: authority,\n extensions: set(future_extensions)\n}\n);\n\nlet recover_account = new Serializer(\n \"recover_account\", {\n account_to_recover: string,\n new_owner_authority: authority,\n recent_owner_authority: authority,\n extensions: set(future_extensions)\n}\n);\n\nlet change_recovery_account = new Serializer(\n \"change_recovery_account\", {\n account_to_recover: string,\n new_recovery_account: string,\n extensions: set(future_extensions)\n}\n);\n\nlet escrow_transfer = new Serializer(\n \"escrow_transfer\", {\n from: string,\n to: string,\n hbd_amount: asset,\n hive_amount: asset,\n escrow_id: uint32,\n agent: string,\n fee: asset,\n json_meta: string,\n ratification_deadline: time_point_sec,\n escrow_expiration: time_point_sec\n}\n);\n\nlet escrow_dispute = new Serializer(\n \"escrow_dispute\", {\n from: string,\n to: string,\n agent: string,\n who: string,\n escrow_id: uint32\n}\n);\n\nlet escrow_release = new Serializer(\n \"escrow_release\", {\n from: string,\n to: string,\n agent: string,\n who: string,\n receiver: string,\n escrow_id: uint32,\n hbd_amount: asset,\n hive_amount: asset\n}\n);\n\nlet pow2_input = new Serializer(\n \"pow2_input\", {\n worker_account: string,\n prev_block: bytes(20),\n nonce: uint64\n}\n);\n\nlet pow2 = new Serializer(\n \"pow2\", {\n input: pow2_input,\n pow_summary: uint32\n}\n);\n\nlet equihash_proof = new Serializer(\n \"equihash_proof\", {\n n: uint32,\n k: uint32,\n seed: bytes(32),\n inputs: array(uint32)\n}\n);\n\nlet equihash_pow = new Serializer(\n \"equihash_pow\", {\n input: pow2_input,\n proof: equihash_proof,\n prev_block: bytes(20),\n pow_summary: uint32\n}\n);\n\nlet escrow_approve = new Serializer(\n \"escrow_approve\", {\n from: string,\n to: string,\n agent: string,\n who: string,\n escrow_id: uint32,\n approve: bool\n}\n);\n\nlet transfer_to_savings = new Serializer(\n \"transfer_to_savings\", {\n from: string,\n to: string,\n amount: asset,\n memo: string\n}\n);\n\nlet transfer_from_savings = new Serializer(\n \"transfer_from_savings\", {\n from: string,\n request_id: uint32,\n to: string,\n amount: asset,\n memo: string\n}\n);\n\nlet cancel_transfer_from_savings = new Serializer(\n \"cancel_transfer_from_savings\", {\n from: string,\n request_id: uint32\n}\n);\n\nlet custom_binary = new Serializer(\n \"custom_binary\", {\n required_owner_auths: set(string),\n required_active_auths: set(string),\n required_posting_auths: set(string),\n required_auths: array(authority),\n id: string,\n data: bytes()\n}\n);\n\nlet decline_voting_rights = new Serializer(\n \"decline_voting_rights\", {\n account: string,\n decline: bool\n}\n);\n\nlet reset_account = new Serializer(\n \"reset_account\", {\n reset_account: string,\n account_to_reset: string,\n new_owner_authority: authority\n}\n);\n\nlet set_reset_account = new Serializer(\n \"set_reset_account\", {\n account: string,\n current_reset_account: string,\n reset_account: string\n}\n);\n\nlet claim_reward_balance = new Serializer(\n \"claim_reward_balance\", {\n account: string,\n reward_hive: asset,\n reward_hbd: asset,\n reward_vests: asset\n}\n);\n\nlet delegate_vesting_shares = new Serializer(\n \"delegate_vesting_shares\", {\n delegator: string,\n delegatee: string,\n vesting_shares: asset\n}\n);\n\nlet account_create_with_delegation = new Serializer(\n \"account_create_with_delegation\", {\n fee: asset,\n delegation: asset,\n creator: string,\n new_account_name: string,\n owner: authority,\n active: authority,\n posting: authority,\n memo_key: public_key,\n json_metadata: string,\n extensions: set(future_extensions)\n}\n);\n\nlet witness_set_properties = new Serializer(\n \"witness_set_properties\", {\n owner: string,\n props: map(string, bytes()),\n extensions: set(future_extensions)\n}\n);\n\nlet account_update2 = new Serializer(\n \"account_update2\", {\n account: string,\n owner: optional(authority),\n active: optional(authority),\n posting: optional(authority),\n memo_key: optional(public_key),\n json_metadata: string,\n posting_json_metadata: string,\n extensions: set(future_extensions)\n}\n);\n\nlet create_proposal = new Serializer(\n \"create_proposal\", {\n creator: string,\n receiver: string,\n start_date: time_point_sec,\n end_date: time_point_sec,\n daily_pay: asset,\n subject: string,\n permlink: string,\n extensions: set(future_extensions)\n}\n);\n\nlet update_proposal_votes = new Serializer(\n \"update_proposal_votes\", {\n voter: string,\n proposal_ids: array(uint64),\n approve: bool,\n extensions: set(future_extensions)\n}\n);\n\nlet remove_proposal = new Serializer(\n \"remove_proposal\", {\n proposal_owner: string,\n proposal_ids: array(uint64),\n extensions: set(future_extensions)\n}\n);\n\nlet update_proposal = new Serializer(\n \"update_proposal\", {\n proposal_id: uint64,\n creator: string,\n daily_pay: asset,\n subject: string,\n permlink: string,\n extensions: set(static_variant([future_extensions, update_proposal_end_date]))\n }\n);\n\nlet recurrent_transfer = new Serializer(\n \"recurrent_transfer\", {\n from: string,\n to: string,\n amount: asset,\n memo: string,\n recurrence: uint16,\n executions: uint16,\n extensions: set(future_extensions)\n }\n);\n\nlet claim_reward_balance2 = new Serializer(\n \"claim_reward_balance2\", {\n account: string,\n reward_tokens: array(asset),\n extensions: set(future_extensions)\n}\n);\n\nlet vote2 = new Serializer(\n \"vote2\", {\n voter: string,\n author: string,\n permlink: string,\n rshares: map((asset_symbol), (int64)),\n extensions: set(future_extensions)\n}\n);\n\nlet smt_create = new Serializer(\n \"smt_create\", {\n control_account: string,\n symbol: asset_symbol,\n smt_creation_fee: asset,\n precision: uint8,\n extensions: set(future_extensions)\n}\n);\n\nlet smt_setup = new Serializer(\n \"smt_setup\", {\n control_account: string,\n symbol: asset_symbol,\n max_supply: int64,\n contribution_begin_time: time_point_sec,\n contribution_end_time: time_point_sec,\n launch_time: time_point_sec,\n hive_units_min: int64,\n min_unit_ratio: uint32,\n max_unit_ratio: uint32,\n extensions: set(future_extensions)\n}\n);\n\nlet smt_setup_emissions = new Serializer(\n \"smt_setup_emissions\", {\n control_account: string,\n symbol: asset_symbol,\n schedule_time: time_point_sec,\n emissions_unit: smt_emissions_unit,\n interval_seconds: uint32,\n emission_count: uint32,\n lep_time: time_point_sec,\n rep_time: time_point_sec,\n lep_abs_amount: int64,\n rep_abs_amount: int64,\n lep_rel_amount_numerator: uint32,\n rep_rel_amount_numerator: uint32,\n rel_amount_denom_bits: uint8,\n remove: bool,\n floor_emissions: bool,\n extensions: set(future_extensions)\n}\n);\n\nlet smt_setup_ico_tier = new Serializer(\n \"smt_setup_ico_tier\", {\n control_account: string,\n symbol: asset_symbol,\n hive_units_cap: int64,\n generation_policy: static_variant([\n smt_capped_generation_policy\n ]),\n remove: bool,\n extensions: set(future_extensions)\n }\n );\n\nlet smt_set_setup_parameters = new Serializer(\n \"smt_set_setup_parameters\", {\n control_account: string,\n symbol: asset_symbol,\n setup_parameters: set(static_variant([\n smt_param_allow_voting\n ])),\n extensions: set(future_extensions)\n}\n);\n\nlet smt_set_runtime_parameters = new Serializer(\n \"smt_set_runtime_parameters\", {\n control_account: string,\n symbol: asset_symbol,\n runtime_parameters: set(static_variant([\n smt_param_windows_v1,\n smt_param_vote_regeneration_period_seconds_v1,\n smt_param_rewards_v1,\n smt_param_allow_downvotes\n ])),\n extensions: set(future_extensions)\n}\n);\n\nlet smt_contribute = new Serializer(\n \"smt_contribute\", {\n contributor: string,\n symbol: asset_symbol,\n contribution_id: uint32,\n contribution: asset,\n extensions: set(future_extensions)\n}\n);\n\nlet fill_convert_request = new Serializer(\n \"fill_convert_request\", {\n owner: string,\n requestid: uint32,\n amount_in: asset,\n amount_out: asset\n}\n);\n\nlet author_reward = new Serializer(\n \"author_reward\", {\n author: string,\n permlink: string,\n hbd_payout: asset,\n hive_payout: asset,\n vesting_payout: asset\n}\n);\n\nlet curation_reward = new Serializer(\n \"curation_reward\", {\n curator: string,\n reward: asset,\n comment_author: string,\n comment_permlink: string\n}\n);\n\nlet comment_reward = new Serializer(\n \"comment_reward\", {\n author: string,\n permlink: string,\n payout: asset\n}\n);\n\nlet liquidity_reward = new Serializer(\n \"liquidity_reward\", {\n owner: string,\n payout: asset\n}\n);\n\nlet interest = new Serializer(\n \"interest\", {\n owner: string,\n interest: asset\n}\n);\n\nlet fill_vesting_withdraw = new Serializer(\n \"fill_vesting_withdraw\", {\n from_account: string,\n to_account: string,\n withdrawn: asset,\n deposited: asset\n}\n);\n\nlet fill_order = new Serializer(\n \"fill_order\", {\n current_owner: string,\n current_orderid: uint32,\n current_pays: asset,\n open_owner: string,\n open_orderid: uint32,\n open_pays: asset\n}\n);\n\nlet shutdown_witness = new Serializer(\n \"shutdown_witness\",\n {owner: string}\n);\n\nlet fill_transfer_from_savings = new Serializer(\n \"fill_transfer_from_savings\", {\n from: string,\n to: string,\n amount: asset,\n request_id: uint32,\n memo: string\n}\n);\n\nlet hardfork = new Serializer(\n \"hardfork\",\n {hardfork_id: uint32}\n);\n\nlet comment_payout_update = new Serializer(\n \"comment_payout_update\", {\n author: string,\n permlink: string\n}\n);\n\nlet return_vesting_delegation = new Serializer(\n \"return_vesting_delegation\", {\n account: string,\n vesting_shares: asset\n}\n);\n\nlet comment_benefactor_reward = new Serializer(\n \"comment_benefactor_reward\", {\n benefactor: string,\n author: string,\n permlink: string,\n reward: asset\n}\n);\n\noperation.st_operations = [\n vote,\n comment,\n transfer,\n transfer_to_vesting,\n withdraw_vesting,\n limit_order_create,\n limit_order_cancel,\n feed_publish,\n convert,\n account_create,\n account_update,\n witness_update,\n account_witness_vote,\n account_witness_proxy,\n pow,\n custom,\n report_over_production,\n delete_comment,\n custom_json,\n comment_options,\n set_withdraw_vesting_route,\n limit_order_create2,\n claim_account,\n create_claimed_account,\n request_account_recovery,\n recover_account,\n change_recovery_account,\n escrow_transfer,\n escrow_dispute,\n escrow_release,\n pow2,\n escrow_approve,\n transfer_to_savings,\n transfer_from_savings,\n cancel_transfer_from_savings,\n custom_binary,\n decline_voting_rights,\n reset_account,\n set_reset_account,\n claim_reward_balance,\n delegate_vesting_shares,\n account_create_with_delegation,\n witness_set_properties,\n account_update2,\n create_proposal,\n update_proposal_votes,\n remove_proposal,\n update_proposal,\n collateralized_convert,\n recurrent_transfer,\n claim_reward_balance2,\n vote2,\n smt_setup,\n smt_setup_emissions,\n smt_setup_ico_tier,\n smt_set_setup_parameters,\n smt_set_runtime_parameters,\n smt_create,\n smt_contribute,\n fill_convert_request,\n author_reward,\n curation_reward,\n comment_reward,\n liquidity_reward,\n interest,\n fill_vesting_withdraw,\n fill_order,\n shutdown_witness,\n fill_transfer_from_savings,\n hardfork,\n comment_payout_update,\n return_vesting_delegation,\n comment_benefactor_reward\n];\n\nlet transaction = new Serializer(\n \"transaction\", {\n ref_block_num: uint16,\n ref_block_prefix: uint32,\n expiration: time_point_sec,\n operations: array(operation),\n extensions: set(future_extensions)\n}\n);\n\n//# -------------------------------\n//# Generated code end S T O P\n//# -------------------------------\n\n// Custom Types (do not over-write)\n\nconst encrypted_memo = new Serializer(\n \"encrypted_memo\",\n {from: public_key,\n to: public_key,\n nonce: uint64,\n check: uint32,\n encrypted: string_binary}\n);\n/*\n\n// Make sure all tests pass\n\nnpm test\n\n*/\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/operations.js","\n/** Console print any transaction object with zero default values. */\nmodule.exports = function template(op) {\n \n var object = op.toObject(void 0, {use_default: true, annotate: true})\n\n // visual (with descriptions)\n console.error(JSON.stringify(object,null,4))\n \n // usable in a copy-paste\n \n object = op.toObject(void 0, {use_default: true, annotate: false})\n \n // copy-paste one-lineer\n console.error(JSON.stringify(object))\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/template.js","import JSBI from 'jsbi';\n\nlet makeBitMaskFilter = (allowedOperations) => {\n return allowedOperations.reduce(([low, high], allowedOperation) => allowedOperation < 64 ? [JSBI.bitwiseOr(low, JSBI.leftShift(JSBI.BigInt(1), JSBI.BigInt(allowedOperation))), high]\n : [low, JSBI.bitwiseOr(high, JSBI.leftShift(JSBI.BigInt(1), JSBI.BigInt(allowedOperation-64)))],\n [JSBI.BigInt(0), JSBI.BigInt(0)]).map(value => JSBI.notEqual(value, JSBI.BigInt(0)) ? value.toString() : null);\n};\n\nmodule.exports = makeBitMaskFilter;\n\n\n// WEBPACK FOOTER //\n// ./src/auth/serializer/src/makeBitMaskFilter.js","(function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self,e.JSBI=t())})(this,function(){'use strict';var v=Math.imul,f=Math.clz32;function e(t){\"@babel/helpers - typeof\";return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},e(t)}function t(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var _,n=0;n<t.length;n++)_=t[n],_.enumerable=_.enumerable||!1,_.configurable=!0,\"value\"in _&&(_.writable=!0),Object.defineProperty(e,_.key,_)}function _(e,t,_){return t&&i(e.prototype,t),_&&i(e,_),e}function n(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function g(e,t){return g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},g(e,t)}function o(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function a(){return a=o()?Reflect.construct:function(e,t,i){var _=[null];_.push.apply(_,t);var n=Function.bind.apply(e,_),l=new n;return i&&g(l,i.prototype),l},a.apply(null,arguments)}function s(e){return-1!==Function.toString.call(e).indexOf(\"[native code]\")}function u(e){var t=\"function\"==typeof Map?new Map:void 0;return u=function(e){function i(){return a(e,arguments,l(this).constructor)}if(null===e||!s(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(\"undefined\"!=typeof t){if(t.has(e))return t.get(e);t.set(e,i)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),g(i,e)},u(e)}function r(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function d(e,t){return t&&(\"object\"==typeof t||\"function\"==typeof t)?t:r(e)}function h(e){var t=o();return function(){var i,_=l(e);if(t){var n=l(this).constructor;i=Reflect.construct(_,arguments,n)}else i=_.apply(this,arguments);return d(this,i)}}function b(e,t){if(e){if(\"string\"==typeof e)return m(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===i&&e.constructor&&(i=e.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(e):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?m(e,t):void 0}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var _=0,n=Array(t);_<t;_++)n[_]=e[_];return n}function c(e,t){var _;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(_=b(e))||t&&e&&\"number\"==typeof e.length){_&&(e=_);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(t){throw t},f:l}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var g,a=!0,s=!1;return{s:function(){_=e[Symbol.iterator]()},n:function(){var e=_.next();return a=e.done,e},e:function(t){s=!0,g=t},f:function(){try{a||null==_.return||_.return()}finally{if(s)throw g}}}}var y=function(i){var g=Math.abs,o=Math.max;function l(e,i){var _;if(t(this,l),e>l.__kMaxLength)throw new RangeError(\"Maximum BigInt size exceeded\");return _=a.call(this,e),_.sign=i,_}n(l,i);var a=h(l);return _(l,[{key:\"toDebugString\",value:function(){var e,t=[\"BigInt[\"],i=c(this);try{for(i.s();!(e=i.n()).done;){var _=e.value;t.push((_?(_>>>0).toString(16):_)+\", \")}}catch(e){i.e(e)}finally{i.f()}return t.push(\"]\"),t.join(\"\")}},{key:\"toString\",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10;if(2>e||36<e)throw new RangeError(\"toString() radix argument must be between 2 and 36\");return 0===this.length?\"0\":0==(e&e-1)?l.__toStringBasePowerOfTwo(this,e):l.__toStringGeneric(this,e,!1)}},{key:\"__copy\",value:function(){for(var e=new l(this.length,this.sign),t=0;t<this.length;t++)e[t]=this[t];return e}},{key:\"__trim\",value:function(){for(var e=this.length,t=this[e-1];0===t;)e--,t=this[e-1],this.pop();return 0===e&&(this.sign=!1),this}},{key:\"__initializeDigits\",value:function(){for(var e=0;e<this.length;e++)this[e]=0}},{key:\"__clzmsd\",value:function(){return l.__clz32(this[this.length-1])}},{key:\"__inplaceMultiplyAdd\",value:function(e,t,_){_>this.length&&(_=this.length);for(var n=65535&e,g=e>>>16,o=0,a=65535&t,s=t>>>16,u=0;u<_;u++){var r=this.__digit(u),d=65535&r,h=r>>>16,b=l.__imul(d,n),m=l.__imul(d,g),c=l.__imul(h,n),v=l.__imul(h,g),f=a+(65535&b),y=s+o+(f>>>16)+(b>>>16)+(65535&m)+(65535&c);a=(m>>>16)+(c>>>16)+(65535&v)+(y>>>16),o=a>>>16,a&=65535,s=v>>>16;this.__setDigit(u,65535&f|y<<16)}if(0!==o||0!==a||0!==s)throw new Error(\"implementation bug\")}},{key:\"__inplaceAdd\",value:function(e,t,_){for(var n,l=0,g=0;g<_;g++)n=this.__halfDigit(t+g)+e.__halfDigit(g)+l,l=n>>>16,this.__setHalfDigit(t+g,n);return l}},{key:\"__inplaceSub\",value:function(e,t,_){var n=0;if(1&t){t>>=1;for(var l=this.__digit(t),g=65535&l,o=0;o<_-1>>>1;o++){var a=e.__digit(o),s=(l>>>16)-(65535&a)-n;n=1&s>>>16,this.__setDigit(t+o,s<<16|65535&g),l=this.__digit(t+o+1),g=(65535&l)-(a>>>16)-n,n=1&g>>>16}var u=e.__digit(o),r=(l>>>16)-(65535&u)-n;n=1&r>>>16,this.__setDigit(t+o,r<<16|65535&g);if(t+o+1>=this.length)throw new RangeError(\"out of bounds\");0==(1&_)&&(l=this.__digit(t+o+1),g=(65535&l)-(u>>>16)-n,n=1&g>>>16,this.__setDigit(t+e.length,4294901760&l|65535&g))}else{t>>=1;for(var d=0;d<e.length-1;d++){var h=this.__digit(t+d),b=e.__digit(d),m=(65535&h)-(65535&b)-n;n=1&m>>>16;var c=(h>>>16)-(b>>>16)-n;n=1&c>>>16,this.__setDigit(t+d,c<<16|65535&m)}var v=this.__digit(t+d),f=e.__digit(d),y=(65535&v)-(65535&f)-n;n=1&y>>>16;var k=0;0==(1&_)&&(k=(v>>>16)-(f>>>16)-n,n=1&k>>>16),this.__setDigit(t+d,k<<16|65535&y)}return n}},{key:\"__inplaceRightShift\",value:function(e){if(0!==e){for(var t,_=this.__digit(0)>>>e,n=this.length-1,l=0;l<n;l++)t=this.__digit(l+1),this.__setDigit(l,t<<32-e|_),_=t>>>e;this.__setDigit(n,_)}}},{key:\"__digit\",value:function(e){return this[e]}},{key:\"__unsignedDigit\",value:function(e){return this[e]>>>0}},{key:\"__setDigit\",value:function(e,t){this[e]=0|t}},{key:\"__setDigitGrow\",value:function(e,t){this[e]=0|t}},{key:\"__halfDigitLength\",value:function(){var e=this.length;return 65535>=this.__unsignedDigit(e-1)?2*e-1:2*e}},{key:\"__halfDigit\",value:function(e){return 65535&this[e>>>1]>>>((1&e)<<4)}},{key:\"__setHalfDigit\",value:function(e,t){var i=e>>>1,_=this.__digit(i),n=1&e?65535&_|t<<16:4294901760&_|65535&t;this.__setDigit(i,n)}}],[{key:\"BigInt\",value:function(t){var i=Math.floor,_=Number.isFinite;if(\"number\"==typeof t){if(0===t)return l.__zero();if((0|t)===t)return 0>t?l.__oneDigit(-t,!0):l.__oneDigit(t,!1);if(!_(t)||i(t)!==t)throw new RangeError(\"The number \"+t+\" cannot be converted to BigInt because it is not an integer\");return l.__fromDouble(t)}if(\"string\"==typeof t){var n=l.__fromString(t);if(null===n)throw new SyntaxError(\"Cannot convert \"+t+\" to a BigInt\");return n}if(\"boolean\"==typeof t)return!0===t?l.__oneDigit(1,!1):l.__zero();if(\"object\"===e(t)){if(t.constructor===l)return t;var g=l.__toPrimitive(t);return l.BigInt(g)}throw new TypeError(\"Cannot convert \"+t+\" to a BigInt\")}},{key:\"toNumber\",value:function(e){var t=e.length;if(0===t)return 0;if(1===t){var i=e.__unsignedDigit(0);return e.sign?-i:i}var _=e.__digit(t-1),n=l.__clz32(_),g=32*t-n;if(1024<g)return e.sign?-Infinity:1/0;var o=g-1,a=_,s=t-1,u=n+1,r=32===u?0:a<<u;r>>>=12;var d=u-12,h=12<=u?0:a<<20+u,b=20+u;0<d&&0<s&&(s--,a=e.__digit(s),r|=a>>>32-d,h=a<<d,b=d),0<b&&0<s&&(s--,a=e.__digit(s),h|=a>>>32-b,b-=32);var m=l.__decideRounding(e,b,s,a);if((1===m||0===m&&1==(1&h))&&(h=h+1>>>0,0===h&&(r++,0!=r>>>20&&(r=0,o++,1023<o))))return e.sign?-Infinity:1/0;var c=e.sign?-2147483648:0;return o=o+1023<<20,l.__kBitConversionInts[1]=c|o|r,l.__kBitConversionInts[0]=h,l.__kBitConversionDouble[0]}},{key:\"unaryMinus\",value:function(e){if(0===e.length)return e;var t=e.__copy();return t.sign=!e.sign,t}},{key:\"bitwiseNot\",value:function(e){return e.sign?l.__absoluteSubOne(e).__trim():l.__absoluteAddOne(e,!0)}},{key:\"exponentiate\",value:function(e,t){if(t.sign)throw new RangeError(\"Exponent must be positive\");if(0===t.length)return l.__oneDigit(1,!1);if(0===e.length)return e;if(1===e.length&&1===e.__digit(0))return e.sign&&0==(1&t.__digit(0))?l.unaryMinus(e):e;if(1<t.length)throw new RangeError(\"BigInt too big\");var i=t.__unsignedDigit(0);if(1===i)return e;if(i>=l.__kMaxLengthBits)throw new RangeError(\"BigInt too big\");if(1===e.length&&2===e.__digit(0)){var _=1+(i>>>5),n=e.sign&&0!=(1&i),g=new l(_,n);g.__initializeDigits();var o=1<<(31&i);return g.__setDigit(_-1,o),g}var a=null,s=e;for(0!=(1&i)&&(a=e),i>>=1;0!==i;i>>=1)s=l.multiply(s,s),0!=(1&i)&&(null===a?a=s:a=l.multiply(a,s));return a}},{key:\"multiply\",value:function(e,t){if(0===e.length)return e;if(0===t.length)return t;var _=e.length+t.length;32<=e.__clzmsd()+t.__clzmsd()&&_--;var n=new l(_,e.sign!==t.sign);n.__initializeDigits();for(var g=0;g<e.length;g++)l.__multiplyAccumulate(t,e.__digit(g),n,g);return n.__trim()}},{key:\"divide\",value:function(e,t){if(0===t.length)throw new RangeError(\"Division by zero\");if(0>l.__absoluteCompare(e,t))return l.__zero();var i,_=e.sign!==t.sign,n=t.__unsignedDigit(0);if(1===t.length&&65535>=n){if(1===n)return _===e.sign?e:l.unaryMinus(e);i=l.__absoluteDivSmall(e,n,null)}else i=l.__absoluteDivLarge(e,t,!0,!1);return i.sign=_,i.__trim()}},{key:\"remainder\",value:function e(t,i){if(0===i.length)throw new RangeError(\"Division by zero\");if(0>l.__absoluteCompare(t,i))return t;var _=i.__unsignedDigit(0);if(1===i.length&&65535>=_){if(1===_)return l.__zero();var n=l.__absoluteModSmall(t,_);return 0===n?l.__zero():l.__oneDigit(n,t.sign)}var e=l.__absoluteDivLarge(t,i,!1,!0);return e.sign=t.sign,e.__trim()}},{key:\"add\",value:function(e,t){var i=e.sign;return i===t.sign?l.__absoluteAdd(e,t,i):0<=l.__absoluteCompare(e,t)?l.__absoluteSub(e,t,i):l.__absoluteSub(t,e,!i)}},{key:\"subtract\",value:function(e,t){var i=e.sign;return i===t.sign?0<=l.__absoluteCompare(e,t)?l.__absoluteSub(e,t,i):l.__absoluteSub(t,e,!i):l.__absoluteAdd(e,t,i)}},{key:\"leftShift\",value:function(e,t){return 0===t.length||0===e.length?e:t.sign?l.__rightShiftByAbsolute(e,t):l.__leftShiftByAbsolute(e,t)}},{key:\"signedRightShift\",value:function(e,t){return 0===t.length||0===e.length?e:t.sign?l.__leftShiftByAbsolute(e,t):l.__rightShiftByAbsolute(e,t)}},{key:\"unsignedRightShift\",value:function(){throw new TypeError(\"BigInts have no unsigned right shift; use >> instead\")}},{key:\"lessThan\",value:function(e,t){return 0>l.__compareToBigInt(e,t)}},{key:\"lessThanOrEqual\",value:function(e,t){return 0>=l.__compareToBigInt(e,t)}},{key:\"greaterThan\",value:function(e,t){return 0<l.__compareToBigInt(e,t)}},{key:\"greaterThanOrEqual\",value:function(e,t){return 0<=l.__compareToBigInt(e,t)}},{key:\"equal\",value:function(e,t){if(e.sign!==t.sign)return!1;if(e.length!==t.length)return!1;for(var _=0;_<e.length;_++)if(e.__digit(_)!==t.__digit(_))return!1;return!0}},{key:\"notEqual\",value:function(e,t){return!l.equal(e,t)}},{key:\"bitwiseAnd\",value:function(e,t){if(!e.sign&&!t.sign)return l.__absoluteAnd(e,t).__trim();if(e.sign&&t.sign){var i=o(e.length,t.length)+1,_=l.__absoluteSubOne(e,i),n=l.__absoluteSubOne(t);return _=l.__absoluteOr(_,n,_),l.__absoluteAddOne(_,!0,_).__trim()}if(e.sign){var g=[t,e];e=g[0],t=g[1]}return l.__absoluteAndNot(e,l.__absoluteSubOne(t)).__trim()}},{key:\"bitwiseXor\",value:function(e,t){if(!e.sign&&!t.sign)return l.__absoluteXor(e,t).__trim();if(e.sign&&t.sign){var i=o(e.length,t.length),_=l.__absoluteSubOne(e,i),n=l.__absoluteSubOne(t);return l.__absoluteXor(_,n,_).__trim()}var g=o(e.length,t.length)+1;if(e.sign){var a=[t,e];e=a[0],t=a[1]}var s=l.__absoluteSubOne(t,g);return s=l.__absoluteXor(s,e,s),l.__absoluteAddOne(s,!0,s).__trim()}},{key:\"bitwiseOr\",value:function(e,t){var i=o(e.length,t.length);if(!e.sign&&!t.sign)return l.__absoluteOr(e,t).__trim();if(e.sign&&t.sign){var _=l.__absoluteSubOne(e,i),n=l.__absoluteSubOne(t);return _=l.__absoluteAnd(_,n,_),l.__absoluteAddOne(_,!0,_).__trim()}if(e.sign){var g=[t,e];e=g[0],t=g[1]}var a=l.__absoluteSubOne(t,i);return a=l.__absoluteAndNot(a,e,a),l.__absoluteAddOne(a,!0,a).__trim()}},{key:\"asIntN\",value:function(e,t){if(0===t.length)return t;if(0===e)return l.__zero();if(e>=l.__kMaxLengthBits)return t;var _=e+31>>>5;if(t.length<_)return t;var n=t.__unsignedDigit(_-1),g=1<<(31&e-1);if(t.length===_&&n<g)return t;if(!((n&g)===g))return l.__truncateToNBits(e,t);if(!t.sign)return l.__truncateAndSubFromPowerOfTwo(e,t,!0);if(0==(n&g-1)){for(var o=_-2;0<=o;o--)if(0!==t.__digit(o))return l.__truncateAndSubFromPowerOfTwo(e,t,!1);return t.length===_&&n===g?t:l.__truncateToNBits(e,t)}return l.__truncateAndSubFromPowerOfTwo(e,t,!1)}},{key:\"asUintN\",value:function(e,t){if(0===t.length)return t;if(0===e)return l.__zero();if(t.sign){if(e>l.__kMaxLengthBits)throw new RangeError(\"BigInt too big\");return l.__truncateAndSubFromPowerOfTwo(e,t,!1)}if(e>=l.__kMaxLengthBits)return t;var i=e+31>>>5;if(t.length<i)return t;var _=31&e;if(t.length==i){if(0===_)return t;var n=t.__digit(i-1);if(0==n>>>_)return t}return l.__truncateToNBits(e,t)}},{key:\"ADD\",value:function(e,t){if(e=l.__toPrimitive(e),t=l.__toPrimitive(t),\"string\"==typeof e)return\"string\"!=typeof t&&(t=t.toString()),e+t;if(\"string\"==typeof t)return e.toString()+t;if(e=l.__toNumeric(e),t=l.__toNumeric(t),l.__isBigInt(e)&&l.__isBigInt(t))return l.add(e,t);if(\"number\"==typeof e&&\"number\"==typeof t)return e+t;throw new TypeError(\"Cannot mix BigInt and other types, use explicit conversions\")}},{key:\"LT\",value:function(e,t){return l.__compare(e,t,0)}},{key:\"LE\",value:function(e,t){return l.__compare(e,t,1)}},{key:\"GT\",value:function(e,t){return l.__compare(e,t,2)}},{key:\"GE\",value:function(e,t){return l.__compare(e,t,3)}},{key:\"EQ\",value:function(t,i){for(;;){if(l.__isBigInt(t))return l.__isBigInt(i)?l.equal(t,i):l.EQ(i,t);if(\"number\"==typeof t){if(l.__isBigInt(i))return l.__equalToNumber(i,t);if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"string\"==typeof t){if(l.__isBigInt(i))return t=l.__fromString(t),null!==t&&l.equal(t,i);if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"boolean\"==typeof t){if(l.__isBigInt(i))return l.__equalToNumber(i,+t);if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"symbol\"===e(t)){if(l.__isBigInt(i))return!1;if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"object\"===e(t)){if(\"object\"===e(i)&&i.constructor!==l)return t==i;t=l.__toPrimitive(t)}else return t==i}}},{key:\"NE\",value:function(e,t){return!l.EQ(e,t)}},{key:\"__zero\",value:function(){return new l(0,!1)}},{key:\"__oneDigit\",value:function(e,t){var i=new l(1,t);return i.__setDigit(0,e),i}},{key:\"__decideRounding\",value:function(e,t,i,_){if(0<t)return-1;var n;if(0>t)n=-t-1;else{if(0===i)return-1;i--,_=e.__digit(i),n=31}var l=1<<n;if(0==(_&l))return-1;if(l-=1,0!=(_&l))return 1;for(;0<i;)if(i--,0!==e.__digit(i))return 1;return 0}},{key:\"__fromDouble\",value:function(e){l.__kBitConversionDouble[0]=e;var t,i=2047&l.__kBitConversionInts[1]>>>20,_=i-1023,n=(_>>>5)+1,g=new l(n,0>e),o=1048575&l.__kBitConversionInts[1]|1048576,a=l.__kBitConversionInts[0],s=20,u=31&_,r=0;if(u<s){var d=s-u;r=d+32,t=o>>>d,o=o<<32-d|a>>>d,a<<=32-d}else if(u===s)r=32,t=o,o=a;else{var h=u-s;r=32-h,t=o<<h|a>>>32-h,o=a<<h}g.__setDigit(n-1,t);for(var b=n-2;0<=b;b--)0<r?(r-=32,t=o,o=a):t=0,g.__setDigit(b,t);return g.__trim()}},{key:\"__isWhitespace\",value:function(e){return!!(13>=e&&9<=e)||(159>=e?32==e:131071>=e?160==e||5760==e:196607>=e?(e&=131071,10>=e||40==e||41==e||47==e||95==e||4096==e):65279==e)}},{key:\"__fromString\",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,i=0,_=e.length,n=0;if(n===_)return l.__zero();for(var g=e.charCodeAt(n);l.__isWhitespace(g);){if(++n===_)return l.__zero();g=e.charCodeAt(n)}if(43===g){if(++n===_)return null;g=e.charCodeAt(n),i=1}else if(45===g){if(++n===_)return null;g=e.charCodeAt(n),i=-1}if(0===t){if(t=10,48===g){if(++n===_)return l.__zero();if(g=e.charCodeAt(n),88===g||120===g){if(t=16,++n===_)return null;g=e.charCodeAt(n)}else if(79===g||111===g){if(t=8,++n===_)return null;g=e.charCodeAt(n)}else if(66===g||98===g){if(t=2,++n===_)return null;g=e.charCodeAt(n)}}}else if(16===t&&48===g){if(++n===_)return l.__zero();if(g=e.charCodeAt(n),88===g||120===g){if(++n===_)return null;g=e.charCodeAt(n)}}for(;48===g;){if(++n===_)return l.__zero();g=e.charCodeAt(n)}var o=_-n,a=l.__kMaxBitsPerChar[t],s=l.__kBitsPerCharTableMultiplier-1;if(o>1073741824/a)return null;var u=a*o+s>>>l.__kBitsPerCharTableShift,r=new l(u+31>>>5,!1),h=10>t?t:10,b=10<t?t-10:0;if(0==(t&t-1)){a>>=l.__kBitsPerCharTableShift;var c=[],v=[],f=!1;do{for(var y,k=0,D=0;;){if(y=void 0,g-48>>>0<h)y=g-48;else if((32|g)-97>>>0<b)y=(32|g)-87;else{f=!0;break}if(D+=a,k=k<<a|y,++n===_){f=!0;break}if(g=e.charCodeAt(n),32<D+a)break}c.push(k),v.push(D)}while(!f);l.__fillFromParts(r,c,v)}else{r.__initializeDigits();var p=!1,B=0;do{for(var S,C=0,A=1;;){if(S=void 0,g-48>>>0<h)S=g-48;else if((32|g)-97>>>0<b)S=(32|g)-87;else{p=!0;break}var T=A*t;if(4294967295<T)break;if(A=T,C=C*t+S,B++,++n===_){p=!0;break}g=e.charCodeAt(n)}s=32*l.__kBitsPerCharTableMultiplier-1;var m=a*B+s>>>l.__kBitsPerCharTableShift+5;r.__inplaceMultiplyAdd(A,C,m)}while(!p)}if(n!==_){if(!l.__isWhitespace(g))return null;for(n++;n<_;n++)if(g=e.charCodeAt(n),!l.__isWhitespace(g))return null}return 0!==i&&10!==t?null:(r.sign=-1===i,r.__trim())}},{key:\"__fillFromParts\",value:function(e,t,_){for(var n=0,l=0,g=0,o=t.length-1;0<=o;o--){var a=t[o],s=_[o];l|=a<<g,g+=s,32===g?(e.__setDigit(n++,l),g=0,l=0):32<g&&(e.__setDigit(n++,l),g-=32,l=a>>>s-g)}if(0!==l){if(n>=e.length)throw new Error(\"implementation bug\");e.__setDigit(n++,l)}for(;n<e.length;n++)e.__setDigit(n,0)}},{key:\"__toStringBasePowerOfTwo\",value:function(e,t){var _=e.length,n=t-1;n=(85&n>>>1)+(85&n),n=(51&n>>>2)+(51&n),n=(15&n>>>4)+(15&n);var g=n,o=t-1,a=e.__digit(_-1),s=l.__clz32(a),u=0|(32*_-s+g-1)/g;if(e.sign&&u++,268435456<u)throw new Error(\"string too long\");for(var r=Array(u),d=u-1,h=0,b=0,m=0;m<_-1;m++){var c=e.__digit(m),v=(h|c<<b)&o;r[d--]=l.__kConversionChars[v];var f=g-b;for(h=c>>>f,b=32-f;b>=g;)r[d--]=l.__kConversionChars[h&o],h>>>=g,b-=g}var y=(h|a<<b)&o;for(r[d--]=l.__kConversionChars[y],h=a>>>g-b;0!==h;)r[d--]=l.__kConversionChars[h&o],h>>>=g;if(e.sign&&(r[d--]=\"-\"),-1!==d)throw new Error(\"implementation bug\");return r.join(\"\")}},{key:\"__toStringGeneric\",value:function(e,t,_){var n=e.length;if(0===n)return\"\";if(1===n){var g=e.__unsignedDigit(0).toString(t);return!1===_&&e.sign&&(g=\"-\"+g),g}var o=32*n-l.__clz32(e.__digit(n-1)),a=l.__kMaxBitsPerChar[t],s=a-1,u=o*l.__kBitsPerCharTableMultiplier;u+=s-1,u=0|u/s;var r,d,h=u+1>>1,b=l.exponentiate(l.__oneDigit(t,!1),l.__oneDigit(h,!1)),m=b.__unsignedDigit(0);if(1===b.length&&65535>=m){r=new l(e.length,!1),r.__initializeDigits();for(var c,v=0,f=2*e.length-1;0<=f;f--)c=v<<16|e.__halfDigit(f),r.__setHalfDigit(f,0|c/m),v=0|c%m;d=v.toString(t)}else{var y=l.__absoluteDivLarge(e,b,!0,!0);r=y.quotient;var k=y.remainder.__trim();d=l.__toStringGeneric(k,t,!0)}r.__trim();for(var D=l.__toStringGeneric(r,t,!0);d.length<h;)d=\"0\"+d;return!1===_&&e.sign&&(D=\"-\"+D),D+d}},{key:\"__unequalSign\",value:function(e){return e?-1:1}},{key:\"__absoluteGreater\",value:function(e){return e?-1:1}},{key:\"__absoluteLess\",value:function(e){return e?1:-1}},{key:\"__compareToBigInt\",value:function(e,t){var i=e.sign;if(i!==t.sign)return l.__unequalSign(i);var _=l.__absoluteCompare(e,t);return 0<_?l.__absoluteGreater(i):0>_?l.__absoluteLess(i):0}},{key:\"__compareToNumber\",value:function(e,t){if(!0|t){var i=e.sign,_=0>t;if(i!==_)return l.__unequalSign(i);if(0===e.length){if(_)throw new Error(\"implementation bug\");return 0===t?0:-1}if(1<e.length)return l.__absoluteGreater(i);var n=g(t),o=e.__unsignedDigit(0);return o>n?l.__absoluteGreater(i):o<n?l.__absoluteLess(i):0}return l.__compareToDouble(e,t)}},{key:\"__compareToDouble\",value:function(e,t){if(t!==t)return t;if(t===1/0)return-1;if(t===-Infinity)return 1;var i=e.sign;if(i!==0>t)return l.__unequalSign(i);if(0===t)throw new Error(\"implementation bug: should be handled elsewhere\");if(0===e.length)return-1;l.__kBitConversionDouble[0]=t;var _=2047&l.__kBitConversionInts[1]>>>20;if(2047==_)throw new Error(\"implementation bug: handled elsewhere\");var n=_-1023;if(0>n)return l.__absoluteGreater(i);var g=e.length,o=e.__digit(g-1),a=l.__clz32(o),s=32*g-a,u=n+1;if(s<u)return l.__absoluteLess(i);if(s>u)return l.__absoluteGreater(i);var r=1048576|1048575&l.__kBitConversionInts[1],d=l.__kBitConversionInts[0],h=20,b=31-a;if(b!==(s-1)%31)throw new Error(\"implementation bug\");var m,c=0;if(b<h){var v=h-b;c=v+32,m=r>>>v,r=r<<32-v|d>>>v,d<<=32-v}else if(b===h)c=32,m=r,r=d;else{var f=b-h;c=32-f,m=r<<f|d>>>32-f,r=d<<f}if(o>>>=0,m>>>=0,o>m)return l.__absoluteGreater(i);if(o<m)return l.__absoluteLess(i);for(var y=g-2;0<=y;y--){0<c?(c-=32,m=r>>>0,r=d,d=0):m=0;var k=e.__unsignedDigit(y);if(k>m)return l.__absoluteGreater(i);if(k<m)return l.__absoluteLess(i)}if(0!==r||0!==d){if(0===c)throw new Error(\"implementation bug\");return l.__absoluteLess(i)}return 0}},{key:\"__equalToNumber\",value:function(e,t){return t|0===t?0===t?0===e.length:1===e.length&&e.sign===0>t&&e.__unsignedDigit(0)===g(t):0===l.__compareToDouble(e,t)}},{key:\"__comparisonResultToBool\",value:function(e,t){switch(t){case 0:return 0>e;case 1:return 0>=e;case 2:return 0<e;case 3:return 0<=e;}throw new Error(\"unreachable\")}},{key:\"__compare\",value:function(e,t,i){if(e=l.__toPrimitive(e),t=l.__toPrimitive(t),\"string\"==typeof e&&\"string\"==typeof t)switch(i){case 0:return e<t;case 1:return e<=t;case 2:return e>t;case 3:return e>=t;}if(l.__isBigInt(e)&&\"string\"==typeof t)return t=l.__fromString(t),null!==t&&l.__comparisonResultToBool(l.__compareToBigInt(e,t),i);if(\"string\"==typeof e&&l.__isBigInt(t))return e=l.__fromString(e),null!==e&&l.__comparisonResultToBool(l.__compareToBigInt(e,t),i);if(e=l.__toNumeric(e),t=l.__toNumeric(t),l.__isBigInt(e)){if(l.__isBigInt(t))return l.__comparisonResultToBool(l.__compareToBigInt(e,t),i);if(\"number\"!=typeof t)throw new Error(\"implementation bug\");return l.__comparisonResultToBool(l.__compareToNumber(e,t),i)}if(\"number\"!=typeof e)throw new Error(\"implementation bug\");if(l.__isBigInt(t))return l.__comparisonResultToBool(l.__compareToNumber(t,e),2^i);if(\"number\"!=typeof t)throw new Error(\"implementation bug\");return 0===i?e<t:1===i?e<=t:2===i?e>t:3===i?e>=t:void 0}},{key:\"__absoluteAdd\",value:function(e,t,_){if(e.length<t.length)return l.__absoluteAdd(t,e,_);if(0===e.length)return e;if(0===t.length)return e.sign===_?e:l.unaryMinus(e);var n=e.length;(0===e.__clzmsd()||t.length===e.length&&0===t.__clzmsd())&&n++;for(var g=new l(n,_),o=0,a=0;a<t.length;a++){var s=t.__digit(a),u=e.__digit(a),r=(65535&u)+(65535&s)+o,d=(u>>>16)+(s>>>16)+(r>>>16);o=d>>>16,g.__setDigit(a,65535&r|d<<16)}for(;a<e.length;a++){var h=e.__digit(a),b=(65535&h)+o,m=(h>>>16)+(b>>>16);o=m>>>16,g.__setDigit(a,65535&b|m<<16)}return a<g.length&&g.__setDigit(a,o),g.__trim()}},{key:\"__absoluteSub\",value:function(e,t,_){if(0===e.length)return e;if(0===t.length)return e.sign===_?e:l.unaryMinus(e);for(var n=new l(e.length,_),g=0,o=0;o<t.length;o++){var a=e.__digit(o),s=t.__digit(o),u=(65535&a)-(65535&s)-g;g=1&u>>>16;var r=(a>>>16)-(s>>>16)-g;g=1&r>>>16,n.__setDigit(o,65535&u|r<<16)}for(;o<e.length;o++){var d=e.__digit(o),h=(65535&d)-g;g=1&h>>>16;var b=(d>>>16)-g;g=1&b>>>16,n.__setDigit(o,65535&h|b<<16)}return n.__trim()}},{key:\"__absoluteAddOne\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length;null===_?_=new l(n,t):_.sign=t;for(var g,o=!0,a=0;a<n;a++){if(g=e.__digit(a),o){var s=-1===g;g=0|g+1,o=s}_.__setDigit(a,g)}return o&&_.__setDigitGrow(n,1),_}},{key:\"__absoluteSubOne\",value:function(e,t){var _=e.length;t=t||_;for(var n,g=new l(t,!1),o=!0,a=0;a<_;a++){if(n=e.__digit(a),o){var s=0===n;n=0|n-1,o=s}g.__setDigit(a,n)}if(o)throw new Error(\"implementation bug\");for(var u=_;u<t;u++)g.__setDigit(u,0);return g}},{key:\"__absoluteAnd\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;if(n<g){o=n;var a=e,s=n;e=t,n=g,t=a,g=s}var u=o;null===_?_=new l(u,!1):u=_.length;for(var r=0;r<o;r++)_.__setDigit(r,e.__digit(r)&t.__digit(r));for(;r<u;r++)_.__setDigit(r,0);return _}},{key:\"__absoluteAndNot\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;n<g&&(o=n);var a=n;null===_?_=new l(a,!1):a=_.length;for(var s=0;s<o;s++)_.__setDigit(s,e.__digit(s)&~t.__digit(s));for(;s<n;s++)_.__setDigit(s,e.__digit(s));for(;s<a;s++)_.__setDigit(s,0);return _}},{key:\"__absoluteOr\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;if(n<g){o=n;var a=e,s=n;e=t,n=g,t=a,g=s}var u=n;null===_?_=new l(u,!1):u=_.length;for(var r=0;r<o;r++)_.__setDigit(r,e.__digit(r)|t.__digit(r));for(;r<n;r++)_.__setDigit(r,e.__digit(r));for(;r<u;r++)_.__setDigit(r,0);return _}},{key:\"__absoluteXor\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;if(n<g){o=n;var a=e,s=n;e=t,n=g,t=a,g=s}var u=n;null===_?_=new l(u,!1):u=_.length;for(var r=0;r<o;r++)_.__setDigit(r,e.__digit(r)^t.__digit(r));for(;r<n;r++)_.__setDigit(r,e.__digit(r));for(;r<u;r++)_.__setDigit(r,0);return _}},{key:\"__absoluteCompare\",value:function(e,t){var _=e.length-t.length;if(0!=_)return _;for(var n=e.length-1;0<=n&&e.__digit(n)===t.__digit(n);)n--;return 0>n?0:e.__unsignedDigit(n)>t.__unsignedDigit(n)?1:-1}},{key:\"__multiplyAccumulate\",value:function(e,t,_,n){if(0!==t){for(var g=65535&t,o=t>>>16,a=0,s=0,u=0,r=0;r<e.length;r++,n++){var d=_.__digit(n),h=65535&d,b=d>>>16,m=e.__digit(r),c=65535&m,v=m>>>16,f=l.__imul(c,g),y=l.__imul(c,o),k=l.__imul(v,g),D=l.__imul(v,o);h+=s+(65535&f),b+=u+a+(h>>>16)+(f>>>16)+(65535&y)+(65535&k),a=b>>>16,s=(y>>>16)+(k>>>16)+(65535&D)+a,a=s>>>16,s&=65535,u=D>>>16,d=65535&h|b<<16,_.__setDigit(n,d)}for(;0!==a||0!==s||0!==u;n++){var p=_.__digit(n),B=(65535&p)+s,S=(p>>>16)+(B>>>16)+u+a;s=0,u=0,a=S>>>16,p=65535&B|S<<16,_.__setDigit(n,p)}}}},{key:\"__internalMultiplyAdd\",value:function(e,t,_,g,o){for(var a=_,s=0,u=0;u<g;u++){var r=e.__digit(u),d=l.__imul(65535&r,t),h=(65535&d)+s+a;a=h>>>16;var b=l.__imul(r>>>16,t),m=(65535&b)+(d>>>16)+a;a=m>>>16,s=b>>>16,o.__setDigit(u,m<<16|65535&h)}if(o.length>g)for(o.__setDigit(g++,a+s);g<o.length;)o.__setDigit(g++,0);else if(0!==a+s)throw new Error(\"implementation bug\")}},{key:\"__absoluteDivSmall\",value:function(e,t,_){null===_&&(_=new l(e.length,!1));for(var n=0,g=2*e.length-1;0<=g;g-=2){var o=(n<<16|e.__halfDigit(g))>>>0,a=0|o/t;n=0|o%t,o=(n<<16|e.__halfDigit(g-1))>>>0;var s=0|o/t;n=0|o%t,_.__setDigit(g>>>1,a<<16|s)}return _}},{key:\"__absoluteModSmall\",value:function(e,t){for(var _,n=0,l=2*e.length-1;0<=l;l--)_=(n<<16|e.__halfDigit(l))>>>0,n=0|_%t;return n}},{key:\"__absoluteDivLarge\",value:function(e,t,i,_){var g=t.__halfDigitLength(),n=t.length,o=e.__halfDigitLength()-g,a=null;i&&(a=new l(o+2>>>1,!1),a.__initializeDigits());var s=new l(g+2>>>1,!1);s.__initializeDigits();var r=l.__clz16(t.__halfDigit(g-1));0<r&&(t=l.__specialLeftShift(t,r,0));for(var d=l.__specialLeftShift(e,r,1),u=t.__halfDigit(g-1),h=0,b=o;0<=b;b--){var m=65535,v=d.__halfDigit(b+g);if(v!==u){var f=(v<<16|d.__halfDigit(b+g-1))>>>0;m=0|f/u;for(var y=0|f%u,k=t.__halfDigit(g-2),D=d.__halfDigit(b+g-2);l.__imul(m,k)>>>0>(y<<16|D)>>>0&&(m--,y+=u,!(65535<y)););}l.__internalMultiplyAdd(t,m,0,n,s);var p=d.__inplaceSub(s,b,g+1);0!==p&&(p=d.__inplaceAdd(t,b,g),d.__setHalfDigit(b+g,d.__halfDigit(b+g)+p),m--),i&&(1&b?h=m<<16:a.__setDigit(b>>>1,h|m))}return _?(d.__inplaceRightShift(r),i?{quotient:a,remainder:d}:d):i?a:void 0}},{key:\"__clz16\",value:function(e){return l.__clz32(e)-16}},{key:\"__specialLeftShift\",value:function(e,t,_){var g=e.length,n=new l(g+_,!1);if(0===t){for(var o=0;o<g;o++)n.__setDigit(o,e.__digit(o));return 0<_&&n.__setDigit(g,0),n}for(var a,s=0,u=0;u<g;u++)a=e.__digit(u),n.__setDigit(u,a<<t|s),s=a>>>32-t;return 0<_&&n.__setDigit(g,s),n}},{key:\"__leftShiftByAbsolute\",value:function(e,t){var _=l.__toShiftAmount(t);if(0>_)throw new RangeError(\"BigInt too big\");var n=_>>>5,g=31&_,o=e.length,a=0!==g&&0!=e.__digit(o-1)>>>32-g,s=o+n+(a?1:0),u=new l(s,e.sign);if(0===g){for(var r=0;r<n;r++)u.__setDigit(r,0);for(;r<s;r++)u.__setDigit(r,e.__digit(r-n))}else{for(var h=0,b=0;b<n;b++)u.__setDigit(b,0);for(var m,c=0;c<o;c++)m=e.__digit(c),u.__setDigit(c+n,m<<g|h),h=m>>>32-g;if(a)u.__setDigit(o+n,h);else if(0!==h)throw new Error(\"implementation bug\")}return u.__trim()}},{key:\"__rightShiftByAbsolute\",value:function(e,t){var _=e.length,n=e.sign,g=l.__toShiftAmount(t);if(0>g)return l.__rightShiftByMaximum(n);var o=g>>>5,a=31&g,s=_-o;if(0>=s)return l.__rightShiftByMaximum(n);var u=!1;if(n){if(0!=(e.__digit(o)&(1<<a)-1))u=!0;else for(var r=0;r<o;r++)if(0!==e.__digit(r)){u=!0;break}}if(u&&0===a){var h=e.__digit(_-1);0==~h&&s++}var b=new l(s,n);if(0===a)for(var m=o;m<_;m++)b.__setDigit(m-o,e.__digit(m));else{for(var c,v=e.__digit(o)>>>a,f=_-o-1,y=0;y<f;y++)c=e.__digit(y+o+1),b.__setDigit(y,c<<32-a|v),v=c>>>a;b.__setDigit(f,v)}return u&&(b=l.__absoluteAddOne(b,!0,b)),b.__trim()}},{key:\"__rightShiftByMaximum\",value:function(e){return e?l.__oneDigit(1,!0):l.__zero()}},{key:\"__toShiftAmount\",value:function(e){if(1<e.length)return-1;var t=e.__unsignedDigit(0);return t>l.__kMaxLengthBits?-1:t}},{key:\"__toPrimitive\",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:\"default\";if(\"object\"!==e(t))return t;if(t.constructor===l)return t;var _=t[Symbol.toPrimitive];if(_){var n=_(i);if(\"object\"!==e(n))return n;throw new TypeError(\"Cannot convert object to primitive value\")}var g=t.valueOf;if(g){var o=g.call(t);if(\"object\"!==e(o))return o}var a=t.toString;if(a){var s=a.call(t);if(\"object\"!==e(s))return s}throw new TypeError(\"Cannot convert object to primitive value\")}},{key:\"__toNumeric\",value:function(e){return l.__isBigInt(e)?e:+e}},{key:\"__isBigInt\",value:function(t){return\"object\"===e(t)&&t.constructor===l}},{key:\"__truncateToNBits\",value:function(e,t){for(var _=e+31>>>5,n=new l(_,t.sign),g=_-1,o=0;o<g;o++)n.__setDigit(o,t.__digit(o));var a=t.__digit(g);if(0!=(31&e)){var s=32-(31&e);a=a<<s>>>s}return n.__setDigit(g,a),n.__trim()}},{key:\"__truncateAndSubFromPowerOfTwo\",value:function(e,t,_){for(var n=Math.min,g=e+31>>>5,o=new l(g,_),a=0,s=g-1,u=0,r=n(s,t.length);a<r;a++){var d=t.__digit(a),h=0-(65535&d)-u;u=1&h>>>16;var b=0-(d>>>16)-u;u=1&b>>>16,o.__setDigit(a,65535&h|b<<16)}for(;a<s;a++)o.__setDigit(a,0|-u);var m,c=s<t.length?t.__digit(s):0,v=31&e;if(0===v){var f=0-(65535&c)-u;u=1&f>>>16;var y=0-(c>>>16)-u;m=65535&f|y<<16}else{var k=32-v;c=c<<k>>>k;var D=1<<32-k,p=(65535&D)-(65535&c)-u;u=1&p>>>16;var B=(D>>>16)-(c>>>16)-u;m=65535&p|B<<16,m&=D-1}return o.__setDigit(s,m),o.__trim()}},{key:\"__digitPow\",value:function(e,t){for(var i=1;0<t;)1&t&&(i*=e),t>>>=1,e*=e;return i}}]),l}(u(Array));return y.__kMaxLength=33554432,y.__kMaxLengthBits=y.__kMaxLength<<5,y.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],y.__kBitsPerCharTableShift=5,y.__kBitsPerCharTableMultiplier=1<<y.__kBitsPerCharTableShift,y.__kConversionChars=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\"],y.__kBitConversionBuffer=new ArrayBuffer(8),y.__kBitConversionDouble=new Float64Array(y.__kBitConversionBuffer),y.__kBitConversionInts=new Int32Array(y.__kBitConversionBuffer),y.__clz32=f||function(e){var t=Math.LN2,i=Math.log;return 0===e?32:0|31-(0|i(e>>>0)/t)},y.__imul=v||function(e,t){return 0|e*t},y});\n\n\n\n// WEBPACK FOOTER //\n// ./~/jsbi/dist/jsbi-umd.js","\"use strict\";\n/**\n * @file JSONRPC 2.0 request authentication with steem authorities.\n * @author Johan Nordberg <johan@steemit.com>\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [0, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar libcrypto_1 = require(\"@steemit/libcrypto\");\nvar crypto_1 = require(\"crypto\");\n/**\n * Signing constant used to reserve opcode space and prevent cross-protocol attacks.\n * Output of `sha256('steem_jsonrpc_auth')`.\n */\nexports.K = Buffer.from('3b3b081e46ea808d5a96b08c4bc5003f5e15767090f344faab531ec57565136b', 'hex');\n/**\n * Thrown when a request fails validation.\n */\nvar ValidationError = /** @class */ (function (_super) {\n __extends(ValidationError, _super);\n function ValidationError(message, cause) {\n var _this = _super.call(this, message) || this;\n _this.name = 'ValidationError';\n if (cause) {\n _this.cause = cause;\n _this.message += \" (\" + cause.message + \")\";\n }\n return _this;\n }\n return ValidationError;\n}(Error));\n/**\n * Create request hash to be signed.\n *\n * @param timestamp ISO8601 formatted date e.g. `2017-11-14T19:40:29.077Z`.\n * @param account Steem account name that is the signer.\n * @param method RPC request method.\n * @param params Base64 encoded JSON string containing request params.\n * @param nonce 8 bytes of random data.\n *\n * @returns bytes to be signed or validated.\n */\nfunction hashMessage(timestamp, account, method, params, nonce) {\n var first = crypto_1.createHash('sha256');\n first.update(timestamp);\n first.update(account);\n first.update(method);\n first.update(params);\n var second = crypto_1.createHash('sha256');\n second.update(exports.K);\n second.update(first.digest());\n second.update(nonce);\n return second.digest();\n}\n/**\n * Sign a JSON RPC Request.\n */\nfunction sign(request, account, keys) {\n if (!request.params) {\n throw new Error('Unable to sign a request without params');\n }\n var params = Buffer.from(JSON.stringify(request.params), 'utf8').toString('base64');\n var nonceBytes = crypto_1.randomBytes(8);\n var nonce = nonceBytes.toString('hex');\n var timestamp = new Date().toISOString();\n var message = hashMessage(timestamp, account, request.method, params, nonceBytes);\n var signatures = [];\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (typeof key === 'string') {\n key = libcrypto_1.PrivateKey.from(key);\n }\n var signature = libcrypto_1.hexify(key.sign(message.buffer));\n signatures.push(signature);\n }\n return {\n jsonrpc: '2.0',\n method: request.method,\n id: request.id,\n params: {\n __signed: {\n account: account,\n nonce: nonce,\n params: params,\n signatures: signatures,\n timestamp: timestamp,\n }\n }\n };\n}\nexports.sign = sign;\n/**\n * Validate a signed JSON RPC request.\n * Throws a {@link ValidationError} if the request fails validation.\n *\n * @returns Resolved request params.\n */\nfunction validate(request, verify) {\n return __awaiter(this, void 0, void 0, function () {\n var signed, params, jsonString, nonce, timestamp, message, cause_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (request.jsonrpc !== '2.0' || typeof request.method !== 'string') {\n throw new ValidationError('Invalid JSON RPC Request');\n }\n if (request.params == undefined || request.params.__signed == undefined) {\n throw new ValidationError('Signed payload missing');\n }\n if (Object.keys(request.params).length !== 1) {\n throw new ValidationError('Invalid request params');\n }\n signed = request.params.__signed;\n if (signed.account == undefined) {\n throw new ValidationError('Missing account');\n }\n try {\n jsonString = Buffer.from(signed.params, 'base64').toString('utf8');\n params = JSON.parse(jsonString);\n }\n catch (cause) {\n throw new ValidationError('Invalid encoded params', cause);\n }\n if (signed.nonce == undefined || typeof signed.nonce !== 'string') {\n throw new ValidationError('Invalid nonce');\n }\n nonce = Buffer.from(signed.nonce, 'hex');\n if (nonce.length !== 8) {\n throw new ValidationError('Invalid nonce');\n }\n timestamp = Date.parse(signed.timestamp);\n if (Number.isNaN(timestamp)) {\n throw new ValidationError('Invalid timestamp');\n }\n if (Date.now() - timestamp > 60 * 1000) {\n throw new ValidationError('Signature expired');\n }\n message = hashMessage(signed.timestamp, signed.account, request.method, signed.params, nonce);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, verify(message, signed.signatures, signed.account)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cause_1 = _a.sent();\n throw new ValidationError('Verification failed', cause_1);\n case 4: return [2 /*return*/, params];\n }\n });\n });\n}\nexports.validate = validate;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@steemit/rpc-auth/lib/index.js","/* global self */\n(function(root, factory) {\n if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {\n // CommonJS\n factory(exports);\n } else {\n // Browser globals\n root.steemit = root.steemit || {};\n factory((root.steemit.crypto = {}));\n }\n})(typeof self !== 'undefined' ? self : this, function(exports) {\n exports.PrivateKey = PrivateKey;\n exports.PublicKey = PublicKey;\n exports.generateKeys = generateKeys;\n exports.keysFromPassword = keysFromPassword;\n exports.sha256 = sha256;\n exports.ripemd160 = ripemd160;\n exports.hexify = hexify;\n\n var sjcl = (function() {\n // SJCL is inserted here automatically by the build process.\n /** @fileOverview Javascript cryptography implementation.\n *\n * Crush to remove comments, shorten variable names and\n * generally reduce transmission size.\n *\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n\"use strict\";\n/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */\n/*global document, window, escape, unescape, module, require, Uint32Array */\n\n/**\n * The Stanford Javascript Crypto Library, top-level namespace.\n * @namespace\n */\nvar sjcl = {\n /**\n * Symmetric ciphers.\n * @namespace\n */\n cipher: {},\n\n /**\n * Hash functions. Right now only SHA256 is implemented.\n * @namespace\n */\n hash: {},\n\n /**\n * Key exchange functions. Right now only SRP is implemented.\n * @namespace\n */\n keyexchange: {},\n \n /**\n * Cipher modes of operation.\n * @namespace\n */\n mode: {},\n\n /**\n * Miscellaneous. HMAC and PBKDF2.\n * @namespace\n */\n misc: {},\n \n /**\n * Bit array encoders and decoders.\n * @namespace\n *\n * @description\n * The members of this namespace are functions which translate between\n * SJCL's bitArrays and other objects (usually strings). Because it\n * isn't always clear which direction is encoding and which is decoding,\n * the method names are \"fromBits\" and \"toBits\".\n */\n codec: {},\n \n /**\n * Exceptions.\n * @namespace\n */\n exception: {\n /**\n * Ciphertext is corrupt.\n * @constructor\n */\n corrupt: function(message) {\n this.toString = function() { return \"CORRUPT: \"+this.message; };\n this.message = message;\n },\n \n /**\n * Invalid parameter.\n * @constructor\n */\n invalid: function(message) {\n this.toString = function() { return \"INVALID: \"+this.message; };\n this.message = message;\n },\n \n /**\n * Bug or missing feature in SJCL.\n * @constructor\n */\n bug: function(message) {\n this.toString = function() { return \"BUG: \"+this.message; };\n this.message = message;\n },\n\n /**\n * Something isn't ready.\n * @constructor\n */\n notReady: function(message) {\n this.toString = function() { return \"NOT READY: \"+this.message; };\n this.message = message;\n }\n }\n};\n/** @fileOverview Arrays of bits, encoded as arrays of Numbers.\n *\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Arrays of bits, encoded as arrays of Numbers.\n * @namespace\n * @description\n * <p>\n * These objects are the currency accepted by SJCL's crypto functions.\n * </p>\n *\n * <p>\n * Most of our crypto primitives operate on arrays of 4-byte words internally,\n * but many of them can take arguments that are not a multiple of 4 bytes.\n * This library encodes arrays of bits (whose size need not be a multiple of 8\n * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an\n * array of words, 32 bits at a time. Since the words are double-precision\n * floating point numbers, they fit some extra data. We use this (in a private,\n * possibly-changing manner) to encode the number of bits actually present\n * in the last word of the array.\n * </p>\n *\n * <p>\n * Because bitwise ops clear this out-of-band data, these arrays can be passed\n * to ciphers like AES which want arrays of words.\n * </p>\n */\nsjcl.bitArray = {\n /**\n * Array slices in units of bits.\n * @param {bitArray} a The array to slice.\n * @param {Number} bstart The offset to the start of the slice, in bits.\n * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,\n * slice until the end of the array.\n * @return {bitArray} The requested slice.\n */\n bitSlice: function (a, bstart, bend) {\n a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);\n return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);\n },\n\n /**\n * Extract a number packed into a bit array.\n * @param {bitArray} a The array to slice.\n * @param {Number} bstart The offset to the start of the slice, in bits.\n * @param {Number} blength The length of the number to extract.\n * @return {Number} The requested slice.\n */\n extract: function(a, bstart, blength) {\n // FIXME: this Math.floor is not necessary at all, but for some reason\n // seems to suppress a bug in the Chromium JIT.\n var x, sh = Math.floor((-bstart-blength) & 31);\n if ((bstart + blength - 1 ^ bstart) & -32) {\n // it crosses a boundary\n x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);\n } else {\n // within a single word\n x = a[bstart/32|0] >>> sh;\n }\n return x & ((1<<blength) - 1);\n },\n\n /**\n * Concatenate two bit arrays.\n * @param {bitArray} a1 The first array.\n * @param {bitArray} a2 The second array.\n * @return {bitArray} The concatenation of a1 and a2.\n */\n concat: function (a1, a2) {\n if (a1.length === 0 || a2.length === 0) {\n return a1.concat(a2);\n }\n \n var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);\n if (shift === 32) {\n return a1.concat(a2);\n } else {\n return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));\n }\n },\n\n /**\n * Find the length of an array of bits.\n * @param {bitArray} a The array.\n * @return {Number} The length of a, in bits.\n */\n bitLength: function (a) {\n var l = a.length, x;\n if (l === 0) { return 0; }\n x = a[l - 1];\n return (l-1) * 32 + sjcl.bitArray.getPartial(x);\n },\n\n /**\n * Truncate an array.\n * @param {bitArray} a The array.\n * @param {Number} len The length to truncate to, in bits.\n * @return {bitArray} A new array, truncated to len bits.\n */\n clamp: function (a, len) {\n if (a.length * 32 < len) { return a; }\n a = a.slice(0, Math.ceil(len / 32));\n var l = a.length;\n len = len & 31;\n if (l > 0 && len) {\n a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);\n }\n return a;\n },\n\n /**\n * Make a partial word for a bit array.\n * @param {Number} len The number of bits in the word.\n * @param {Number} x The bits.\n * @param {Number} [_end=0] Pass 1 if x has already been shifted to the high side.\n * @return {Number} The partial word.\n */\n partial: function (len, x, _end) {\n if (len === 32) { return x; }\n return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;\n },\n\n /**\n * Get the number of bits used by a partial word.\n * @param {Number} x The partial word.\n * @return {Number} The number of bits used by the partial word.\n */\n getPartial: function (x) {\n return Math.round(x/0x10000000000) || 32;\n },\n\n /**\n * Compare two arrays for equality in a predictable amount of time.\n * @param {bitArray} a The first array.\n * @param {bitArray} b The second array.\n * @return {boolean} true if a == b; false otherwise.\n */\n equal: function (a, b) {\n if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {\n return false;\n }\n var x = 0, i;\n for (i=0; i<a.length; i++) {\n x |= a[i]^b[i];\n }\n return (x === 0);\n },\n\n /** Shift an array right.\n * @param {bitArray} a The array to shift.\n * @param {Number} shift The number of bits to shift.\n * @param {Number} [carry=0] A byte to carry in\n * @param {bitArray} [out=[]] An array to prepend to the output.\n * @private\n */\n _shiftRight: function (a, shift, carry, out) {\n var i, last2=0, shift2;\n if (out === undefined) { out = []; }\n \n for (; shift >= 32; shift -= 32) {\n out.push(carry);\n carry = 0;\n }\n if (shift === 0) {\n return out.concat(a);\n }\n \n for (i=0; i<a.length; i++) {\n out.push(carry | a[i]>>>shift);\n carry = a[i] << (32-shift);\n }\n last2 = a.length ? a[a.length-1] : 0;\n shift2 = sjcl.bitArray.getPartial(last2);\n out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));\n return out;\n },\n \n /** xor a block of 4 words together.\n * @private\n */\n _xor4: function(x,y) {\n return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];\n },\n\n /** byteswap a word array inplace.\n * (does not handle partial words)\n * @param {sjcl.bitArray} a word array\n * @return {sjcl.bitArray} byteswapped array\n */\n byteswapM: function(a) {\n var i, v, m = 0xff00;\n for (i = 0; i < a.length; ++i) {\n v = a[i];\n a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);\n }\n return a;\n }\n};\n/** @fileOverview Low-level AES implementation.\n *\n * This file contains a low-level implementation of AES, optimized for\n * size and for efficiency on several browsers. It is based on\n * OpenSSL's aes_core.c, a public-domain implementation by Vincent\n * Rijmen, Antoon Bosselaers and Paulo Barreto.\n *\n * An older version of this implementation is available in the public\n * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,\n * Stanford University 2008-2010 and BSD-licensed for liability\n * reasons.\n *\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Schedule out an AES key for both encryption and decryption. This\n * is a low-level class. Use a cipher mode to do bulk encryption.\n *\n * @constructor\n * @param {Array} key The key as an array of 4, 6 or 8 words.\n */\nsjcl.cipher.aes = function (key) {\n if (!this._tables[0][0][0]) {\n this._precompute();\n }\n \n var i, j, tmp,\n encKey, decKey,\n sbox = this._tables[0][4], decTable = this._tables[1],\n keyLen = key.length, rcon = 1;\n \n if (keyLen !== 4 && keyLen !== 6 && keyLen !== 8) {\n throw new sjcl.exception.invalid(\"invalid aes key size\");\n }\n \n this._key = [encKey = key.slice(0), decKey = []];\n \n // schedule encryption keys\n for (i = keyLen; i < 4 * keyLen + 28; i++) {\n tmp = encKey[i-1];\n \n // apply sbox\n if (i%keyLen === 0 || (keyLen === 8 && i%keyLen === 4)) {\n tmp = sbox[tmp>>>24]<<24 ^ sbox[tmp>>16&255]<<16 ^ sbox[tmp>>8&255]<<8 ^ sbox[tmp&255];\n \n // shift rows and add rcon\n if (i%keyLen === 0) {\n tmp = tmp<<8 ^ tmp>>>24 ^ rcon<<24;\n rcon = rcon<<1 ^ (rcon>>7)*283;\n }\n }\n \n encKey[i] = encKey[i-keyLen] ^ tmp;\n }\n \n // schedule decryption keys\n for (j = 0; i; j++, i--) {\n tmp = encKey[j&3 ? i : i - 4];\n if (i<=4 || j<4) {\n decKey[j] = tmp;\n } else {\n decKey[j] = decTable[0][sbox[tmp>>>24 ]] ^\n decTable[1][sbox[tmp>>16 & 255]] ^\n decTable[2][sbox[tmp>>8 & 255]] ^\n decTable[3][sbox[tmp & 255]];\n }\n }\n};\n\nsjcl.cipher.aes.prototype = {\n // public\n /* Something like this might appear here eventually\n name: \"AES\",\n blockSize: 4,\n keySizes: [4,6,8],\n */\n \n /**\n * Encrypt an array of 4 big-endian words.\n * @param {Array} data The plaintext.\n * @return {Array} The ciphertext.\n */\n encrypt:function (data) { return this._crypt(data,0); },\n \n /**\n * Decrypt an array of 4 big-endian words.\n * @param {Array} data The ciphertext.\n * @return {Array} The plaintext.\n */\n decrypt:function (data) { return this._crypt(data,1); },\n \n /**\n * The expanded S-box and inverse S-box tables. These will be computed\n * on the client so that we don't have to send them down the wire.\n *\n * There are two tables, _tables[0] is for encryption and\n * _tables[1] is for decryption.\n *\n * The first 4 sub-tables are the expanded S-box with MixColumns. The\n * last (_tables[01][4]) is the S-box itself.\n *\n * @private\n */\n _tables: [[[],[],[],[],[]],[[],[],[],[],[]]],\n\n /**\n * Expand the S-box tables.\n *\n * @private\n */\n _precompute: function () {\n var encTable = this._tables[0], decTable = this._tables[1],\n sbox = encTable[4], sboxInv = decTable[4],\n i, x, xInv, d=[], th=[], x2, x4, x8, s, tEnc, tDec;\n\n // Compute double and third tables\n for (i = 0; i < 256; i++) {\n th[( d[i] = i<<1 ^ (i>>7)*283 )^i]=i;\n }\n \n for (x = xInv = 0; !sbox[x]; x ^= x2 || 1, xInv = th[xInv] || 1) {\n // Compute sbox\n s = xInv ^ xInv<<1 ^ xInv<<2 ^ xInv<<3 ^ xInv<<4;\n s = s>>8 ^ s&255 ^ 99;\n sbox[x] = s;\n sboxInv[s] = x;\n \n // Compute MixColumns\n x8 = d[x4 = d[x2 = d[x]]];\n tDec = x8*0x1010101 ^ x4*0x10001 ^ x2*0x101 ^ x*0x1010100;\n tEnc = d[s]*0x101 ^ s*0x1010100;\n \n for (i = 0; i < 4; i++) {\n encTable[i][x] = tEnc = tEnc<<24 ^ tEnc>>>8;\n decTable[i][s] = tDec = tDec<<24 ^ tDec>>>8;\n }\n }\n \n // Compactify. Considerable speedup on Firefox.\n for (i = 0; i < 5; i++) {\n encTable[i] = encTable[i].slice(0);\n decTable[i] = decTable[i].slice(0);\n }\n },\n \n /**\n * Encryption and decryption core.\n * @param {Array} input Four words to be encrypted or decrypted.\n * @param dir The direction, 0 for encrypt and 1 for decrypt.\n * @return {Array} The four encrypted or decrypted words.\n * @private\n */\n _crypt:function (input, dir) {\n if (input.length !== 4) {\n throw new sjcl.exception.invalid(\"invalid aes block size\");\n }\n \n var key = this._key[dir],\n // state variables a,b,c,d are loaded with pre-whitened data\n a = input[0] ^ key[0],\n b = input[dir ? 3 : 1] ^ key[1],\n c = input[2] ^ key[2],\n d = input[dir ? 1 : 3] ^ key[3],\n a2, b2, c2,\n \n nInnerRounds = key.length/4 - 2,\n i,\n kIndex = 4,\n out = [0,0,0,0],\n table = this._tables[dir],\n \n // load up the tables\n t0 = table[0],\n t1 = table[1],\n t2 = table[2],\n t3 = table[3],\n sbox = table[4];\n \n // Inner rounds. Cribbed from OpenSSL.\n for (i = 0; i < nInnerRounds; i++) {\n a2 = t0[a>>>24] ^ t1[b>>16 & 255] ^ t2[c>>8 & 255] ^ t3[d & 255] ^ key[kIndex];\n b2 = t0[b>>>24] ^ t1[c>>16 & 255] ^ t2[d>>8 & 255] ^ t3[a & 255] ^ key[kIndex + 1];\n c2 = t0[c>>>24] ^ t1[d>>16 & 255] ^ t2[a>>8 & 255] ^ t3[b & 255] ^ key[kIndex + 2];\n d = t0[d>>>24] ^ t1[a>>16 & 255] ^ t2[b>>8 & 255] ^ t3[c & 255] ^ key[kIndex + 3];\n kIndex += 4;\n a=a2; b=b2; c=c2;\n }\n \n // Last round.\n for (i = 0; i < 4; i++) {\n out[dir ? 3&-i : i] =\n sbox[a>>>24 ]<<24 ^ \n sbox[b>>16 & 255]<<16 ^\n sbox[c>>8 & 255]<<8 ^\n sbox[d & 255] ^\n key[kIndex++];\n a2=a; a=b; b=c; c=d; d=a2;\n }\n \n return out;\n }\n};\n\n/**\n * Constructs a new bignum from another bignum, a number or a hex string.\n * @constructor\n */\nsjcl.bn = function(it) {\n this.initWith(it);\n};\n\nsjcl.bn.prototype = {\n radix: 24,\n maxMul: 8,\n _class: sjcl.bn,\n\n copy: function() {\n return new this._class(this);\n },\n\n /**\n * Initializes this with it, either as a bn, a number, or a hex string.\n */\n initWith: function(it) {\n var i=0, k;\n switch(typeof it) {\n case \"object\":\n this.limbs = it.limbs.slice(0);\n break;\n\n case \"number\":\n this.limbs = [it];\n this.normalize();\n break;\n\n case \"string\":\n it = it.replace(/^0x/, '');\n this.limbs = [];\n // hack\n k = this.radix / 4;\n for (i=0; i < it.length; i+=k) {\n this.limbs.push(parseInt(it.substring(Math.max(it.length - i - k, 0), it.length - i),16));\n }\n break;\n\n default:\n this.limbs = [0];\n }\n return this;\n },\n\n /**\n * Returns true if \"this\" and \"that\" are equal. Calls fullReduce().\n * Equality test is in constant time.\n */\n equals: function(that) {\n if (typeof that === \"number\") { that = new this._class(that); }\n var difference = 0, i;\n this.fullReduce();\n that.fullReduce();\n for (i = 0; i < this.limbs.length || i < that.limbs.length; i++) {\n difference |= this.getLimb(i) ^ that.getLimb(i);\n }\n return (difference === 0);\n },\n\n /**\n * Get the i'th limb of this, zero if i is too large.\n */\n getLimb: function(i) {\n return (i >= this.limbs.length) ? 0 : this.limbs[i];\n },\n\n /**\n * Constant time comparison function.\n * Returns 1 if this >= that, or zero otherwise.\n */\n greaterEquals: function(that) {\n if (typeof that === \"number\") { that = new this._class(that); }\n var less = 0, greater = 0, i, a, b;\n i = Math.max(this.limbs.length, that.limbs.length) - 1;\n for (; i>= 0; i--) {\n a = this.getLimb(i);\n b = that.getLimb(i);\n greater |= (b - a) & ~less;\n less |= (a - b) & ~greater;\n }\n return (greater | ~less) >>> 31;\n },\n\n /**\n * Convert to a hex string.\n */\n toString: function() {\n this.fullReduce();\n var out=\"\", i, s, l = this.limbs;\n for (i=0; i < this.limbs.length; i++) {\n s = l[i].toString(16);\n while (i < this.limbs.length - 1 && s.length < 6) {\n s = \"0\" + s;\n }\n out = s + out;\n }\n return \"0x\"+out;\n },\n\n /** this += that. Does not normalize. */\n addM: function(that) {\n if (typeof(that) !== \"object\") { that = new this._class(that); }\n var i, l=this.limbs, ll=that.limbs;\n for (i=l.length; i<ll.length; i++) {\n l[i] = 0;\n }\n for (i=0; i<ll.length; i++) {\n l[i] += ll[i];\n }\n return this;\n },\n\n /** this *= 2. Requires normalized; ends up normalized. */\n doubleM: function() {\n var i, carry=0, tmp, r=this.radix, m=this.radixMask, l=this.limbs;\n for (i=0; i<l.length; i++) {\n tmp = l[i];\n tmp = tmp+tmp+carry;\n l[i] = tmp & m;\n carry = tmp >> r;\n }\n if (carry) {\n l.push(carry);\n }\n return this;\n },\n\n /** this /= 2, rounded down. Requires normalized; ends up normalized. */\n halveM: function() {\n var i, carry=0, tmp, r=this.radix, l=this.limbs;\n for (i=l.length-1; i>=0; i--) {\n tmp = l[i];\n l[i] = (tmp+carry)>>1;\n carry = (tmp&1) << r;\n }\n if (!l[l.length-1]) {\n l.pop();\n }\n return this;\n },\n\n /** this -= that. Does not normalize. */\n subM: function(that) {\n if (typeof(that) !== \"object\") { that = new this._class(that); }\n var i, l=this.limbs, ll=that.limbs;\n for (i=l.length; i<ll.length; i++) {\n l[i] = 0;\n }\n for (i=0; i<ll.length; i++) {\n l[i] -= ll[i];\n }\n return this;\n },\n\n mod: function(that) {\n var neg = !this.greaterEquals(new sjcl.bn(0));\n\n that = new sjcl.bn(that).normalize(); // copy before we begin\n var out = new sjcl.bn(this).normalize(), ci=0;\n\n if (neg) out = (new sjcl.bn(0)).subM(out).normalize();\n\n for (; out.greaterEquals(that); ci++) {\n that.doubleM();\n }\n\n if (neg) out = that.sub(out).normalize();\n\n for (; ci > 0; ci--) {\n that.halveM();\n if (out.greaterEquals(that)) {\n out.subM(that).normalize();\n }\n }\n return out.trim();\n },\n\n /** return inverse mod prime p. p must be odd. Binary extended Euclidean algorithm mod p. */\n inverseMod: function(p) {\n var a = new sjcl.bn(1), b = new sjcl.bn(0), x = new sjcl.bn(this), y = new sjcl.bn(p), tmp, i, nz=1;\n\n if (!(p.limbs[0] & 1)) {\n throw (new sjcl.exception.invalid(\"inverseMod: p must be odd\"));\n }\n\n // invariant: y is odd\n do {\n if (x.limbs[0] & 1) {\n if (!x.greaterEquals(y)) {\n // x < y; swap everything\n tmp = x; x = y; y = tmp;\n tmp = a; a = b; b = tmp;\n }\n x.subM(y);\n x.normalize();\n\n if (!a.greaterEquals(b)) {\n a.addM(p);\n }\n a.subM(b);\n }\n\n // cut everything in half\n x.halveM();\n if (a.limbs[0] & 1) {\n a.addM(p);\n }\n a.normalize();\n a.halveM();\n\n // check for termination: x ?= 0\n for (i=nz=0; i<x.limbs.length; i++) {\n nz |= x.limbs[i];\n }\n } while(nz);\n\n if (!y.equals(1)) {\n throw (new sjcl.exception.invalid(\"inverseMod: p and x must be relatively prime\"));\n }\n\n return b;\n },\n\n /** this + that. Does not normalize. */\n add: function(that) {\n return this.copy().addM(that);\n },\n\n /** this - that. Does not normalize. */\n sub: function(that) {\n return this.copy().subM(that);\n },\n\n /** this * that. Normalizes and reduces. */\n mul: function(that) {\n if (typeof(that) === \"number\") { that = new this._class(that); }\n var i, j, a = this.limbs, b = that.limbs, al = a.length, bl = b.length, out = new this._class(), c = out.limbs, ai, ii=this.maxMul;\n\n for (i=0; i < this.limbs.length + that.limbs.length + 1; i++) {\n c[i] = 0;\n }\n for (i=0; i<al; i++) {\n ai = a[i];\n for (j=0; j<bl; j++) {\n c[i+j] += ai * b[j];\n }\n\n if (!--ii) {\n ii = this.maxMul;\n out.cnormalize();\n }\n }\n return out.cnormalize().reduce();\n },\n\n /** this ^ 2. Normalizes and reduces. */\n square: function() {\n return this.mul(this);\n },\n\n /** this ^ n. Uses square-and-multiply. Normalizes and reduces. */\n power: function(l) {\n l = new sjcl.bn(l).normalize().trim().limbs;\n var i, j, out = new this._class(1), pow = this;\n\n for (i=0; i<l.length; i++) {\n for (j=0; j<this.radix; j++) {\n if (l[i] & (1<<j)) { out = out.mul(pow); }\n if (i == (l.length - 1) && l[i]>>(j + 1) == 0) { break; }\n\n pow = pow.square();\n }\n }\n\n return out;\n },\n\n /** this * that mod N */\n mulmod: function(that, N) {\n return this.mod(N).mul(that.mod(N)).mod(N);\n },\n\n /** this ^ x mod N */\n powermod: function(x, N) {\n x = new sjcl.bn(x);\n N = new sjcl.bn(N);\n\n // Jump to montpowermod if possible.\n if ((N.limbs[0] & 1) == 1) {\n var montOut = this.montpowermod(x, N);\n\n if (montOut != false) { return montOut; } // else go to slow powermod\n }\n\n var i, j, l = x.normalize().trim().limbs, out = new this._class(1), pow = this;\n\n for (i=0; i<l.length; i++) {\n for (j=0; j<this.radix; j++) {\n if (l[i] & (1<<j)) { out = out.mulmod(pow, N); }\n if (i == (l.length - 1) && l[i]>>(j + 1) == 0) { break; }\n\n pow = pow.mulmod(pow, N);\n }\n }\n\n return out;\n },\n\n /** this ^ x mod N with Montomery reduction */\n montpowermod: function(x, N) {\n x = new sjcl.bn(x).normalize().trim();\n N = new sjcl.bn(N);\n\n var i, j,\n radix = this.radix,\n out = new this._class(1),\n pow = this.copy();\n\n // Generate R as a cap of N.\n var R, s, wind, bitsize = x.bitLength();\n\n R = new sjcl.bn({\n limbs: N.copy().normalize().trim().limbs.map(function() { return 0; })\n });\n\n for (s = this.radix; s > 0; s--) {\n if (((N.limbs[N.limbs.length - 1] >> s) & 1) == 1) {\n R.limbs[R.limbs.length - 1] = 1 << s;\n break;\n }\n }\n\n // Calculate window size as a function of the exponent's size.\n if (bitsize == 0) {\n return this;\n } else if (bitsize < 18) {\n wind = 1;\n } else if (bitsize < 48) {\n wind = 3;\n } else if (bitsize < 144) {\n wind = 4;\n } else if (bitsize < 768) {\n wind = 5;\n } else {\n wind = 6;\n }\n\n // Find R' and N' such that R * R' - N * N' = 1.\n var RR = R.copy(), NN = N.copy(), RP = new sjcl.bn(1), NP = new sjcl.bn(0), RT = R.copy();\n\n while (RT.greaterEquals(1)) {\n RT.halveM();\n\n if ((RP.limbs[0] & 1) == 0) {\n RP.halveM();\n NP.halveM();\n } else {\n RP.addM(NN);\n RP.halveM();\n\n NP.halveM();\n NP.addM(RR);\n }\n }\n\n RP = RP.normalize();\n NP = NP.normalize();\n\n RR.doubleM();\n var R2 = RR.mulmod(RR, N);\n\n // Check whether the invariant holds.\n // If it doesn't, we can't use Montgomery reduction on this modulus.\n if (!RR.mul(RP).sub(N.mul(NP)).equals(1)) {\n return false;\n }\n\n var montIn = function(c) { return montMul(c, R2); },\n montMul = function(a, b) {\n // Standard Montgomery reduction\n var k, carry, ab, right, abBar, mask = (1 << (s + 1)) - 1;\n\n ab = a.mul(b);\n\n right = ab.mul(NP);\n right.limbs = right.limbs.slice(0, R.limbs.length);\n\n if (right.limbs.length == R.limbs.length) {\n right.limbs[R.limbs.length - 1] &= mask;\n }\n\n right = right.mul(N);\n\n abBar = ab.add(right).normalize().trim();\n abBar.limbs = abBar.limbs.slice(R.limbs.length - 1);\n\n // Division. Equivelent to calling *.halveM() s times.\n for (k=0; k < abBar.limbs.length; k++) {\n if (k > 0) {\n abBar.limbs[k - 1] |= (abBar.limbs[k] & mask) << (radix - s - 1);\n }\n\n abBar.limbs[k] = abBar.limbs[k] >> (s + 1);\n }\n\n if (abBar.greaterEquals(N)) {\n abBar.subM(N);\n }\n\n return abBar;\n },\n montOut = function(c) { return montMul(c, 1); };\n\n pow = montIn(pow);\n out = montIn(out);\n\n // Sliding-Window Exponentiation (HAC 14.85)\n var h, precomp = {}, cap = (1 << (wind - 1)) - 1;\n\n precomp[1] = pow.copy();\n precomp[2] = montMul(pow, pow);\n\n for (h=1; h<=cap; h++) {\n precomp[(2 * h) + 1] = montMul(precomp[(2 * h) - 1], precomp[2]);\n }\n\n var getBit = function(exp, i) { // Gets ith bit of exp.\n var off = i % exp.radix;\n\n return (exp.limbs[Math.floor(i / exp.radix)] & (1 << off)) >> off;\n };\n\n for (i = x.bitLength() - 1; i >= 0; ) {\n if (getBit(x, i) == 0) {\n // If the next bit is zero:\n // Square, move forward one bit.\n out = montMul(out, out);\n i = i - 1;\n } else {\n // If the next bit is one:\n // Find the longest sequence of bits after this one, less than `wind`\n // bits long, that ends with a 1. Convert the sequence into an\n // integer and look up the pre-computed value to add.\n var l = i - wind + 1;\n\n while (getBit(x, l) == 0) {\n l++;\n }\n\n var indx = 0;\n for (j = l; j <= i; j++) {\n indx += getBit(x, j) << (j - l);\n out = montMul(out, out);\n }\n\n out = montMul(out, precomp[indx]);\n\n i = l - 1;\n }\n }\n\n return montOut(out);\n },\n\n trim: function() {\n var l = this.limbs, p;\n do {\n p = l.pop();\n } while (l.length && p === 0);\n l.push(p);\n return this;\n },\n\n /** Reduce mod a modulus. Stubbed for subclassing. */\n reduce: function() {\n return this;\n },\n\n /** Reduce and normalize. */\n fullReduce: function() {\n return this.normalize();\n },\n\n /** Propagate carries. */\n normalize: function() {\n var carry=0, i, pv = this.placeVal, ipv = this.ipv, l, m, limbs = this.limbs, ll = limbs.length, mask = this.radixMask;\n for (i=0; i < ll || (carry !== 0 && carry !== -1); i++) {\n l = (limbs[i]||0) + carry;\n m = limbs[i] = l & mask;\n carry = (l-m)*ipv;\n }\n if (carry === -1) {\n limbs[i-1] -= pv;\n }\n this.trim();\n return this;\n },\n\n /** Constant-time normalize. Does not allocate additional space. */\n cnormalize: function() {\n var carry=0, i, ipv = this.ipv, l, m, limbs = this.limbs, ll = limbs.length, mask = this.radixMask;\n for (i=0; i < ll-1; i++) {\n l = limbs[i] + carry;\n m = limbs[i] = l & mask;\n carry = (l-m)*ipv;\n }\n limbs[i] += carry;\n return this;\n },\n\n /** Serialize to a bit array */\n toBits: function(len) {\n this.fullReduce();\n len = len || this.exponent || this.bitLength();\n var i = Math.floor((len-1)/24), w=sjcl.bitArray, e = (len + 7 & -8) % this.radix || this.radix,\n out = [w.partial(e, this.getLimb(i))];\n for (i--; i >= 0; i--) {\n out = w.concat(out, [w.partial(Math.min(this.radix,len), this.getLimb(i))]);\n len -= this.radix;\n }\n return out;\n },\n\n /** Return the length in bits, rounded up to the nearest byte. */\n bitLength: function() {\n this.fullReduce();\n var out = this.radix * (this.limbs.length - 1),\n b = this.limbs[this.limbs.length - 1];\n for (; b; b >>>= 1) {\n out ++;\n }\n return out+7 & -8;\n }\n};\n\n/** @memberOf sjcl.bn\n* @this { sjcl.bn }\n*/\nsjcl.bn.fromBits = function(bits) {\n var Class = this, out = new Class(), words=[], w=sjcl.bitArray, t = this.prototype,\n l = Math.min(this.bitLength || 0x100000000, w.bitLength(bits)), e = l % t.radix || t.radix;\n\n words[0] = w.extract(bits, 0, e);\n for (; e < l; e += t.radix) {\n words.unshift(w.extract(bits, e, t.radix));\n }\n\n out.limbs = words;\n return out;\n};\n\n\n\nsjcl.bn.prototype.ipv = 1 / (sjcl.bn.prototype.placeVal = Math.pow(2,sjcl.bn.prototype.radix));\nsjcl.bn.prototype.radixMask = (1 << sjcl.bn.prototype.radix) - 1;\n\n/**\n * Creates a new subclass of bn, based on reduction modulo a pseudo-Mersenne prime,\n * i.e. a prime of the form 2^e + sum(a * 2^b),where the sum is negative and sparse.\n */\nsjcl.bn.pseudoMersennePrime = function(exponent, coeff) {\n /** @constructor\n * @private\n */\n function p(it) {\n this.initWith(it);\n /*if (this.limbs[this.modOffset]) {\n this.reduce();\n }*/\n }\n\n var ppr = p.prototype = new sjcl.bn(), i, tmp, mo;\n mo = ppr.modOffset = Math.ceil(tmp = exponent / ppr.radix);\n ppr.exponent = exponent;\n ppr.offset = [];\n ppr.factor = [];\n ppr.minOffset = mo;\n ppr.fullMask = 0;\n ppr.fullOffset = [];\n ppr.fullFactor = [];\n ppr.modulus = p.modulus = new sjcl.bn(Math.pow(2,exponent));\n\n ppr.fullMask = 0|-Math.pow(2, exponent % ppr.radix);\n\n for (i=0; i<coeff.length; i++) {\n ppr.offset[i] = Math.floor(coeff[i][0] / ppr.radix - tmp);\n ppr.fullOffset[i] = Math.ceil(coeff[i][0] / ppr.radix - tmp);\n ppr.factor[i] = coeff[i][1] * Math.pow(1/2, exponent - coeff[i][0] + ppr.offset[i] * ppr.radix);\n ppr.fullFactor[i] = coeff[i][1] * Math.pow(1/2, exponent - coeff[i][0] + ppr.fullOffset[i] * ppr.radix);\n ppr.modulus.addM(new sjcl.bn(Math.pow(2,coeff[i][0])*coeff[i][1]));\n ppr.minOffset = Math.min(ppr.minOffset, -ppr.offset[i]); // conservative\n }\n ppr._class = p;\n ppr.modulus.cnormalize();\n\n /** Approximate reduction mod p. May leave a number which is negative or slightly larger than p.\n * @memberof sjcl.bn\n * @this { sjcl.bn }\n */\n ppr.reduce = function() {\n var i, k, l, mo = this.modOffset, limbs = this.limbs, off = this.offset, ol = this.offset.length, fac = this.factor, ll;\n\n i = this.minOffset;\n while (limbs.length > mo) {\n l = limbs.pop();\n ll = limbs.length;\n for (k=0; k<ol; k++) {\n limbs[ll+off[k]] -= fac[k] * l;\n }\n\n i--;\n if (!i) {\n limbs.push(0);\n this.cnormalize();\n i = this.minOffset;\n }\n }\n this.cnormalize();\n\n return this;\n };\n\n /** @memberof sjcl.bn\n * @this { sjcl.bn }\n */\n ppr._strongReduce = (ppr.fullMask === -1) ? ppr.reduce : function() {\n var limbs = this.limbs, i = limbs.length - 1, k, l;\n this.reduce();\n if (i === this.modOffset - 1) {\n l = limbs[i] & this.fullMask;\n limbs[i] -= l;\n for (k=0; k<this.fullOffset.length; k++) {\n limbs[i+this.fullOffset[k]] -= this.fullFactor[k] * l;\n }\n this.normalize();\n }\n };\n\n /** mostly constant-time, very expensive full reduction.\n * @memberof sjcl.bn\n * @this { sjcl.bn }\n */\n ppr.fullReduce = function() {\n var greater, i;\n // massively above the modulus, may be negative\n\n this._strongReduce();\n // less than twice the modulus, may be negative\n\n this.addM(this.modulus);\n this.addM(this.modulus);\n this.normalize();\n // probably 2-3x the modulus\n\n this._strongReduce();\n // less than the power of 2. still may be more than\n // the modulus\n\n // HACK: pad out to this length\n for (i=this.limbs.length; i<this.modOffset; i++) {\n this.limbs[i] = 0;\n }\n\n // constant-time subtract modulus\n greater = this.greaterEquals(this.modulus);\n for (i=0; i<this.limbs.length; i++) {\n this.limbs[i] -= this.modulus.limbs[i] * greater;\n }\n this.cnormalize();\n\n return this;\n };\n\n\n /** @memberof sjcl.bn\n * @this { sjcl.bn }\n */\n ppr.inverse = function() {\n return (this.power(this.modulus.sub(2)));\n };\n\n p.fromBits = sjcl.bn.fromBits;\n\n return p;\n};\n\n// a small Mersenne prime\nvar sbp = sjcl.bn.pseudoMersennePrime;\nsjcl.bn.prime = {\n p127: sbp(127, [[0,-1]]),\n\n // Bernstein's prime for Curve25519\n p25519: sbp(255, [[0,-19]]),\n\n // Koblitz primes\n p192k: sbp(192, [[32,-1],[12,-1],[8,-1],[7,-1],[6,-1],[3,-1],[0,-1]]),\n p224k: sbp(224, [[32,-1],[12,-1],[11,-1],[9,-1],[7,-1],[4,-1],[1,-1],[0,-1]]),\n p256k: sbp(256, [[32,-1],[9,-1],[8,-1],[7,-1],[6,-1],[4,-1],[0,-1]]),\n\n // NIST primes\n p192: sbp(192, [[0,-1],[64,-1]]),\n p224: sbp(224, [[0,1],[96,-1]]),\n p256: sbp(256, [[0,-1],[96,1],[192,1],[224,-1]]),\n p384: sbp(384, [[0,-1],[32,1],[96,-1],[128,-1]]),\n p521: sbp(521, [[0,-1]])\n};\n\nsjcl.bn.random = function(modulus, paranoia) {\n if (typeof modulus !== \"object\") { modulus = new sjcl.bn(modulus); }\n var words, i, l = modulus.limbs.length, m = modulus.limbs[l-1]+1, out = new sjcl.bn();\n while (true) {\n // get a sequence whose first digits make sense\n do {\n words = sjcl.random.randomWords(l, paranoia);\n if (words[l-1] < 0) { words[l-1] += 0x100000000; }\n } while (Math.floor(words[l-1] / m) === Math.floor(0x100000000 / m));\n words[l-1] %= m;\n\n // mask off all the limbs\n for (i=0; i<l-1; i++) {\n words[i] &= modulus.radixMask;\n }\n\n // check the rest of the digitssj\n out.limbs = words;\n if (!out.greaterEquals(modulus)) {\n return out;\n }\n }\n};\n/** @fileOverview Bit array codec implementations.\n *\n * @author Marco Munizaga\n */\n\n//patch arraybuffers if they don't exist\nif (typeof(ArrayBuffer) === 'undefined') {\n (function(globals){\n \"use strict\";\n globals.ArrayBuffer = function(){};\n globals.DataView = function(){};\n }(this));\n}\n\n/**\n * ArrayBuffer\n * @namespace\n */\nsjcl.codec.arrayBuffer = {\n /** Convert from a bitArray to an ArrayBuffer. \n * Will default to 8byte padding if padding is undefined*/\n fromBits: function (arr, padding, padding_count) {\n var out, i, ol, tmp, smallest;\n padding = padding==undefined ? true : padding;\n padding_count = padding_count || 8;\n\n if (arr.length === 0) {\n return new ArrayBuffer(0);\n }\n\n ol = sjcl.bitArray.bitLength(arr)/8;\n\n //check to make sure the bitLength is divisible by 8, if it isn't \n //we can't do anything since arraybuffers work with bytes, not bits\n if ( sjcl.bitArray.bitLength(arr)%8 !== 0 ) {\n throw new sjcl.exception.invalid(\"Invalid bit size, must be divisble by 8 to fit in an arraybuffer correctly\");\n }\n\n if (padding && ol%padding_count !== 0){\n ol += padding_count - (ol%padding_count);\n }\n\n\n //padded temp for easy copying\n tmp = new DataView(new ArrayBuffer(arr.length*4));\n for (i=0; i<arr.length; i++) {\n tmp.setUint32(i*4, (arr[i]<<32)); //get rid of the higher bits\n }\n\n //now copy the final message if we are not going to 0 pad\n out = new DataView(new ArrayBuffer(ol));\n\n //save a step when the tmp and out bytelength are ===\n if (out.byteLength === tmp.byteLength){\n return tmp.buffer;\n }\n\n smallest = tmp.byteLength < out.byteLength ? tmp.byteLength : out.byteLength;\n for(i=0; i<smallest; i++){\n out.setUint8(i,tmp.getUint8(i));\n }\n\n\n return out.buffer;\n },\n\n toBits: function (buffer) {\n var i, out=[], len, inView, tmp;\n\n if (buffer.byteLength === 0) {\n return [];\n }\n\n inView = new DataView(buffer);\n len = inView.byteLength - inView.byteLength%4;\n\n for (var i = 0; i < len; i+=4) {\n out.push(inView.getUint32(i));\n }\n\n if (inView.byteLength%4 != 0) {\n tmp = new DataView(new ArrayBuffer(4));\n for (var i = 0, l = inView.byteLength%4; i < l; i++) {\n //we want the data to the right, because partial slices off the starting bits\n tmp.setUint8(i+4-l, inView.getUint8(len+i)); // big-endian, \n }\n out.push(\n sjcl.bitArray.partial( (inView.byteLength%4)*8, tmp.getUint32(0) )\n ); \n }\n return out;\n },\n\n\n\n /** Prints a hex output of the buffer contents, akin to hexdump **/\n hexDumpBuffer: function(buffer){\n var stringBufferView = new DataView(buffer);\n var string = '';\n var pad = function (n, width) {\n n = n + '';\n return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n;\n };\n\n for (var i = 0; i < stringBufferView.byteLength; i+=2) {\n if (i%16 == 0) string += ('\\n'+(i).toString(16)+'\\t');\n string += ( pad(stringBufferView.getUint16(i).toString(16),4) + ' ');\n }\n\n if ( typeof console === undefined ){\n console = console || {log:function(){}}; //fix for IE\n }\n console.log(string.toUpperCase());\n }\n};\n\n/** @fileOverview Bit array codec implementations.\n *\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * UTF-8 strings\n * @namespace\n */\nsjcl.codec.utf8String = {\n /** Convert from a bitArray to a UTF-8 string. */\n fromBits: function (arr) {\n var out = \"\", bl = sjcl.bitArray.bitLength(arr), i, tmp;\n for (i=0; i<bl/8; i++) {\n if ((i&3) === 0) {\n tmp = arr[i/4];\n }\n out += String.fromCharCode(tmp >>> 8 >>> 8 >>> 8);\n tmp <<= 8;\n }\n return decodeURIComponent(escape(out));\n },\n\n /** Convert from a UTF-8 string to a bitArray. */\n toBits: function (str) {\n str = unescape(encodeURIComponent(str));\n var out = [], i, tmp=0;\n for (i=0; i<str.length; i++) {\n tmp = tmp << 8 | str.charCodeAt(i);\n if ((i&3) === 3) {\n out.push(tmp);\n tmp = 0;\n }\n }\n if (i&3) {\n out.push(sjcl.bitArray.partial(8*(i&3), tmp));\n }\n return out;\n }\n};\n/**\n * base class for all ecc operations.\n * @namespace\n */\nsjcl.ecc = {};\n\n/**\n * Represents a point on a curve in affine coordinates.\n * @constructor\n * @param {sjcl.ecc.curve} curve The curve that this point lies on.\n * @param {bigInt} x The x coordinate.\n * @param {bigInt} y The y coordinate.\n */\nsjcl.ecc.point = function(curve,x,y) {\n if (x === undefined) {\n this.isIdentity = true;\n } else {\n if (x instanceof sjcl.bn) {\n x = new curve.field(x);\n }\n if (y instanceof sjcl.bn) {\n y = new curve.field(y);\n }\n\n this.x = x;\n this.y = y;\n\n this.isIdentity = false;\n }\n this.curve = curve;\n};\n\n\n\nsjcl.ecc.point.prototype = {\n toJac: function() {\n return new sjcl.ecc.pointJac(this.curve, this.x, this.y, new this.curve.field(1));\n },\n\n mult: function(k) {\n return this.toJac().mult(k, this).toAffine();\n },\n\n /**\n * Multiply this point by k, added to affine2*k2, and return the answer in Jacobian coordinates.\n * @param {bigInt} k The coefficient to multiply this by.\n * @param {bigInt} k2 The coefficient to multiply affine2 this by.\n * @param {sjcl.ecc.point} affine The other point in affine coordinates.\n * @return {sjcl.ecc.pointJac} The result of the multiplication and addition, in Jacobian coordinates.\n */\n mult2: function(k, k2, affine2) {\n return this.toJac().mult2(k, this, k2, affine2).toAffine();\n },\n\n multiples: function() {\n var m, i, j;\n if (this._multiples === undefined) {\n j = this.toJac().doubl();\n m = this._multiples = [new sjcl.ecc.point(this.curve), this, j.toAffine()];\n for (i=3; i<16; i++) {\n j = j.add(this);\n m.push(j.toAffine());\n }\n }\n return this._multiples;\n },\n\n negate: function() {\n var newY = new this.curve.field(0).sub(this.y).normalize().reduce();\n return new sjcl.ecc.point(this.curve, this.x, newY);\n },\n\n isValid: function() {\n return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))));\n },\n\n toBits: function() {\n return sjcl.bitArray.concat(this.x.toBits(), this.y.toBits());\n }\n};\n\n/**\n * Represents a point on a curve in Jacobian coordinates. Coordinates can be specified as bigInts or strings (which\n * will be converted to bigInts).\n *\n * @constructor\n * @param {bigInt/string} x The x coordinate.\n * @param {bigInt/string} y The y coordinate.\n * @param {bigInt/string} z The z coordinate.\n * @param {sjcl.ecc.curve} curve The curve that this point lies on.\n */\nsjcl.ecc.pointJac = function(curve, x, y, z) {\n if (x === undefined) {\n this.isIdentity = true;\n } else {\n this.x = x;\n this.y = y;\n this.z = z;\n this.isIdentity = false;\n }\n this.curve = curve;\n};\n\nsjcl.ecc.pointJac.prototype = {\n /**\n * Adds S and T and returns the result in Jacobian coordinates. Note that S must be in Jacobian coordinates and T must be in affine coordinates.\n * @param {sjcl.ecc.pointJac} S One of the points to add, in Jacobian coordinates.\n * @param {sjcl.ecc.point} T The other point to add, in affine coordinates.\n * @return {sjcl.ecc.pointJac} The sum of the two points, in Jacobian coordinates.\n */\n add: function(T) {\n var S = this, sz2, c, d, c2, x1, x2, x, y1, y2, y, z;\n if (S.curve !== T.curve) {\n throw new sjcl.exception.invalid(\"sjcl.ecc.add(): Points must be on the same curve to add them!\");\n }\n\n if (S.isIdentity) {\n return T.toJac();\n } else if (T.isIdentity) {\n return S;\n }\n\n sz2 = S.z.square();\n c = T.x.mul(sz2).subM(S.x);\n\n if (c.equals(0)) {\n if (S.y.equals(T.y.mul(sz2.mul(S.z)))) {\n // same point\n return S.doubl();\n } else {\n // inverses\n return new sjcl.ecc.pointJac(S.curve);\n }\n }\n\n d = T.y.mul(sz2.mul(S.z)).subM(S.y);\n c2 = c.square();\n\n x1 = d.square();\n x2 = c.square().mul(c).addM( S.x.add(S.x).mul(c2) );\n x = x1.subM(x2);\n\n y1 = S.x.mul(c2).subM(x).mul(d);\n y2 = S.y.mul(c.square().mul(c));\n y = y1.subM(y2);\n\n z = S.z.mul(c);\n\n return new sjcl.ecc.pointJac(this.curve,x,y,z);\n },\n\n /**\n * doubles this point.\n * @return {sjcl.ecc.pointJac} The doubled point.\n */\n doubl: function() {\n if (this.isIdentity) { return this; }\n\n var\n y2 = this.y.square(),\n a = y2.mul(this.x.mul(4)),\n b = y2.square().mul(8),\n z2 = this.z.square(),\n c = this.curve.a.toString() == (new sjcl.bn(-3)).toString() ?\n this.x.sub(z2).mul(3).mul(this.x.add(z2)) :\n this.x.square().mul(3).add(z2.square().mul(this.curve.a)),\n x = c.square().subM(a).subM(a),\n y = a.sub(x).mul(c).subM(b),\n z = this.y.add(this.y).mul(this.z);\n return new sjcl.ecc.pointJac(this.curve, x, y, z);\n },\n\n /**\n * Returns a copy of this point converted to affine coordinates.\n * @return {sjcl.ecc.point} The converted point.\n */\n toAffine: function() {\n if (this.isIdentity || this.z.equals(0)) {\n return new sjcl.ecc.point(this.curve);\n }\n var zi = this.z.inverse(), zi2 = zi.square();\n return new sjcl.ecc.point(this.curve, this.x.mul(zi2).fullReduce(), this.y.mul(zi2.mul(zi)).fullReduce());\n },\n\n /**\n * Multiply this point by k and return the answer in Jacobian coordinates.\n * @param {bigInt} k The coefficient to multiply by.\n * @param {sjcl.ecc.point} affine This point in affine coordinates.\n * @return {sjcl.ecc.pointJac} The result of the multiplication, in Jacobian coordinates.\n */\n mult: function(k, affine) {\n if (typeof(k) === \"number\") {\n k = [k];\n } else if (k.limbs !== undefined) {\n k = k.normalize().limbs;\n }\n\n var i, j, out = new sjcl.ecc.point(this.curve).toJac(), multiples = affine.multiples();\n\n for (i=k.length-1; i>=0; i--) {\n for (j=sjcl.bn.prototype.radix-4; j>=0; j-=4) {\n out = out.doubl().doubl().doubl().doubl().add(multiples[k[i]>>j & 0xF]);\n }\n }\n\n return out;\n },\n\n /**\n * Multiply this point by k, added to affine2*k2, and return the answer in Jacobian coordinates.\n * @param {bigInt} k The coefficient to multiply this by.\n * @param {sjcl.ecc.point} affine This point in affine coordinates.\n * @param {bigInt} k2 The coefficient to multiply affine2 this by.\n * @param {sjcl.ecc.point} affine The other point in affine coordinates.\n * @return {sjcl.ecc.pointJac} The result of the multiplication and addition, in Jacobian coordinates.\n */\n mult2: function(k1, affine, k2, affine2) {\n if (typeof(k1) === \"number\") {\n k1 = [k1];\n } else if (k1.limbs !== undefined) {\n k1 = k1.normalize().limbs;\n }\n\n if (typeof(k2) === \"number\") {\n k2 = [k2];\n } else if (k2.limbs !== undefined) {\n k2 = k2.normalize().limbs;\n }\n\n var i, j, out = new sjcl.ecc.point(this.curve).toJac(), m1 = affine.multiples(),\n m2 = affine2.multiples(), l1, l2;\n\n for (i=Math.max(k1.length,k2.length)-1; i>=0; i--) {\n l1 = k1[i] | 0;\n l2 = k2[i] | 0;\n for (j=sjcl.bn.prototype.radix-4; j>=0; j-=4) {\n out = out.doubl().doubl().doubl().doubl().add(m1[l1>>j & 0xF]).add(m2[l2>>j & 0xF]);\n }\n }\n\n return out;\n },\n\n negate: function() {\n return this.toAffine().negate().toJac();\n },\n\n isValid: function() {\n var z2 = this.z.square(), z4 = z2.square(), z6 = z4.mul(z2);\n return this.y.square().equals(\n this.curve.b.mul(z6).add(this.x.mul(\n this.curve.a.mul(z4).add(this.x.square()))));\n }\n};\n\n/**\n * Construct an elliptic curve. Most users will not use this and instead start with one of the NIST curves defined below.\n *\n * @constructor\n * @param {bigInt} p The prime modulus.\n * @param {bigInt} r The prime order of the curve.\n * @param {bigInt} a The constant a in the equation of the curve y^2 = x^3 + ax + b (for NIST curves, a is always -3).\n * @param {bigInt} x The x coordinate of a base point of the curve.\n * @param {bigInt} y The y coordinate of a base point of the curve.\n */\nsjcl.ecc.curve = function(Field, r, a, b, x, y) {\n this.field = Field;\n this.r = new sjcl.bn(r);\n this.a = new Field(a);\n this.b = new Field(b);\n this.G = new sjcl.ecc.point(this, new Field(x), new Field(y));\n};\n\nsjcl.ecc.curve.prototype.fromBits = function (bits) {\n var w = sjcl.bitArray, l = this.field.prototype.exponent + 7 & -8,\n p = new sjcl.ecc.point(this, this.field.fromBits(w.bitSlice(bits, 0, l)),\n this.field.fromBits(w.bitSlice(bits, l, 2*l)));\n if (!p.isValid()) {\n throw new sjcl.exception.corrupt(\"not on the curve!\");\n }\n return p;\n};\n\nsjcl.ecc.curves = {\n c192: new sjcl.ecc.curve(\n sjcl.bn.prime.p192,\n \"0xffffffffffffffffffffffff99def836146bc9b1b4d22831\",\n -3,\n \"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1\",\n \"0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012\",\n \"0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811\"),\n\n c224: new sjcl.ecc.curve(\n sjcl.bn.prime.p224,\n \"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d\",\n -3,\n \"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4\",\n \"0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21\",\n \"0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34\"),\n\n c256: new sjcl.ecc.curve(\n sjcl.bn.prime.p256,\n \"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551\",\n -3,\n \"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b\",\n \"0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296\",\n \"0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5\"),\n\n c384: new sjcl.ecc.curve(\n sjcl.bn.prime.p384,\n \"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973\",\n -3,\n \"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef\",\n \"0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7\",\n \"0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f\"),\n \n c521: new sjcl.ecc.curve(\n sjcl.bn.prime.p521,\n \"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409\",\n -3,\n \"0x051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00\",\n \"0xC6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66\",\n \"0x11839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650\"),\n\n k192: new sjcl.ecc.curve(\n sjcl.bn.prime.p192k,\n \"0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d\",\n 0,\n 3,\n \"0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d\",\n \"0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d\"),\n\n k224: new sjcl.ecc.curve(\n sjcl.bn.prime.p224k,\n \"0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7\",\n 0,\n 5,\n \"0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c\",\n \"0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5\"),\n\n k256: new sjcl.ecc.curve(\n sjcl.bn.prime.p256k,\n \"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\",\n 0,\n 7,\n \"0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\")\n\n};\n\nsjcl.ecc.curveName = function (curve) {\n var curcurve;\n for (curcurve in sjcl.ecc.curves) {\n if (sjcl.ecc.curves.hasOwnProperty(curcurve)) {\n if (sjcl.ecc.curves[curcurve] === curve) {\n return curcurve;\n }\n }\n }\n\n throw new sjcl.exception.invalid(\"no such curve\");\n};\n\nsjcl.ecc.deserialize = function (key) {\n var types = [\"elGamal\", \"ecdsa\"];\n\n if (!key || !key.curve || !sjcl.ecc.curves[key.curve]) { throw new sjcl.exception.invalid(\"invalid serialization\"); }\n if (types.indexOf(key.type) === -1) { throw new sjcl.exception.invalid(\"invalid type\"); }\n\n var curve = sjcl.ecc.curves[key.curve];\n\n if (key.secretKey) {\n if (!key.exponent) { throw new sjcl.exception.invalid(\"invalid exponent\"); }\n var exponent = new sjcl.bn(key.exponent);\n return new sjcl.ecc[key.type].secretKey(curve, exponent);\n } else {\n if (!key.point) { throw new sjcl.exception.invalid(\"invalid point\"); }\n \n var point = curve.fromBits(sjcl.codec.hex.toBits(key.point));\n return new sjcl.ecc[key.type].publicKey(curve, point);\n }\n};\n\n/** our basicKey classes\n*/\nsjcl.ecc.basicKey = {\n /** ecc publicKey.\n * @constructor\n * @param {curve} curve the elliptic curve\n * @param {point} point the point on the curve\n */\n publicKey: function(curve, point) {\n this._curve = curve;\n this._curveBitLength = curve.r.bitLength();\n if (point instanceof Array) {\n this._point = curve.fromBits(point);\n } else {\n this._point = point;\n }\n\n this.serialize = function () {\n var curveName = sjcl.ecc.curveName(curve);\n return {\n type: this.getType(),\n secretKey: false,\n point: sjcl.codec.hex.fromBits(this._point.toBits()),\n curve: curveName\n };\n };\n\n /** get this keys point data\n * @return x and y as bitArrays\n */\n this.get = function() {\n var pointbits = this._point.toBits();\n var len = sjcl.bitArray.bitLength(pointbits);\n var x = sjcl.bitArray.bitSlice(pointbits, 0, len/2);\n var y = sjcl.bitArray.bitSlice(pointbits, len/2);\n return { x: x, y: y };\n };\n },\n\n /** ecc secretKey\n * @constructor\n * @param {curve} curve the elliptic curve\n * @param exponent\n */\n secretKey: function(curve, exponent) {\n this._curve = curve;\n this._curveBitLength = curve.r.bitLength();\n this._exponent = exponent;\n\n this.serialize = function () {\n var exponent = this.get();\n var curveName = sjcl.ecc.curveName(curve);\n return {\n type: this.getType(),\n secretKey: true,\n exponent: sjcl.codec.hex.fromBits(exponent),\n curve: curveName\n };\n };\n\n /** get this keys exponent data\n * @return {bitArray} exponent\n */\n this.get = function () {\n return this._exponent.toBits();\n };\n }\n};\n\n/** @private */\nsjcl.ecc.basicKey.generateKeys = function(cn) {\n return function generateKeys(curve, paranoia, sec) {\n curve = curve || 256;\n\n if (typeof curve === \"number\") {\n curve = sjcl.ecc.curves['c'+curve];\n if (curve === undefined) {\n throw new sjcl.exception.invalid(\"no such curve\");\n }\n }\n sec = sec || sjcl.bn.random(curve.r, paranoia);\n\n var pub = curve.G.mult(sec);\n return { pub: new sjcl.ecc[cn].publicKey(curve, pub),\n sec: new sjcl.ecc[cn].secretKey(curve, sec) };\n };\n};\n\n/** elGamal keys */\nsjcl.ecc.elGamal = {\n /** generate keys\n * @function\n * @param curve\n * @param {int} paranoia Paranoia for generation (default 6)\n * @param {secretKey} sec secret Key to use. used to get the publicKey for ones secretKey\n */\n generateKeys: sjcl.ecc.basicKey.generateKeys(\"elGamal\"),\n /** elGamal publicKey.\n * @constructor\n * @augments sjcl.ecc.basicKey.publicKey\n */\n publicKey: function (curve, point) {\n sjcl.ecc.basicKey.publicKey.apply(this, arguments);\n },\n /** elGamal secretKey\n * @constructor\n * @augments sjcl.ecc.basicKey.secretKey\n */\n secretKey: function (curve, exponent) {\n sjcl.ecc.basicKey.secretKey.apply(this, arguments);\n }\n};\n\nsjcl.ecc.elGamal.publicKey.prototype = {\n /** Kem function of elGamal Public Key\n * @param paranoia paranoia to use for randomization.\n * @return {object} key and tag. unkem(tag) with the corresponding secret key results in the key returned.\n */\n kem: function(paranoia) {\n var sec = sjcl.bn.random(this._curve.r, paranoia),\n tag = this._curve.G.mult(sec).toBits(),\n key = sjcl.hash.sha256.hash(this._point.mult(sec).toBits());\n return { key: key, tag: tag };\n },\n \n getType: function() {\n return \"elGamal\";\n }\n};\n\nsjcl.ecc.elGamal.secretKey.prototype = {\n /** UnKem function of elGamal Secret Key\n * @param {bitArray} tag The Tag to decrypt.\n * @return {bitArray} decrypted key.\n */\n unkem: function(tag) {\n return sjcl.hash.sha256.hash(this._curve.fromBits(tag).mult(this._exponent).toBits());\n },\n\n /** Diffie-Hellmann function\n * @param {elGamal.publicKey} pk The Public Key to do Diffie-Hellmann with\n * @return {bitArray} diffie-hellmann result for this key combination.\n */\n dh: function(pk) {\n return sjcl.hash.sha256.hash(pk._point.mult(this._exponent).toBits());\n },\n\n /** Diffie-Hellmann function, compatible with Java generateSecret\n * @param {elGamal.publicKey} pk The Public Key to do Diffie-Hellmann with\n * @return {bitArray} undigested X value, diffie-hellmann result for this key combination,\n * compatible with Java generateSecret().\n */\n dhJavaEc: function(pk) {\n return pk._point.mult(this._exponent).x.toBits();\n }, \n\n getType: function() {\n return \"elGamal\";\n }\n};\n\n/** ecdsa keys */\nsjcl.ecc.ecdsa = {\n /** generate keys\n * @function\n * @param curve\n * @param {int} paranoia Paranoia for generation (default 6)\n * @param {secretKey} sec secret Key to use. used to get the publicKey for ones secretKey\n */\n generateKeys: sjcl.ecc.basicKey.generateKeys(\"ecdsa\")\n};\n\n/** ecdsa publicKey.\n* @constructor\n* @augments sjcl.ecc.basicKey.publicKey\n*/\nsjcl.ecc.ecdsa.publicKey = function (curve, point) {\n sjcl.ecc.basicKey.publicKey.apply(this, arguments);\n};\n\n/** specific functions for ecdsa publicKey. */\nsjcl.ecc.ecdsa.publicKey.prototype = {\n /** Diffie-Hellmann function\n * @param {bitArray} hash hash to verify.\n * @param {bitArray} rs signature bitArray.\n * @param {boolean} fakeLegacyVersion use old legacy version\n */\n verify: function(hash, rs, fakeLegacyVersion) {\n if (sjcl.bitArray.bitLength(hash) > this._curveBitLength) {\n hash = sjcl.bitArray.clamp(hash, this._curveBitLength);\n }\n var w = sjcl.bitArray,\n R = this._curve.r,\n l = this._curveBitLength,\n r = sjcl.bn.fromBits(w.bitSlice(rs,0,l)),\n ss = sjcl.bn.fromBits(w.bitSlice(rs,l,2*l)),\n s = fakeLegacyVersion ? ss : ss.inverseMod(R),\n hG = sjcl.bn.fromBits(hash).mul(s).mod(R),\n hA = r.mul(s).mod(R),\n r2 = this._curve.G.mult2(hG, hA, this._point).x;\n if (r.equals(0) || ss.equals(0) || r.greaterEquals(R) || ss.greaterEquals(R) || !r2.equals(r)) {\n if (fakeLegacyVersion === undefined) {\n return this.verify(hash, rs, true);\n } else {\n throw (new sjcl.exception.corrupt(\"signature didn't check out\"));\n }\n }\n return true;\n },\n\n getType: function() {\n return \"ecdsa\";\n }\n};\n\n/** ecdsa secretKey\n* @constructor\n* @augments sjcl.ecc.basicKey.publicKey\n*/\nsjcl.ecc.ecdsa.secretKey = function (curve, exponent) {\n sjcl.ecc.basicKey.secretKey.apply(this, arguments);\n};\n\n/** specific functions for ecdsa secretKey. */\nsjcl.ecc.ecdsa.secretKey.prototype = {\n /** Diffie-Hellmann function\n * @param {bitArray} hash hash to sign.\n * @param {int} paranoia paranoia for random number generation\n * @param {boolean} fakeLegacyVersion use old legacy version\n */\n sign: function(hash, paranoia, fakeLegacyVersion, fixedKForTesting) {\n if (sjcl.bitArray.bitLength(hash) > this._curveBitLength) {\n hash = sjcl.bitArray.clamp(hash, this._curveBitLength);\n }\n var R = this._curve.r,\n l = R.bitLength(),\n k = fixedKForTesting || sjcl.bn.random(R.sub(1), paranoia).add(1),\n r = this._curve.G.mult(k).x.mod(R),\n ss = sjcl.bn.fromBits(hash).add(r.mul(this._exponent)),\n s = fakeLegacyVersion ? ss.inverseMod(R).mul(k).mod(R)\n : ss.mul(k.inverseMod(R)).mod(R);\n return sjcl.bitArray.concat(r.toBits(l), s.toBits(l));\n },\n\n getType: function() {\n return \"ecdsa\";\n }\n};\n/** @fileOverview Javascript RIPEMD-160 implementation.\n *\n * @author Artem S Vybornov <vybornov@gmail.com>\n */\n(function() {\n\n/**\n * Context for a RIPEMD-160 operation in progress.\n * @constructor\n */\nsjcl.hash.ripemd160 = function (hash) {\n if (hash) {\n this._h = hash._h.slice(0);\n this._buffer = hash._buffer.slice(0);\n this._length = hash._length;\n } else {\n this.reset();\n }\n};\n\n/**\n * Hash a string or an array of words.\n * @static\n * @param {bitArray|String} data the data to hash.\n * @return {bitArray} The hash value, an array of 5 big-endian words.\n */\nsjcl.hash.ripemd160.hash = function (data) {\n return (new sjcl.hash.ripemd160()).update(data).finalize();\n};\n\nsjcl.hash.ripemd160.prototype = {\n /**\n * Reset the hash state.\n * @return this\n */\n reset: function () {\n this._h = _h0.slice(0);\n this._buffer = [];\n this._length = 0;\n return this;\n },\n\n /**\n * Reset the hash state.\n * @param {bitArray|String} data the data to hash.\n * @return this\n */\n update: function (data) {\n if ( typeof data === \"string\" )\n data = sjcl.codec.utf8String.toBits(data);\n\n var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),\n ol = this._length,\n nl = this._length = ol + sjcl.bitArray.bitLength(data);\n if (nl > 9007199254740991){\n throw new sjcl.exception.invalid(\"Cannot hash more than 2^53 - 1 bits\");\n }\n for (i = 512+ol - ((512+ol) & 511); i <= nl; i+= 512) {\n var words = b.splice(0,16);\n for ( var w = 0; w < 16; ++w )\n words[w] = _cvt(words[w]);\n\n _block.call( this, words );\n }\n\n return this;\n },\n\n /**\n * Complete hashing and output the hash value.\n * @return {bitArray} The hash value, an array of 5 big-endian words.\n */\n finalize: function () {\n var b = sjcl.bitArray.concat( this._buffer, [ sjcl.bitArray.partial(1,1) ] ),\n l = ( this._length + 1 ) % 512,\n z = ( l > 448 ? 512 : 448 ) - l % 448,\n zp = z % 32;\n\n if ( zp > 0 )\n b = sjcl.bitArray.concat( b, [ sjcl.bitArray.partial(zp,0) ] );\n for ( ; z >= 32; z -= 32 )\n b.push(0);\n\n b.push( _cvt( this._length | 0 ) );\n b.push( _cvt( Math.floor(this._length / 0x100000000) ) );\n\n while ( b.length ) {\n var words = b.splice(0,16);\n for ( var w = 0; w < 16; ++w )\n words[w] = _cvt(words[w]);\n\n _block.call( this, words );\n }\n\n var h = this._h;\n this.reset();\n\n for ( var w = 0; w < 5; ++w )\n h[w] = _cvt(h[w]);\n\n return h;\n }\n};\n\nvar _h0 = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n\nvar _k1 = [ 0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e ];\nvar _k2 = [ 0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000 ];\nfor ( var i = 4; i >= 0; --i ) {\n for ( var j = 1; j < 16; ++j ) {\n _k1.splice(i,0,_k1[i]);\n _k2.splice(i,0,_k2[i]);\n }\n}\n\nvar _r1 = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 ];\nvar _r2 = [ 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 ];\n\nvar _s1 = [ 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ];\nvar _s2 = [ 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ];\n\nfunction _f0(x,y,z) {\n return x ^ y ^ z;\n}\n\nfunction _f1(x,y,z) {\n return (x & y) | (~x & z);\n}\n\nfunction _f2(x,y,z) {\n return (x | ~y) ^ z;\n}\n\nfunction _f3(x,y,z) {\n return (x & z) | (y & ~z);\n}\n\nfunction _f4(x,y,z) {\n return x ^ (y | ~z);\n}\n\nfunction _rol(n,l) {\n return (n << l) | (n >>> (32-l));\n}\n\nfunction _cvt(n) {\n return ( (n & 0xff << 0) << 24 )\n | ( (n & 0xff << 8) << 8 )\n | ( (n & 0xff << 16) >>> 8 )\n | ( (n & 0xff << 24) >>> 24 );\n}\n\nfunction _block(X) {\n var A1 = this._h[0], B1 = this._h[1], C1 = this._h[2], D1 = this._h[3], E1 = this._h[4],\n A2 = this._h[0], B2 = this._h[1], C2 = this._h[2], D2 = this._h[3], E2 = this._h[4];\n\n var j = 0, T;\n\n for ( ; j < 16; ++j ) {\n T = _rol( A1 + _f0(B1,C1,D1) + X[_r1[j]] + _k1[j], _s1[j] ) + E1;\n A1 = E1; E1 = D1; D1 = _rol(C1,10); C1 = B1; B1 = T;\n T = _rol( A2 + _f4(B2,C2,D2) + X[_r2[j]] + _k2[j], _s2[j] ) + E2;\n A2 = E2; E2 = D2; D2 = _rol(C2,10); C2 = B2; B2 = T; }\n for ( ; j < 32; ++j ) {\n T = _rol( A1 + _f1(B1,C1,D1) + X[_r1[j]] + _k1[j], _s1[j] ) + E1;\n A1 = E1; E1 = D1; D1 = _rol(C1,10); C1 = B1; B1 = T;\n T = _rol( A2 + _f3(B2,C2,D2) + X[_r2[j]] + _k2[j], _s2[j] ) + E2;\n A2 = E2; E2 = D2; D2 = _rol(C2,10); C2 = B2; B2 = T; }\n for ( ; j < 48; ++j ) {\n T = _rol( A1 + _f2(B1,C1,D1) + X[_r1[j]] + _k1[j], _s1[j] ) + E1;\n A1 = E1; E1 = D1; D1 = _rol(C1,10); C1 = B1; B1 = T;\n T = _rol( A2 + _f2(B2,C2,D2) + X[_r2[j]] + _k2[j], _s2[j] ) + E2;\n A2 = E2; E2 = D2; D2 = _rol(C2,10); C2 = B2; B2 = T; }\n for ( ; j < 64; ++j ) {\n T = _rol( A1 + _f3(B1,C1,D1) + X[_r1[j]] + _k1[j], _s1[j] ) + E1;\n A1 = E1; E1 = D1; D1 = _rol(C1,10); C1 = B1; B1 = T;\n T = _rol( A2 + _f1(B2,C2,D2) + X[_r2[j]] + _k2[j], _s2[j] ) + E2;\n A2 = E2; E2 = D2; D2 = _rol(C2,10); C2 = B2; B2 = T; }\n for ( ; j < 80; ++j ) {\n T = _rol( A1 + _f4(B1,C1,D1) + X[_r1[j]] + _k1[j], _s1[j] ) + E1;\n A1 = E1; E1 = D1; D1 = _rol(C1,10); C1 = B1; B1 = T;\n T = _rol( A2 + _f0(B2,C2,D2) + X[_r2[j]] + _k2[j], _s2[j] ) + E2;\n A2 = E2; E2 = D2; D2 = _rol(C2,10); C2 = B2; B2 = T; }\n\n T = this._h[1] + C1 + D2;\n this._h[1] = this._h[2] + D1 + E2;\n this._h[2] = this._h[3] + E1 + A2;\n this._h[3] = this._h[4] + A1 + B2;\n this._h[4] = this._h[0] + B1 + C2;\n this._h[0] = T;\n}\n\n})();\n/** @fileOverview Javascript SHA-256 implementation.\n *\n * An older version of this implementation is available in the public\n * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,\n * Stanford University 2008-2010 and BSD-licensed for liability\n * reasons.\n *\n * Special thanks to Aldo Cortesi for pointing out several bugs in\n * this code.\n *\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n */\n\n/**\n * Context for a SHA-256 operation in progress.\n * @constructor\n */\nsjcl.hash.sha256 = function (hash) {\n if (!this._key[0]) { this._precompute(); }\n if (hash) {\n this._h = hash._h.slice(0);\n this._buffer = hash._buffer.slice(0);\n this._length = hash._length;\n } else {\n this.reset();\n }\n};\n\n/**\n * Hash a string or an array of words.\n * @static\n * @param {bitArray|String} data the data to hash.\n * @return {bitArray} The hash value, an array of 16 big-endian words.\n */\nsjcl.hash.sha256.hash = function (data) {\n return (new sjcl.hash.sha256()).update(data).finalize();\n};\n\nsjcl.hash.sha256.prototype = {\n /**\n * The hash's block size, in bits.\n * @constant\n */\n blockSize: 512,\n \n /**\n * Reset the hash state.\n * @return this\n */\n reset:function () {\n this._h = this._init.slice(0);\n this._buffer = [];\n this._length = 0;\n return this;\n },\n \n /**\n * Input several words to the hash.\n * @param {bitArray|String} data the data to hash.\n * @return this\n */\n update: function (data) {\n if (typeof data === \"string\") {\n data = sjcl.codec.utf8String.toBits(data);\n }\n var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),\n ol = this._length,\n nl = this._length = ol + sjcl.bitArray.bitLength(data);\n if (nl > 9007199254740991){\n throw new sjcl.exception.invalid(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n if (typeof Uint32Array !== 'undefined') {\n\tvar c = new Uint32Array(b);\n \tvar j = 0;\n \tfor (i = 512+ol - ((512+ol) & 511); i <= nl; i+= 512) {\n \t this._block(c.subarray(16 * j, 16 * (j+1)));\n \t j += 1;\n \t}\n \tb.splice(0, 16 * j);\n } else {\n\tfor (i = 512+ol - ((512+ol) & 511); i <= nl; i+= 512) {\n \t this._block(b.splice(0,16));\n \t}\n }\n return this;\n },\n \n /**\n * Complete hashing and output the hash value.\n * @return {bitArray} The hash value, an array of 8 big-endian words.\n */\n finalize:function () {\n var i, b = this._buffer, h = this._h;\n\n // Round out and push the buffer\n b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);\n \n // Round out the buffer to a multiple of 16 words, less the 2 length words.\n for (i = b.length + 2; i & 15; i++) {\n b.push(0);\n }\n \n // append the length\n b.push(Math.floor(this._length / 0x100000000));\n b.push(this._length | 0);\n\n while (b.length) {\n this._block(b.splice(0,16));\n }\n\n this.reset();\n return h;\n },\n\n /**\n * The SHA-256 initialization vector, to be precomputed.\n * @private\n */\n _init:[],\n /*\n _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],\n */\n \n /**\n * The SHA-256 hash key, to be precomputed.\n * @private\n */\n _key:[],\n /*\n _key:\n [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],\n */\n\n\n /**\n * Function to precompute _init and _key.\n * @private\n */\n _precompute: function () {\n var i = 0, prime = 2, factor, isPrime;\n\n function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }\n\n for (; i<64; prime++) {\n isPrime = true;\n for (factor=2; factor*factor <= prime; factor++) {\n if (prime % factor === 0) {\n isPrime = false;\n break;\n }\n }\n if (isPrime) {\n if (i<8) {\n this._init[i] = frac(Math.pow(prime, 1/2));\n }\n this._key[i] = frac(Math.pow(prime, 1/3));\n i++;\n }\n }\n },\n \n /**\n * Perform one cycle of SHA-256.\n * @param {Uint32Array|bitArray} w one block of words.\n * @private\n */\n _block:function (w) { \n var i, tmp, a, b,\n h = this._h,\n k = this._key,\n h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],\n h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];\n\n /* Rationale for placement of |0 :\n * If a value can overflow is original 32 bits by a factor of more than a few\n * million (2^23 ish), there is a possibility that it might overflow the\n * 53-bit mantissa and lose precision.\n *\n * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that\n * propagates around the loop, and on the hash state h[]. I don't believe\n * that the clamps on h4 and on h0 are strictly necessary, but it's close\n * (for h4 anyway), and better safe than sorry.\n *\n * The clamps on h[] are necessary for the output to be correct even in the\n * common case and for short inputs.\n */\n for (i=0; i<64; i++) {\n // load up the input word for this round\n if (i<16) {\n tmp = w[i];\n } else {\n a = w[(i+1 ) & 15];\n b = w[(i+14) & 15];\n tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) + \n (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +\n w[i&15] + w[(i+9) & 15]) | 0;\n }\n \n tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;\n \n // shift register\n h7 = h6; h6 = h5; h5 = h4;\n h4 = h3 + tmp | 0;\n h3 = h2; h2 = h1; h1 = h0;\n\n h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;\n }\n\n h[0] = h[0]+h0 | 0;\n h[1] = h[1]+h1 | 0;\n h[2] = h[2]+h2 | 0;\n h[3] = h[3]+h3 | 0;\n h[4] = h[4]+h4 | 0;\n h[5] = h[5]+h5 | 0;\n h[6] = h[6]+h6 | 0;\n h[7] = h[7]+h7 | 0;\n }\n};\n\n\n/** @fileOverview Random number generator.\n *\n * @author Emily Stark\n * @author Mike Hamburg\n * @author Dan Boneh\n * @author Michael Brooks\n * @author Steve Thomas\n */\n\n/** \n * @class Random number generator\n * @description\n * <b>Use sjcl.random as a singleton for this class!</b>\n * <p>\n * This random number generator is a derivative of Ferguson and Schneier's\n * generator Fortuna. It collects entropy from various events into several\n * pools, implemented by streaming SHA-256 instances. It differs from\n * ordinary Fortuna in a few ways, though.\n * </p>\n *\n * <p>\n * Most importantly, it has an entropy estimator. This is present because\n * there is a strong conflict here between making the generator available\n * as soon as possible, and making sure that it doesn't \"run on empty\".\n * In Fortuna, there is a saved state file, and the system is likely to have\n * time to warm up.\n * </p>\n *\n * <p>\n * Second, because users are unlikely to stay on the page for very long,\n * and to speed startup time, the number of pools increases logarithmically:\n * a new pool is created when the previous one is actually used for a reseed.\n * This gives the same asymptotic guarantees as Fortuna, but gives more\n * entropy to early reseeds.\n * </p>\n *\n * <p>\n * The entire mechanism here feels pretty klunky. Furthermore, there are\n * several improvements that should be made, including support for\n * dedicated cryptographic functions that may be present in some browsers;\n * state files in local storage; cookies containing randomness; etc. So\n * look for improvements in future versions.\n * </p>\n * @constructor\n */\nsjcl.prng = function(defaultParanoia) {\n \n /* private */\n this._pools = [new sjcl.hash.sha256()];\n this._poolEntropy = [0];\n this._reseedCount = 0;\n this._robins = {};\n this._eventId = 0;\n \n this._collectorIds = {};\n this._collectorIdNext = 0;\n \n this._strength = 0;\n this._poolStrength = 0;\n this._nextReseed = 0;\n this._key = [0,0,0,0,0,0,0,0];\n this._counter = [0,0,0,0];\n this._cipher = undefined;\n this._defaultParanoia = defaultParanoia;\n \n /* event listener stuff */\n this._collectorsStarted = false;\n this._callbacks = {progress: {}, seeded: {}};\n this._callbackI = 0;\n \n /* constants */\n this._NOT_READY = 0;\n this._READY = 1;\n this._REQUIRES_RESEED = 2;\n\n this._MAX_WORDS_PER_BURST = 65536;\n this._PARANOIA_LEVELS = [0,48,64,96,128,192,256,384,512,768,1024];\n this._MILLISECONDS_PER_RESEED = 30000;\n this._BITS_PER_RESEED = 80;\n};\n \nsjcl.prng.prototype = {\n /** Generate several random words, and return them in an array.\n * A word consists of 32 bits (4 bytes)\n * @param {Number} nwords The number of words to generate.\n */\n randomWords: function (nwords, paranoia) {\n var out = [], i, readiness = this.isReady(paranoia), g;\n \n if (readiness === this._NOT_READY) {\n throw new sjcl.exception.notReady(\"generator isn't seeded\");\n } else if (readiness & this._REQUIRES_RESEED) {\n this._reseedFromPools(!(readiness & this._READY));\n }\n \n for (i=0; i<nwords; i+= 4) {\n if ((i+1) % this._MAX_WORDS_PER_BURST === 0) {\n this._gate();\n }\n \n g = this._gen4words();\n out.push(g[0],g[1],g[2],g[3]);\n }\n this._gate();\n \n return out.slice(0,nwords);\n },\n \n setDefaultParanoia: function (paranoia, allowZeroParanoia) {\n if (paranoia === 0 && allowZeroParanoia !== \"Setting paranoia=0 will ruin your security; use it only for testing\") {\n throw new sjcl.exception.invalid(\"Setting paranoia=0 will ruin your security; use it only for testing\");\n }\n\n this._defaultParanoia = paranoia;\n },\n \n /**\n * Add entropy to the pools.\n * @param data The entropic value. Should be a 32-bit integer, array of 32-bit integers, or string\n * @param {Number} estimatedEntropy The estimated entropy of data, in bits\n * @param {String} source The source of the entropy, eg \"mouse\"\n */\n addEntropy: function (data, estimatedEntropy, source) {\n source = source || \"user\";\n \n var id,\n i, tmp,\n t = (new Date()).valueOf(),\n robin = this._robins[source],\n oldReady = this.isReady(), err = 0, objName;\n \n id = this._collectorIds[source];\n if (id === undefined) { id = this._collectorIds[source] = this._collectorIdNext ++; }\n \n if (robin === undefined) { robin = this._robins[source] = 0; }\n this._robins[source] = ( this._robins[source] + 1 ) % this._pools.length;\n \n switch(typeof(data)) {\n \n case \"number\":\n if (estimatedEntropy === undefined) {\n estimatedEntropy = 1;\n }\n this._pools[robin].update([id,this._eventId++,1,estimatedEntropy,t,1,data|0]);\n break;\n \n case \"object\":\n objName = Object.prototype.toString.call(data);\n if (objName === \"[object Uint32Array]\") {\n tmp = [];\n for (i = 0; i < data.length; i++) {\n tmp.push(data[i]);\n }\n data = tmp;\n } else {\n if (objName !== \"[object Array]\") {\n err = 1;\n }\n for (i=0; i<data.length && !err; i++) {\n if (typeof(data[i]) !== \"number\") {\n err = 1;\n }\n }\n }\n if (!err) {\n if (estimatedEntropy === undefined) {\n /* horrible entropy estimator */\n estimatedEntropy = 0;\n for (i=0; i<data.length; i++) {\n tmp= data[i];\n while (tmp>0) {\n estimatedEntropy++;\n tmp = tmp >>> 1;\n }\n }\n }\n this._pools[robin].update([id,this._eventId++,2,estimatedEntropy,t,data.length].concat(data));\n }\n break;\n \n case \"string\":\n if (estimatedEntropy === undefined) {\n /* English text has just over 1 bit per character of entropy.\n * But this might be HTML or something, and have far less\n * entropy than English... Oh well, let's just say one bit.\n */\n estimatedEntropy = data.length;\n }\n this._pools[robin].update([id,this._eventId++,3,estimatedEntropy,t,data.length]);\n this._pools[robin].update(data);\n break;\n \n default:\n err=1;\n }\n if (err) {\n throw new sjcl.exception.bug(\"random: addEntropy only supports number, array of numbers or string\");\n }\n \n /* record the new strength */\n this._poolEntropy[robin] += estimatedEntropy;\n this._poolStrength += estimatedEntropy;\n \n /* fire off events */\n if (oldReady === this._NOT_READY) {\n if (this.isReady() !== this._NOT_READY) {\n this._fireEvent(\"seeded\", Math.max(this._strength, this._poolStrength));\n }\n this._fireEvent(\"progress\", this.getProgress());\n }\n },\n \n /** Is the generator ready? */\n isReady: function (paranoia) {\n var entropyRequired = this._PARANOIA_LEVELS[ (paranoia !== undefined) ? paranoia : this._defaultParanoia ];\n \n if (this._strength && this._strength >= entropyRequired) {\n return (this._poolEntropy[0] > this._BITS_PER_RESEED && (new Date()).valueOf() > this._nextReseed) ?\n this._REQUIRES_RESEED | this._READY :\n this._READY;\n } else {\n return (this._poolStrength >= entropyRequired) ?\n this._REQUIRES_RESEED | this._NOT_READY :\n this._NOT_READY;\n }\n },\n \n /** Get the generator's progress toward readiness, as a fraction */\n getProgress: function (paranoia) {\n var entropyRequired = this._PARANOIA_LEVELS[ paranoia ? paranoia : this._defaultParanoia ];\n \n if (this._strength >= entropyRequired) {\n return 1.0;\n } else {\n return (this._poolStrength > entropyRequired) ?\n 1.0 :\n this._poolStrength / entropyRequired;\n }\n },\n \n /** start the built-in entropy collectors */\n startCollectors: function () {\n if (this._collectorsStarted) { return; }\n \n this._eventListener = {\n loadTimeCollector: this._bind(this._loadTimeCollector),\n mouseCollector: this._bind(this._mouseCollector),\n keyboardCollector: this._bind(this._keyboardCollector),\n accelerometerCollector: this._bind(this._accelerometerCollector),\n touchCollector: this._bind(this._touchCollector)\n };\n\n if (window.addEventListener) {\n window.addEventListener(\"load\", this._eventListener.loadTimeCollector, false);\n window.addEventListener(\"mousemove\", this._eventListener.mouseCollector, false);\n window.addEventListener(\"keypress\", this._eventListener.keyboardCollector, false);\n window.addEventListener(\"devicemotion\", this._eventListener.accelerometerCollector, false);\n window.addEventListener(\"touchmove\", this._eventListener.touchCollector, false);\n } else if (document.attachEvent) {\n document.attachEvent(\"onload\", this._eventListener.loadTimeCollector);\n document.attachEvent(\"onmousemove\", this._eventListener.mouseCollector);\n document.attachEvent(\"keypress\", this._eventListener.keyboardCollector);\n } else {\n throw new sjcl.exception.bug(\"can't attach event\");\n }\n \n this._collectorsStarted = true;\n },\n \n /** stop the built-in entropy collectors */\n stopCollectors: function () {\n if (!this._collectorsStarted) { return; }\n \n if (window.removeEventListener) {\n window.removeEventListener(\"load\", this._eventListener.loadTimeCollector, false);\n window.removeEventListener(\"mousemove\", this._eventListener.mouseCollector, false);\n window.removeEventListener(\"keypress\", this._eventListener.keyboardCollector, false);\n window.removeEventListener(\"devicemotion\", this._eventListener.accelerometerCollector, false);\n window.removeEventListener(\"touchmove\", this._eventListener.touchCollector, false);\n } else if (document.detachEvent) {\n document.detachEvent(\"onload\", this._eventListener.loadTimeCollector);\n document.detachEvent(\"onmousemove\", this._eventListener.mouseCollector);\n document.detachEvent(\"keypress\", this._eventListener.keyboardCollector);\n }\n\n this._collectorsStarted = false;\n },\n \n /* use a cookie to store entropy.\n useCookie: function (all_cookies) {\n throw new sjcl.exception.bug(\"random: useCookie is unimplemented\");\n },*/\n \n /** add an event listener for progress or seeded-ness. */\n addEventListener: function (name, callback) {\n this._callbacks[name][this._callbackI++] = callback;\n },\n \n /** remove an event listener for progress or seeded-ness */\n removeEventListener: function (name, cb) {\n var i, j, cbs=this._callbacks[name], jsTemp=[];\n\n /* I'm not sure if this is necessary; in C++, iterating over a\n * collection and modifying it at the same time is a no-no.\n */\n\n for (j in cbs) {\n if (cbs.hasOwnProperty(j) && cbs[j] === cb) {\n jsTemp.push(j);\n }\n }\n\n for (i=0; i<jsTemp.length; i++) {\n j = jsTemp[i];\n delete cbs[j];\n }\n },\n \n _bind: function (func) {\n var that = this;\n return function () {\n func.apply(that, arguments);\n };\n },\n\n /** Generate 4 random words, no reseed, no gate.\n * @private\n */\n _gen4words: function () {\n for (var i=0; i<4; i++) {\n this._counter[i] = this._counter[i]+1 | 0;\n if (this._counter[i]) { break; }\n }\n return this._cipher.encrypt(this._counter);\n },\n \n /* Rekey the AES instance with itself after a request, or every _MAX_WORDS_PER_BURST words.\n * @private\n */\n _gate: function () {\n this._key = this._gen4words().concat(this._gen4words());\n this._cipher = new sjcl.cipher.aes(this._key);\n },\n \n /** Reseed the generator with the given words\n * @private\n */\n _reseed: function (seedWords) {\n this._key = sjcl.hash.sha256.hash(this._key.concat(seedWords));\n this._cipher = new sjcl.cipher.aes(this._key);\n for (var i=0; i<4; i++) {\n this._counter[i] = this._counter[i]+1 | 0;\n if (this._counter[i]) { break; }\n }\n },\n \n /** reseed the data from the entropy pools\n * @param full If set, use all the entropy pools in the reseed.\n */\n _reseedFromPools: function (full) {\n var reseedData = [], strength = 0, i;\n \n this._nextReseed = reseedData[0] =\n (new Date()).valueOf() + this._MILLISECONDS_PER_RESEED;\n \n for (i=0; i<16; i++) {\n /* On some browsers, this is cryptographically random. So we might\n * as well toss it in the pot and stir...\n */\n reseedData.push(Math.random()*0x100000000|0);\n }\n \n for (i=0; i<this._pools.length; i++) {\n reseedData = reseedData.concat(this._pools[i].finalize());\n strength += this._poolEntropy[i];\n this._poolEntropy[i] = 0;\n \n if (!full && (this._reseedCount & (1<<i))) { break; }\n }\n \n /* if we used the last pool, push a new one onto the stack */\n if (this._reseedCount >= 1 << this._pools.length) {\n this._pools.push(new sjcl.hash.sha256());\n this._poolEntropy.push(0);\n }\n \n /* how strong was this reseed? */\n this._poolStrength -= strength;\n if (strength > this._strength) {\n this._strength = strength;\n }\n \n this._reseedCount ++;\n this._reseed(reseedData);\n },\n \n _keyboardCollector: function () {\n this._addCurrentTimeToEntropy(1);\n },\n \n _mouseCollector: function (ev) {\n var x, y;\n\n try {\n x = ev.x || ev.clientX || ev.offsetX || 0;\n y = ev.y || ev.clientY || ev.offsetY || 0;\n } catch (err) {\n // Event originated from a secure element. No mouse position available.\n x = 0;\n y = 0;\n }\n\n if (x != 0 && y!= 0) {\n this.addEntropy([x,y], 2, \"mouse\");\n }\n\n this._addCurrentTimeToEntropy(0);\n },\n\n _touchCollector: function(ev) {\n var touch = ev.touches[0] || ev.changedTouches[0];\n var x = touch.pageX || touch.clientX,\n y = touch.pageY || touch.clientY;\n\n this.addEntropy([x,y],1,\"touch\");\n\n this._addCurrentTimeToEntropy(0);\n },\n \n _loadTimeCollector: function () {\n this._addCurrentTimeToEntropy(2);\n },\n\n _addCurrentTimeToEntropy: function (estimatedEntropy) {\n if (typeof window !== 'undefined' && window.performance && typeof window.performance.now === \"function\") {\n //how much entropy do we want to add here?\n this.addEntropy(window.performance.now(), estimatedEntropy, \"loadtime\");\n } else {\n this.addEntropy((new Date()).valueOf(), estimatedEntropy, \"loadtime\");\n }\n },\n _accelerometerCollector: function (ev) {\n var ac = ev.accelerationIncludingGravity.x||ev.accelerationIncludingGravity.y||ev.accelerationIncludingGravity.z;\n if(window.orientation){\n var or = window.orientation;\n if (typeof or === \"number\") {\n this.addEntropy(or, 1, \"accelerometer\");\n }\n }\n if (ac) {\n this.addEntropy(ac, 2, \"accelerometer\");\n }\n this._addCurrentTimeToEntropy(0);\n },\n\n _fireEvent: function (name, arg) {\n var j, cbs=sjcl.random._callbacks[name], cbsTemp=[];\n /* TODO: there is a race condition between removing collectors and firing them */\n\n /* I'm not sure if this is necessary; in C++, iterating over a\n * collection and modifying it at the same time is a no-no.\n */\n\n for (j in cbs) {\n if (cbs.hasOwnProperty(j)) {\n cbsTemp.push(cbs[j]);\n }\n }\n\n for (j=0; j<cbsTemp.length; j++) {\n cbsTemp[j](arg);\n }\n }\n};\n\n/** an instance for the prng.\n* @see sjcl.prng\n*/\nsjcl.random = new sjcl.prng(6);\n\n(function(){\n // function for getting nodejs crypto module. catches and ignores errors.\n function getCryptoModule() {\n try {\n return require('crypto');\n }\n catch (e) {\n return null;\n }\n }\n\n try {\n var buf, crypt, ab;\n\n // get cryptographically strong entropy depending on runtime environment\n if (typeof module !== 'undefined' && module.exports && (crypt = getCryptoModule()) && crypt.randomBytes) {\n buf = crypt.randomBytes(1024/8);\n buf = new Uint32Array(new Uint8Array(buf).buffer);\n sjcl.random.addEntropy(buf, 1024, \"crypto.randomBytes\");\n\n } else if (typeof window !== 'undefined' && typeof Uint32Array !== 'undefined') {\n ab = new Uint32Array(32);\n if (window.crypto && window.crypto.getRandomValues) {\n window.crypto.getRandomValues(ab);\n } else if (window.msCrypto && window.msCrypto.getRandomValues) {\n window.msCrypto.getRandomValues(ab);\n } else {\n return;\n }\n\n // get cryptographically strong entropy in Webkit\n sjcl.random.addEntropy(ab, 1024, \"crypto.getRandomValues\");\n\n } else {\n // no getRandomValues :-(\n }\n } catch (e) {\n if (typeof window !== 'undefined' && window.console) {\n console.log(\"There was an error collecting entropy from the browser:\");\n console.log(e);\n //we do not want the library to fail due to randomness not being maintained.\n }\n }\n}());\n/* global sjcl */\nsjcl.codec.base58 = {\n alpha: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',\n lookup: {\n '1': 0,\n '2': 1,\n '3': 2,\n '4': 3,\n '5': 4,\n '6': 5,\n '7': 6,\n '8': 7,\n '9': 8,\n A: 9,\n B: 10,\n C: 11,\n D: 12,\n E: 13,\n F: 14,\n G: 15,\n H: 16,\n J: 17,\n K: 18,\n L: 19,\n M: 20,\n N: 21,\n P: 22,\n Q: 23,\n R: 24,\n S: 25,\n T: 26,\n U: 27,\n V: 28,\n W: 29,\n X: 30,\n Y: 31,\n Z: 32,\n a: 33,\n b: 34,\n c: 35,\n d: 36,\n e: 37,\n f: 38,\n g: 39,\n h: 40,\n i: 41,\n j: 42,\n k: 43,\n m: 44,\n n: 45,\n o: 46,\n p: 47,\n q: 48,\n r: 49,\n s: 50,\n t: 51,\n u: 52,\n v: 53,\n w: 54,\n x: 55,\n y: 56,\n z: 57\n },\n\n toBits: function(fromDigits) {\n var work = new sjcl.bn();\n var fb = new sjcl.bn(58);\n\n for (var i = 0; i < fromDigits.length; i++) {\n var digit = new sjcl.bn(sjcl.codec.base58.lookup[fromDigits[i]]);\n work.addM(digit.mul(fb.power(fromDigits.length - i - 1)));\n }\n\n work.fullReduce();\n return work.toBits();\n },\n\n fromBits: function(bits) {\n var num = sjcl.bn.fromBits(bits);\n var bitlen = sjcl.bitArray.bitLength(bits);\n var len = Math.ceil(bitlen * (Math.log(2) / Math.log(58)));\n var base = new sjcl.bn(58);\n var str = '';\n\n for (var i = len - 1; i >= 0; i--) {\n var iBig = new sjcl.bn(i);\n var exp = base.power(iBig);\n\n var pos = 0;\n while (num.greaterEquals(exp)) {\n num.subM(exp);\n num.normalize();\n pos++;\n }\n if (!(i === len - 1 && pos === 0)) {\n str += sjcl.codec.base58.alpha[pos];\n }\n }\n return str;\n }\n};\n/* global sjcl */\n\nsjcl.codec.base58Check = {\n defaultChecksumFn: function(bits) {\n return sjcl.bitArray.bitSlice(\n sjcl.hash.sha256.hash(sjcl.hash.sha256.hash(bits)),\n 0,\n 32\n );\n },\n\n fromBits: function(version, bits, checksumFn) {\n checksumFn = checksumFn || sjcl.codec.base58Check.defaultChecksumFn;\n\n var bitsWithHeader = sjcl.bitArray.concat(\n [sjcl.bitArray.partial(8, version)],\n bits\n );\n var checksum = checksumFn(bitsWithHeader);\n var headerPayloadAndChecksum = sjcl.bitArray.concat(\n bitsWithHeader,\n checksum\n );\n var base58str = sjcl.codec.base58.fromBits(headerPayloadAndChecksum);\n\n var leadingZeroBits = 0;\n while (\n sjcl.bitArray.extract(headerPayloadAndChecksum, leadingZeroBits, 8) == 0\n ) {\n base58str = '1' + base58str;\n leadingZeroBits += 8;\n }\n\n return base58str;\n },\n toBits: function(str, checksumFn) {\n checksumFn = checksumFn || sjcl.codec.base58Check.defaultChecksumFn;\n\n var bits = sjcl.codec.base58.toBits(str);\n var bitlen = sjcl.bitArray.bitLength(bits);\n // var headerByte = sjcl.bitArray.extract(bits, 0, 8);\n var payload = sjcl.bitArray.bitSlice(bits, 0, bitlen - 32);\n\n var transmittedChecksum = sjcl.bitArray.bitSlice(bits, bitlen - 32);\n var computedChecksum = checksumFn(payload);\n if (!sjcl.bitArray.equal(computedChecksum, transmittedChecksum)) {\n throw new Error('Checksums do not match');\n }\n\n return payload;\n }\n};\n/* global sjcl */\nsjcl.codec.steemit = {\n ROLES: ['owner', 'memo', 'active', 'posting'],\n MAINNET: {\n pubHeader: 0x0,\n privHeader: 0x80,\n pubPrefix: 'STM'\n },\n TESTNET: {\n pubHeader: 0x0,\n privHeader: 0x80,\n pubPrefix: 'TST'\n },\n keyChecksum: function(bits) {\n return sjcl.bitArray.bitSlice(sjcl.hash.ripemd160.hash(bits), 0, 32);\n },\n\n keysFromPassword: function(account, password) {\n var keyPairs = {};\n var CURVE = sjcl.ecc.curves.k256;\n for (var i = 0; i < sjcl.codec.steemit.ROLES.length; i++) {\n var role = sjcl.codec.steemit.ROLES[i];\n var seed = account + role + password;\n var secret = sjcl.bn.fromBits(\n sjcl.hash.sha256.hash(sjcl.codec.utf8String.toBits(seed))\n );\n keyPairs[role] = sjcl.ecc.ecdsa.generateKeys(CURVE, 0, secret);\n }\n return keyPairs;\n },\n\n signRecoverably: function(sec, hash, paranoia, fixedKForTesting) {\n /*\n * an explanation of the format of the recovery parameter.\n * given any ECDSA signature (r, s), there are 4 possible public keys that could have\n * generated the signature over the hash. Two have odd Y-coordinates and two have\n * even Y-coordinates. the recovery parameter deterministically identifies the public key\n * that _did_ generate the signature.\n *\n * to get the public key given the recovery parameter, do the following:\n * a. if the recovery parameter is between 27 and 31, subtract 27 and remember that the public\n * key that produced the signature is canonically an \"uncompressed\" public key (i.e. known by\n * its X and Y coordinates)\n * b. If the recovery parameter is between 31 and 34, subtract 31 and remember that the public\n * key that produced the signature is canonically a \"compressed\" public key (i.e. known by only\n * its X coordinate).\n *\n * note that in the Steem blockchain, all public keys are canonically compressed and therefore the\n * recovery parameter will always be between 31 and 34. therefore only case \"b\" applies here.\n *\n * after the subtraction, you will get a number between 0 and 4. this number, i, encodes the parity\n * and \"overflow\" of the candidate public key among the four options.\n *\n * the lowest bit of i in binary notation indicates the parity of the candidate public key.\n * if the lowest bit is set, the candidate public key's Y coordinate is odd. If it is cleared, the\n * Y coordinate is even.\n *\n * The next-lowest bit of i, if set, indicates that the candidate public key's x was greater than\n * the order of k. This is true of approximately 1 in 1^127 points on the secp256k1 curve.\n * considering the rarity of this condition, it's much much simpler to just brute-force this\n * condition when it occurs, following §4.1.6.\n */\n\n if (sjcl.bitArray.bitLength(hash) > this._curveBitLength) {\n hash = sjcl.bitArray.clamp(hash, this._curveBitLength);\n }\n\n while (true) {\n\n var CURVE = sjcl.ecc.curves.k256,\n n = CURVE.r,\n l = n.bitLength(),\n k = fixedKForTesting || sjcl.bn.random(n.sub(1), paranoia).add(1),\n R = CURVE.G.mult(k);\n\n if (fixedKForTesting) {\n fixedKForTesting = fixedKForTesting.add(1);\n }\n \n if (R.isIdentity) {\n continue;\n }\n\n var r = R.x.mod(n),\n ss = sjcl.bn.fromBits(hash).add(r.mul(sec._exponent)),\n s = ss.mul(k.inverseMod(n)).mod(n),\n isOdd = R.y.limbs[0] & (0x1 == 1),\n recoveryParam = 31;\n\n if (isOdd) {\n recoveryParam++;\n }\n \n var rBitArray = r.toBits(l);\n var sBitArray = s.toBits(l);\n\n var r0 = sjcl.bitArray.extract(rBitArray, 0, 8);\n var r1 = sjcl.bitArray.extract(rBitArray, 8, 8);\n var s0 = sjcl.bitArray.extract(sBitArray, 0, 8);\n var s1 = sjcl.bitArray.extract(sBitArray, 8, 8);\n \n if (!(r0 & 0x80)\n && !(r0 == 0 && !(r1 & 0x80))\n && !(s0 & 0x80)\n && !(s0 == 0 && !(s1 & 0x80))) {\n var rawSig = sjcl.bitArray.concat(r.toBits(l), s.toBits(l));\n \n return sjcl.bitArray.concat(\n [sjcl.bitArray.partial(8, recoveryParam)],\n rawSig\n );\n }\n }\n },\n\n recoverPublicKey: function(hash, sig) {\n var CURVE = sjcl.ecc.curves.k256;\n var n = CURVE.r;\n var G = CURVE.G;\n\n var recoveryParameter = sjcl.bitArray.extract(sig, 0, 8) - 31;\n var e = sjcl.bn.fromBits(hash);\n var r = sjcl.bn.fromBits(sjcl.bitArray.bitSlice(sig, 8, 264));\n var s = sjcl.bn.fromBits(sjcl.bitArray.bitSlice(sig, 264));\n\n if (recoveryParameter < 0 || recoveryParameter > 4) {\n throw new Error('Corrupt signature: recovery parameter is wrong');\n }\n\n var hasOddParity = (recoveryParameter & 0x1) === 1;\n\n for (var j = 0; j <= 1; j++) {\n var x = r.add(n.mul(j));\n\n var y = sjcl.codec.steemit._yFromX(x, hasOddParity);\n var p = new sjcl.ecc.point(CURVE, x, y);\n\n var rInv = r.inverseMod(n);\n var eNeg = new sjcl.bn(0).sub(e).mod(n);\n var keyPoint = G.mult2(eNeg, s, p).mult(rInv);\n var key = new sjcl.ecc.ecdsa.publicKey(CURVE, keyPoint);\n try {\n key.verify(hash, sjcl.bitArray.bitSlice(sig, 8));\n return key;\n } catch (_) {\n // do nothing, wait for next j\n }\n }\n throw new Error('public key was unrecoverable');\n },\n\n serializePublicKey: function(key, net) {\n net = net || sjcl.codec.steemit.MAINNET;\n\n var point = key.get();\n var header = net.pubHeader;\n\n // the public key header sets 0x3 if X is odd, 0x2 if even\n if (sjcl.bn.fromBits(point.y).limbs[0] & 0x1) {\n header |= 0x3;\n } else {\n header |= 0x2;\n }\n return (\n net.pubPrefix +\n sjcl.codec.base58Check.fromBits(\n header,\n point.x,\n sjcl.codec.steemit.keyChecksum\n )\n );\n },\n\n deserializePublicKey: function(pubKey, net) {\n net = net || sjcl.codec.steemit.MAINNET;\n var CURVE = sjcl.ecc.curves.k256;\n\n if (pubKey.indexOf(net.pubPrefix) !== 0) {\n throw new Error(\n 'Public key is not in correct format, it should begin with \"' +\n net.pubPrefix +\n '\"'\n );\n }\n\n var payload = sjcl.codec.base58Check.toBits(\n pubKey.slice(3),\n sjcl.codec.steemit.keyChecksum\n );\n var headerByte = sjcl.bitArray.extract(payload, 0, 8);\n var isOdd = headerByte == 0x3;\n if ((headerByte & net.pubHeader) !== net.pubHeader) {\n throw new Error('public key has invalid header');\n } else if ((headerByte & 0x3) === 0 && (headerByte & 0x2) === 0) {\n throw new Error(\n 'public key has invalid header: should set 0x2 or 0x3, but got 0x' +\n headerByte.toString(16)\n );\n }\n\n var xBits = sjcl.bitArray.bitSlice(payload, 8);\n var x = sjcl.bn.fromBits(xBits);\n var y = sjcl.codec.steemit._yFromX(x, isOdd);\n\n return new sjcl.ecc.ecdsa.publicKey(CURVE, new sjcl.ecc.point(CURVE, x, y));\n },\n\n serializePrivateKey: function(key, net) {\n net = net || sjcl.codec.steemit.MAINNET;\n return sjcl.codec.base58Check.fromBits(net.privHeader, key.get());\n },\n\n deserializePrivateKey: function(wif, header) {\n header = header || sjcl.codec.steemit.MAINNET.privHeader;\n var curve = sjcl.ecc.curves.k256;\n var payload = sjcl.codec.base58Check.toBits(wif);\n var headerByte = sjcl.bitArray.extract(payload, 0, 8);\n if (headerByte !== header) {\n throw new Error(\n 'private key has invalid header: wanted 0x' +\n header.toString(16) +\n ', got 0x' +\n headerByte.toString(16)\n );\n }\n\n var keyBits = sjcl.bitArray.bitSlice(payload, 8);\n return new sjcl.ecc.ecdsa.secretKey(curve, sjcl.bn.fromBits(keyBits));\n },\n\n _yFromX: function(x, shouldBeOdd) {\n var CURVE = sjcl.ecc.curves.k256;\n var PIDENT = sjcl.codec.steemit._getPident();\n\n var alpha = x\n .powermod(3, CURVE.field.modulus)\n .add(x.mulmod(CURVE.a, CURVE.field.modulus))\n .add(CURVE.b)\n .mod(CURVE.field.modulus);\n\n var y = alpha.powermod(PIDENT, CURVE.field.modulus);\n var yIsOdd = y.mod(2).equals(1);\n\n if ((yIsOdd && shouldBeOdd) || (!yIsOdd && !shouldBeOdd)) {\n return y;\n } else {\n return CURVE.field.modulus.sub(y).normalize();\n }\n },\n\n _getPident: function() {\n if (!sjcl.codec.steemit.PIDENT) {\n sjcl.codec.steemit.PIDENT = sjcl.ecc.curves.k256.field.modulus\n .add(1)\n .normalize()\n .halveM()\n .halveM()\n .normalize();\n }\n return sjcl.codec.steemit.PIDENT;\n }\n};\n\n\n return sjcl;\n })();\n\n exports.sjcl = sjcl;\n\n function PrivateKey(priv, pub) {\n // we deliberately avoid exposing private key material on the instance.\n // this is paranoid and probably doesn't protect against a determined\n // attack, but why make things easy?\n this.getPublicKey = function() {\n if (!pub) {\n pub = sjcl.ecc.ecdsa.generateKeys(\n sjcl.ecc.curves.k256,\n undefined,\n sjcl.bn.fromBits(priv.get())\n ).pub;\n }\n return new PublicKey(pub);\n };\n\n this.sign = function(hash) {\n return fromBits(sjcl.codec.steemit.signRecoverably(priv, toBits(hash)));\n };\n }\n\n PrivateKey.from = function(wif, header) {\n return new PrivateKey(\n sjcl.codec.steemit.deserializePrivateKey(wif, header)\n );\n };\n\n function PublicKey(pub) {\n this._p = pub;\n }\n\n PublicKey.from = function(str) {\n return new PublicKey(sjcl.codec.steemit.deserializePublicKey(str));\n };\n\n PublicKey.recover = function(hash, sig) {\n return new PublicKey(\n sjcl.codec.steemit.recoverPublicKey(toBits(hash), toBits(sig))\n );\n };\n\n PublicKey.prototype = {\n toString: function() {\n return sjcl.codec.steemit.serializePublicKey(this._p);\n },\n verify: function(hash, signature) {\n try {\n var rawSig = sjcl.bitArray.bitSlice(toBits(signature), 8);\n this._p.verify(toBits(hash), rawSig);\n return true;\n } catch (_) {\n return false;\n }\n }\n };\n\n function generateKeys() {\n var k = sjcl.ecc.ecdsa.generateKeys(sjcl.ecc.curves.k256);\n return serializePair(k);\n }\n\n function keysFromPassword(accountName, accountPassword) {\n var keys = sjcl.codec.steemit.keysFromPassword(\n accountName,\n accountPassword\n );\n return {\n owner: serializePair(keys.owner),\n memo: serializePair(keys.memo),\n posting: serializePair(keys.posting),\n active: serializePair(keys.active)\n };\n }\n\n function sha256(data) {\n return fromBits(sjcl.hash.sha256.hash(toBits(data)));\n }\n\n function ripemd160(data) {\n return fromBits(sjcl.hash.ripemd160.hash(toBits(data)));\n }\n\n function hexify(data) {\n var result = '';\n var view = new Uint8Array(data);\n for (var i = 0; i < view.byteLength; i++) {\n if (view[i] < 16) {\n result += '0';\n }\n result += view[i].toString(16);\n }\n return result;\n }\n\n function serializePair(k) {\n return {\n private: sjcl.codec.steemit.serializePrivateKey(k.sec),\n public: sjcl.codec.steemit.serializePublicKey(k.pub)\n };\n }\n\n function toBits(a) {\n if (a instanceof ArrayBuffer) {\n return sjcl.codec.arrayBuffer.toBits(a);\n } else {\n throw new Error('You must supply an ArrayBuffer');\n }\n }\n\n function fromBits(a) {\n return sjcl.codec.arrayBuffer.fromBits(a, 0, 0);\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@steemit/libcrypto/lib/crypto.js","var rng = require('./rng')\n\nfunction error () {\n var m = [].slice.call(arguments).join(' ')\n throw new Error([\n m,\n 'we accept pull requests',\n 'http://github.com/dominictarr/crypto-browserify'\n ].join('\\n'))\n}\n\nexports.createHash = require('./create-hash')\n\nexports.createHmac = require('./create-hmac')\n\nexports.randomBytes = function(size, callback) {\n if (callback && callback.call) {\n try {\n callback.call(this, undefined, new Buffer(rng(size)))\n } catch (err) { callback(err) }\n } else {\n return new Buffer(rng(size))\n }\n}\n\nfunction each(a, f) {\n for(var i in a)\n f(a[i], i)\n}\n\nexports.getHashes = function () {\n return ['sha1', 'sha256', 'sha512', 'md5', 'rmd160']\n}\n\nvar p = require('./pbkdf2')(exports)\nexports.pbkdf2 = p.pbkdf2\nexports.pbkdf2Sync = p.pbkdf2Sync\nrequire('browserify-aes/inject')(exports, module.exports);\n\n// the least I can do is make error messages for the rest of the node.js/crypto api.\neach(['createCredentials'\n, 'createSign'\n, 'createVerify'\n, 'createDiffieHellman'\n], function (name) {\n exports[name] = function () {\n error('sorry,', name, 'is not implemented yet')\n }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/index.js","(function() {\n var g = ('undefined' === typeof window ? global : window) || {}\n _crypto = (\n g.crypto || g.msCrypto || require('crypto')\n )\n module.exports = function(size) {\n // Modern Browsers\n if(_crypto.getRandomValues) {\n var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array\n /* This will not work in older browsers.\n * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n */\n \n _crypto.getRandomValues(bytes);\n return bytes;\n }\n else if (_crypto.randomBytes) {\n return _crypto.randomBytes(size)\n }\n else\n throw new Error(\n 'secure random number generation not supported by this browser\\n'+\n 'use chrome, FireFox or Internet Explorer 11'\n )\n }\n}())\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/rng.js","var createHash = require('sha.js')\n\nvar md5 = toConstructor(require('./md5'))\nvar rmd160 = toConstructor(require('ripemd160'))\n\nfunction toConstructor (fn) {\n return function () {\n var buffers = []\n var m= {\n update: function (data, enc) {\n if(!Buffer.isBuffer(data)) data = new Buffer(data, enc)\n buffers.push(data)\n return this\n },\n digest: function (enc) {\n var buf = Buffer.concat(buffers)\n var r = fn(buf)\n buffers = null\n return enc ? r.toString(enc) : r\n }\n }\n return m\n }\n}\n\nmodule.exports = function (alg) {\n if('md5' === alg) return new md5()\n if('rmd160' === alg) return new rmd160()\n return createHash(alg)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/create-hash.js","var exports = module.exports = function (alg) {\n var Alg = exports[alg]\n if(!Alg) throw new Error(alg + ' is not supported (we accept pull requests)')\n return new Alg()\n}\n\nvar Buffer = require('buffer').Buffer\nvar Hash = require('./hash')(Buffer)\n\nexports.sha1 = require('./sha1')(Buffer, Hash)\nexports.sha256 = require('./sha256')(Buffer, Hash)\nexports.sha512 = require('./sha512')(Buffer, Hash)\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/sha.js/index.js","module.exports = function (Buffer) {\n\n //prototype class for hash functions\n function Hash (blockSize, finalSize) {\n this._block = new Buffer(blockSize) //new Uint32Array(blockSize/4)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n this._s = 0\n }\n\n Hash.prototype.init = function () {\n this._s = 0\n this._len = 0\n }\n\n Hash.prototype.update = function (data, enc) {\n if (\"string\" === typeof data) {\n enc = enc || \"utf8\"\n data = new Buffer(data, enc)\n }\n\n var l = this._len += data.length\n var s = this._s = (this._s || 0)\n var f = 0\n var buffer = this._block\n\n while (s < l) {\n var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))\n var ch = (t - f)\n\n for (var i = 0; i < ch; i++) {\n buffer[(s % this._blockSize) + i] = data[i + f]\n }\n\n s += ch\n f += ch\n\n if ((s % this._blockSize) === 0) {\n this._update(buffer)\n }\n }\n this._s = s\n\n return this\n }\n\n Hash.prototype.digest = function (enc) {\n // Suppose the length of the message M, in bits, is l\n var l = this._len * 8\n\n // Append the bit 1 to the end of the message\n this._block[this._len % this._blockSize] = 0x80\n\n // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize\n this._block.fill(0, this._len % this._blockSize + 1)\n\n if (l % (this._blockSize * 8) >= this._finalSize * 8) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n // to this append the block which is equal to the number l written in binary\n // TODO: handle case where l is > Math.pow(2, 29)\n this._block.writeInt32BE(l, this._blockSize - 4)\n\n var hash = this._update(this._block) || this._hash()\n\n return enc ? hash.toString(enc) : hash\n }\n\n Hash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n }\n\n return Hash\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/sha.js/hash.js","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('util').inherits\n\nmodule.exports = function (Buffer, Hash) {\n\n var A = 0|0\n var B = 4|0\n var C = 8|0\n var D = 12|0\n var E = 16|0\n\n var W = new (typeof Int32Array === 'undefined' ? Array : Int32Array)(80)\n\n var POOL = []\n\n function Sha1 () {\n if(POOL.length)\n return POOL.pop().init()\n\n if(!(this instanceof Sha1)) return new Sha1()\n this._w = W\n Hash.call(this, 16*4, 14*4)\n\n this._h = null\n this.init()\n }\n\n inherits(Sha1, Hash)\n\n Sha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n Hash.prototype.init.call(this)\n return this\n }\n\n Sha1.prototype._POOL = POOL\n Sha1.prototype._update = function (X) {\n\n var a, b, c, d, e, _a, _b, _c, _d, _e\n\n a = _a = this._a\n b = _b = this._b\n c = _c = this._c\n d = _d = this._d\n e = _e = this._e\n\n var w = this._w\n\n for(var j = 0; j < 80; j++) {\n var W = w[j] = j < 16 ? X.readInt32BE(j*4)\n : rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1)\n\n var t = add(\n add(rol(a, 5), sha1_ft(j, b, c, d)),\n add(add(e, W), sha1_kt(j))\n )\n\n e = d\n d = c\n c = rol(b, 30)\n b = a\n a = t\n }\n\n this._a = add(a, _a)\n this._b = add(b, _b)\n this._c = add(c, _c)\n this._d = add(d, _d)\n this._e = add(e, _e)\n }\n\n Sha1.prototype._hash = function () {\n if(POOL.length < 100) POOL.push(this)\n var H = new Buffer(20)\n //console.log(this._a|0, this._b|0, this._c|0, this._d|0, this._e|0)\n H.writeInt32BE(this._a|0, A)\n H.writeInt32BE(this._b|0, B)\n H.writeInt32BE(this._c|0, C)\n H.writeInt32BE(this._d|0, D)\n H.writeInt32BE(this._e|0, E)\n return H\n }\n\n /*\n * Perform the appropriate triplet combination function for the current\n * iteration\n */\n function sha1_ft(t, b, c, d) {\n if(t < 20) return (b & c) | ((~b) & d);\n if(t < 40) return b ^ c ^ d;\n if(t < 60) return (b & c) | (b & d) | (c & d);\n return b ^ c ^ d;\n }\n\n /*\n * Determine the appropriate additive constant for the current iteration\n */\n function sha1_kt(t) {\n return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :\n (t < 60) ? -1894007588 : -899497514;\n }\n\n /*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n * //dominictarr: this is 10 years old, so maybe this can be dropped?)\n *\n */\n function add(x, y) {\n return (x + y ) | 0\n //lets see how this goes on testling.\n // var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n // var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n // return (msw << 16) | (lsw & 0xFFFF);\n }\n\n /*\n * Bitwise rotate a 32-bit number to the left.\n */\n function rol(num, cnt) {\n return (num << cnt) | (num >>> (32 - cnt));\n }\n\n return Sha1\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/sha.js/sha1.js","\n/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('util').inherits\n\nmodule.exports = function (Buffer, Hash) {\n\n var K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n ]\n\n var W = new Array(64)\n\n function Sha256() {\n this.init()\n\n this._w = W //new Array(64)\n\n Hash.call(this, 16*4, 14*4)\n }\n\n inherits(Sha256, Hash)\n\n Sha256.prototype.init = function () {\n\n this._a = 0x6a09e667|0\n this._b = 0xbb67ae85|0\n this._c = 0x3c6ef372|0\n this._d = 0xa54ff53a|0\n this._e = 0x510e527f|0\n this._f = 0x9b05688c|0\n this._g = 0x1f83d9ab|0\n this._h = 0x5be0cd19|0\n\n this._len = this._s = 0\n\n return this\n }\n\n function S (X, n) {\n return (X >>> n) | (X << (32 - n));\n }\n\n function R (X, n) {\n return (X >>> n);\n }\n\n function Ch (x, y, z) {\n return ((x & y) ^ ((~x) & z));\n }\n\n function Maj (x, y, z) {\n return ((x & y) ^ (x & z) ^ (y & z));\n }\n\n function Sigma0256 (x) {\n return (S(x, 2) ^ S(x, 13) ^ S(x, 22));\n }\n\n function Sigma1256 (x) {\n return (S(x, 6) ^ S(x, 11) ^ S(x, 25));\n }\n\n function Gamma0256 (x) {\n return (S(x, 7) ^ S(x, 18) ^ R(x, 3));\n }\n\n function Gamma1256 (x) {\n return (S(x, 17) ^ S(x, 19) ^ R(x, 10));\n }\n\n Sha256.prototype._update = function(M) {\n\n var W = this._w\n var a, b, c, d, e, f, g, h\n var T1, T2\n\n a = this._a | 0\n b = this._b | 0\n c = this._c | 0\n d = this._d | 0\n e = this._e | 0\n f = this._f | 0\n g = this._g | 0\n h = this._h | 0\n\n for (var j = 0; j < 64; j++) {\n var w = W[j] = j < 16\n ? M.readInt32BE(j * 4)\n : Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16]\n\n T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w\n\n T2 = Sigma0256(a) + Maj(a, b, c);\n h = g; g = f; f = e; e = d + T1; d = c; c = b; b = a; a = T1 + T2;\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n\n };\n\n Sha256.prototype._hash = function () {\n var H = new Buffer(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n }\n\n return Sha256\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/sha.js/sha256.js","var inherits = require('util').inherits\n\nmodule.exports = function (Buffer, Hash) {\n var K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n ]\n\n var W = new Array(160)\n\n function Sha512() {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n }\n\n inherits(Sha512, Hash)\n\n Sha512.prototype.init = function () {\n\n this._a = 0x6a09e667|0\n this._b = 0xbb67ae85|0\n this._c = 0x3c6ef372|0\n this._d = 0xa54ff53a|0\n this._e = 0x510e527f|0\n this._f = 0x9b05688c|0\n this._g = 0x1f83d9ab|0\n this._h = 0x5be0cd19|0\n\n this._al = 0xf3bcc908|0\n this._bl = 0x84caa73b|0\n this._cl = 0xfe94f82b|0\n this._dl = 0x5f1d36f1|0\n this._el = 0xade682d1|0\n this._fl = 0x2b3e6c1f|0\n this._gl = 0xfb41bd6b|0\n this._hl = 0x137e2179|0\n\n this._len = this._s = 0\n\n return this\n }\n\n function S (X, Xl, n) {\n return (X >>> n) | (Xl << (32 - n))\n }\n\n function Ch (x, y, z) {\n return ((x & y) ^ ((~x) & z));\n }\n\n function Maj (x, y, z) {\n return ((x & y) ^ (x & z) ^ (y & z));\n }\n\n Sha512.prototype._update = function(M) {\n\n var W = this._w\n var a, b, c, d, e, f, g, h\n var al, bl, cl, dl, el, fl, gl, hl\n\n a = this._a | 0\n b = this._b | 0\n c = this._c | 0\n d = this._d | 0\n e = this._e | 0\n f = this._f | 0\n g = this._g | 0\n h = this._h | 0\n\n al = this._al | 0\n bl = this._bl | 0\n cl = this._cl | 0\n dl = this._dl | 0\n el = this._el | 0\n fl = this._fl | 0\n gl = this._gl | 0\n hl = this._hl | 0\n\n for (var i = 0; i < 80; i++) {\n var j = i * 2\n\n var Wi, Wil\n\n if (i < 16) {\n Wi = W[j] = M.readInt32BE(j * 4)\n Wil = W[j + 1] = M.readInt32BE(j * 4 + 4)\n\n } else {\n var x = W[j - 15*2]\n var xl = W[j - 15*2 + 1]\n var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)\n var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)\n\n x = W[j - 2*2]\n xl = W[j - 2*2 + 1]\n var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)\n var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7 = W[j - 7*2]\n var Wi7l = W[j - 7*2 + 1]\n\n var Wi16 = W[j - 16*2]\n var Wi16l = W[j - 16*2 + 1]\n\n Wil = gamma0l + Wi7l\n Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)\n Wil = Wil + gamma1l\n Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)\n Wil = Wil + Wi16l\n Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)\n\n W[j] = Wi\n W[j + 1] = Wil\n }\n\n var maj = Maj(a, b, c)\n var majl = Maj(al, bl, cl)\n\n var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)\n var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)\n var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)\n var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)\n\n // t1 = h + sigma1 + ch + K[i] + W[i]\n var Ki = K[j]\n var Kil = K[j + 1]\n\n var ch = Ch(e, f, g)\n var chl = Ch(el, fl, gl)\n\n var t1l = hl + sigma1l\n var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)\n t1l = t1l + chl\n t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)\n t1l = t1l + Kil\n t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)\n t1l = t1l + Wil\n t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)\n\n // t2 = sigma0 + maj\n var t2l = sigma0l + majl\n var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)\n\n h = g\n hl = gl\n g = f\n gl = fl\n f = e\n fl = el\n el = (dl + t1l) | 0\n e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0\n d = c\n dl = cl\n c = b\n cl = bl\n b = a\n bl = al\n al = (t1l + t2l) | 0\n a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0\n this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0\n this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0\n this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0\n this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0\n this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0\n this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0\n this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0\n }\n\n Sha512.prototype._hash = function () {\n var H = new Buffer(64)\n\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._a, this._al, 0)\n writeInt64BE(this._b, this._bl, 8)\n writeInt64BE(this._c, this._cl, 16)\n writeInt64BE(this._d, this._dl, 24)\n writeInt64BE(this._e, this._el, 32)\n writeInt64BE(this._f, this._fl, 40)\n writeInt64BE(this._g, this._gl, 48)\n writeInt64BE(this._h, this._hl, 56)\n\n return H\n }\n\n return Sha512\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/sha.js/sha512.js","/*\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\n\nvar helpers = require('./helpers');\n\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length\n */\nfunction core_md5(x, len)\n{\n /* append padding */\n x[len >> 5] |= 0x80 << ((len) % 32);\n x[(((len + 64) >>> 9) << 4) + 14] = len;\n\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for(var i = 0; i < x.length; i += 16)\n {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n\n a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);\n d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);\n c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);\n b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);\n a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);\n d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);\n c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);\n b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);\n a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);\n d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);\n c = md5_ff(c, d, a, b, x[i+10], 17, -42063);\n b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);\n a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);\n d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);\n c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);\n b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);\n\n a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);\n d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);\n c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);\n b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);\n a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);\n d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);\n c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);\n b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);\n a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);\n d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);\n c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);\n b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);\n a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);\n d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);\n c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);\n b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);\n\n a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);\n d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);\n c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);\n b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);\n a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);\n d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);\n c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);\n b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);\n a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);\n d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);\n c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);\n b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);\n a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);\n d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);\n c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);\n b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);\n\n a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);\n d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);\n c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);\n b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);\n a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);\n d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);\n c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);\n b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);\n a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);\n d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);\n c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);\n b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);\n a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);\n d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);\n c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);\n b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);\n\n a = safe_add(a, olda);\n b = safe_add(b, oldb);\n c = safe_add(c, oldc);\n d = safe_add(d, oldd);\n }\n return Array(a, b, c, d);\n\n}\n\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\nfunction md5_cmn(q, a, b, x, s, t)\n{\n return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);\n}\nfunction md5_ff(a, b, c, d, x, s, t)\n{\n return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);\n}\nfunction md5_gg(a, b, c, d, x, s, t)\n{\n return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);\n}\nfunction md5_hh(a, b, c, d, x, s, t)\n{\n return md5_cmn(b ^ c ^ d, a, b, x, s, t);\n}\nfunction md5_ii(a, b, c, d, x, s, t)\n{\n return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);\n}\n\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\nfunction safe_add(x, y)\n{\n var lsw = (x & 0xFFFF) + (y & 0xFFFF);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n}\n\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\nfunction bit_rol(num, cnt)\n{\n return (num << cnt) | (num >>> (32 - cnt));\n}\n\nmodule.exports = function md5(buf) {\n return helpers.hash(buf, core_md5, 16);\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/md5.js","var intSize = 4;\nvar zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);\nvar chrsz = 8;\n\nfunction toArray(buf, bigEndian) {\n if ((buf.length % intSize) !== 0) {\n var len = buf.length + (intSize - (buf.length % intSize));\n buf = Buffer.concat([buf, zeroBuffer], len);\n }\n\n var arr = [];\n var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;\n for (var i = 0; i < buf.length; i += intSize) {\n arr.push(fn.call(buf, i));\n }\n return arr;\n}\n\nfunction toBuffer(arr, size, bigEndian) {\n var buf = new Buffer(size);\n var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;\n for (var i = 0; i < arr.length; i++) {\n fn.call(buf, arr[i], i * 4, true);\n }\n return buf;\n}\n\nfunction hash(buf, fn, hashSize, bigEndian) {\n if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);\n var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);\n return toBuffer(arr, hashSize, bigEndian);\n}\n\nmodule.exports = { hash: hash };\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/helpers.js","\nmodule.exports = ripemd160\n\n\n\n/*\nCryptoJS v3.1.2\ncode.google.com/p/crypto-js\n(c) 2009-2013 by Jeff Mott. All rights reserved.\ncode.google.com/p/crypto-js/wiki/License\n*/\n/** @preserve\n(c) 2012 by Cédric Mesnil. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n// Constants table\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13];\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11];\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ];\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ];\n\nvar hl = [ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E];\nvar hr = [ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000];\n\nvar bytesToWords = function (bytes) {\n var words = [];\n for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n }\n return words;\n};\n\nvar wordsToBytes = function (words) {\n var bytes = [];\n for (var b = 0; b < words.length * 32; b += 8) {\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n }\n return bytes;\n};\n\nvar processBlock = function (H, M, offset) {\n\n // Swap endian\n for (var i = 0; i < 16; i++) {\n var offset_i = offset + i;\n var M_offset_i = M[offset_i];\n\n // Swap\n M[offset_i] = (\n (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |\n (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)\n );\n }\n\n // Working variables\n var al, bl, cl, dl, el;\n var ar, br, cr, dr, er;\n\n ar = al = H[0];\n br = bl = H[1];\n cr = cl = H[2];\n dr = dl = H[3];\n er = el = H[4];\n // Computation\n var t;\n for (var i = 0; i < 80; i += 1) {\n t = (al + M[offset+zl[i]])|0;\n if (i<16){\n t += f1(bl,cl,dl) + hl[0];\n } else if (i<32) {\n t += f2(bl,cl,dl) + hl[1];\n } else if (i<48) {\n t += f3(bl,cl,dl) + hl[2];\n } else if (i<64) {\n t += f4(bl,cl,dl) + hl[3];\n } else {// if (i<80) {\n t += f5(bl,cl,dl) + hl[4];\n }\n t = t|0;\n t = rotl(t,sl[i]);\n t = (t+el)|0;\n al = el;\n el = dl;\n dl = rotl(cl, 10);\n cl = bl;\n bl = t;\n\n t = (ar + M[offset+zr[i]])|0;\n if (i<16){\n t += f5(br,cr,dr) + hr[0];\n } else if (i<32) {\n t += f4(br,cr,dr) + hr[1];\n } else if (i<48) {\n t += f3(br,cr,dr) + hr[2];\n } else if (i<64) {\n t += f2(br,cr,dr) + hr[3];\n } else {// if (i<80) {\n t += f1(br,cr,dr) + hr[4];\n }\n t = t|0;\n t = rotl(t,sr[i]) ;\n t = (t+er)|0;\n ar = er;\n er = dr;\n dr = rotl(cr, 10);\n cr = br;\n br = t;\n }\n // Intermediate hash value\n t = (H[1] + cl + dr)|0;\n H[1] = (H[2] + dl + er)|0;\n H[2] = (H[3] + el + ar)|0;\n H[3] = (H[4] + al + br)|0;\n H[4] = (H[0] + bl + cr)|0;\n H[0] = t;\n};\n\nfunction f1(x, y, z) {\n return ((x) ^ (y) ^ (z));\n}\n\nfunction f2(x, y, z) {\n return (((x)&(y)) | ((~x)&(z)));\n}\n\nfunction f3(x, y, z) {\n return (((x) | (~(y))) ^ (z));\n}\n\nfunction f4(x, y, z) {\n return (((x) & (z)) | ((y)&(~(z))));\n}\n\nfunction f5(x, y, z) {\n return ((x) ^ ((y) |(~(z))));\n}\n\nfunction rotl(x,n) {\n return (x<<n) | (x>>>(32-n));\n}\n\nfunction ripemd160(message) {\n var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0];\n\n if (typeof message == 'string')\n message = new Buffer(message, 'utf8');\n\n var m = bytesToWords(message);\n\n var nBitsLeft = message.length * 8;\n var nBitsTotal = message.length * 8;\n\n // Add padding\n m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |\n (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)\n );\n\n for (var i=0 ; i<m.length; i += 16) {\n processBlock(H, m, i);\n }\n\n // Swap endian\n for (var i = 0; i < 5; i++) {\n // Shortcut\n var H_i = H[i];\n\n // Swap\n H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |\n (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);\n }\n\n var digestbytes = wordsToBytes(H);\n return new Buffer(digestbytes);\n}\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/ripemd160/lib/ripemd160.js","var createHash = require('./create-hash')\n\nvar zeroBuffer = new Buffer(128)\nzeroBuffer.fill(0)\n\nmodule.exports = Hmac\n\nfunction Hmac (alg, key) {\n if(!(this instanceof Hmac)) return new Hmac(alg, key)\n this._opad = opad\n this._alg = alg\n\n var blocksize = (alg === 'sha512') ? 128 : 64\n\n key = this._key = !Buffer.isBuffer(key) ? new Buffer(key) : key\n\n if(key.length > blocksize) {\n key = createHash(alg).update(key).digest()\n } else if(key.length < blocksize) {\n key = Buffer.concat([key, zeroBuffer], blocksize)\n }\n\n var ipad = this._ipad = new Buffer(blocksize)\n var opad = this._opad = new Buffer(blocksize)\n\n for(var i = 0; i < blocksize; i++) {\n ipad[i] = key[i] ^ 0x36\n opad[i] = key[i] ^ 0x5C\n }\n\n this._hash = createHash(alg).update(ipad)\n}\n\nHmac.prototype.update = function (data, enc) {\n this._hash.update(data, enc)\n return this\n}\n\nHmac.prototype.digest = function (enc) {\n var h = this._hash.digest()\n return createHash(this._alg).update(this._opad).update(h).digest(enc)\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/create-hmac.js","var pbkdf2Export = require('pbkdf2-compat/pbkdf2')\n\nmodule.exports = function (crypto, exports) {\n exports = exports || {}\n\n var exported = pbkdf2Export(crypto)\n\n exports.pbkdf2 = exported.pbkdf2\n exports.pbkdf2Sync = exported.pbkdf2Sync\n\n return exports\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/pbkdf2.js","module.exports = function(crypto) {\n function pbkdf2(password, salt, iterations, keylen, digest, callback) {\n if ('function' === typeof digest) {\n callback = digest\n digest = undefined\n }\n\n if ('function' !== typeof callback)\n throw new Error('No callback provided to pbkdf2')\n\n setTimeout(function() {\n var result\n\n try {\n result = pbkdf2Sync(password, salt, iterations, keylen, digest)\n } catch (e) {\n return callback(e)\n }\n\n callback(undefined, result)\n })\n }\n\n function pbkdf2Sync(password, salt, iterations, keylen, digest) {\n if ('number' !== typeof iterations)\n throw new TypeError('Iterations not a number')\n\n if (iterations < 0)\n throw new TypeError('Bad iterations')\n\n if ('number' !== typeof keylen)\n throw new TypeError('Key length not a number')\n\n if (keylen < 0)\n throw new TypeError('Bad key length')\n\n digest = digest || 'sha1'\n\n if (!Buffer.isBuffer(password)) password = new Buffer(password)\n if (!Buffer.isBuffer(salt)) salt = new Buffer(salt)\n\n var hLen, l = 1, r, T\n var DK = new Buffer(keylen)\n var block1 = new Buffer(salt.length + 4)\n salt.copy(block1, 0, 0, salt.length)\n\n for (var i = 1; i <= l; i++) {\n block1.writeUInt32BE(i, salt.length)\n\n var U = crypto.createHmac(digest, password).update(block1).digest()\n\n if (!hLen) {\n hLen = U.length\n T = new Buffer(hLen)\n l = Math.ceil(keylen / hLen)\n r = keylen - (l - 1) * hLen\n\n if (keylen > (Math.pow(2, 32) - 1) * hLen)\n throw new TypeError('keylen exceeds maximum length')\n }\n\n U.copy(T, 0, 0, hLen)\n\n for (var j = 1; j < iterations; j++) {\n U = crypto.createHmac(digest, password).update(U).digest()\n\n for (var k = 0; k < hLen; k++) {\n T[k] ^= U[k]\n }\n }\n\n var destPos = (i - 1) * hLen\n var len = (i == l ? r : hLen)\n T.copy(DK, destPos, 0, len)\n }\n\n return DK\n }\n\n return {\n pbkdf2: pbkdf2,\n pbkdf2Sync: pbkdf2Sync\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/pbkdf2-compat/pbkdf2.js","module.exports = function (crypto, exports) {\n exports = exports || {};\n var ciphers = require('./encrypter')(crypto);\n exports.createCipher = ciphers.createCipher;\n exports.createCipheriv = ciphers.createCipheriv;\n var deciphers = require('./decrypter')(crypto);\n exports.createDecipher = deciphers.createDecipher;\n exports.createDecipheriv = deciphers.createDecipheriv;\n var modes = require('./modes');\n function listCiphers () {\n return Object.keys(modes);\n }\n exports.listCiphers = listCiphers;\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/inject.js","var aes = require('./aes');\nvar Transform = require('./cipherBase');\nvar inherits = require('inherits');\nvar modes = require('./modes');\nvar ebtk = require('./EVP_BytesToKey');\nvar StreamCipher = require('./streamCipher');\ninherits(Cipher, Transform);\nfunction Cipher(mode, key, iv) {\n if (!(this instanceof Cipher)) {\n return new Cipher(mode, key, iv);\n }\n Transform.call(this);\n this._cache = new Splitter();\n this._cipher = new aes.AES(key);\n this._prev = new Buffer(iv.length);\n iv.copy(this._prev);\n this._mode = mode;\n}\nCipher.prototype._transform = function (data, _, next) {\n this._cache.add(data);\n var chunk;\n var thing;\n while ((chunk = this._cache.get())) {\n thing = this._mode.encrypt(this, chunk);\n this.push(thing);\n }\n next();\n};\nCipher.prototype._flush = function (next) {\n var chunk = this._cache.flush();\n this.push(this._mode.encrypt(this, chunk));\n this._cipher.scrub();\n next();\n};\n\n\nfunction Splitter() {\n if (!(this instanceof Splitter)) {\n return new Splitter();\n }\n this.cache = new Buffer('');\n}\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data]);\n};\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 15) {\n var out = this.cache.slice(0, 16);\n this.cache = this.cache.slice(16);\n return out;\n }\n return null;\n};\nSplitter.prototype.flush = function () {\n var len = 16 - this.cache.length;\n var padBuff = new Buffer(len);\n\n var i = -1;\n while (++i < len) {\n padBuff.writeUInt8(len, i);\n }\n var out = Buffer.concat([this.cache, padBuff]);\n return out;\n};\nvar modelist = {\n ECB: require('./modes/ecb'),\n CBC: require('./modes/cbc'),\n CFB: require('./modes/cfb'),\n OFB: require('./modes/ofb'),\n CTR: require('./modes/ctr')\n};\nmodule.exports = function (crypto) {\n function createCipheriv(suite, password, iv) {\n var config = modes[suite];\n if (!config) {\n throw new TypeError('invalid suite type');\n }\n if (typeof iv === 'string') {\n iv = new Buffer(iv);\n }\n if (typeof password === 'string') {\n password = new Buffer(password);\n }\n if (password.length !== config.key/8) {\n throw new TypeError('invalid key length ' + password.length);\n }\n if (iv.length !== config.iv) {\n throw new TypeError('invalid iv length ' + iv.length);\n }\n if (config.type === 'stream') {\n return new StreamCipher(modelist[config.mode], password, iv);\n }\n return new Cipher(modelist[config.mode], password, iv);\n }\n function createCipher (suite, password) {\n var config = modes[suite];\n if (!config) {\n throw new TypeError('invalid suite type');\n }\n var keys = ebtk(crypto, password, config.key, config.iv);\n return createCipheriv(suite, keys.key, keys.iv);\n }\n return {\n createCipher: createCipher,\n createCipheriv: createCipheriv\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/encrypter.js","var uint_max = Math.pow(2, 32);\nfunction fixup_uint32(x) {\n var ret, x_pos;\n ret = x > uint_max || x < 0 ? (x_pos = Math.abs(x) % uint_max, x < 0 ? uint_max - x_pos : x_pos) : x;\n return ret;\n}\nfunction scrub_vec(v) {\n var i, _i, _ref;\n for (i = _i = 0, _ref = v.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n v[i] = 0;\n }\n return false;\n}\n\nfunction Global() {\n var i;\n this.SBOX = [];\n this.INV_SBOX = [];\n this.SUB_MIX = (function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push([]);\n }\n return _results;\n })();\n this.INV_SUB_MIX = (function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push([]);\n }\n return _results;\n })();\n this.init();\n this.RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n}\n\nGlobal.prototype.init = function() {\n var d, i, sx, t, x, x2, x4, x8, xi, _i;\n d = (function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 256; i = ++_i) {\n if (i < 128) {\n _results.push(i << 1);\n } else {\n _results.push((i << 1) ^ 0x11b);\n }\n }\n return _results;\n })();\n x = 0;\n xi = 0;\n for (i = _i = 0; _i < 256; i = ++_i) {\n sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n this.SBOX[x] = sx;\n this.INV_SBOX[sx] = x;\n x2 = d[x];\n x4 = d[x2];\n x8 = d[x4];\n t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n this.SUB_MIX[0][x] = (t << 24) | (t >>> 8);\n this.SUB_MIX[1][x] = (t << 16) | (t >>> 16);\n this.SUB_MIX[2][x] = (t << 8) | (t >>> 24);\n this.SUB_MIX[3][x] = t;\n t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n this.INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8);\n this.INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16);\n this.INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24);\n this.INV_SUB_MIX[3][sx] = t;\n if (x === 0) {\n x = xi = 1;\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]];\n xi ^= d[d[xi]];\n }\n }\n return true;\n};\n\nvar G = new Global();\n\n\nAES.blockSize = 4 * 4;\n\nAES.prototype.blockSize = AES.blockSize;\n\nAES.keySize = 256 / 8;\n\nAES.prototype.keySize = AES.keySize;\n\nAES.ivSize = AES.blockSize;\n\nAES.prototype.ivSize = AES.ivSize;\n\n function bufferToArray(buf) {\n var len = buf.length/4;\n var out = new Array(len);\n var i = -1;\n while (++i < len) {\n out[i] = buf.readUInt32BE(i * 4);\n }\n return out;\n }\nfunction AES(key) {\n this._key = bufferToArray(key);\n this._doReset();\n}\n\nAES.prototype._doReset = function() {\n var invKsRow, keySize, keyWords, ksRow, ksRows, t, _i, _j;\n keyWords = this._key;\n keySize = keyWords.length;\n this._nRounds = keySize + 6;\n ksRows = (this._nRounds + 1) * 4;\n this._keySchedule = [];\n for (ksRow = _i = 0; 0 <= ksRows ? _i < ksRows : _i > ksRows; ksRow = 0 <= ksRows ? ++_i : --_i) {\n this._keySchedule[ksRow] = ksRow < keySize ? keyWords[ksRow] : (t = this._keySchedule[ksRow - 1], (ksRow % keySize) === 0 ? (t = (t << 8) | (t >>> 24), t = (G.SBOX[t >>> 24] << 24) | (G.SBOX[(t >>> 16) & 0xff] << 16) | (G.SBOX[(t >>> 8) & 0xff] << 8) | G.SBOX[t & 0xff], t ^= G.RCON[(ksRow / keySize) | 0] << 24) : keySize > 6 && ksRow % keySize === 4 ? t = (G.SBOX[t >>> 24] << 24) | (G.SBOX[(t >>> 16) & 0xff] << 16) | (G.SBOX[(t >>> 8) & 0xff] << 8) | G.SBOX[t & 0xff] : void 0, this._keySchedule[ksRow - keySize] ^ t);\n }\n this._invKeySchedule = [];\n for (invKsRow = _j = 0; 0 <= ksRows ? _j < ksRows : _j > ksRows; invKsRow = 0 <= ksRows ? ++_j : --_j) {\n ksRow = ksRows - invKsRow;\n t = this._keySchedule[ksRow - (invKsRow % 4 ? 0 : 4)];\n this._invKeySchedule[invKsRow] = invKsRow < 4 || ksRow <= 4 ? t : G.INV_SUB_MIX[0][G.SBOX[t >>> 24]] ^ G.INV_SUB_MIX[1][G.SBOX[(t >>> 16) & 0xff]] ^ G.INV_SUB_MIX[2][G.SBOX[(t >>> 8) & 0xff]] ^ G.INV_SUB_MIX[3][G.SBOX[t & 0xff]];\n }\n return true;\n};\n\nAES.prototype.encryptBlock = function(M) {\n M = bufferToArray(new Buffer(M));\n var out = this._doCryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX);\n var buf = new Buffer(16);\n buf.writeUInt32BE(out[0], 0);\n buf.writeUInt32BE(out[1], 4);\n buf.writeUInt32BE(out[2], 8);\n buf.writeUInt32BE(out[3], 12);\n return buf;\n};\n\nAES.prototype.decryptBlock = function(M) {\n M = bufferToArray(new Buffer(M));\n var temp = [M[3], M[1]];\n M[1] = temp[0];\n M[3] = temp[1];\n var out = this._doCryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX);\n var buf = new Buffer(16);\n buf.writeUInt32BE(out[0], 0);\n buf.writeUInt32BE(out[3], 4);\n buf.writeUInt32BE(out[2], 8);\n buf.writeUInt32BE(out[1], 12);\n return buf;\n};\n\nAES.prototype.scrub = function() {\n scrub_vec(this._keySchedule);\n scrub_vec(this._invKeySchedule);\n scrub_vec(this._key);\n};\n\nAES.prototype._doCryptBlock = function(M, keySchedule, SUB_MIX, SBOX) {\n var ksRow, round, s0, s1, s2, s3, t0, t1, t2, t3, _i, _ref;\n\n s0 = M[0] ^ keySchedule[0];\n s1 = M[1] ^ keySchedule[1];\n s2 = M[2] ^ keySchedule[2];\n s3 = M[3] ^ keySchedule[3];\n ksRow = 4;\n for (round = _i = 1, _ref = this._nRounds; 1 <= _ref ? _i < _ref : _i > _ref; round = 1 <= _ref ? ++_i : --_i) {\n t0 = SUB_MIX[0][s0 >>> 24] ^ SUB_MIX[1][(s1 >>> 16) & 0xff] ^ SUB_MIX[2][(s2 >>> 8) & 0xff] ^ SUB_MIX[3][s3 & 0xff] ^ keySchedule[ksRow++];\n t1 = SUB_MIX[0][s1 >>> 24] ^ SUB_MIX[1][(s2 >>> 16) & 0xff] ^ SUB_MIX[2][(s3 >>> 8) & 0xff] ^ SUB_MIX[3][s0 & 0xff] ^ keySchedule[ksRow++];\n t2 = SUB_MIX[0][s2 >>> 24] ^ SUB_MIX[1][(s3 >>> 16) & 0xff] ^ SUB_MIX[2][(s0 >>> 8) & 0xff] ^ SUB_MIX[3][s1 & 0xff] ^ keySchedule[ksRow++];\n t3 = SUB_MIX[0][s3 >>> 24] ^ SUB_MIX[1][(s0 >>> 16) & 0xff] ^ SUB_MIX[2][(s1 >>> 8) & 0xff] ^ SUB_MIX[3][s2 & 0xff] ^ keySchedule[ksRow++];\n s0 = t0;\n s1 = t1;\n s2 = t2;\n s3 = t3;\n }\n t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n return [\n fixup_uint32(t0),\n fixup_uint32(t1),\n fixup_uint32(t2),\n fixup_uint32(t3)\n ];\n\n};\n\n\n\n\n exports.AES = AES;\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/aes.js","var Transform = require('stream').Transform;\nvar inherits = require('inherits');\n\nmodule.exports = CipherBase;\ninherits(CipherBase, Transform);\nfunction CipherBase() {\n Transform.call(this);\n}\nCipherBase.prototype.update = function (data, inputEnd, outputEnc) {\n this.write(data, inputEnd);\n var outData = new Buffer('');\n var chunk;\n while ((chunk = this.read())) {\n outData = Buffer.concat([outData, chunk]);\n }\n if (outputEnc) {\n outData = outData.toString(outputEnc);\n }\n return outData;\n};\nCipherBase.prototype.final = function (outputEnc) {\n this.end();\n var outData = new Buffer('');\n var chunk;\n while ((chunk = this.read())) {\n outData = Buffer.concat([outData, chunk]);\n }\n if (outputEnc) {\n outData = outData.toString(outputEnc);\n }\n return outData;\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/cipherBase.js","exports['aes-128-ecb'] = {\n cipher: 'AES',\n key: 128,\n iv: 0,\n mode: 'ECB',\n type: 'block'\n};\nexports['aes-192-ecb'] = {\n cipher: 'AES',\n key: 192,\n iv: 0,\n mode: 'ECB',\n type: 'block'\n};\nexports['aes-256-ecb'] = {\n cipher: 'AES',\n key: 256,\n iv: 0,\n mode: 'ECB',\n type: 'block'\n};\nexports['aes-128-cbc'] = {\n cipher: 'AES',\n key: 128,\n iv: 16,\n mode: 'CBC',\n type: 'block'\n};\nexports['aes-192-cbc'] = {\n cipher: 'AES',\n key: 192,\n iv: 16,\n mode: 'CBC',\n type: 'block'\n};\nexports['aes-256-cbc'] = {\n cipher: 'AES',\n key: 256,\n iv: 16,\n mode: 'CBC',\n type: 'block'\n};\nexports['aes128'] = exports['aes-128-cbc'];\nexports['aes192'] = exports['aes-192-cbc'];\nexports['aes256'] = exports['aes-256-cbc'];\nexports['aes-128-cfb'] = {\n cipher: 'AES',\n key: 128,\n iv: 16,\n mode: 'CFB',\n type: 'stream'\n};\nexports['aes-192-cfb'] = {\n cipher: 'AES',\n key: 192,\n iv: 16,\n mode: 'CFB',\n type: 'stream'\n};\nexports['aes-256-cfb'] = {\n cipher: 'AES',\n key: 256,\n iv: 16,\n mode: 'CFB',\n type: 'stream'\n};\nexports['aes-128-ofb'] = {\n cipher: 'AES',\n key: 128,\n iv: 16,\n mode: 'OFB',\n type: 'stream'\n};\nexports['aes-192-ofb'] = {\n cipher: 'AES',\n key: 192,\n iv: 16,\n mode: 'OFB',\n type: 'stream'\n};\nexports['aes-256-ofb'] = {\n cipher: 'AES',\n key: 256,\n iv: 16,\n mode: 'OFB',\n type: 'stream'\n};\nexports['aes-128-ctr'] = {\n cipher: 'AES',\n key: 128,\n iv: 16,\n mode: 'CTR',\n type: 'stream'\n};\nexports['aes-192-ctr'] = {\n cipher: 'AES',\n key: 192,\n iv: 16,\n mode: 'CTR',\n type: 'stream'\n};\nexports['aes-256-ctr'] = {\n cipher: 'AES',\n key: 256,\n iv: 16,\n mode: 'CTR',\n type: 'stream'\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/modes.js","\nmodule.exports = function (crypto, password, keyLen, ivLen) {\n keyLen = keyLen/8;\n ivLen = ivLen || 0;\n var ki = 0;\n var ii = 0;\n var key = new Buffer(keyLen);\n var iv = new Buffer(ivLen);\n var addmd = 0;\n var md, md_buf;\n var i;\n while (true) {\n md = crypto.createHash('md5');\n if(addmd++ > 0) {\n md.update(md_buf);\n }\n md.update(password);\n md_buf = md.digest();\n i = 0;\n if(keyLen > 0) {\n while(true) {\n if(keyLen === 0) {\n break;\n }\n if(i === md_buf.length) {\n break;\n }\n key[ki++] = md_buf[i];\n keyLen--;\n i++;\n }\n }\n if(ivLen > 0 && i !== md_buf.length) {\n while(true) {\n if(ivLen === 0) {\n break;\n }\n if(i === md_buf.length) {\n break;\n }\n iv[ii++] = md_buf[i];\n ivLen--;\n i++;\n }\n }\n if(keyLen === 0 && ivLen === 0) {\n break;\n }\n }\n for(i=0;i<md_buf.length;i++) {\n md_buf[i] = 0;\n }\n return {\n key: key,\n iv: iv\n };\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/EVP_BytesToKey.js","var aes = require('./aes');\nvar Transform = require('./cipherBase');\nvar inherits = require('inherits');\n\ninherits(StreamCipher, Transform);\nmodule.exports = StreamCipher;\nfunction StreamCipher(mode, key, iv, decrypt) {\n if (!(this instanceof StreamCipher)) {\n return new StreamCipher(mode, key, iv);\n }\n Transform.call(this);\n this._cipher = new aes.AES(key);\n this._prev = new Buffer(iv.length);\n this._cache = new Buffer('');\n this._secCache = new Buffer('');\n this._decrypt = decrypt;\n iv.copy(this._prev);\n this._mode = mode;\n}\nStreamCipher.prototype._transform = function (chunk, _, next) {\n next(null, this._mode.encrypt(this, chunk, this._decrypt));\n};\nStreamCipher.prototype._flush = function (next) {\n this._cipher.scrub();\n next();\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/streamCipher.js","exports.encrypt = function (self, block) {\n return self._cipher.encryptBlock(block);\n};\nexports.decrypt = function (self, block) {\n return self._cipher.decryptBlock(block);\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/modes/ecb.js","var xor = require('../xor');\nexports.encrypt = function (self, block) {\n var data = xor(block, self._prev);\n self._prev = self._cipher.encryptBlock(data);\n return self._prev;\n};\nexports.decrypt = function (self, block) {\n var pad = self._prev;\n self._prev = block;\n var out = self._cipher.decryptBlock(block);\n return xor(out, pad);\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/modes/cbc.js","module.exports = xor;\nfunction xor(a, b) {\n var len = Math.min(a.length, b.length);\n var out = new Buffer(len);\n var i = -1;\n while (++i < len) {\n out.writeUInt8(a[i] ^ b[i], i);\n }\n return out;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/xor.js","var xor = require('../xor');\nexports.encrypt = function (self, data, decrypt) {\n var out = new Buffer('');\n var len;\n while (data.length) {\n if (self._cache.length === 0) {\n self._cache = self._cipher.encryptBlock(self._prev);\n self._prev = new Buffer('');\n }\n if (self._cache.length <= data.length) {\n len = self._cache.length;\n out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)]);\n data = data.slice(len);\n } else {\n out = Buffer.concat([out, encryptStart(self, data, decrypt)]);\n break;\n }\n }\n return out;\n};\nfunction encryptStart(self, data, decrypt) {\n var len = data.length;\n var out = xor(data, self._cache);\n self._cache = self._cache.slice(len);\n self._prev = Buffer.concat([self._prev, decrypt?data:out]);\n return out;\n}\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/modes/cfb.js","var xor = require('../xor');\nfunction getBlock(self) {\n self._prev = self._cipher.encryptBlock(self._prev);\n return self._prev;\n}\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)]);\n }\n var pad = self._cache.slice(0, chunk.length);\n self._cache = self._cache.slice(chunk.length);\n return xor(chunk, pad);\n};\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/modes/ofb.js","var xor = require('../xor');\nfunction getBlock(self) {\n var out = self._cipher.encryptBlock(self._prev);\n incr32(self._prev);\n return out;\n}\nexports.encrypt = function (self, chunk) {\n while (self._cache.length < chunk.length) {\n self._cache = Buffer.concat([self._cache, getBlock(self)]);\n }\n var pad = self._cache.slice(0, chunk.length);\n self._cache = self._cache.slice(chunk.length);\n return xor(chunk, pad);\n};\nfunction incr32(iv) {\n var len = iv.length;\n var item;\n while (len--) {\n item = iv.readUInt8(len);\n if (item === 255) {\n iv.writeUInt8(0, len);\n } else {\n item++;\n iv.writeUInt8(item, len);\n break;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/modes/ctr.js","var aes = require('./aes');\nvar Transform = require('./cipherBase');\nvar inherits = require('inherits');\nvar modes = require('./modes');\nvar StreamCipher = require('./streamCipher');\nvar ebtk = require('./EVP_BytesToKey');\n\ninherits(Decipher, Transform);\nfunction Decipher(mode, key, iv) {\n if (!(this instanceof Decipher)) {\n return new Decipher(mode, key, iv);\n }\n Transform.call(this);\n this._cache = new Splitter();\n this._last = void 0;\n this._cipher = new aes.AES(key);\n this._prev = new Buffer(iv.length);\n iv.copy(this._prev);\n this._mode = mode;\n}\nDecipher.prototype._transform = function (data, _, next) {\n this._cache.add(data);\n var chunk;\n var thing;\n while ((chunk = this._cache.get())) {\n thing = this._mode.decrypt(this, chunk);\n this.push(thing);\n }\n next();\n};\nDecipher.prototype._flush = function (next) {\n var chunk = this._cache.flush();\n if (!chunk) {\n return next;\n }\n\n this.push(unpad(this._mode.decrypt(this, chunk)));\n\n next();\n};\n\nfunction Splitter() {\n if (!(this instanceof Splitter)) {\n return new Splitter();\n }\n this.cache = new Buffer('');\n}\nSplitter.prototype.add = function (data) {\n this.cache = Buffer.concat([this.cache, data]);\n};\n\nSplitter.prototype.get = function () {\n if (this.cache.length > 16) {\n var out = this.cache.slice(0, 16);\n this.cache = this.cache.slice(16);\n return out;\n }\n return null;\n};\nSplitter.prototype.flush = function () {\n if (this.cache.length) {\n return this.cache;\n }\n};\nfunction unpad(last) {\n var padded = last[15];\n if (padded === 16) {\n return;\n }\n return last.slice(0, 16 - padded);\n}\n\nvar modelist = {\n ECB: require('./modes/ecb'),\n CBC: require('./modes/cbc'),\n CFB: require('./modes/cfb'),\n OFB: require('./modes/ofb'),\n CTR: require('./modes/ctr')\n};\n\nmodule.exports = function (crypto) {\n function createDecipheriv(suite, password, iv) {\n var config = modes[suite];\n if (!config) {\n throw new TypeError('invalid suite type');\n }\n if (typeof iv === 'string') {\n iv = new Buffer(iv);\n }\n if (typeof password === 'string') {\n password = new Buffer(password);\n }\n if (password.length !== config.key/8) {\n throw new TypeError('invalid key length ' + password.length);\n }\n if (iv.length !== config.iv) {\n throw new TypeError('invalid iv length ' + iv.length);\n }\n if (config.type === 'stream') {\n return new StreamCipher(modelist[config.mode], password, iv, true);\n }\n return new Decipher(modelist[config.mode], password, iv);\n }\n\n function createDecipher (suite, password) {\n var config = modes[suite];\n if (!config) {\n throw new TypeError('invalid suite type');\n }\n var keys = ebtk(crypto, password, config.key, config.iv);\n return createDecipheriv(suite, keys.key, keys.iv);\n }\n return {\n createDecipher: createDecipher,\n createDecipheriv: createDecipheriv\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./~/crypto-browserify/~/browserify-aes/decrypter.js","var bigi = require('bigi'),\n\tbs58 = require('bs58'),\n\tecurve = require('ecurve'),\n\tPoint = ecurve.Point,\n\tsecp256k1 = ecurve.getCurveByName('secp256k1'),\n\tconfig = require('../config'),\n\toperations = require('./serializer/src/operations'),\n\tSignature = require('./ecc/src/signature'),\n\tKeyPrivate = require('./ecc/src/key_private'),\n\tPublicKey = require('./ecc/src/key_public'),\n hash = require('./ecc/src/hash');\n\nvar Auth = {};\nvar transaction = operations.transaction;\nvar signed_transaction = operations.signed_transaction;\n\nAuth.verify = function (name, password, auths) {\n\tvar hasKey = false;\n\tvar roles = [];\n\tfor (var role in auths) {\n\t\troles.push(role);\n\t}\n\tvar pubKeys = this.generateKeys(name, password, roles);\n\troles.forEach(function (role) {\n\t\tif (auths[role][0][0] === pubKeys[role]) {\n\t\t\thasKey = true;\n\t\t}\n\t});\n\treturn hasKey;\n};\n\nAuth.generateKeys = function (name, password, roles) {\n\tvar pubKeys = {};\n\troles.forEach(function (role) {\n\t\tvar seed = name + role + password;\n\t\tvar brainKey = seed.trim().split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n\t\tvar hashSha256 = hash.sha256(brainKey);\n\t\tvar bigInt = bigi.fromBuffer(hashSha256);\n\t\tvar toPubKey = secp256k1.G.multiply(bigInt);\n\t\tvar point = new Point(toPubKey.curve, toPubKey.x, toPubKey.y, toPubKey.z);\n\t\tvar pubBuf = point.getEncoded(toPubKey.compressed);\n\t\tvar checksum = hash.ripemd160(pubBuf);\n\t\tvar addy = Buffer.concat([pubBuf, checksum.slice(0, 4)]);\n\t\tpubKeys[role] = config.get('address_prefix') + bs58.encode(addy);\n\t});\n\treturn pubKeys;\n};\n\n/**\n\t@arg {string} name - blockchain account name\n\t@arg {string} password - very strong password typically no shorter than a private key\n\t@arg {array} roles - defaults to standard Hive blockchain-level roles\n*/\nAuth.getPrivateKeys = function (name, password, roles = ['owner', 'active', 'posting', 'memo']) {\n\tvar privKeys = {};\n\troles.forEach(function (role) {\n\t\tprivKeys[role] = this.toWif(name, password, role);\n\t\tprivKeys[role + 'Pubkey'] = this.wifToPublic(privKeys[role]);\n\t}.bind(this));\n\treturn privKeys;\n};\n\nAuth.isWif = function (privWif) {\n\tvar isWif = false;\n\ttry {\n\t\tvar bufWif = new Buffer(bs58.decode(privWif));\n\t\tvar privKey = bufWif.slice(0, -4);\n\t\tvar checksum = bufWif.slice(-4);\n\t\tvar newChecksum = hash.sha256(privKey);\n\t\tnewChecksum = hash.sha256(newChecksum);\n\t\tnewChecksum = newChecksum.slice(0, 4);\n\t\tif (checksum.toString() == newChecksum.toString()) {\n\t\t\tisWif = true;\n\t\t}\n\t} catch (e) { }\n\treturn isWif;\n};\n\nAuth.toWif = function (name, password, role) {\n\tvar seed = name + role + password;\n\tvar brainKey = seed.trim().split(/[\\t\\n\\v\\f\\r ]+/).join(' ');\n\tvar hashSha256 = hash.sha256(brainKey);\n\tvar privKey = Buffer.concat([new Buffer([0x80]), hashSha256]);\n\tvar checksum = hash.sha256(privKey);\n\tchecksum = hash.sha256(checksum);\n\tchecksum = checksum.slice(0, 4);\n\tvar privWif = Buffer.concat([privKey, checksum]);\n\treturn bs58.encode(privWif);\n};\n\nAuth.wifIsValid = function (privWif, pubWif) {\n\treturn (this.wifToPublic(privWif) == pubWif);\n};\n\nAuth.wifToPublic = function (privWif) {\n\tvar pubWif = KeyPrivate.fromWif(privWif);\n\tpubWif = pubWif.toPublic().toString();\n\treturn pubWif;\n};\n\nAuth.isPubkey = function(pubkey, address_prefix) {\n\treturn PublicKey.fromString(pubkey, address_prefix) != null\n}\n\nAuth.signTransaction = function (trx, keys) {\n\tvar signatures = [];\n\tif (trx.signatures) {\n\t\tsignatures = [].concat(trx.signatures);\n\t}\n\n\tvar cid = new Buffer(config.get('chain_id'), 'hex');\n\tvar buf = transaction.toBuffer(trx);\n\n\tfor (var key in keys) {\n\t\tvar sig = Signature.signBuffer(Buffer.concat([cid, buf]), keys[key]);\n\t\tsignatures.push(sig.toBuffer())\n\t}\n\n\treturn signed_transaction.toObject(Object.assign(trx, { signatures: signatures }))\n};\n\nmodule.exports = Auth;\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/index.js","\nimport ByteBuffer from 'bytebuffer'\nimport assert from 'assert'\nimport base58 from 'bs58'\nimport {Aes, PrivateKey, PublicKey} from './ecc'\nimport {ops} from './serializer'\n\nconst encMemo = ops.encrypted_memo\n\n/**\n Some fields are only required if the memo is marked for decryption (starts with a hash).\n @arg {string|PrivateKey} private_key - WIF or PrivateKey object\n @arg {string} memo - plain text is returned, hash prefix base58 is decrypted\n @return {string} - utf8 decoded string (hash prefix)\n*/\nexport function decode(private_key, memo) {\n assert(memo, 'memo is required')\n assert.equal(typeof memo, 'string', 'memo')\n if(!/^#/.test(memo)) return memo\n memo = memo.substring(1)\n\n assert(private_key, 'private_key is required')\n checkEncryption()\n\n private_key = toPrivateObj(private_key)\n\n memo = base58.decode(memo)\n memo = encMemo.fromBuffer(new Buffer(memo, 'binary'))\n\n const {from, to, nonce, check, encrypted} = memo\n const pubkey = private_key.toPublicKey().toString()\n const otherpub = pubkey === from.toString() ? to.toString() : from.toString()\n memo = Aes.decrypt(private_key, otherpub, nonce, encrypted, check)\n\n // remove varint length prefix\n const mbuf = ByteBuffer.fromBinary(memo.toString('binary'), ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN)\n try {\n mbuf.mark()\n return '#' + mbuf.readVString()\n } catch(e) {\n mbuf.reset()\n // Sender did not length-prefix the memo\n memo = new Buffer(mbuf.toString('binary'), 'binary').toString('utf-8')\n return '#' + memo\n }\n}\n\n/**\n Some fields are only required if the memo is marked for encryption (starts with a hash).\n @arg {string|PrivateKey} private_key - WIF or PrivateKey object\n @arg {string|PublicKey} public_key - Recipient\n @arg {string} memo - plain text is returned, hash prefix text is encrypted\n @arg {string} [testNonce = undefined] - just for testing\n @return {string} - base64 decoded string (or plain text)\n*/\nexport function encode(private_key, public_key, memo, testNonce) {\n assert(memo, 'memo is required')\n assert.equal(typeof memo, 'string', 'memo')\n if(!/^#/.test(memo)) return memo\n memo = memo.substring(1)\n\n assert(private_key, 'private_key is required')\n assert(public_key, 'public_key is required')\n checkEncryption()\n\n private_key = toPrivateObj(private_key)\n public_key = toPublicObj(public_key)\n\n const mbuf = new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY, ByteBuffer.LITTLE_ENDIAN)\n mbuf.writeVString(memo)\n memo = new Buffer(mbuf.copy(0, mbuf.offset).toBinary(), 'binary')\n\n const {nonce, message, checksum} = Aes.encrypt(private_key, public_key, memo, testNonce)\n memo = encMemo.fromObject({\n from: private_key.toPublicKey(),\n to: public_key,\n nonce,\n check: checksum,\n encrypted: message\n })\n // serialize\n memo = encMemo.toBuffer(memo)\n return '#' + base58.encode(new Buffer(memo, 'binary'))\n}\n\n/** Get public keys of both sender and receiver */\nexport function getPubKeys(memo) {\n assert(memo, 'memo is required')\n assert.equal(typeof memo, 'string', 'memo')\n if(!/^#/.test(memo)) return []\n memo = memo.substring(1)\n\n checkEncryption()\n\n memo = base58.decode(memo)\n memo = encMemo.fromBuffer(new Buffer(memo, 'binary'))\n\n const {from, to} = memo\n\n return [from.toString(), to.toString()]\n}\n\nlet encodeTest = undefined\n\n/**\n Memo encryption has failed in the browser before. An Error will be thrown\n if a memo can't be encrypted and decrypted.\n*/\nfunction checkEncryption() {\n if(encodeTest === undefined) {\n let plaintext;\n encodeTest = true // prevent infinate looping\n try {\n const wif = '5JdeC9P7Pbd1uGdFVEsJ41EkEnADbbHGq6p1BwFxm6txNBsQnsw'\n const pubkey = 'STM8m5UgaFAAYQRuaNejYdS8FVLVp9Ss3K1qAVk5de6F8s3HnVbvA'\n const cyphertext = encode(wif, pubkey, '#memo爱')\n plaintext = decode(wif, cyphertext)\n } catch(e) {\n console.error(e);\n } finally {\n encodeTest = plaintext === '#memo爱'\n }\n }\n if(encodeTest === false)\n throw new Error('This environment does not support encryption.')\n}\n\nconst toPrivateObj = o => (o ? o.d ? o : PrivateKey.fromWif(o) : o/*null or undefined*/)\nconst toPublicObj = o => (o ? o.Q ? o : PublicKey.fromString(o) : o/*null or undefined*/)\n\n\n\n// WEBPACK FOOTER //\n// ./src/auth/memo.js","import Promise from 'bluebird';\nimport newDebug from 'debug';\nimport broadcastHelpers from './helpers';\nimport formatterFactory from '../formatter';\nimport hiveApi from '../api';\nimport hiveAuth from '../auth';\nimport { camelCase } from '../utils';\n\nvar operations = require('./operations');\nconst config = require('../config')\n\nconst HF23_CHAIN_ID = '0000000000000000000000000000000000000000000000000000000000000000'\nconst HF24_CHAIN_ID = 'beeab0de00000000000000000000000000000000000000000000000000000000'\n\nconst debug = newDebug('hive:broadcast');\nconst noop = function() {}\nconst formatter = formatterFactory(hiveApi);\n\nconst hiveBroadcast = {};\n\n// Base transaction logic -----------------------------------------------------\n\n/**\n * Sign and broadcast transactions on the hive network\n */\n\nhiveBroadcast.send = function hiveBroadcast$send(tx, privKeys, callback) {\n const resultP = hiveBroadcast._prepareTransaction(tx)\n .then((transaction) => {\n if (config.get(\"address_prefix\") === \"TST\") {\n transaction.operations = JSON.parse(JSON.stringify(transaction.operations).replaceAll(' HIVE', ' TESTS'))\n transaction.operations = JSON.parse(JSON.stringify(transaction.operations).replaceAll(' HBD', ' TBD'))\n }\n debug(\n 'Signing transaction (transaction, transaction.operations)',\n transaction, transaction.operations\n );\n return Promise.join(\n transaction,\n hiveAuth.signTransaction(transaction, privKeys)\n );\n })\n .spread((transaction, signedTransaction) => {\n debug(\n 'Broadcasting transaction (transaction, transaction.operations)',\n transaction, transaction.operations\n );\n return hiveApi.broadcastTransactionSynchronousAsync(\n signedTransaction\n ).then((result) => {\n return Object.assign({}, result, signedTransaction);\n });\n });\n\n resultP.nodeify(callback || noop);\n};\n\nhiveBroadcast._prepareTransaction = function hiveBroadcast$_prepareTransaction(tx) {\n const propertiesP = hiveApi.getDynamicGlobalPropertiesAsync();\n return propertiesP\n .then((properties) => {\n // Set defaults on the transaction\n const chainDate = new Date(properties.time + 'Z');\n const refBlockNum = (properties.last_irreversible_block_num - 1) & 0xFFFF;\n return hiveApi.getBlockHeaderAsync(properties.last_irreversible_block_num).then((block) => {\n const headBlockId = block ? block.previous : '0000000000000000000000000000000000000000';\n return Object.assign({\n ref_block_num: refBlockNum,\n ref_block_prefix: new Buffer(headBlockId, 'hex').readUInt32LE(4),\n expiration: new Date(\n chainDate.getTime() +\n 600 * 1000\n ),\n }, tx);\n });\n });\n};\n\n// Generated wrapper ----------------------------------------------------------\noperations.forEach((operation) => {\n const operationName = camelCase(operation.operation);\n const operationParams = operation.params || [];\n\n const useCommentPermlink =\n operationParams.indexOf('parent_author') !== -1 &&\n operationParams.indexOf('parent_permlink') !== -1;\n\n hiveBroadcast[`${operationName}With`] =\n function hiveBroadcast$specializedSendWith(wif, options, callback) {\n debug(`Sending operation \"${operationName}\" with`, {options, callback});\n const keys = {};\n if (operation.roles && operation.roles.length) {\n keys[operation.roles[0]] = wif; // TODO - Automatically pick a role? Send all?\n }\n\n return hiveBroadcast.send({\n extensions: [],\n operations: [[operation.operation, Object.assign(\n {},\n options,\n options.json_metadata != null ? {\n json_metadata: toString(options.json_metadata),\n } : {},\n useCommentPermlink && options.permlink == null ? {\n permlink: formatter.commentPermlink(options.parent_author, options.parent_permlink),\n } : {}\n )]],\n }, keys, callback);\n };\n\n hiveBroadcast[operationName] =\n function hiveBroadcast$specializedSend(wif, ...args) {\n debug(`Parsing operation \"${operationName}\" with`, {args});\n const options = operationParams.reduce((memo, param, i) => {\n memo[param] = args[i]; // eslint-disable-line no-param-reassign\n return memo;\n }, {});\n const callback = args[operationParams.length];\n return hiveBroadcast[`${operationName}With`](wif, options, callback);\n };\n});\n\nhiveBroadcast.updateOperations = () => {\n console.log('Warning: call to updateOperations() is deprecated and can safely be removed')\n}\n\nconst toString = obj => typeof obj === 'object' ? JSON.stringify(obj) : obj;\nbroadcastHelpers(hiveBroadcast);\n\nPromise.promisifyAll(hiveBroadcast);\n\nexports = module.exports = hiveBroadcast;\n\n\n\n// WEBPACK FOOTER //\n// ./src/broadcast/index.js","import api from '../api';\n\nexports = module.exports = hiveBroadcast => {\n hiveBroadcast.addAccountAuth = ({ signingKey, username, authorizedUsername, role = 'posting', weight }, cb) => {\n api.getAccounts([username], (err, [userAccount]) => {\n if (err) { return cb(new Error(err), null); }\n if (!userAccount) { return cb(new Error('Invalid account name'), null); }\n\n const updatedAuthority = userAccount[role];\n\n /** Release callback if the account already exist in the account_auths array */\n const authorizedAccounts = updatedAuthority.account_auths.map(auth => auth[0]);\n const hasAuthority = authorizedAccounts.indexOf(authorizedUsername) !== -1;\n if (hasAuthority) {\n return cb(null, null);\n }\n\n /** Use weight_thresold as default weight */\n weight = weight || userAccount[role].weight_threshold;\n updatedAuthority.account_auths.push([authorizedUsername, weight]);\n const owner = role === 'owner' ? updatedAuthority : undefined;\n const active = role === 'active' ? updatedAuthority : undefined;\n const posting = role === 'posting' ? updatedAuthority : undefined;\n\n /** Add authority on user account */\n hiveBroadcast.accountUpdate(\n signingKey,\n userAccount.name,\n owner,\n active,\n posting,\n userAccount.memo_key,\n userAccount.json_metadata,\n cb\n );\n });\n };\n\n hiveBroadcast.removeAccountAuth = ({ signingKey, username, authorizedUsername, role = 'posting' }, cb) => {\n api.getAccounts([username], (err, [userAccount]) => {\n if (err) { return cb(new Error(err), null); }\n if (!userAccount) { return cb(new Error('Invalid account name'), null); }\n\n const updatedAuthority = userAccount[role];\n const totalAuthorizedUser = updatedAuthority.account_auths.length;\n for (let i = 0; i < totalAuthorizedUser; i++) {\n const user = updatedAuthority.account_auths[i];\n if (user[0] === authorizedUsername) {\n updatedAuthority.account_auths.splice(i, 1);\n break;\n }\n }\n\n /** Release callback if the account does not exist in the account_auths array */\n if (totalAuthorizedUser === updatedAuthority.account_auths.length) {\n return cb(null, null);\n }\n\n const owner = role === 'owner' ? updatedAuthority : undefined;\n const active = role === 'active' ? updatedAuthority : undefined;\n const posting = role === 'posting' ? updatedAuthority : undefined;\n\n hiveBroadcast.accountUpdate(\n signingKey,\n userAccount.name,\n owner,\n active,\n posting,\n userAccount.memo_key,\n userAccount.json_metadata,\n cb\n );\n });\n };\n\n hiveBroadcast.addKeyAuth = ({ signingKey, username, authorizedKey, role = 'posting', weight }, cb) => {\n api.getAccounts([username], (err, [userAccount]) => {\n if (err) { return cb(new Error(err), null); }\n if (!userAccount) { return cb(new Error('Invalid account name'), null); }\n\n const updatedAuthority = userAccount[role];\n\n /** Release callback if the key already exist in the key_auths array */\n const authorizedKeys = updatedAuthority.key_auths.map(auth => auth[0]);\n const hasAuthority = authorizedKeys.indexOf(authorizedKey) !== -1;\n if (hasAuthority) {\n return cb(null, null);\n }\n\n /** Use weight_thresold as default weight */\n weight = weight || userAccount[role].weight_threshold;\n updatedAuthority.key_auths.push([authorizedKey, weight]);\n const owner = role === 'owner' ? updatedAuthority : undefined;\n const active = role === 'active' ? updatedAuthority : undefined;\n const posting = role === 'posting' ? updatedAuthority : undefined;\n\n /** Add authority on user account */\n hiveBroadcast.accountUpdate(\n signingKey,\n userAccount.name,\n owner,\n active,\n posting,\n userAccount.memo_key,\n userAccount.json_metadata,\n cb\n );\n });\n };\n\n hiveBroadcast.removeKeyAuth = ({ signingKey, username, authorizedKey, role = 'posting' }, cb) => {\n api.getAccounts([username], (err, [userAccount]) => {\n if (err) { return cb(new Error(err), null); }\n if (!userAccount) { return cb(new Error('Invalid account name'), null); }\n\n const updatedAuthority = userAccount[role];\n const totalAuthorizedKey = updatedAuthority.key_auths.length;\n for (let i = 0; i < totalAuthorizedKey; i++) {\n const user = updatedAuthority.key_auths[i];\n if (user[0] === authorizedKey) {\n updatedAuthority.key_auths.splice(i, 1);\n break;\n }\n }\n\n /** Release callback if the key does not exist in the key_auths array */\n if (totalAuthorizedKey === updatedAuthority.key_auths.length) {\n return cb(null, null);\n }\n\n const owner = role === 'owner' ? updatedAuthority : undefined;\n const active = role === 'active' ? updatedAuthority : undefined;\n const posting = role === 'posting' ? updatedAuthority : undefined;\n\n hiveBroadcast.accountUpdate(\n signingKey,\n userAccount.name,\n owner,\n active,\n posting,\n userAccount.memo_key,\n userAccount.json_metadata,\n cb\n );\n });\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/broadcast/helpers.js","import get from \"lodash/get\";\nimport { key_utils } from \"./auth/ecc\";\nimport config from \"./config\"\n\nmodule.exports = hiveAPI => {\n function numberWithCommas(x) {\n return x.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n\n // Deprecating - Replacement: vestingHive\n function vestingSteem(account, gprops) {\n const vests = parseFloat(account.vesting_shares.split(\" \")[0]);\n const total_vests = parseFloat(gprops.total_vesting_shares.split(\" \")[0]);\n const total_vest_hive = parseFloat(\n gprops['total_vesting_fund_hive'].split(\" \")[0]\n );\n const vesting_hivef = total_vest_hive * (vests / total_vests);\n return vesting_hivef;\n }\n const vestingHive = vestingSteem\n\n function processOrders(open_orders, assetPrecision) {\n const hbdOrders = !open_orders\n ? 0\n : open_orders.reduce((o, order) => {\n if (order.sell_price.base.indexOf(\"HBD\") !== -1) {\n o += order.for_sale;\n }\n return o;\n }, 0) / assetPrecision;\n\n const hiveOrders = !open_orders\n ? 0\n : open_orders.reduce((o, order) => {\n if (order.sell_price.base.indexOf(\"HIVE\") !== -1) {\n o += order.for_sale;\n }\n return o;\n }, 0) / assetPrecision;\n\n return { hiveOrders, hbdOrders };\n }\n\n function calculateSaving(savings_withdraws) {\n let savings_pending = 0;\n let savings_hbd_pending = 0;\n savings_withdraws.forEach(withdraw => {\n const [amount, asset] = withdraw.amount.split(\" \");\n if (asset === \"HIVE\") savings_pending += parseFloat(amount);\n else {\n if (asset === \"HBD\") savings_hbd_pending += parseFloat(amount);\n }\n });\n return { savings_pending, savings_hbd_pending };\n }\n\n // Deprecating - Replacement: pricePerHive\n function pricePerSteem(feed_price) {\n let price_per_hive = undefined;\n const { base, quote } = feed_price;\n if (/ HBD$/.test(base) && / HIVE$/.test(quote)) {\n price_per_hive = parseFloat(base.split(\" \")[0]) / parseFloat(quote.split(\" \")[0]);\n }\n return price_per_hive;\n }\n const pricePerHive = pricePerSteem\n\n // TODO: remove vesting_steem\n function estimateAccountValue(\n account,\n { gprops, feed_price, open_orders, savings_withdraws, vesting_steem, vesting_hive } = {}\n ) {\n const promises = [];\n const username = account.name;\n const assetPrecision = 1000;\n let orders, savings;\n\n // TODO: remove vesting_steem\n // this is necessary to work with unbranded apis\n if (vesting_steem) {\n vesting_hive = vesting_steem\n }\n if (!vesting_hive || !feed_price) {\n if (!gprops || !feed_price) {\n promises.push(\n hiveAPI.getStateAsync(`/@${username}`).then(data => {\n gprops = data.props;\n feed_price = data.feed_price;\n vesting_hive = vestingHive(account, gprops);\n })\n );\n } else {\n vesting_hive = vestingHive(account, gprops);\n }\n }\n\n if (!open_orders) {\n promises.push(\n hiveAPI.getOpenOrdersAsync(username).then(open_orders => {\n orders = processOrders(open_orders, assetPrecision);\n })\n );\n } else {\n orders = processOrders(open_orders, assetPrecision);\n }\n\n if (!savings_withdraws) {\n promises.push(\n hiveAPI\n .getSavingsWithdrawFromAsync(username)\n .then(savings_withdraws => {\n savings = calculateSaving(savings_withdraws);\n })\n );\n } else {\n savings = calculateSaving(savings_withdraws);\n }\n\n return Promise.all(promises).then(() => {\n let price_per_hive = pricePerHive(feed_price);\n\n const savings_balance = account.savings_balance;\n const savings_hbd_balance = account[\"savings_hbd_balance\"];\n const balance_hive = parseFloat(account.balance.split(\" \")[0]);\n const saving_balance_hive = parseFloat(savings_balance.split(\" \")[0]);\n const hbd_balance = parseFloat(account[\"hbd_balance\"]);\n const hbd_balance_savings = parseFloat(savings_hbd_balance.split(\" \")[0]);\n\n let conversionValue = 0;\n const currentTime = new Date().getTime();\n (account.other_history || []).reduce((out, item) => {\n if (get(item, [1, \"op\", 0], \"\") !== \"convert\") return out;\n\n const timestamp = new Date(get(item, [1, \"timestamp\"])).getTime();\n const finishTime = timestamp + 86400000 * 3.5; // add 3.5day conversion delay\n if (finishTime < currentTime) return out;\n\n const amount = parseFloat(\n get(item, [1, \"op\", 1, \"amount\"]).replace(\" HBD\", \"\")\n );\n conversionValue += amount;\n }, []);\n\n const total_hbd =\n hbd_balance +\n hbd_balance_savings +\n savings.savings_hbd_pending +\n orders.hbdOrders +\n conversionValue;\n\n const total_hive =\n vesting_hive +\n balance_hive +\n saving_balance_hive +\n savings.savings_pending +\n orders.hiveOrders;\n\n return (total_hive * price_per_hive + total_hbd).toFixed(2);\n });\n }\n\n function createSuggestedPassword() {\n const PASSWORD_LENGTH = 32;\n const privateKey = key_utils.get_random_key();\n return privateKey.toWif().substring(3, 3 + PASSWORD_LENGTH);\n }\n\n return {\n reputation: function(reputation) {\n if (reputation == null) return reputation;\n let neg = reputation < 0;\n let rep = String(reputation);\n rep = neg ? rep.substring(1) : rep;\n let v = (Math.log10((rep > 0 ? rep : -rep) - 10) - 9);\n v = neg ? -v : v;\n return parseInt(v * 9 + 25);\n },\n\n // Deprecated - Remove on future releases\n vestToSteem: function(\n vestingShares,\n totalVestingShares,\n totalVestingFundSteem\n ) {\n console.warn('vestToSteem() is deprecated and will be removed in the future releases. Use vestToHive() instead.')\n return (\n parseFloat(totalVestingFundSteem) *\n (parseFloat(vestingShares) / parseFloat(totalVestingShares))\n );\n },\n\n // Same as vestToSteem\n vestToHive: function(\n vestingShares,\n totalVestingShares,\n totalVestingFundHive\n ) {\n return (\n parseFloat(totalVestingFundHive) *\n (parseFloat(vestingShares) / parseFloat(totalVestingShares))\n );\n },\n\n commentPermlink: function(parentAuthor, parentPermlink) {\n const timeStr = new Date()\n .toISOString()\n .replace(/[^a-zA-Z0-9]+/g, \"\")\n .toLowerCase();\n parentPermlink = parentPermlink.replace(/(-\\d{8}t\\d{9}z)/g, \"\");\n return (\"re-\" + parentAuthor + \"-\" + parentPermlink + \"-\" + timeStr).replaceAll(\".\", \"\");\n },\n\n amount: function(amount, asset) {\n return amount.toFixed(3) + \" \" + asset;\n },\n numberWithCommas,\n vestingSteem,\n vestingHive,\n estimateAccountValue,\n createSuggestedPassword,\n pricePerSteem,\n pricePerHive\n };\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/formatter.js","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/get.js","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseGet.js","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_castPath.js","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_isKey.js","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/isSymbol.js","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_stringToPath.js","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_memoizeCapped.js","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/memoize.js","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_MapCache.js","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_mapCacheClear.js","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_Hash.js","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_hashClear.js","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_nativeCreate.js","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_getNative.js","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseIsNative.js","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_isMasked.js","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_coreJsData.js","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_toSource.js","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_getValue.js","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_hashDelete.js","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_hashGet.js","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_hashHas.js","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_hashSet.js","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_ListCache.js","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_listCacheClear.js","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_listCacheDelete.js","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_assocIndexOf.js","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/eq.js","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_listCacheGet.js","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_listCacheHas.js","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_listCacheSet.js","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_Map.js","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_mapCacheDelete.js","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_getMapData.js","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_isKeyable.js","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_mapCacheGet.js","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_mapCacheHas.js","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_mapCacheSet.js","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/toString.js","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_baseToString.js","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_arrayMap.js","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n\n// WEBPACK FOOTER //\n// ./~/lodash/_toKey.js","const config = require(\"../config\")\n\nmodule.exports = [\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"vote\",\n \"params\": [\n \"voter\",\n \"author\",\n \"permlink\",\n \"weight\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"comment\",\n \"params\": [\n \"parent_author\",\n \"parent_permlink\",\n \"author\",\n \"permlink\",\n \"title\",\n \"body\",\n \"json_metadata\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"transfer\",\n \"params\": [\n \"from\",\n \"to\",\n \"amount\",\n \"memo\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"transfer_to_vesting\",\n \"params\": [\n \"from\",\n \"to\",\n \"amount\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"withdraw_vesting\",\n \"params\": [\n \"account\",\n \"vesting_shares\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"limit_order_create\",\n \"params\": [\n \"owner\",\n \"orderid\",\n \"amount_to_sell\",\n \"min_to_receive\",\n \"fill_or_kill\",\n \"expiration\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"limit_order_cancel\",\n \"params\": [\n \"owner\",\n \"orderid\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"price\",\n \"params\": [\n \"base\",\n \"quote\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"feed_publish\",\n \"params\": [\n \"publisher\",\n \"exchange_rate\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"convert\",\n \"params\": [\n \"owner\",\n \"requestid\",\n \"amount\"\n ]\n },\n {\n \"roles\": [\"active\",\"owner\"],\n \"operation\": \"collateralized_convert\",\n \"params\": [\n \"owner\",\n \"requestid\",\n \"amount\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"account_create\",\n \"params\": [\n \"fee\",\n \"creator\",\n \"new_account_name\",\n \"owner\",\n \"active\",\n \"posting\",\n \"memo_key\",\n \"json_metadata\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"account_update\",\n \"params\": [\n \"account\",\n \"owner\",\n \"active\",\n \"posting\",\n \"memo_key\",\n \"json_metadata\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"witness_update\",\n \"params\": [\n \"owner\",\n \"url\",\n \"block_signing_key\",\n \"props\",\n \"fee\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"account_witness_vote\",\n \"params\": [\n \"account\",\n \"witness\",\n \"approve\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"account_witness_proxy\",\n \"params\": [\n \"account\",\n \"proxy\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"pow\",\n \"params\": [\n \"worker\",\n \"input\",\n \"signature\",\n \"work\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"custom\",\n \"params\": [\n \"required_auths\",\n \"id\",\n \"data\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"delete_comment\",\n \"params\": [\n \"author\",\n \"permlink\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"custom_json\",\n \"params\": [\n \"required_auths\",\n \"required_posting_auths\",\n \"id\",\n \"json\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"comment_options\",\n \"params\": [\n \"author\",\n \"permlink\",\n \"max_accepted_payout\",\n \"percent_hbd\",\n \"allow_votes\",\n \"allow_curation_rewards\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"set_withdraw_vesting_route\",\n \"params\": [\n \"from_account\",\n \"to_account\",\n \"percent\",\n \"auto_vest\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"limit_order_create2\",\n \"params\": [\n \"owner\",\n \"orderid\",\n \"amount_to_sell\",\n \"exchange_rate\",\n \"fill_or_kill\",\n \"expiration\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"claim_account\",\n \"params\": [\n \"creator\",\n \"fee\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"create_claimed_account\",\n \"params\": [\n \"creator\",\n \"new_account_name\",\n \"owner\",\n \"active\",\n \"posting\",\n \"memo_key\",\n \"json_metadata\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"request_account_recovery\",\n \"params\": [\n \"recovery_account\",\n \"account_to_recover\",\n \"new_owner_authority\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"owner\"],\n \"operation\": \"recover_account\",\n \"params\": [\n \"account_to_recover\",\n \"new_owner_authority\",\n \"recent_owner_authority\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"owner\"],\n \"operation\": \"change_recovery_account\",\n \"params\": [\n \"account_to_recover\",\n \"new_recovery_account\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"escrow_transfer\",\n \"params\": [\n \"from\",\n \"to\",\n \"agent\",\n \"escrow_id\",\n \"hbd_amount\",\n \"hive_amount\",\n \"fee\",\n \"ratification_deadline\",\n \"escrow_expiration\",\n \"json_meta\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"escrow_dispute\",\n \"params\": [\n \"from\",\n \"to\",\n \"agent\",\n \"who\",\n \"escrow_id\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"escrow_release\",\n \"params\": [\n \"from\",\n \"to\",\n \"agent\",\n \"who\",\n \"receiver\",\n \"escrow_id\",\n \"hbd_amount\",\n \"hive_amount\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"pow2\",\n \"params\": [\n \"input\",\n \"pow_summary\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"escrow_approve\",\n \"params\": [\n \"from\",\n \"to\",\n \"agent\",\n \"who\",\n \"escrow_id\",\n \"approve\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"transfer_to_savings\",\n \"params\": [\n \"from\",\n \"to\",\n \"amount\",\n \"memo\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"transfer_from_savings\",\n \"params\": [\n \"from\",\n \"request_id\",\n \"to\",\n \"amount\",\n \"memo\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"cancel_transfer_from_savings\",\n \"params\": [\n \"from\",\n \"request_id\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"custom_binary\",\n \"params\": [\n \"id\",\n \"data\"\n ]\n },\n {\n \"roles\": [\"owner\"],\n \"operation\": \"decline_voting_rights\",\n \"params\": [\n \"account\",\n \"decline\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"reset_account\",\n \"params\": [\n \"reset_account\",\n \"account_to_reset\",\n \"new_owner_authority\"\n ]\n },\n {\n \"roles\": [\"owner\", \"posting\"],\n \"operation\": \"set_reset_account\",\n \"params\": [\n \"account\",\n \"current_reset_account\",\n \"reset_account\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"claim_reward_balance\",\n \"params\": [\n \"account\",\n \"reward_hive\",\n \"reward_hbd\",\n \"reward_vests\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"delegate_vesting_shares\",\n \"params\": [\n \"delegator\",\n \"delegatee\",\n \"vesting_shares\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"account_create_with_delegation\",\n \"params\": [\n \"fee\",\n \"delegation\",\n \"creator\",\n \"new_account_name\",\n \"owner\",\n \"active\",\n \"posting\",\n \"memo_key\",\n \"json_metadata\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"witness_set_properties\",\n \"params\": [\n \"owner\",\n \"props\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"account_update2\",\n \"params\": [\n \"account\",\n \"owner\",\n \"active\",\n \"posting\",\n \"memo_key\",\n \"json_metadata\",\n \"posting_json_metadata\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"create_proposal\",\n \"params\": [\n \"creator\",\n \"receiver\",\n \"start_date\",\n \"end_date\",\n \"daily_pay\",\n \"subject\",\n \"permlink\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"update_proposal_votes\",\n \"params\": [\n \"voter\",\n \"proposal_ids\",\n \"approve\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"remove_proposal\",\n \"params\": [\n \"proposal_owner\",\n \"proposal_ids\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"update_proposal\",\n \"params\": [\n \"proposal_id\",\n \"creator\",\n \"daily_pay\",\n \"subject\",\n \"permlink\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"recurrent_transfer\",\n \"params\": [\n \"from\",\n \"to\",\n \"amount\",\n \"memo\",\n \"recurrence\",\n \"executions\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"claim_reward_balance2\",\n \"params\": [\n \"account\",\n \"reward_tokens\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"vote2\",\n \"params\": [\n \"voter\",\n \"author\",\n \"permlink\",\n \"rshares\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_create\",\n \"params\": [\n \"control_account\",\n \"symbol\",\n \"smt_creation_fee\",\n \"precision\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_setup\",\n \"params\": [\n \"control_account\",\n \"symbol\",\n \"max_supply\",\n \"contribution_begin_time\",\n \"contribution_end_time\",\n \"launch_time\",\n \"hive_units_min\",\n \"min_unit_ratio\",\n \"max_unit_ratio\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_setup_emissions\",\n \"params\": [\n \"control_account\",\n \"symbol\",\n \"schedule_time\",\n \"emissions_unit\",\n \"interval_seconds\",\n \"interval_coount\",\n \"lep_time\",\n \"rep_time\",\n \"lep_abs_amount\",\n \"rep_abs_amount\",\n \"lep_rel_amount_numerator\",\n \"rep_rel_amount_numerator\",\n \"rel_amount_denom_bits\",\n \"remove\",\n \"floor_emissions\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_setup_ico_tier\",\n \"params\": [\n \"control_account\",\n \"symbol\",\n \"hive_units_cap\",\n \"generation_policy\",\n \"remove\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_set_setup_parameters\",\n \"params\": [\n \"control_account\",\n \"symbol\",\n \"setup_parameters\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_set_runtime_parameters\",\n \"params\": [\n \"control_account\",\n \"symbol\",\n \"runtime_parameters\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"smt_contribute\",\n \"params\": [\n \"contributor\",\n \"symbol\",\n \"contribution_id\",\n \"contribution\",\n \"extensions\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"fill_convert_request\",\n \"params\": [\n \"owner\",\n \"requestid\",\n \"amount_in\",\n \"amount_out\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"comment_reward\",\n \"params\": [\n \"author\",\n \"permlink\",\n \"payout\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"liquidity_reward\",\n \"params\": [\n \"owner\",\n \"payout\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"interest\",\n \"params\": [\n \"owner\",\n \"interest\"\n ]\n },\n {\n \"roles\": [\"active\", \"owner\"],\n \"operation\": \"fill_vesting_withdraw\",\n \"params\": [\n \"from_account\",\n \"to_account\",\n \"withdrawn\",\n \"deposited\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"fill_order\",\n \"params\": [\n \"current_owner\",\n \"current_orderid\",\n \"current_pays\",\n \"open_owner\",\n \"open_orderid\",\n \"open_pays\"\n ]\n },\n {\n \"roles\": [\"posting\", \"active\", \"owner\"],\n \"operation\": \"fill_transfer_from_savings\",\n \"params\": [\n \"from\",\n \"to\",\n \"amount\",\n \"request_id\",\n \"memo\"\n ]\n }\n];\n\n\n\n// WEBPACK FOOTER //\n// ./src/broadcast/operations.js"],"sourceRoot":""} \ No newline at end of file diff --git a/readme.md b/readme.md index fde585f6723c1182bd50e6b5737579be57a61528..65754fd36106d6abc16e909d422a2b9f88240254 100644 --- a/readme.md +++ b/readme.md @@ -102,7 +102,7 @@ $ TEST_NODE=<some server url> bundle exec rake scrape:api_defs An example pointing at the Hivedev testnet: ```bash -$ TEST_NODE=https://testnet.Hivedev.com bundle exec rake scrape:api_defs +$ TEST_NODE=https://testnet.openhive.network bundle exec rake scrape:api_defs ``` ### Tests @@ -128,7 +128,7 @@ $ TEST_NODE=<some server url> bundle exec rake test:curl An example pointing at the Hivedev testnet ```bash -$ TEST_NODE=https://testnet.Hivedev.com bundle exec rake test:curl +$ TEST_NODE=https://testnet.openhive.network bundle exec rake test:curl ``` To verify previously archived urls: diff --git a/tutorials/javascript/37_convert_hive_to_hbd/README.md b/tutorials/javascript/37_convert_hive_to_hbd/README.md new file mode 100755 index 0000000000000000000000000000000000000000..8a87fb6fa92deffc0db26ae7556180b9786b975e --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/README.md @@ -0,0 +1 @@ +See: https://developers.hive.io/tutorials-javascript/convert_hbd_to_hive.html diff --git a/tutorials/javascript/37_convert_hive_to_hbd/index.js b/tutorials/javascript/37_convert_hive_to_hbd/index.js new file mode 100755 index 0000000000000000000000000000000000000000..9a52b2d2a01750a7b599209c1ae3568e2d6b0877 --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/index.js @@ -0,0 +1,8 @@ +const Koa = require('koa'); +const app = new Koa(); +const serve = require('koa-static'); +app.use(serve('./public')); + +app.listen(3000); + +console.log('listening on port 3000'); diff --git a/tutorials/javascript/37_convert_hive_to_hbd/package.json b/tutorials/javascript/37_convert_hive_to_hbd/package.json new file mode 100755 index 0000000000000000000000000000000000000000..606e78cce026f6dea8721d34703afac1276b47e3 --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/package.json @@ -0,0 +1,26 @@ +{ + "name": "32_convert_hbd_to_hive", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "webpack && node ./index.js", + "test": "echo \"Error: no test specified\" && exit 1", + "dev-server": "./node_modules/.bin/webpack-dev-server --mode development --content-base ./public --port 3000" + }, + "author": "", + "license": "ISC", + "dependencies": { + "bootstrap": "^4.1.3", + "@hiveio/dhive": "^0.14.12", + "koa": "^2.5.3", + "koa-static": "^5.0.0" + }, + "devDependencies": { + "css-loader": "^1.0.0", + "style-loader": "^0.23.1", + "webpack": "^4.20.2", + "webpack-cli": "^3.1.2", + "webpack-dev-server": "^3.1.9" + } +} diff --git a/tutorials/javascript/37_convert_hive_to_hbd/public/app.js b/tutorials/javascript/37_convert_hive_to_hbd/public/app.js new file mode 100755 index 0000000000000000000000000000000000000000..3a7c910d93c44fb5e1b573093df78e75c53f4896 --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/public/app.js @@ -0,0 +1,77 @@ +import { Client, PrivateKey } from '@hiveio/dhive'; +import { PublicTestnetHive as NetConfig } from '../../configuration'; //A Hive Testnet. Replace 'Testnet' with 'Mainnet' to connect to the main Hive blockchain. + +let opts = { ...NetConfig.net }; + +//connect to a hive node, tesetnet in this case +const client = new Client(NetConfig.url, opts); + +window.submitAcc = async () => { + const accSearch = document.getElementById('username').value; + + const _account = await client.database.call('get_accounts', [[accSearch]]); + console.log(`_account:`, _account); + + const availHIVE = _account[0].balance + const availHBD = _account[0].hbd_balance + + const balance = `Available balance: ${availHIVE} and ${availHBD} <br/>`; + document.getElementById('accBalance').innerHTML = balance; + + //create random number for requestid paramter + var x = Math.floor(Math.random() * 10000000); + document.getElementById("requestID").value = x +} + +//submit convert function executes when you click "Convert" button +window.submitConvert = async () => { + //get all values from the UI + //get account name + const username = document.getElementById('username').value; + //get private active key + const privateKey = PrivateKey.fromString( + document.getElementById('privateKey').value + ); + //get convert amount + const quantity = document.getElementById('quantity').value; + //create correct format + const convert = quantity.concat(' TESTS'); // HIVE = mainnet symbol; TESTS = testnet symbol + //assign integer value of ID + const requestid = parseInt(document.getElementById('requestID').value); + + //create convert operation + const op = [ + 'collateralized_convert', + { owner: username, amount: convert, requestid: requestid }, + ]; + + //broadcast the conversion + client.broadcast.sendOperations([op], privateKey).then( + function(result) { + console.log( + 'included in block: ' + result.block_num, + 'expired: ' + result.expired + ); + document.getElementById('convertResultContainer').style.display = + 'flex'; + document.getElementById('convertResult').className = + 'form-control-plaintext alert alert-success'; + document.getElementById('convertResult').innerHTML = 'Success'; + }, + function(error) { + console.error(error); + document.getElementById('convertResultContainer').style.display = + 'flex'; + document.getElementById('convertResult').className = + 'form-control-plaintext alert alert-danger'; + document.getElementById('convertResult').innerHTML = + error.jse_shortmsg; + } + ); +}; + +window.onload = async () => { + const account = NetConfig.accounts[0]; + document.getElementById('username').value = account.address; + document.getElementById('privateKey').value = account.privActive; +}; diff --git a/tutorials/javascript/37_convert_hive_to_hbd/public/bundle.js b/tutorials/javascript/37_convert_hive_to_hbd/public/bundle.js new file mode 100644 index 0000000000000000000000000000000000000000..75789c639a1a60c00085af12a2a607d6a174be91 --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/public/bundle.js @@ -0,0 +1,2 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(module,exports,__webpack_require__){(function(global){var require,require,f;f=function(){var define,module,exports;return function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){if(!a&&"function"==typeof require&&require)return require(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var d=r[s]={exports:{}};t[s][0].call(d.exports,(function(e){return i(t[s][1][e]||e)}),d,d.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s<n.length;s++)i(n[s]);return i}({"/Users/f/pjs/dhive/lib/version.js":[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default="0.14.16"},{}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js":[function(e,t,r){var n=r;n.bignum=e("bn.js"),n.define=e("./asn1/api").define,n.base=e("./asn1/base"),n.constants=e("./asn1/constants"),n.decoders=e("./asn1/decoders"),n.encoders=e("./asn1/encoders")},{"./asn1/api":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/api.js","./asn1/base":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js","./asn1/constants":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/index.js","./asn1/decoders":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/index.js","./asn1/encoders":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/index.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/api.js":[function(e,t,r){var n=e("../asn1"),i=e("inherits");function o(e,t){this.name=e,this.body=t,this.decoders={},this.encoders={}}r.define=function(e,t){return new o(e,t)},o.prototype._createNamed=function(t){var r;try{r=e("vm").runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch(e){r=function(e){this._initNamed(e)}}return i(r,t),r.prototype._initNamed=function(e){t.call(this,e)},new r(this)},o.prototype._getDecoder=function(e){return e=e||"der",this.decoders.hasOwnProperty(e)||(this.decoders[e]=this._createNamed(n.decoders[e])),this.decoders[e]},o.prototype.decode=function(e,t,r){return this._getDecoder(t).decode(e,r)},o.prototype._getEncoder=function(e){return e=e||"der",this.encoders.hasOwnProperty(e)||(this.encoders[e]=this._createNamed(n.encoders[e])),this.encoders[e]},o.prototype.encode=function(e,t,r){return this._getEncoder(t).encode(e,r)}},{"../asn1":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js",vm:"/Users/f/pjs/dhive/node_modules/vm-browserify/index.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/buffer.js":[function(e,t,r){var n=e("inherits"),i=e("../base").Reporter,o=e("buffer").Buffer;function s(e,t){i.call(this,t),o.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}n(s,i),(r.DecoderBuffer=s).prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},s.prototype.restore=function(e){var t=new s(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,i.prototype.restore.call(this,e.reporter),t},s.prototype.isEmpty=function(){return this.offset===this.length},s.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},s.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var r=new s(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+e,this.offset+=e,r},s.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},(r.EncoderBuffer=function e(t,r){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return t instanceof e||(t=new e(t,r)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return r.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=o.byteLength(t);else{if(!o.isBuffer(t))return r.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}).prototype.join=function(e,t){return e=e||new o(this.length),t=t||0,0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(e,t),t+=r.length})):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):o.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length)),e}},{"../base":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js":[function(e,t,r){var n=r;n.Reporter=e("./reporter").Reporter,n.DecoderBuffer=e("./buffer").DecoderBuffer,n.EncoderBuffer=e("./buffer").EncoderBuffer,n.Node=e("./node")},{"./buffer":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/buffer.js","./node":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/node.js","./reporter":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/reporter.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/node.js":[function(e,t,r){var n=e("../base").Reporter,i=e("../base").EncoderBuffer,o=e("../base").DecoderBuffer,s=e("minimalistic-assert"),a=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],l=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(a);function d(e,t){var r={};(this._baseState=r).enc=e,r.parent=t||null,r.children=null,r.tag=null,r.args=null,r.reverseArgs=null,r.choice=null,r.optional=!1,r.any=!1,r.obj=!1,r.use=null,r.useDecoder=null,r.key=null,r.default=null,r.explicit=null,r.implicit=null,r.contains=null,r.parent||(r.children=[],this._wrap())}t.exports=d;var f=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];d.prototype.clone=function(){var e=this._baseState,t={};f.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);return r._baseState=t,r},d.prototype._wrap=function(){var e=this._baseState;l.forEach((function(t){this[t]=function(){var r=new this.constructor(this);return e.children.push(r),r[t].apply(r,arguments)}}),this)},d.prototype._init=function(e){var t=this._baseState;s(null===t.parent),e.call(this),t.children=t.children.filter((function(e){return e._baseState.parent===this}),this),s.equal(t.children.length,1,"Root node can have only one child")},d.prototype._useArgs=function(e){var t=this._baseState,r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this),0!==r.length&&(s(null===t.children),(t.children=r).forEach((function(e){e._baseState.parent=this}),this)),0!==e.length&&(s(null===t.args),t.args=e,t.reverseArgs=e.map((function(e){if("object"!=typeof e||e.constructor!==Object)return e;var t={};return Object.keys(e).forEach((function(r){r==(0|r)&&(r|=0);var n=e[r];t[n]=r})),t})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(e){d.prototype[e]=function(){var t=this._baseState;throw new Error(e+" not implemented for encoding: "+t.enc)}})),a.forEach((function(e){d.prototype[e]=function(){var t=this._baseState,r=Array.prototype.slice.call(arguments);return s(null===t.tag),t.tag=e,this._useArgs(r),this}})),d.prototype.use=function(e){s(e);var t=this._baseState;return s(null===t.use),t.use=e,this},d.prototype.optional=function(){return this._baseState.optional=!0,this},d.prototype.def=function(e){var t=this._baseState;return s(null===t.default),t.default=e,t.optional=!0,this},d.prototype.explicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.explicit=e,this},d.prototype.implicit=function(e){var t=this._baseState;return s(null===t.explicit&&null===t.implicit),t.implicit=e,this},d.prototype.obj=function(){var e=this._baseState,t=Array.prototype.slice.call(arguments);return e.obj=!0,0!==t.length&&this._useArgs(t),this},d.prototype.key=function(e){var t=this._baseState;return s(null===t.key),t.key=e,this},d.prototype.any=function(){return this._baseState.any=!0,this},d.prototype.choice=function(e){var t=this._baseState;return s(null===t.choice),t.choice=e,this._useArgs(Object.keys(e).map((function(t){return e[t]}))),this},d.prototype.contains=function(e){var t=this._baseState;return s(null===t.use),t.contains=e,this},d.prototype._decode=function(e,t){var r=this._baseState;if(null===r.parent)return e.wrapResult(r.children[0]._decode(e,t));var n,i=r.default,s=!0,a=null;if(null!==r.key&&(a=e.enterKey(r.key)),r.optional){var l=null;if(null!==r.explicit?l=r.explicit:null!==r.implicit?l=r.implicit:null!==r.tag&&(l=r.tag),null!==l||r.any){if(s=this._peekTag(e,l,r.any),e.isError(s))return s}else{var d=e.save();try{null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),s=!0}catch(e){s=!1}e.restore(d)}}if(r.obj&&s&&(n=e.enterObject()),s){if(null!==r.explicit){var f=this._decodeTag(e,r.explicit);if(e.isError(f))return f;e=f}var c=e.offset;if(null===r.use&&null===r.choice){r.any&&(d=e.save());var u=this._decodeTag(e,null!==r.implicit?r.implicit:r.tag,r.any);if(e.isError(u))return u;r.any?i=e.raw(d):e=u}if(t&&t.track&&null!==r.tag&&t.track(e.path(),c,e.length,"tagged"),t&&t.track&&null!==r.tag&&t.track(e.path(),e.offset,e.length,"content"),i=r.any?i:null===r.choice?this._decodeGeneric(r.tag,e,t):this._decodeChoice(e,t),e.isError(i))return i;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(e,t)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){var h=new o(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(h,t)}}return r.obj&&s&&(i=e.leaveObject(n)),null===r.key||null===i&&!0!==s?null!==a&&e.exitKey(a):e.leaveKey(a,r.key,i),i},d.prototype._decodeGeneric=function(e,t,r){var n=this._baseState;return"seq"===e||"set"===e?null:"seqof"===e||"setof"===e?this._decodeList(t,e,n.args[0],r):/str$/.test(e)?this._decodeStr(t,e,r):"objid"===e&&n.args?this._decodeObjid(t,n.args[0],n.args[1],r):"objid"===e?this._decodeObjid(t,null,null,r):"gentime"===e||"utctime"===e?this._decodeTime(t,e,r):"null_"===e?this._decodeNull(t,r):"bool"===e?this._decodeBool(t,r):"objDesc"===e?this._decodeStr(t,e,r):"int"===e||"enum"===e?this._decodeInt(t,n.args&&n.args[0],r):null!==n.use?this._getUse(n.use,t._reporterState.obj)._decode(t,r):t.error("unknown tag: "+e)},d.prototype._getUse=function(e,t){var r=this._baseState;return r.useDecoder=this._use(e,t),s(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},d.prototype._decodeChoice=function(e,t){var r=this._baseState,n=null,i=!1;return Object.keys(r.choice).some((function(o){var s=e.save(),a=r.choice[o];try{var l=a._decode(e,t);if(e.isError(l))return!1;n={type:o,value:l},i=!0}catch(t){return e.restore(s),!1}return!0}),this),i?n:e.error("Choice not matched")},d.prototype._createEncoderBuffer=function(e){return new i(e,this.reporter)},d.prototype._encode=function(e,t,r){var n=this._baseState;if(null===n.default||n.default!==e){var i=this._encodeValue(e,t,r);if(void 0!==i&&!this._skipDefault(i,t,r))return i}},d.prototype._encodeValue=function(e,t,r){var i=this._baseState;if(null===i.parent)return i.children[0]._encode(e,t||new n);var o=null;if(this.reporter=t,i.optional&&void 0===e){if(null===i.default)return;e=i.default}var s=null,a=!1;if(i.any)o=this._createEncoderBuffer(e);else if(i.choice)o=this._encodeChoice(e,t);else if(i.contains)s=this._getUse(i.contains,r)._encode(e,t),a=!0;else if(i.children)s=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,t,e);if(null===r._baseState.key)return t.error("Child should have a key");var n=t.enterKey(r._baseState.key);if("object"!=typeof e)return t.error("Child expected, but input is not object");var i=r._encode(e[r._baseState.key],t,e);return t.leaveKey(n),i}),this).filter((function(e){return e})),s=this._createEncoderBuffer(s);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return t.error("Too many args for : "+i.tag);if(!Array.isArray(e))return t.error("seqof/setof, but data is not Array");var l=this.clone();l._baseState.implicit=null,s=this._createEncoderBuffer(e.map((function(r){var n=this._baseState;return this._getUse(n.args[0],e)._encode(r,t)}),l))}else null!==i.use?o=this._getUse(i.use,r)._encode(e,t):(s=this._encodePrimitive(i.tag,e),a=!0);if(!i.any&&null===i.choice){var d=null!==i.implicit?i.implicit:i.tag,f=null===i.implicit?"universal":"context";null===d?null===i.use&&t.error("Tag could be omitted only for .use()"):null===i.use&&(o=this._encodeComposite(d,a,f,s))}return null!==i.explicit&&(o=this._encodeComposite(i.explicit,!1,"context",o)),o},d.prototype._encodeChoice=function(e,t){var r=this._baseState,n=r.choice[e.type];return n||s(!1,e.type+" not found in "+JSON.stringify(Object.keys(r.choice))),n._encode(e.value,t)},d.prototype._encodePrimitive=function(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);if("objid"===e&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);if("objid"===e)return this._encodeObjid(t,null,null);if("gentime"===e||"utctime"===e)return this._encodeTime(t,e);if("null_"===e)return this._encodeNull();if("int"===e||"enum"===e)return this._encodeInt(t,r.args&&r.reverseArgs[0]);if("bool"===e)return this._encodeBool(t);if("objDesc"===e)return this._encodeStr(t,e);throw new Error("Unsupported tag: "+e)},d.prototype._isNumstr=function(e){return/^[0-9 ]*$/.test(e)},d.prototype._isPrintstr=function(e){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(e)}},{"../base":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/reporter.js":[function(e,t,r){var n=e("inherits");function i(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}function o(e,t){this.path=e,this.rethrow(t)}(r.Reporter=i).prototype.isError=function(e){return e instanceof o},i.prototype.save=function(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}},i.prototype.restore=function(e){var t=this._reporterState;t.obj=e.obj,t.path=t.path.slice(0,e.pathLen)},i.prototype.enterKey=function(e){return this._reporterState.path.push(e)},i.prototype.exitKey=function(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)},i.prototype.leaveKey=function(e,t,r){var n=this._reporterState;this.exitKey(e),null!==n.obj&&(n.obj[t]=r)},i.prototype.path=function(){return this._reporterState.path.join("/")},i.prototype.enterObject=function(){var e=this._reporterState,t=e.obj;return e.obj={},t},i.prototype.leaveObject=function(e){var t=this._reporterState,r=t.obj;return t.obj=e,r},i.prototype.error=function(e){var t,r=this._reporterState,n=e instanceof o;if(t=n?e:new o(r.path.map((function(e){return"["+JSON.stringify(e)+"]"})).join(""),e.message||e,e.stack),!r.options.partial)throw t;return n||r.errors.push(t),t},i.prototype.wrapResult=function(e){var t=this._reporterState;return t.options.partial?{result:this.isError(e)?null:e,errors:t.errors}:e},n(o,Error),o.prototype.rethrow=function(e){if(this.message=e+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,o),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},{inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/der.js":[function(e,t,r){var n=e("../constants");r.tagClass={0:"universal",1:"application",2:"context",3:"private"},r.tagClassByName=n._reverse(r.tagClass),r.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},r.tagByName=n._reverse(r.tag)},{"../constants":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/index.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/index.js":[function(e,t,r){var n=r;n._reverse=function(e){var t={};return Object.keys(e).forEach((function(r){(0|r)==r&&(r|=0);var n=e[r];t[n]=r})),t},n.der=e("./der")},{"./der":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/der.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/der.js":[function(e,t,r){var n=e("inherits"),i=e("../../asn1"),o=i.base,s=i.bignum,a=i.constants.der;function l(e){o.Node.call(this,"der",e)}function d(e,t){var r=e.readUInt8(t);if(e.isError(r))return r;var n=a.tagClass[r>>6],i=0==(32&r);if(31==(31&r)){var o=r;for(r=0;128==(128&o);){if(o=e.readUInt8(t),e.isError(o))return o;r<<=7,r|=127&o}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:a.tag[r]}}function f(e,t,r){var n=e.readUInt8(r);if(e.isError(n))return n;if(!t&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(4<i)return e.error("length octect is too long");for(var o=n=0;o<i;o++){n<<=8;var s=e.readUInt8(r);if(e.isError(s))return s;n|=s}return n}(t.exports=function(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new l,this.tree._init(e.body)}).prototype.decode=function(e,t){return e instanceof o.DecoderBuffer||(e=new o.DecoderBuffer(e,t)),this.tree._decode(e,t)},n(l,o.Node),l.prototype._peekTag=function(e,t,r){if(e.isEmpty())return!1;var n=e.save(),i=d(e,'Failed to peek tag: "'+t+'"');return e.isError(i)?i:(e.restore(n),i.tag===t||i.tagStr===t||i.tagStr+"of"===t||r)},l.prototype._decodeTag=function(e,t,r){var n=d(e,'Failed to decode tag of "'+t+'"');if(e.isError(n))return n;var i=f(e,n.primitive,'Failed to get length of "'+t+'"');if(e.isError(i))return i;if(!r&&n.tag!==t&&n.tagStr!==t&&n.tagStr+"of"!==t)return e.error('Failed to match tag: "'+t+'"');if(n.primitive||null!==i)return e.skip(i,'Failed to match body of: "'+t+'"');var o=e.save(),s=this._skipUntilEnd(e,'Failed to skip indefinite length body: "'+this.tag+'"');return e.isError(s)?s:(i=e.offset-o.offset,e.restore(o),e.skip(i,'Failed to match body of: "'+t+'"'))},l.prototype._skipUntilEnd=function(e,t){for(;;){var r=d(e,t);if(e.isError(r))return r;var n,i=f(e,r.primitive,t);if(e.isError(i))return i;if(n=r.primitive||null!==i?e.skip(i):this._skipUntilEnd(e,t),e.isError(n))return n;if("end"===r.tagStr)break}},l.prototype._decodeList=function(e,t,r,n){for(var i=[];!e.isEmpty();){var o=this._peekTag(e,"end");if(e.isError(o))return o;var s=r.decode(e,"der",n);if(e.isError(s)&&o)break;i.push(s)}return i},l.prototype._decodeStr=function(e,t){if("bitstr"===t){var r=e.readUInt8();return e.isError(r)?r:{unused:r,data:e.raw()}}if("bmpstr"===t){var n=e.raw();if(n.length%2==1)return e.error("Decoding of string type: bmpstr length mismatch");for(var i="",o=0;o<n.length/2;o++)i+=String.fromCharCode(n.readUInt16BE(2*o));return i}if("numstr"===t){var s=e.raw().toString("ascii");return this._isNumstr(s)?s:e.error("Decoding of string type: numstr unsupported characters")}if("octstr"===t)return e.raw();if("objDesc"===t)return e.raw();if("printstr"!==t)return/str$/.test(t)?e.raw().toString():e.error("Decoding of string type: "+t+" unsupported");var a=e.raw().toString("ascii");return this._isPrintstr(a)?a:e.error("Decoding of string type: printstr unsupported characters")},l.prototype._decodeObjid=function(e,t,r){for(var n,i=[],o=0;!e.isEmpty();){var s=e.readUInt8();o<<=7,o|=127&s,0==(128&s)&&(i.push(o),o=0)}128&s&&i.push(o);var a=i[0]/40|0,l=i[0]%40;if(n=r?i:[a,l].concat(i.slice(1)),t){var d=t[n.join(" ")];void 0===d&&(d=t[n.join(".")]),void 0!==d&&(n=d)}return n},l.prototype._decodeTime=function(e,t){var r=e.raw().toString();if("gentime"===t)var n=0|r.slice(0,4),i=0|r.slice(4,6),o=0|r.slice(6,8),s=0|r.slice(8,10),a=0|r.slice(10,12),l=0|r.slice(12,14);else{if("utctime"!==t)return e.error("Decoding "+t+" time is not supported yet");n=0|r.slice(0,2),i=0|r.slice(2,4),o=0|r.slice(4,6),s=0|r.slice(6,8),a=0|r.slice(8,10),l=0|r.slice(10,12),n=n<70?2e3+n:1900+n}return Date.UTC(n,i-1,o,s,a,l,0)},l.prototype._decodeNull=function(){return null},l.prototype._decodeBool=function(e){var t=e.readUInt8();return e.isError(t)?t:0!==t},l.prototype._decodeInt=function(e,t){var r=e.raw(),n=new s(r);return t&&(n=t[n.toString(10)]||n),n},l.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getDecoder("der").tree}},{"../../asn1":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/index.js":[function(e,t,r){var n=r;n.der=e("./der"),n.pem=e("./pem")},{"./der":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/der.js","./pem":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/pem.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/pem.js":[function(e,t,r){var n=e("inherits"),i=e("buffer").Buffer,o=e("./der");function s(e){o.call(this,e),this.enc="pem"}n(s,o),(t.exports=s).prototype.decode=function(e,t){for(var r=e.toString().split(/[\r\n]+/g),n=t.label.toUpperCase(),s=/^-----(BEGIN|END) ([^-]+)-----$/,a=-1,l=-1,d=0;d<r.length;d++){var f=r[d].match(s);if(null!==f&&f[2]===n){if(-1!==a){if("END"!==f[1])break;l=d;break}if("BEGIN"!==f[1])break;a=d}}if(-1===a||-1===l)throw new Error("PEM section not found for: "+n);var c=r.slice(a+1,l).join("");c.replace(/[^a-z0-9\+\/=]+/gi,"");var u=new i(c,"base64");return o.prototype.decode.call(this,u,t)}},{"./der":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/der.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/der.js":[function(e,t,r){var n=e("inherits"),i=e("buffer").Buffer,o=e("../../asn1"),s=o.base,a=o.constants.der;function l(e){s.Node.call(this,"der",e)}function d(e){return e<10?"0"+e:e}(t.exports=function(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new l,this.tree._init(e.body)}).prototype.encode=function(e,t){return this.tree._encode(e,t).join()},n(l,s.Node),l.prototype._encodeComposite=function(e,t,r,n){var o,s=function(e,t,r,n){var i;if("seqof"===e?e="seq":"setof"===e&&(e="set"),a.tagByName.hasOwnProperty(e))i=a.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return n.error("Unknown tag: "+e);i=e}return 31<=i?n.error("Multi-octet tag encoding unsupported"):(t||(i|=32),i|a.tagClassByName[r||"universal"]<<6)}(e,t,r,this.reporter);if(n.length<128)return(o=new i(2))[0]=s,o[1]=n.length,this._createEncoderBuffer([o,n]);for(var l=1,d=n.length;256<=d;d>>=8)l++;(o=new i(2+l))[0]=s,o[1]=128|l,d=1+l;for(var f=n.length;0<f;d--,f>>=8)o[d]=255&f;return this._createEncoderBuffer([o,n])},l.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"!==t)return"numstr"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(t)||"objDesc"===t?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+t+" unsupported");for(var r=new i(2*e.length),n=0;n<e.length;n++)r.writeUInt16BE(e.charCodeAt(n),2*n);return this._createEncoderBuffer(r)},l.prototype._encodeObjid=function(e,t,r){if("string"==typeof e){if(!t)return this.reporter.error("string objid given, but no values map found");if(!t.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=t[e].split(/[\s\.]+/g);for(var n=0;n<e.length;n++)e[n]|=0}else if(Array.isArray(e))for(e=e.slice(),n=0;n<e.length;n++)e[n]|=0;if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!r){if(40<=e[1])return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var o=0;for(n=0;n<e.length;n++){var s=e[n];for(o++;128<=s;s>>=7)o++}var a=new i(o),l=a.length-1;for(n=e.length-1;0<=n;n--)for(s=e[n],a[l--]=127&s;0<(s>>=7);)a[l--]=128|127&s;return this._createEncoderBuffer(a)},l.prototype._encodeTime=function(e,t){var r,n=new Date(e);return"gentime"===t?r=[d(n.getFullYear()),d(n.getUTCMonth()+1),d(n.getUTCDate()),d(n.getUTCHours()),d(n.getUTCMinutes()),d(n.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[d(n.getFullYear()%100),d(n.getUTCMonth()+1),d(n.getUTCDate()),d(n.getUTCHours()),d(n.getUTCMinutes()),d(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},l.prototype._encodeNull=function(){return this._createEncoderBuffer("")},l.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var r=e.toArray();!e.sign&&128&r[0]&&r.unshift(0),e=new i(r)}if(i.isBuffer(e)){var n=e.length;0===e.length&&n++;var o=new i(n);return e.copy(o),0===e.length&&(o[0]=0),this._createEncoderBuffer(o)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);n=1;for(var s=e;256<=s;s>>=8)n++;for(s=(o=new Array(n)).length-1;0<=s;s--)o[s]=255&e,e>>=8;return 128&o[0]&&o.unshift(0),this._createEncoderBuffer(new i(o))},l.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},l.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},l.prototype._skipDefault=function(e,t,r){var n,i=this._baseState;if(null===i.default)return!1;var o=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n<o.length;n++)if(o[n]!==i.defaultBuffer[n])return!1;return!0}},{"../../asn1":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/index.js":[function(e,t,r){var n=r;n.der=e("./der"),n.pem=e("./pem")},{"./der":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/der.js","./pem":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/pem.js"}],"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/pem.js":[function(e,t,r){var n=e("inherits"),i=e("./der");function o(e){i.call(this,e),this.enc="pem"}n(o,i),(t.exports=o).prototype.encode=function(e,t){for(var r=i.prototype.encode.call(this,e).toString("base64"),n=["-----BEGIN "+t.label+"-----"],o=0;o<r.length;o+=64)n.push(r.slice(o,o+64));return n.push("-----END "+t.label+"-----"),n.join("\n")}},{"./der":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/der.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/assert-plus/assert.js":[function(e,t,r){(function(r,n){var i=e("assert"),o=e("stream").Stream,s=e("util"),a=/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;function l(e){return e.charAt(0).toUpperCase()+e.slice(1)}function d(e,t,r,n,o){throw new i.AssertionError({message:s.format("%s (%s) is required",e,t),actual:void 0===o?typeof n:o(n),expected:t,operator:r||"===",stackStartFunction:d.caller})}function f(e){return Object.prototype.toString.call(e).slice(8,-1)}function c(){}var u={bool:{check:function(e){return"boolean"==typeof e}},func:{check:function(e){return"function"==typeof e}},string:{check:function(e){return"string"==typeof e}},object:{check:function(e){return"object"==typeof e&&null!==e}},number:{check:function(e){return"number"==typeof e&&!isNaN(e)}},finite:{check:function(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}},buffer:{check:function(e){return r.isBuffer(e)},operator:"Buffer.isBuffer"},array:{check:function(e){return Array.isArray(e)},operator:"Array.isArray"},stream:{check:function(e){return e instanceof o},operator:"instanceof",actual:f},date:{check:function(e){return e instanceof Date},operator:"instanceof",actual:f},regexp:{check:function(e){return e instanceof RegExp},operator:"instanceof",actual:f},uuid:{check:function(e){return"string"==typeof e&&a.test(e)},operator:"isUUID"}};t.exports=function e(t){var r,o=Object.keys(u);return r=n.env.NODE_NDEBUG?c:function(e,t){e||d(t,"true",e)},o.forEach((function(e){if(t)r[e]=c;else{var n=u[e];r[e]=function(t,r){n.check(t)||d(r,e,n.operator,t,n.actual)}}})),o.forEach((function(e){var n="optional"+l(e);if(t)r[n]=c;else{var i=u[e];r[n]=function(t,r){null!=t&&(i.check(t)||d(r,e,i.operator,t,i.actual))}}})),o.forEach((function(e){var n="arrayOf"+l(e);if(t)r[n]=c;else{var i=u[e],o="["+e+"]";r[n]=function(e,t){var r;for(Array.isArray(e)||d(t,o,i.operator,e,i.actual),r=0;r<e.length;r++)i.check(e[r])||d(t,o,i.operator,e,i.actual)}}})),o.forEach((function(e){var n="optionalArrayOf"+l(e);if(t)r[n]=c;else{var i=u[e],o="["+e+"]";r[n]=function(e,t){var r;if(null!=e)for(Array.isArray(e)||d(t,o,i.operator,e,i.actual),r=0;r<e.length;r++)i.check(e[r])||d(t,o,i.operator,e,i.actual)}}})),Object.keys(i).forEach((function(e){r[e]="AssertionError"!==e&&t?c:i[e]})),r._setExports=e,r}(n.env.NODE_NDEBUG)}).call(this,{isBuffer:e("../is-buffer/index.js")},e("_process"))},{"../is-buffer/index.js":"/Users/f/pjs/dhive/node_modules/is-buffer/index.js",_process:"/Users/f/pjs/dhive/node_modules/process/browser.js",assert:"/Users/f/pjs/dhive/node_modules/assert/assert.js",stream:"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js",util:"/Users/f/pjs/dhive/node_modules/util/util.js"}],"/Users/f/pjs/dhive/node_modules/assert/assert.js":[function(e,t,r){(function(r){"use strict";var n=e("object-assign");function i(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,o=Math.min(r,n);i<o;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}function o(e){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var s=e("util/"),a=Object.prototype.hasOwnProperty,l=Array.prototype.slice,d="foo"===function(){}.name;function f(e){return Object.prototype.toString.call(e)}function c(e){if(!o(e)&&"function"==typeof r.ArrayBuffer){if("function"==typeof ArrayBuffer.isView)return ArrayBuffer.isView(e);if(e)return e instanceof DataView||e.buffer&&e.buffer instanceof ArrayBuffer}}var u=t.exports=v,h=/\s*function\s+([^\(\s]*)\s*/;function p(e){if(s.isFunction(e)){if(d)return e.name;var t=e.toString().match(h);return t&&t[1]}}function m(e,t){return"string"!=typeof e||e.length<t?e:e.slice(0,t)}function b(e){if(d||!s.isFunction(e))return s.inspect(e);var t=p(e);return"[Function"+(t?": "+t:"")+"]"}function g(e,t,r,n,i){throw new u.AssertionError({message:r,actual:e,expected:t,operator:n,stackStartFunction:i})}function v(e,t){e||g(e,!0,t,"==",u.ok)}function y(e,t,r,n){if(e===t)return!0;if(o(e)&&o(t))return 0===i(e,t);if(s.isDate(e)&&s.isDate(t))return e.getTime()===t.getTime();if(s.isRegExp(e)&&s.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&"object"==typeof e||null!==t&&"object"==typeof t){if(c(e)&&c(t)&&f(e)===f(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===i(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(o(e)!==o(t))return!1;var a=(n=n||{actual:[],expected:[]}).actual.indexOf(e);return-1!==a&&a===n.expected.indexOf(t)||(n.actual.push(e),n.expected.push(t),function(e,t,r,n){if(null==e||null==t)return!1;if(s.isPrimitive(e)||s.isPrimitive(t))return e===t;if(r&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=j(e),o=j(t);if(i&&!o||!i&&o)return!1;if(i)return y(e=l.call(e),t=l.call(t),r);var a,d,f=x(e),c=x(t);if(f.length!==c.length)return!1;for(f.sort(),c.sort(),d=f.length-1;0<=d;d--)if(f[d]!==c[d])return!1;for(d=f.length-1;0<=d;d--)if(!y(e[a=f[d]],t[a],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function j(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function _(e,t){if(e&&t){if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return 1}catch(e){}if(!Error.isPrototypeOf(t))return!0===t.call({},e)}}function w(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&g(i,r,"Missing expected exception"+n);var o="string"==typeof n,a=!e&&i&&!r;if((!e&&s.isError(i)&&o&&_(i,r)||a)&&g(i,r,"Got unwanted exception"+n),e&&i&&r&&!_(i,r)||!e&&i)throw i}u.AssertionError=function(e){this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=m(b(this.actual),128)+" "+this.operator+" "+m(b(this.expected),128),this.generatedMessage=!0);var t=e.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var r=new Error;if(r.stack){var n=r.stack,i=p(t),o=n.indexOf("\n"+i);if(0<=o){var s=n.indexOf("\n",o+1);n=n.substring(s+1)}this.stack=n}}},s.inherits(u.AssertionError,Error),u.fail=g,u.ok=v,u.equal=function(e,t,r){e!=t&&g(e,t,r,"==",u.equal)},u.notEqual=function(e,t,r){e==t&&g(e,t,r,"!=",u.notEqual)},u.deepEqual=function(e,t,r){y(e,t,!1)||g(e,t,r,"deepEqual",u.deepEqual)},u.deepStrictEqual=function(e,t,r){y(e,t,!0)||g(e,t,r,"deepStrictEqual",u.deepStrictEqual)},u.notDeepEqual=function(e,t,r){y(e,t,!1)&&g(e,t,r,"notDeepEqual",u.notDeepEqual)},u.notDeepStrictEqual=function e(t,r,n){y(t,r,!0)&&g(t,r,n,"notDeepStrictEqual",e)},u.strictEqual=function(e,t,r){e!==t&&g(e,t,r,"===",u.strictEqual)},u.notStrictEqual=function(e,t,r){e===t&&g(e,t,r,"!==",u.notStrictEqual)},u.throws=function(e,t,r){w(!0,e,t,r)},u.doesNotThrow=function(e,t,r){w(!1,e,t,r)},u.ifError=function(e){if(e)throw e},u.strict=n((function e(t,r){t||g(t,!0,r,"==",e)}),u,{equal:u.strictEqual,deepEqual:u.deepStrictEqual,notEqual:u.notStrictEqual,notDeepEqual:u.notDeepStrictEqual}),u.strict.strict=u.strict;var x=Object.keys||function(e){var t=[];for(var r in e)a.call(e,r)&&t.push(r);return t}}).call(this,void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":"/Users/f/pjs/dhive/node_modules/object-assign/index.js","util/":"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/util.js"}],"/Users/f/pjs/dhive/node_modules/assert/node_modules/inherits/inherits_browser.js":[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){function r(){}e.super_=t,r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},{}],"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/support/isBufferBrowser.js":[function(e,t,r){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/util.js":[function(e,t,r){(function(t,n){var i=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(a(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,o=n.length,s=String(e).replace(i,(function(e){if("%%"===e)return"%";if(o<=r)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),l=n[r];r<o;l=n[++r])m(l)||!j(l)?s+=" "+l:s+=" "+a(l);return s},r.deprecate=function(e,i){if(v(n.process))return function(){return r.deprecate(e,i).apply(this,arguments)};if(!0===t.noDeprecation)return e;var o=!1;return function(){if(!o){if(t.throwDeprecation)throw new Error(i);t.traceDeprecation,o=!0}return e.apply(this,arguments)}};var o,s={};function a(e,t){var n={seen:[],stylize:d};return 3<=arguments.length&&(n.depth=arguments[2]),4<=arguments.length&&(n.colors=arguments[3]),p(t)?n.showHidden=t:t&&r._extend(n,t),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),f(n,e,n.depth)}function l(e,t){var r=a.styles[t];return r?"["+a.colors[r][0]+"m"+e+"["+a.colors[r][1]+"m":e}function d(e,t){return e}function f(e,t,n){if(e.customInspect&&t&&x(t.inspect)&&t.inspect!==r.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(n,e);return g(i)||(i=f(e,i,n)),i}var o=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return b(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var s,a=Object.keys(t),l=(s={},a.forEach((function(e,t){s[e]=!0})),s);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),w(t)&&(0<=a.indexOf("message")||0<=a.indexOf("description")))return c(t);if(0===a.length){if(x(t)){var d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(y(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(_(t))return e.stylize(Date.prototype.toString.call(t),"date");if(w(t))return c(t)}var j,k="",E=!1,S=["{","}"];return h(t)&&(E=!0,S=["[","]"]),x(t)&&(k=" [Function"+(t.name?": "+t.name:"")+"]"),y(t)&&(k=" "+RegExp.prototype.toString.call(t)),_(t)&&(k=" "+Date.prototype.toUTCString.call(t)),w(t)&&(k=" "+c(t)),0!==a.length||E&&0!=t.length?n<0?y(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),j=E?function(e,t,r,n,i){for(var o=[],s=0,a=t.length;s<a;++s)U(t,String(s))?o.push(u(e,t,r,n,String(s),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(u(e,t,r,n,i,!0))})),o}(e,t,n,l,a):a.map((function(r){return u(e,t,n,l,r,E)})),e.seen.pop(),function(e,t,r){return 60<e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(j,k,S)):S[0]+k+S[1]}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,r,n,i,o){var s,a,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),U(n,i)||(s="["+i+"]"),a||(e.seen.indexOf(l.value)<0?-1<(a=m(r)?f(e,l.value,null):f(e,l.value,r-1)).indexOf("\n")&&(a=o?a.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+a.split("\n").map((function(e){return" "+e})).join("\n")):a=e.stylize("[Circular]","special")),v(s)){if(o&&i.match(/^\d+$/))return a;s=(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),e.stylize(s,"string"))}return s+": "+a}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function b(e){return"number"==typeof e}function g(e){return"string"==typeof e}function v(e){return void 0===e}function y(e){return j(e)&&"[object RegExp]"===k(e)}function j(e){return"object"==typeof e&&null!==e}function _(e){return j(e)&&"[object Date]"===k(e)}function w(e){return j(e)&&("[object Error]"===k(e)||e instanceof Error)}function x(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}r.debuglog=function(e){return v(o)&&(o=t.env.NODE_DEBUG||""),e=e.toUpperCase(),s[e]||(new RegExp("\\b"+e+"\\b","i").test(o)?(t.pid,s[e]=function(){r.format.apply(r,arguments)}):s[e]=function(){}),s[e]},(r.inspect=a).colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=h,r.isBoolean=p,r.isNull=m,r.isNullOrUndefined=function(e){return null==e},r.isNumber=b,r.isString=g,r.isSymbol=function(e){return"symbol"==typeof e},r.isUndefined=v,r.isRegExp=y,r.isObject=j,r.isDate=_,r.isError=w,r.isFunction=x,r.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},r.isBuffer=e("./support/isBuffer"),r.log=function(){},r.inherits=e("inherits"),r._extend=function(e,t){if(!t||!j(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/support/isBufferBrowser.js",_process:"/Users/f/pjs/dhive/node_modules/process/browser.js",inherits:"/Users/f/pjs/dhive/node_modules/assert/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/base-x/src/index.js":[function(e,t,r){"use strict";var n=e("safe-buffer").Buffer;t.exports=function(e){if(255<=e.length)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(255!==t[s])throw new TypeError(o+" is ambiguous");t[s]=i}var a=e.length,l=e.charAt(0),d=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function c(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return n.alloc(0);var r=0;if(" "!==e[r]){for(var i=0,o=0;e[r]===l;)i++,r++;for(var s=(e.length-r)*d+1>>>0,f=new Uint8Array(s);e[r];){var c=t[e.charCodeAt(r)];if(255===c)return;for(var u=0,h=s-1;(0!==c||u<o)&&-1!==h;h--,u++)c+=a*f[h]>>>0,f[h]=c%256>>>0,c=c/256>>>0;if(0!==c)throw new Error("Non-zero carry");o=u,r++}if(" "!==e[r]){for(var p=s-o;p!==s&&0===f[p];)p++;var m=n.allocUnsafe(i+(s-p));m.fill(0,0,i);for(var b=i;p!==s;)m[b++]=f[p++];return m}}}return{encode:function(t){if((Array.isArray(t)||t instanceof Uint8Array)&&(t=n.from(t)),!n.isBuffer(t))throw new TypeError("Expected Buffer");if(0===t.length)return"";for(var r=0,i=0,o=0,s=t.length;o!==s&&0===t[o];)o++,r++;for(var d=(s-o)*f+1>>>0,c=new Uint8Array(d);o!==s;){for(var u=t[o],h=0,p=d-1;(0!==u||h<i)&&-1!==p;p--,h++)u+=256*c[p]>>>0,c[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,o++}for(var m=d-i;m!==d&&0===c[m];)m++;for(var b=l.repeat(r);m<d;++m)b+=e.charAt(c[m]);return b},decodeUnsafe:c,decode:function(e){var t=c(e);if(t)return t;throw new Error("Non-base"+a+" character")}}}},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/base64-js/index.js":[function(e,t,r){"use strict";r.byteLength=function(e){var t=d(e),r=t[0],n=t[1];return 3*(r+n)/4-n},r.toByteArray=function(e){var t,r,n=d(e),s=n[0],a=n[1],l=new o(function(e,t){return 3*(e+t)/4-t}(s,a)),f=0,c=0<a?s-4:s;for(r=0;r<c;r+=4)t=i[e.charCodeAt(r)]<<18|i[e.charCodeAt(r+1)]<<12|i[e.charCodeAt(r+2)]<<6|i[e.charCodeAt(r+3)],l[f++]=t>>16&255,l[f++]=t>>8&255,l[f++]=255&t;return 2===a&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,l[f++]=255&t),1===a&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,l[f++]=t>>8&255,l[f++]=255&t),l},r.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=[],s=0,a=r-i;s<a;s+=16383)o.push(f(e,s,a<s+16383?a:s+16383));return 1==i?(t=e[r-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2==i&&(t=(e[r-2]<<8)+e[r-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function d(e){var t=e.length;if(0<t%4)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function f(e,t,r){for(var i,o=[],s=t;s<r;s+=3)i=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),o.push(n[i>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],"/Users/f/pjs/dhive/node_modules/bip66/index.js":[function(e,t,r){var n=e("safe-buffer").Buffer;t.exports={check:function(e){if(e.length<8)return!1;if(72<e.length)return!1;if(48!==e[0])return!1;if(e[1]!==e.length-2)return!1;if(2!==e[2])return!1;var t=e[3];if(0===t)return!1;if(5+t>=e.length)return!1;if(2!==e[4+t])return!1;var r=e[5+t];return!(0===r||6+t+r!==e.length||128&e[4]||1<t&&0===e[4]&&!(128&e[5])||128&e[t+6]||1<r&&0===e[t+6]&&!(128&e[t+7]))},decode:function(e){if(e.length<8)throw new Error("DER sequence length is too short");if(72<e.length)throw new Error("DER sequence length is too long");if(48!==e[0])throw new Error("Expected DER sequence");if(e[1]!==e.length-2)throw new Error("DER sequence length is invalid");if(2!==e[2])throw new Error("Expected DER integer");var t=e[3];if(0===t)throw new Error("R length is zero");if(5+t>=e.length)throw new Error("R length is too long");if(2!==e[4+t])throw new Error("Expected DER integer (2)");var r=e[5+t];if(0===r)throw new Error("S length is zero");if(6+t+r!==e.length)throw new Error("S length is invalid");if(128&e[4])throw new Error("R value is negative");if(1<t&&0===e[4]&&!(128&e[5]))throw new Error("R value excessively padded");if(128&e[t+6])throw new Error("S value is negative");if(1<r&&0===e[t+6]&&!(128&e[t+7]))throw new Error("S value excessively padded");return{r:e.slice(4,4+t),s:e.slice(6+t)}},encode:function(e,t){var r=e.length,i=t.length;if(0===r)throw new Error("R length is zero");if(0===i)throw new Error("S length is zero");if(33<r)throw new Error("R length is too long");if(33<i)throw new Error("S length is too long");if(128&e[0])throw new Error("R value is negative");if(128&t[0])throw new Error("S value is negative");if(1<r&&0===e[0]&&!(128&e[1]))throw new Error("R value excessively padded");if(1<i&&0===t[0]&&!(128&t[1]))throw new Error("S value excessively padded");var o=n.allocUnsafe(6+r+i);return o[0]=48,o[1]=o.length-2,o[2]=2,o[3]=e.length,e.copy(o,4),o[4+r]=2,o[5+r]=t.length,t.copy(o,6+r),o}}},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js":[function(e,t,r){!function(t,r){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){function r(){}e.super_=t,r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,(this.red=null)!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"==typeof t?t.exports=o:r.BN=o,(o.BN=o).wordSize=26;try{s=e("buffer").Buffer}catch(e){}function a(e,t,r){for(var n=0,i=Math.min(e.length,r),o=t;o<i;o++){var s=e.charCodeAt(o)-48;n<<=4,n|=49<=s&&s<=54?s-49+10:17<=s&&s<=22?s-17+10:15&s}return n}function l(e,t,r,n){for(var i=0,o=Math.min(e.length,r),s=t;s<o;s++){var a=e.charCodeAt(s)-48;i*=n,i+=49<=a?a-49+10:17<=a?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return 0<e.cmp(t)?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&2<=t&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},o.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},o.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===r)for(i=e.length-1,o=0;0<=i;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,26<=(a+=24)&&(a-=26,o++);else if("le"===r)for(o=i=0;i<e.length;i+=3)s=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,26<=(a+=24)&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,o=0;for(r=e.length-6,n=0;t<=r;r-=6)i=a(e,r,r+6),this.words[n]|=i<<o&67108863,this.words[n+1]|=i>>>26-o&4194303,26<=(o+=24)&&(o-=26,n++);r+6!==t&&(i=a(e,t,r+6),this.words[n]|=i<<o&67108863,this.words[n+1]|=i>>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0];for(var n=0,i=this.length=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,s=o%n,a=Math.min(o,o-s)+r,d=0,f=r;f<a;f+=n)d=l(e,f,f+n,t),this.imuln(i),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(0!=s){var c=1;for(d=l(e,f,e.length,t),f=0;f<s;f++)c*=t;this.imuln(c),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}},o.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},o.prototype.clone=function(){var e=new o(null);return this.copy(e),e},o.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},o.prototype.strip=function(){for(;1<this.length&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function u(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;n=(r.length=n)-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,l=s/67108864|0;r.words[0]=a;for(var d=1;d<n;d++){for(var f=l>>>26,c=67108863&l,u=Math.min(d,t.length-1),h=Math.max(0,d-e.length+1);h<=u;h++){var p=d-h|0;f+=(s=(i=0|e.words[p])*(o=0|t.words[h])+c)/67108864|0,c=67108863&s}r.words[d]=0|c,l=0|f}return 0!==l?r.words[d]=0|l:r.length--,r.strip()}o.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],l=(16777215&(a<<i|o)).toString(16);r=0!=(o=a>>>24-i&16777215)||s!==this.length-1?d[6-l.length]+l+r:l+r,26<=(i+=2)&&(i-=26,s--)}for(0!==o&&(r=o.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&2<=e&&e<=36){var u=f[e],h=c[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(h).toString(e);r=(p=p.idivn(h)).isZero()?m+r:d[u-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:2<this.length&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(0<o,"Requested array length <= 0"),this.strip();var s,a,l="le"===t,d=new e(o),f=this.clone();if(l){for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),d[a]=s;for(;a<o;a++)d[a]=0}else{for(a=0;a<o-i;a++)d[a]=0;for(a=0;!f.isZero();a++)s=f.andln(255),f.iushrn(8),d[o-a-1]=s}return d},Math.clz32?o.prototype._countBits=function(e){return 32-Math.clz32(e)}:o.prototype._countBits=function(e){var t=e,r=0;return 4096<=t&&(r+=13,t>>>=13),64<=t&&(r+=7,t>>>=7),8<=t&&(r+=4,t>>>=4),2<=t&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);if(e+=r,26!==r)break}return e},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},o.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},o.prototype.ior=function(e){return n(0==(this.negative|e.negative)),this.iuor(e)},o.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;r<t.length;r++)this.words[r]=this.words[r]&e.words[r];return this.length=t.length,this.strip()},o.prototype.iand=function(e){return n(0==(this.negative|e.negative)),this.iuand(e)},o.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;r=this.length>e.length?(t=this,e):(t=e,this);for(var n=0;n<r.length;n++)this.words[n]=t.words[n]^r.words[n];if(this!==t)for(;n<t.length;n++)this.words[n]=t.words[n];return this.length=t.length,this.strip()},o.prototype.ixor=function(e){return n(0==(this.negative|e.negative)),this.iuxor(e)},o.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"==typeof e&&0<=e);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),0<r&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return 0<r&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"==typeof e&&0<=e);var r=e/26|0,i=e%26;return this._expand(1+r),this.words[r]=t?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},o.prototype.iadd=function(e){var t,r,n;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();n=this.length>e.length?(r=this,e):(r=e,this);for(var i=0,o=0;o<n.length;o++)t=(0|r.words[o])+(0|n.words[o])+i,this.words[o]=67108863&t,i=t>>>26;for(;0!==i&&o<r.length;o++)t=(0|r.words[o])+i,this.words[o]=67108863&t,i=t>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},o.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;n=0<i?(r=this,e):(r=e,this);for(var o=0,s=0;s<n.length;s++)o=(t=(0|r.words[s])-(0|n.words[s])+o)>>26,this.words[s]=67108863&t;for(;0!==o&&s<r.length;s++)o=(t=(0|r.words[s])+o)>>26,this.words[s]=67108863&t;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},o.prototype.sub=function(e){return this.clone().isub(e)};var h=function(e,t,r){var n,i,o,s=e.words,a=t.words,l=r.words,d=0,f=0|s[0],c=8191&f,u=f>>>13,h=0|s[1],p=8191&h,m=h>>>13,b=0|s[2],g=8191&b,v=b>>>13,y=0|s[3],j=8191&y,_=y>>>13,w=0|s[4],x=8191&w,k=w>>>13,U=0|s[5],E=8191&U,S=U>>>13,A=0|s[6],I=8191&A,M=A>>>13,T=0|s[7],B=8191&T,L=T>>>13,R=0|s[8],O=8191&R,C=R>>>13,P=0|s[9],D=8191&P,N=P>>>13,z=0|a[0],q=8191&z,F=z>>>13,K=0|a[1],V=8191&K,H=K>>>13,G=0|a[2],Y=8191&G,W=G>>>13,Z=0|a[3],X=8191&Z,J=Z>>>13,$=0|a[4],Q=8191&$,ee=$>>>13,te=0|a[5],re=8191&te,ne=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],le=8191&ae,de=ae>>>13,fe=0|a[8],ce=8191&fe,ue=fe>>>13,he=0|a[9],pe=8191&he,me=he>>>13;r.negative=e.negative^t.negative,r.length=19;var be=(d+(n=Math.imul(c,q))|0)+((8191&(i=(i=Math.imul(c,F))+Math.imul(u,q)|0))<<13)|0;d=((o=Math.imul(u,F))+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(p,q),i=(i=Math.imul(p,F))+Math.imul(m,q)|0,o=Math.imul(m,F);var ge=(d+(n=n+Math.imul(c,V)|0)|0)+((8191&(i=(i=i+Math.imul(c,H)|0)+Math.imul(u,V)|0))<<13)|0;d=((o=o+Math.imul(u,H)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,q),i=(i=Math.imul(g,F))+Math.imul(v,q)|0,o=Math.imul(v,F),n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,H)|0;var ve=(d+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,W)|0)+Math.imul(u,Y)|0))<<13)|0;d=((o=o+Math.imul(u,W)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(j,q),i=(i=Math.imul(j,F))+Math.imul(_,q)|0,o=Math.imul(_,F),n=n+Math.imul(g,V)|0,i=(i=i+Math.imul(g,H)|0)+Math.imul(v,V)|0,o=o+Math.imul(v,H)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,W)|0;var ye=(d+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(u,X)|0))<<13)|0;d=((o=o+Math.imul(u,J)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(x,q),i=(i=Math.imul(x,F))+Math.imul(k,q)|0,o=Math.imul(k,F),n=n+Math.imul(j,V)|0,i=(i=i+Math.imul(j,H)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,H)|0,n=n+Math.imul(g,Y)|0,i=(i=i+Math.imul(g,W)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,W)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,J)|0;var je=(d+(n=n+Math.imul(c,Q)|0)|0)+((8191&(i=(i=i+Math.imul(c,ee)|0)+Math.imul(u,Q)|0))<<13)|0;d=((o=o+Math.imul(u,ee)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(E,q),i=(i=Math.imul(E,F))+Math.imul(S,q)|0,o=Math.imul(S,F),n=n+Math.imul(x,V)|0,i=(i=i+Math.imul(x,H)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,H)|0,n=n+Math.imul(j,Y)|0,i=(i=i+Math.imul(j,W)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,W)|0,n=n+Math.imul(g,X)|0,i=(i=i+Math.imul(g,J)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,J)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,ee)|0;var _e=(d+(n=n+Math.imul(c,re)|0)|0)+((8191&(i=(i=i+Math.imul(c,ne)|0)+Math.imul(u,re)|0))<<13)|0;d=((o=o+Math.imul(u,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,F))+Math.imul(M,q)|0,o=Math.imul(M,F),n=n+Math.imul(E,V)|0,i=(i=i+Math.imul(E,H)|0)+Math.imul(S,V)|0,o=o+Math.imul(S,H)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,W)|0,n=n+Math.imul(j,X)|0,i=(i=i+Math.imul(j,J)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(g,Q)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,o=o+Math.imul(m,ne)|0;var we=(d+(n=n+Math.imul(c,oe)|0)|0)+((8191&(i=(i=i+Math.imul(c,se)|0)+Math.imul(u,oe)|0))<<13)|0;d=((o=o+Math.imul(u,se)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,F))+Math.imul(L,q)|0,o=Math.imul(L,F),n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,H)|0)+Math.imul(M,V)|0,o=o+Math.imul(M,H)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(S,Y)|0,o=o+Math.imul(S,W)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(j,Q)|0,i=(i=i+Math.imul(j,ee)|0)+Math.imul(_,Q)|0,o=o+Math.imul(_,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(v,re)|0,o=o+Math.imul(v,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,se)|0;var xe=(d+(n=n+Math.imul(c,le)|0)|0)+((8191&(i=(i=i+Math.imul(c,de)|0)+Math.imul(u,le)|0))<<13)|0;d=((o=o+Math.imul(u,de)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(O,q),i=(i=Math.imul(O,F))+Math.imul(C,q)|0,o=Math.imul(C,F),n=n+Math.imul(B,V)|0,i=(i=i+Math.imul(B,H)|0)+Math.imul(L,V)|0,o=o+Math.imul(L,H)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,W)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,J)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(k,Q)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(j,re)|0,i=(i=i+Math.imul(j,ne)|0)+Math.imul(_,re)|0,o=o+Math.imul(_,ne)|0,n=n+Math.imul(g,oe)|0,i=(i=i+Math.imul(g,se)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,se)|0,n=n+Math.imul(p,le)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(m,le)|0,o=o+Math.imul(m,de)|0;var ke=(d+(n=n+Math.imul(c,ce)|0)|0)+((8191&(i=(i=i+Math.imul(c,ue)|0)+Math.imul(u,ce)|0))<<13)|0;d=((o=o+Math.imul(u,ue)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(D,q),i=(i=Math.imul(D,F))+Math.imul(N,q)|0,o=Math.imul(N,F),n=n+Math.imul(O,V)|0,i=(i=i+Math.imul(O,H)|0)+Math.imul(C,V)|0,o=o+Math.imul(C,H)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,W)|0)+Math.imul(L,Y)|0,o=o+Math.imul(L,W)|0,n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,J)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(S,Q)|0,o=o+Math.imul(S,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(j,oe)|0,i=(i=i+Math.imul(j,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,n=n+Math.imul(g,le)|0,i=(i=i+Math.imul(g,de)|0)+Math.imul(v,le)|0,o=o+Math.imul(v,de)|0,n=n+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,ue)|0)+Math.imul(m,ce)|0,o=o+Math.imul(m,ue)|0;var Ue=(d+(n=n+Math.imul(c,pe)|0)|0)+((8191&(i=(i=i+Math.imul(c,me)|0)+Math.imul(u,pe)|0))<<13)|0;d=((o=o+Math.imul(u,me)|0)+(i>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,H))+Math.imul(N,V)|0,o=Math.imul(N,H),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,W)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,W)|0,n=n+Math.imul(B,X)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(L,X)|0,o=o+Math.imul(L,J)|0,n=n+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,ee)|0,n=n+Math.imul(E,re)|0,i=(i=i+Math.imul(E,ne)|0)+Math.imul(S,re)|0,o=o+Math.imul(S,ne)|0,n=n+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,n=n+Math.imul(j,le)|0,i=(i=i+Math.imul(j,de)|0)+Math.imul(_,le)|0,o=o+Math.imul(_,de)|0,n=n+Math.imul(g,ce)|0,i=(i=i+Math.imul(g,ue)|0)+Math.imul(v,ce)|0,o=o+Math.imul(v,ue)|0;var Ee=(d+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;d=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(D,Y),i=(i=Math.imul(D,W))+Math.imul(N,Y)|0,o=Math.imul(N,W),n=n+Math.imul(O,X)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(L,Q)|0,o=o+Math.imul(L,ee)|0,n=n+Math.imul(I,re)|0,i=(i=i+Math.imul(I,ne)|0)+Math.imul(M,re)|0,o=o+Math.imul(M,ne)|0,n=n+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,se)|0,n=n+Math.imul(x,le)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,de)|0,n=n+Math.imul(j,ce)|0,i=(i=i+Math.imul(j,ue)|0)+Math.imul(_,ce)|0,o=o+Math.imul(_,ue)|0;var Se=(d+(n=n+Math.imul(g,pe)|0)|0)+((8191&(i=(i=i+Math.imul(g,me)|0)+Math.imul(v,pe)|0))<<13)|0;d=((o=o+Math.imul(v,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(D,X),i=(i=Math.imul(D,J))+Math.imul(N,X)|0,o=Math.imul(N,J),n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,ee)|0,n=n+Math.imul(B,re)|0,i=(i=i+Math.imul(B,ne)|0)+Math.imul(L,re)|0,o=o+Math.imul(L,ne)|0,n=n+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,se)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,se)|0,n=n+Math.imul(E,le)|0,i=(i=i+Math.imul(E,de)|0)+Math.imul(S,le)|0,o=o+Math.imul(S,de)|0,n=n+Math.imul(x,ce)|0,i=(i=i+Math.imul(x,ue)|0)+Math.imul(k,ce)|0,o=o+Math.imul(k,ue)|0;var Ae=(d+(n=n+Math.imul(j,pe)|0)|0)+((8191&(i=(i=i+Math.imul(j,me)|0)+Math.imul(_,pe)|0))<<13)|0;d=((o=o+Math.imul(_,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(D,Q),i=(i=Math.imul(D,ee))+Math.imul(N,Q)|0,o=Math.imul(N,ee),n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(C,re)|0,o=o+Math.imul(C,ne)|0,n=n+Math.imul(B,oe)|0,i=(i=i+Math.imul(B,se)|0)+Math.imul(L,oe)|0,o=o+Math.imul(L,se)|0,n=n+Math.imul(I,le)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(M,le)|0,o=o+Math.imul(M,de)|0,n=n+Math.imul(E,ce)|0,i=(i=i+Math.imul(E,ue)|0)+Math.imul(S,ce)|0,o=o+Math.imul(S,ue)|0;var Ie=(d+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,me)|0)+Math.imul(k,pe)|0))<<13)|0;d=((o=o+Math.imul(k,me)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,n=Math.imul(D,re),i=(i=Math.imul(D,ne))+Math.imul(N,re)|0,o=Math.imul(N,ne),n=n+Math.imul(O,oe)|0,i=(i=i+Math.imul(O,se)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,se)|0,n=n+Math.imul(B,le)|0,i=(i=i+Math.imul(B,de)|0)+Math.imul(L,le)|0,o=o+Math.imul(L,de)|0,n=n+Math.imul(I,ce)|0,i=(i=i+Math.imul(I,ue)|0)+Math.imul(M,ce)|0,o=o+Math.imul(M,ue)|0;var Me=(d+(n=n+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,me)|0)+Math.imul(S,pe)|0))<<13)|0;d=((o=o+Math.imul(S,me)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(D,oe),i=(i=Math.imul(D,se))+Math.imul(N,oe)|0,o=Math.imul(N,se),n=n+Math.imul(O,le)|0,i=(i=i+Math.imul(O,de)|0)+Math.imul(C,le)|0,o=o+Math.imul(C,de)|0,n=n+Math.imul(B,ce)|0,i=(i=i+Math.imul(B,ue)|0)+Math.imul(L,ce)|0,o=o+Math.imul(L,ue)|0;var Te=(d+(n=n+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,me)|0)+Math.imul(M,pe)|0))<<13)|0;d=((o=o+Math.imul(M,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(D,le),i=(i=Math.imul(D,de))+Math.imul(N,le)|0,o=Math.imul(N,de),n=n+Math.imul(O,ce)|0,i=(i=i+Math.imul(O,ue)|0)+Math.imul(C,ce)|0,o=o+Math.imul(C,ue)|0;var Be=(d+(n=n+Math.imul(B,pe)|0)|0)+((8191&(i=(i=i+Math.imul(B,me)|0)+Math.imul(L,pe)|0))<<13)|0;d=((o=o+Math.imul(L,me)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(D,ce),i=(i=Math.imul(D,ue))+Math.imul(N,ce)|0,o=Math.imul(N,ue);var Le=(d+(n=n+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,me)|0)+Math.imul(C,pe)|0))<<13)|0;d=((o=o+Math.imul(C,me)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863;var Re=(d+(n=Math.imul(D,pe))|0)+((8191&(i=(i=Math.imul(D,me))+Math.imul(N,pe)|0))<<13)|0;return d=((o=Math.imul(N,me))+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,l[0]=be,l[1]=ge,l[2]=ve,l[3]=ye,l[4]=je,l[5]=_e,l[6]=we,l[7]=xe,l[8]=ke,l[9]=Ue,l[10]=Ee,l[11]=Se,l[12]=Ae,l[13]=Ie,l[14]=Me,l[15]=Te,l[16]=Be,l[17]=Le,l[18]=Re,0!==d&&(l[19]=d,r.length++),r};function p(e,t,r){return(new m).mulp(e,t,r)}function m(e,t){this.x=e,this.y=t}Math.imul||(h=u),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return(10===this.length&&10===e.length?h:r<63?u:r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o<r.length-1;o++){var s=i;i=0;for(var a=67108863&n,l=Math.min(o,t.length-1),d=Math.max(0,o-e.length+1);d<=l;d++){var f=o-d,c=(0|e.words[f])*(0|t.words[d]),u=67108863&c;a=67108863&(u=u+a|0),i+=(s=(s=s+(c/67108864|0)|0)+(u>>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}:p)(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n<e;n++)t[n]=this.revBin(n,r,e);return t},m.prototype.revBin=function(e,t,r){if(0===e||e===r-1)return e;for(var n=0,i=0;i<t;i++)n|=(1&e)<<t-i-1,e>>=1;return n},m.prototype.permute=function(e,t,r,n,i,o){for(var s=0;s<o;s++)n[s]=t[e[s]],i[s]=r[e[s]]},m.prototype.transform=function(e,t,r,n,i,o){this.permute(o,e,t,r,n,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,l=Math.cos(2*Math.PI/a),d=Math.sin(2*Math.PI/a),f=0;f<i;f+=a)for(var c=l,u=d,h=0;h<s;h++){var p=r[f+h],m=n[f+h],b=r[f+h+s],g=n[f+h+s],v=c*b-u*g;g=c*g+u*b,b=v,r[f+h]=p+b,n[f+h]=m+g,r[f+h+s]=p-b,n[f+h+s]=m-g,h!==a&&(v=l*c-d*u,u=l*u+d*c,c=v)}},m.prototype.guessLen13b=function(e,t){var r=1|Math.max(t,e),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},m.prototype.conjugate=function(e,t,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=e[n];e[n]=e[r-n-1],e[r-n-1]=i,i=t[n],t[n]=-t[r-n-1],t[r-n-1]=-i}},m.prototype.normalize13b=function(e,t){for(var r=0,n=0;n<t/2;n++){var i=8192*Math.round(e[2*n+1]/t)+Math.round(e[2*n]/t)+r;e[n]=67108863&i,r=i<67108864?0:i/67108864|0}return e},m.prototype.convert13b=function(e,t,r,i){for(var o=0,s=0;s<t;s++)o+=0|e[s],r[2*s]=8191&o,o>>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*t;s<i;++s)r[s]=0;n(0===o),n(0==(-8192&o))},m.prototype.stub=function(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t},m.prototype.mulp=function(e,t,r){var n=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(n),o=this.stub(n),s=new Array(n),a=new Array(n),l=new Array(n),d=new Array(n),f=new Array(n),c=new Array(n),u=r.words;u.length=n,this.convert13b(e.words,e.length,s,n),this.convert13b(t.words,t.length,d,n),this.transform(s,o,a,l,n,i),this.transform(d,o,f,c,n,i);for(var h=0;h<n;h++){var p=a[h]*f[h]-l[h]*c[h];l[h]=a[h]*c[h]+l[h]*f[h],a[h]=p}return this.conjugate(a,l,n),this.transform(a,l,u,o,n,i),this.conjugate(u,o,n),this.normalize13b(u,n),r.negative=e.negative^t.negative,r.length=e.length+t.length,r.strip()},o.prototype.mul=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},o.prototype.mulf=function(e){var t=new o(null);return t.words=new Array(this.length+e.length),p(this,e,t)},o.prototype.imul=function(e){return this.clone().mulTo(e,this)},o.prototype.imuln=function(e){n("number"==typeof e),n(e<67108864);for(var t=0,r=0;r<this.length;r++){var i=(0|this.words[r])*e,o=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=o>>>26,this.words[r]=67108863&o}return 0!==t&&(this.words[r]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r<t.length;r++){var n=r/26|0,i=r%26;t[r]=(e.words[n]&1<<i)>>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n<t.length&&0===t[n];n++,r=r.sqr());if(++n<t.length)for(var i=r.sqr();n<t.length;n++,i=i.sqr())0!==t[n]&&(r=r.mul(i));return r},o.prototype.iushln=function(e){n("number"==typeof e&&0<=e);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!=r){var s=0;for(t=0;t<this.length;t++){var a=this.words[t]&o,l=(0|this.words[t])-a<<r;this.words[t]=l|s,s=a>>>26-r}s&&(this.words[t]=s,this.length++)}if(0!=i){for(t=this.length-1;0<=t;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},o.prototype.ishln=function(e){return n(0===this.negative),this.iushln(e)},o.prototype.iushrn=function(e,t,r){var i;n("number"==typeof e&&0<=e),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<<o,l=r;if(i-=s,i=Math.max(0,i),l){for(var d=0;d<s;d++)l.words[d]=this.words[d];l.length=s}if(0!==s)if(this.length>s)for(this.length-=s,d=0;d<this.length;d++)this.words[d]=this.words[d+s];else this.words[0]=0,this.length=1;var f=0;for(d=this.length-1;0<=d&&(0!==f||i<=d);d--){var c=0|this.words[d];this.words[d]=f<<26-o|c>>>o,f=c&a}return l&&0!==f&&(l.words[l.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"==typeof e&&0<=e);var t=e%26,r=(e-t)/26,i=1<<t;return!(this.length<=r||!(this.words[r]&i))},o.prototype.imaskn=function(e){n("number"==typeof e&&0<=e);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!=t&&r++,this.length=Math.min(r,this.length),0!=t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},o.prototype.maskn=function(e){return this.clone().imaskn(e)},o.prototype.iaddn=function(e){return n("number"==typeof e),n(e<67108864),e<0?this.isubn(-e):0!==this.negative?(1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0):(this.negative=0,this.isubn(e),this.negative=1),this):this._iaddn(e)},o.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&67108864<=this.words[t];t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,--this.words[t+1];return this.strip()},o.prototype.addn=function(e){return this.clone().iaddn(e)},o.prototype.subn=function(e){return this.clone().isubn(e)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(e,t,r){var i,o,s=e.length+r;this._expand(s);var a=0;for(i=0;i<e.length;i++){o=(0|this.words[i+r])+a;var l=(0|e.words[i])*t;a=((o-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&o}for(;i<this.length-r;i++)a=(o=(0|this.words[i+r])+a)>>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),i=a=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!=(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,l=n.length-i.length;if("mod"!==t){(a=new o(null)).length=1+l,a.words=new Array(a.length);for(var d=0;d<a.length;d++)a.words[d]=0}var f=n.clone()._ishlnsubmul(i,1,l);0===f.negative&&(n=f,a&&(a.words[l]=1));for(var c=l-1;0<=c;c--){var u=67108864*(0|n.words[i.length+c])+(0|n.words[i.length+c-1]);for(u=Math.min(u/s|0,67108863),n._ishlnsubmul(i,u,c);0!==n.negative;)u--,n.negative=0,n._ishlnsubmul(i,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=u)}return a&&a.strip(),n.strip(),"div"!==t&&0!=r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;0<=i;i--)r=(t*r+(0|this.words[i]))%e;return r},o.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;0<=r;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),l=new o(1),d=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++d;for(var f=r.clone(),c=t.clone();!t.isZero();){for(var u=0,h=1;0==(t.words[0]&h)&&u<26;++u,h<<=1);if(0<u)for(t.iushrn(u);0<u--;)(i.isOdd()||s.isOdd())&&(i.iadd(f),s.isub(c)),i.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(0<p)for(r.iushrn(p);0<p--;)(a.isOdd()||l.isOdd())&&(a.iadd(f),l.isub(c)),a.iushrn(1),l.iushrn(1);0<=t.cmp(r)?(t.isub(r),i.isub(a),s.isub(l)):(r.isub(t),a.isub(i),l.isub(s))}return{a:a,b:l,gcd:r.iushln(d)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),l=r.clone();0<t.cmpn(1)&&0<r.cmpn(1);){for(var d=0,f=1;0==(t.words[0]&f)&&d<26;++d,f<<=1);if(0<d)for(t.iushrn(d);0<d--;)s.isOdd()&&s.iadd(l),s.iushrn(1);for(var c=0,u=1;0==(r.words[0]&u)&&c<26;++c,u<<=1);if(0<c)for(r.iushrn(c);0<c--;)a.isOdd()&&a.iadd(l),a.iushrn(1);0<=t.cmp(r)?(t.isub(r),s.isub(a)):(r.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0;for(var n=r.negative=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<<t;if(this.length<=r)return this._expand(1+r),this.words[r]|=i,this;for(var o=i,s=r;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),1<this.length)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},o.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},o.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,r=this.length-1;0<=r;r--){var n=0|this.words[r],i=0|e.words[r];if(n!=i){n<i?t=-1:i<n&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return 0<=this.cmpn(e)},o.prototype.gte=function(e){return 0<=this.cmp(e)},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new w(e)},o.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var b={k256:null,p224:null,p192:null,p25519:null};function g(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function j(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){w.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},g.prototype.ireduce=function(e){for(var t,r=e;this.split(r,this.tmp),(t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength())>this.n;);var n=t<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):0<n?r.isub(this.p):r.strip(),r},g.prototype.split=function(e,t){e.iushrn(this.n,0,t)},g.prototype.imulK=function(e){return e.imul(this.k)},i(v,g),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n<r;n++)t.words[n]=e.words[n];if(t.length=r,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,n=10;n<e.length;n++){var o=0|e.words[n];e.words[n-10]=(4194303&o)<<4|i>>>22,i=o}i>>>=22,0===(e.words[n-10]=i)&&10<e.length?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r<e.length;r++){var n=0|e.words[r];t+=977*n,e.words[r]=67108863&t,t=64*n+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(y,g),i(j,g),i(_,g),_.prototype.imulK=function(e){for(var t=0,r=0;r<e.length;r++){var n=19*(0|e.words[r])+t,i=67108863&n;n>>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(b[e])return b[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new y;else if("p192"===e)t=new j;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return b[e]=t},w.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},w.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},w.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},w.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},w.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return 0<=r.cmp(this.m)&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return 0<=r.cmp(this.m)&&r.isub(this.m),r},w.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},w.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},w.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},w.prototype.isqr=function(e){return this.imul(e,e.clone())},w.prototype.sqr=function(e){return this.mul(e,e)},w.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),l=a.redNeg(),d=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new o(2*f*f).toRed(this);0!==this.pow(f,d).cmp(l);)f.redIAdd(l);for(var c=this.pow(f,i),u=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(a);){for(var m=h,b=0;0!==m.cmp(a);b++)m=m.redSqr();n(b<p);var g=this.pow(c,new o(1).iushln(p-b-1));u=u.redMul(g),c=g.redSqr(),h=h.redMul(c),p=b}return u},w.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},w.prototype.pow=function(e,t){if(t.isZero())return new o(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new o(1).toRed(this),r[1]=e;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],e);var i=r[0],s=0,a=0,l=t.bitLength()%26;for(0===l&&(l=26),n=t.length-1;0<=n;n--){for(var d=t.words[n],f=l-1;0<=f;f--){var c=d>>f&1;i!==r[0]&&(i=this.sqr(i)),0!=c||0!==s?(s<<=1,s|=c,(4==++a||0===n&&0===f)&&(i=this.mul(i,r[s]),s=a=0)):a=0}l=26}return i},w.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},w.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new x(e)},i(x,w),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return 0<=i.cmp(this.m)?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return 0<=i.cmp(this.m)?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js"}],"/Users/f/pjs/dhive/node_modules/brorand/index.js":[function(e,t,r){var n;function i(e){this.rand=e}if(t.exports=function(e){return(n=n||new i(null)).generate(e)},(t.exports.Rand=i).prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r<t.length;r++)t[r]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var o=e("crypto");if("function"!=typeof o.randomBytes)throw new Error("Not supported");i.prototype._rand=function(e){return o.randomBytes(e)}}catch(e){}},{crypto:"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js"}],"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js":[function(e,t,r){},{}],"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js":[function(e,t,r){var n=e("safe-buffer").Buffer;function i(e){n.isBuffer(e)||(e=n.from(e));for(var t=e.length/4|0,r=new Array(t),i=0;i<t;i++)r[i]=e.readUInt32BE(4*i);return r}function o(e){for(;0<e.length;e++)e[0]=0}function s(e,t,r,n,i){for(var o,s,a,l,d=r[0],f=r[1],c=r[2],u=r[3],h=e[0]^t[0],p=e[1]^t[1],m=e[2]^t[2],b=e[3]^t[3],g=4,v=1;v<i;v++)o=d[h>>>24]^f[p>>>16&255]^c[m>>>8&255]^u[255&b]^t[g++],s=d[p>>>24]^f[m>>>16&255]^c[b>>>8&255]^u[255&h]^t[g++],a=d[m>>>24]^f[b>>>16&255]^c[h>>>8&255]^u[255&p]^t[g++],l=d[b>>>24]^f[h>>>16&255]^c[p>>>8&255]^u[255&m]^t[g++],h=o,p=s,m=a,b=l;return o=(n[h>>>24]<<24|n[p>>>16&255]<<16|n[m>>>8&255]<<8|n[255&b])^t[g++],s=(n[p>>>24]<<24|n[m>>>16&255]<<16|n[b>>>8&255]<<8|n[255&h])^t[g++],a=(n[m>>>24]<<24|n[b>>>16&255]<<16|n[h>>>8&255]<<8|n[255&p])^t[g++],l=(n[b>>>24]<<24|n[h>>>16&255]<<16|n[p>>>8&255]<<8|n[255&m])^t[g++],[o>>>=0,s>>>=0,a>>>=0,l>>>=0]}var a=[0,1,2,4,8,16,32,64,128,27,54],l=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],i=[[],[],[],[]],o=[[],[],[],[]],s=0,a=0,l=0;l<256;++l){var d=a^a<<1^a<<2^a<<3^a<<4;d=d>>>8^255&d^99;var f=e[n[r[s]=d]=s],c=e[f],u=e[c],h=257*e[d]^16843008*d;i[0][s]=h<<24|h>>>8,i[1][s]=h<<16|h>>>16,i[2][s]=h<<8|h>>>24,i[3][s]=h,h=16843009*u^65537*c^257*f^16843008*s,o[0][d]=h<<24|h>>>8,o[1][d]=h<<16|h>>>16,o[2][d]=h<<8|h>>>24,o[3][d]=h,0===s?s=a=1:(s=f^e[e[e[u^f]]],a^=e[e[a]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:o}}();function d(e){this._key=i(e),this._reset()}d.blockSize=16,d.keySize=32,d.prototype.blockSize=d.blockSize,d.prototype.keySize=d.keySize,d.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+6,n=4*(r+1),i=[],o=0;o<t;o++)i[o]=e[o];for(o=t;o<n;o++){var s=i[o-1];o%t==0?(s=s<<8|s>>>24,s=l.SBOX[s>>>24]<<24|l.SBOX[s>>>16&255]<<16|l.SBOX[s>>>8&255]<<8|l.SBOX[255&s],s^=a[o/t|0]<<24):6<t&&o%t==4&&(s=l.SBOX[s>>>24]<<24|l.SBOX[s>>>16&255]<<16|l.SBOX[s>>>8&255]<<8|l.SBOX[255&s]),i[o]=i[o-t]^s}for(var d=[],f=0;f<n;f++){var c=n-f,u=i[c-(f%4?0:4)];d[f]=f<4||c<=4?u:l.INV_SUB_MIX[0][l.SBOX[u>>>24]]^l.INV_SUB_MIX[1][l.SBOX[u>>>16&255]]^l.INV_SUB_MIX[2][l.SBOX[u>>>8&255]]^l.INV_SUB_MIX[3][l.SBOX[255&u]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=d},d.prototype.encryptBlockRaw=function(e){return s(e=i(e),this._keySchedule,l.SUB_MIX,l.SBOX,this._nRounds)},d.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=n.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},d.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var r=s(e,this._invKeySchedule,l.INV_SUB_MIX,l.INV_SBOX,this._nRounds),o=n.allocUnsafe(16);return o.writeUInt32BE(r[0],0),o.writeUInt32BE(r[3],4),o.writeUInt32BE(r[2],8),o.writeUInt32BE(r[1],12),o},d.prototype.scrub=function(){o(this._keySchedule),o(this._invKeySchedule),o(this._key)},t.exports.AES=d},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/authCipher.js":[function(e,t,r){var n=e("./aes"),i=e("safe-buffer").Buffer,o=e("cipher-base"),s=e("inherits"),a=e("./ghash"),l=e("buffer-xor"),d=e("./incr32");function f(e,t,r,s){o.call(this);var l=i.alloc(4,0);this._cipher=new n.AES(t);var f=this._cipher.encryptBlock(l);this._ghash=new a(f),r=function(e,t,r){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var n=new a(r),o=t.length,s=o%16;n.update(t),s&&(s=16-s,n.update(i.alloc(s,0))),n.update(i.alloc(8,0));var l=8*o,f=i.alloc(8);f.writeUIntBE(l,0,8),n.update(f),e._finID=n.state;var c=i.from(e._finID);return d(c),c}(this,r,f),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}s(f,o),f.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},f.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=l(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var n=Math.min(e.length,t.length),i=0;i<n;++i)r+=e[i]^t[i];return r}(e,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=e,this._cipher.scrub()},f.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},f.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=e},f.prototype.setAAD=function(e){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(e),this._alen+=e.length},t.exports=f},{"./aes":"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js","./ghash":"/Users/f/pjs/dhive/node_modules/browserify-aes/ghash.js","./incr32":"/Users/f/pjs/dhive/node_modules/browserify-aes/incr32.js","buffer-xor":"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js","cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js":[function(e,t,r){var n=e("./encrypter"),i=e("./decrypter"),o=e("./modes/list.json");r.createCipher=r.Cipher=n.createCipher,r.createCipheriv=r.Cipheriv=n.createCipheriv,r.createDecipher=r.Decipher=i.createDecipher,r.createDecipheriv=r.Decipheriv=i.createDecipheriv,r.listCiphers=r.getCiphers=function(){return Object.keys(o)}},{"./decrypter":"/Users/f/pjs/dhive/node_modules/browserify-aes/decrypter.js","./encrypter":"/Users/f/pjs/dhive/node_modules/browserify-aes/encrypter.js","./modes/list.json":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/list.json"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/decrypter.js":[function(e,t,r){var n=e("./authCipher"),i=e("safe-buffer").Buffer,o=e("./modes"),s=e("./streamCipher"),a=e("cipher-base"),l=e("./aes"),d=e("evp_bytestokey");function f(e,t,r){a.call(this),this._cache=new c,this._last=void 0,this._cipher=new l.AES(t),this._prev=i.from(r),this._mode=e,this._autopadding=!0}function c(){this.cache=i.allocUnsafe(0)}function u(e,t,r){var a=o[e.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=i.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof t&&(t=i.from(t)),t.length!==a.key/8)throw new TypeError("invalid key length "+t.length);return"stream"===a.type?new s(a.module,t,r,!0):"auth"===a.type?new n(a.module,t,r,!0):new f(a.module,t,r)}e("inherits")(f,a),f.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,t),n.push(r);return i.concat(n)},f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return function(e){var t=e[15];if(t<1||16<t)throw new Error("unable to decrypt data");for(var r=-1;++r<t;)if(e[r+(16-t)]!==t)throw new Error("unable to decrypt data");if(16!==t)return e.slice(0,16-t)}(this._mode.decrypt(this,e));if(e)throw new Error("data not multiple of block length")},f.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},c.prototype.add=function(e){this.cache=i.concat([this.cache,e])},c.prototype.get=function(e){var t;if(e){if(16<this.cache.length)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(16<=this.cache.length)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},c.prototype.flush=function(){if(this.cache.length)return this.cache},r.createDecipher=function(e,t){var r=o[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=d(t,!1,r.key,r.iv);return u(e,n.key,n.iv)},r.createDecipheriv=u},{"./aes":"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js","./authCipher":"/Users/f/pjs/dhive/node_modules/browserify-aes/authCipher.js","./modes":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js","./streamCipher":"/Users/f/pjs/dhive/node_modules/browserify-aes/streamCipher.js","cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js",evp_bytestokey:"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/encrypter.js":[function(e,t,r){var n=e("./modes"),i=e("./authCipher"),o=e("safe-buffer").Buffer,s=e("./streamCipher"),a=e("cipher-base"),l=e("./aes"),d=e("evp_bytestokey");function f(e,t,r){a.call(this),this._cache=new u,this._cipher=new l.AES(t),this._prev=o.from(r),this._mode=e,this._autopadding=!0}e("inherits")(f,a),f.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return o.concat(n)};var c=o.alloc(16,16);function u(){this.cache=o.allocUnsafe(0)}function h(e,t,r){var a=n[e.toLowerCase()];if(!a)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=o.from(t)),t.length!==a.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=o.from(r)),"GCM"!==a.mode&&r.length!==a.iv)throw new TypeError("invalid iv length "+r.length);return new("stream"===a.type?s:"auth"===a.type?i:f)(a.module,t,r)}f.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(c))throw this._cipher.scrub(),new Error("data not multiple of block length")},f.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},u.prototype.add=function(e){this.cache=o.concat([this.cache,e])},u.prototype.get=function(){if(15<this.cache.length){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},u.prototype.flush=function(){for(var e=16-this.cache.length,t=o.allocUnsafe(e),r=-1;++r<e;)t.writeUInt8(e,r);return o.concat([this.cache,t])},r.createCipheriv=h,r.createCipher=function(e,t){var r=n[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=d(t,!1,r.key,r.iv);return h(e,i.key,i.iv)}},{"./aes":"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js","./authCipher":"/Users/f/pjs/dhive/node_modules/browserify-aes/authCipher.js","./modes":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js","./streamCipher":"/Users/f/pjs/dhive/node_modules/browserify-aes/streamCipher.js","cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js",evp_bytestokey:"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/ghash.js":[function(e,t,r){var n=e("safe-buffer").Buffer,i=n.alloc(16,0);function o(e){var t=n.allocUnsafe(16);return t.writeUInt32BE(e[0]>>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function s(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}s.prototype.ghash=function(e){for(var t=-1;++t<e.length;)this.state[t]^=e[t];this._multiply()},s.prototype._multiply=function(){for(var e,t,r,n=[(e=this.h).readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)],i=[0,0,0,0],s=-1;++s<128;){for(0!=(this.state[~~(s/8)]&1<<7-s%8)&&(i[0]^=n[0],i[1]^=n[1],i[2]^=n[2],i[3]^=n[3]),r=0!=(1&n[3]),t=3;0<t;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=o(i)},s.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);16<=this.cache.length;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},s.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(o([0,e,0,t])),this.state},t.exports=s},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/incr32.js":[function(e,t,r){t.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},{}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cbc.js":[function(e,t,r){var n=e("buffer-xor");r.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},r.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return n(i,r)}},{"buffer-xor":"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb.js":[function(e,t,r){var n=e("safe-buffer").Buffer,i=e("buffer-xor");function o(e,t,r){var o=t.length,s=i(t,e._cache);return e._cache=e._cache.slice(o),e._prev=n.concat([e._prev,r?t:s]),s}r.encrypt=function(e,t,r){for(var i,s=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){s=n.concat([s,o(e,t,r)]);break}i=e._cache.length,s=n.concat([s,o(e,t.slice(0,i),r)]),t=t.slice(i)}return s}},{"buffer-xor":"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb1.js":[function(e,t,r){var n=e("safe-buffer").Buffer;function i(e,t,r){for(var n,i,s=-1,a=0;++s<8;)n=t&1<<7-s?128:0,a+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^n))>>s%8,e._prev=o(e._prev,r?n:i);return a}function o(e,t){var r=e.length,i=-1,o=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++i<r;)o[i]=e[i]<<1|e[i+1]>>7;return o}r.encrypt=function(e,t,r){for(var o=t.length,s=n.allocUnsafe(o),a=-1;++a<o;)s[a]=i(e,t[a],r);return s}},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb8.js":[function(e,t,r){var n=e("safe-buffer").Buffer;function i(e,t,r){var i=e._cipher.encryptBlock(e._prev)[0]^t;return e._prev=n.concat([e._prev.slice(1),n.from([r?t:i])]),i}r.encrypt=function(e,t,r){for(var o=t.length,s=n.allocUnsafe(o),a=-1;++a<o;)s[a]=i(e,t[a],r);return s}},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ctr.js":[function(e,t,r){var n=e("buffer-xor"),i=e("safe-buffer").Buffer,o=e("../incr32");function s(e){var t=e._cipher.encryptBlockRaw(e._prev);return o(e._prev),t}r.encrypt=function(e,t){var r=Math.ceil(t.length/16),o=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*r)]);for(var a=0;a<r;a++){var l=s(e),d=o+16*a;e._cache.writeUInt32BE(l[0],d+0),e._cache.writeUInt32BE(l[1],d+4),e._cache.writeUInt32BE(l[2],d+8),e._cache.writeUInt32BE(l[3],d+12)}var f=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),n(t,f)}},{"../incr32":"/Users/f/pjs/dhive/node_modules/browserify-aes/incr32.js","buffer-xor":"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ecb.js":[function(e,t,r){r.encrypt=function(e,t){return e._cipher.encryptBlock(t)},r.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},{}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js":[function(e,t,r){var n={ECB:e("./ecb"),CBC:e("./cbc"),CFB:e("./cfb"),CFB8:e("./cfb8"),CFB1:e("./cfb1"),OFB:e("./ofb"),CTR:e("./ctr"),GCM:e("./ctr")},i=e("./list.json");for(var o in i)i[o].module=n[i[o].mode];t.exports=i},{"./cbc":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cbc.js","./cfb":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb.js","./cfb1":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb1.js","./cfb8":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb8.js","./ctr":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ctr.js","./ecb":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ecb.js","./list.json":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/list.json","./ofb":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ofb.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/list.json":[function(e,t,r){t.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},{}],"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ofb.js":[function(e,t,r){(function(t){var n=e("buffer-xor");function i(e){return e._prev=e._cipher.encryptBlock(e._prev),e._prev}r.encrypt=function(e,r){for(;e._cache.length<r.length;)e._cache=t.concat([e._cache,i(e)]);var o=e._cache.slice(0,r.length);return e._cache=e._cache.slice(r.length),n(r,o)}}).call(this,e("buffer").Buffer)},{buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js","buffer-xor":"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-aes/streamCipher.js":[function(e,t,r){var n=e("./aes"),i=e("safe-buffer").Buffer,o=e("cipher-base");function s(e,t,r,s){o.call(this),this._cipher=new n.AES(t),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=s,this._mode=e}e("inherits")(s,o),s.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},s.prototype._final=function(){this._cipher.scrub()},t.exports=s},{"./aes":"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js","cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-cipher/browser.js":[function(e,t,r){var n=e("browserify-des"),i=e("browserify-aes/browser"),o=e("browserify-aes/modes"),s=e("browserify-des/modes"),a=e("evp_bytestokey");function l(e,t,r){if(e=e.toLowerCase(),o[e])return i.createCipheriv(e,t,r);if(s[e])return new n({key:t,iv:r,mode:e});throw new TypeError("invalid suite type")}function d(e,t,r){if(e=e.toLowerCase(),o[e])return i.createDecipheriv(e,t,r);if(s[e])return new n({key:t,iv:r,mode:e,decrypt:!0});throw new TypeError("invalid suite type")}r.createCipher=r.Cipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");r=8*s[e].key,n=s[e].iv}var i=a(t,!1,r,n);return l(e,i.key,i.iv)},r.createCipheriv=r.Cipheriv=l,r.createDecipher=r.Decipher=function(e,t){var r,n;if(e=e.toLowerCase(),o[e])r=o[e].key,n=o[e].iv;else{if(!s[e])throw new TypeError("invalid suite type");r=8*s[e].key,n=s[e].iv}var i=a(t,!1,r,n);return d(e,i.key,i.iv)},r.createDecipheriv=r.Decipheriv=d,r.listCiphers=r.getCiphers=function(){return Object.keys(s).concat(i.getCiphers())}},{"browserify-aes/browser":"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js","browserify-aes/modes":"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js","browserify-des":"/Users/f/pjs/dhive/node_modules/browserify-des/index.js","browserify-des/modes":"/Users/f/pjs/dhive/node_modules/browserify-des/modes.js",evp_bytestokey:"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-des/index.js":[function(e,t,r){var n=e("cipher-base"),i=e("des.js"),o=e("inherits"),s=e("safe-buffer").Buffer,a={"des-ede3-cbc":i.CBC.instantiate(i.EDE),"des-ede3":i.EDE,"des-ede-cbc":i.CBC.instantiate(i.EDE),"des-ede":i.EDE,"des-cbc":i.CBC.instantiate(i.DES),"des-ecb":i.DES};function l(e){n.call(this);var t,r=e.mode.toLowerCase(),i=a[r];t=e.decrypt?"decrypt":"encrypt";var o=e.key;s.isBuffer(o)||(o=s.from(o)),"des-ede"!==r&&"des-ede-cbc"!==r||(o=s.concat([o,o.slice(0,8)]));var l=e.iv;s.isBuffer(l)||(l=s.from(l)),this._des=i.create({key:o,iv:l,type:t})}a.des=a["des-cbc"],a.des3=a["des-ede3-cbc"],o(t.exports=l,n),l.prototype._update=function(e){return s.from(this._des.update(e))},l.prototype._final=function(){return s.from(this._des.final())}},{"cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js","des.js":"/Users/f/pjs/dhive/node_modules/des.js/lib/des.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-des/modes.js":[function(e,t,r){r["des-ecb"]={key:8,iv:0},r["des-cbc"]=r.des={key:8,iv:8},r["des-ede3-cbc"]=r.des3={key:24,iv:8},r["des-ede3"]={key:24,iv:0},r["des-ede-cbc"]={key:16,iv:8},r["des-ede"]={key:16,iv:0}},{}],"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js":[function(e,t,r){(function(r){var n=e("bn.js"),i=e("randombytes");function o(e){for(var t=e.modulus.byteLength(),r=new n(i(t));0<=r.cmp(e.modulus)||!r.umod(e.prime1)||!r.umod(e.prime2);)r=new n(i(t));return r}(t.exports=function(e,t){var i=function(e){var t=o(e);return{blinder:t.toRed(n.mont(e.modulus)).redPow(new n(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(t),s=t.modulus.byteLength(),a=(n.mont(t.modulus),new n(e).mul(i.blinder).umod(t.modulus)),l=a.toRed(n.mont(t.prime1)),d=a.toRed(n.mont(t.prime2)),f=t.coefficient,c=t.prime1,u=t.prime2,h=l.redPow(t.exponent1),p=d.redPow(t.exponent2);h=h.fromRed(),p=p.fromRed();var m=h.isub(p).imul(f).umod(c);return m.imul(u),p.iadd(m),new r(p.imul(i.unblinder).umod(t.modulus).toArray(!1,s))}).getr=o}).call(this,e("buffer").Buffer)},{"bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",randombytes:"/Users/f/pjs/dhive/node_modules/randombytes/browser.js"}],"/Users/f/pjs/dhive/node_modules/browserify-sign/algos.js":[function(e,t,r){t.exports=e("./browser/algorithms.json")},{"./browser/algorithms.json":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/algorithms.json"}],"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/algorithms.json":[function(e,t,r){t.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},{}],"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/curves.json":[function(e,t,r){t.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}},{}],"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/index.js":[function(e,t,r){(function(r){var n=e("create-hash"),i=e("stream"),o=e("inherits"),s=e("./sign"),a=e("./verify"),l=e("./algorithms.json");function d(e){i.Writable.call(this);var t=l[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function f(e){i.Writable.call(this);var t=l[e];if(!t)throw new Error("Unknown message digest");this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function c(e){return new d(e)}function u(e){return new f(e)}Object.keys(l).forEach((function(e){l[e].id=new r(l[e].id,"hex"),l[e.toLowerCase()]=l[e]})),o(d,i.Writable),d.prototype._write=function(e,t,r){this._hash.update(e),r()},d.prototype.update=function(e,t){return"string"==typeof e&&(e=new r(e,t)),this._hash.update(e),this},d.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=s(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},o(f,i.Writable),f.prototype._write=function(e,t,r){this._hash.update(e),r()},f.prototype.update=function(e,t){return"string"==typeof e&&(e=new r(e,t)),this._hash.update(e),this},f.prototype.verify=function(e,t,n){"string"==typeof t&&(t=new r(t,n)),this.end();var i=this._hash.digest();return a(t,i,e,this._signType,this._tag)},t.exports={Sign:c,Verify:u,createSign:c,createVerify:u}}).call(this,e("buffer").Buffer)},{"./algorithms.json":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/algorithms.json","./sign":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/sign.js","./verify":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/verify.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js","create-hash":"/Users/f/pjs/dhive/node_modules/create-hash/browser.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js",stream:"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/sign.js":[function(e,t,r){(function(r){var n=e("create-hmac"),i=e("browserify-rsa"),o=e("elliptic").ec,s=e("bn.js"),a=e("parse-asn1"),l=e("./curves.json");function d(e,t,i,o){if((e=new r(e.toArray())).length<t.byteLength()){var s=new r(t.byteLength()-e.length);s.fill(0),e=r.concat([s,e])}var a=i.length,l=function(e,t){e=(e=f(e,t)).mod(t);var n=new r(e.toArray());if(n.length<t.byteLength()){var i=new r(t.byteLength()-n.length);i.fill(0),n=r.concat([i,n])}return n}(i,t),d=new r(a);d.fill(1);var c=new r(a);return c.fill(0),c=n(o,c).update(d).update(new r([0])).update(e).update(l).digest(),d=n(o,c).update(d).digest(),{k:c=n(o,c).update(d).update(new r([1])).update(e).update(l).digest(),v:d=n(o,c).update(d).digest()}}function f(e,t){var r=new s(e),n=(e.length<<3)-t.bitLength();return 0<n&&r.ishrn(n),r}function c(e,t,i){var o,s;do{for(o=new r(0);8*o.length<e.bitLength();)t.v=n(i,t.k).update(t.v).digest(),o=r.concat([o,t.v]);s=f(o,e),t.k=n(i,t.k).update(t.v).update(new r([0])).digest(),t.v=n(i,t.k).update(t.v).digest()}while(-1!==s.cmp(e));return s}function u(e,t,r,n){return e.toRed(s.mont(r)).redPow(t).fromRed().mod(n)}t.exports=function(e,t,n,h,p){var m=a(t);if(m.curve){if("ecdsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");return function(e,t){var n=l[t.curve.join(".")];if(!n)throw new Error("unknown curve "+t.curve.join("."));var i=new o(n).keyFromPrivate(t.privateKey).sign(e);return new r(i.toDER())}(e,m)}if("dsa"===m.type){if("dsa"!==h)throw new Error("wrong private key type");return function(e,t,n){for(var i,o=t.params.priv_key,a=t.params.p,l=t.params.q,h=t.params.g,p=new s(0),m=f(e,l).mod(l),b=!1,g=d(o,l,e,n);!1===b;)p=u(h,i=c(l,g,n),a,l),0===(b=i.invm(l).imul(m.add(o.mul(p))).mod(l)).cmpn(0)&&(b=!1,p=new s(0));return function(e,t){e=e.toArray(),t=t.toArray(),128&e[0]&&(e=[0].concat(e)),128&t[0]&&(t=[0].concat(t));var n=[48,e.length+t.length+4,2,e.length];return n=n.concat(e,[2,t.length],t),new r(n)}(p,b)}(e,m,n)}if("rsa"!==h&&"ecdsa/rsa"!==h)throw new Error("wrong private key type");e=r.concat([p,e]);for(var b=m.modulus.byteLength(),g=[0,1];e.length+g.length+1<b;)g.push(255);g.push(0);for(var v=-1;++v<e.length;)g.push(e[v]);return i(g,m)},t.exports.getKey=d,t.exports.makeKey=c}).call(this,e("buffer").Buffer)},{"./curves.json":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/curves.json","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","browserify-rsa":"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js","create-hmac":"/Users/f/pjs/dhive/node_modules/create-hmac/browser.js",elliptic:"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js","parse-asn1":"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js"}],"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/verify.js":[function(e,t,r){(function(r){var n=e("bn.js"),i=e("elliptic").ec,o=e("parse-asn1"),s=e("./curves.json");function a(e,t){if(e.cmpn(0)<=0)throw new Error("invalid sig");if(e.cmp(t)>=t)throw new Error("invalid sig")}t.exports=function(e,t,l,d,f){var c=o(l);if("ec"===c.type){if("ecdsa"!==d&&"ecdsa/rsa"!==d)throw new Error("wrong public key type");return function(e,t,r){var n=s[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var o=new i(n),a=r.data.subjectPrivateKey.data;return o.verify(t,e,a)}(e,t,c)}if("dsa"===c.type){if("dsa"!==d)throw new Error("wrong public key type");return function(e,t,r){var i=r.data.p,s=r.data.q,l=r.data.g,d=r.data.pub_key,f=o.signature.decode(e,"der"),c=f.s,u=f.r;a(c,s),a(u,s);var h=n.mont(i),p=c.invm(s);return 0===l.toRed(h).redPow(new n(t).mul(p).mod(s)).fromRed().mul(d.toRed(h).redPow(u.mul(p).mod(s)).fromRed()).mod(i).mod(s).cmp(u)}(e,t,c)}if("rsa"!==d&&"ecdsa/rsa"!==d)throw new Error("wrong public key type");t=r.concat([f,t]);for(var u=c.modulus.byteLength(),h=[1],p=0;t.length+h.length+2<u;)h.push(255),p++;h.push(0);for(var m=-1;++m<t.length;)h.push(t[m]);h=new r(h);var b=n.mont(c.modulus);e=(e=new n(e).toRed(b)).redPow(new n(c.publicExponent)),e=new r(e.fromRed().toArray());var g=p<8?1:0;for(u=Math.min(e.length,h.length),e.length!==h.length&&(g=1),m=-1;++m<u;)g|=e[m]^h[m];return 0===g}}).call(this,e("buffer").Buffer)},{"./curves.json":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/curves.json","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",elliptic:"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js","parse-asn1":"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js"}],"/Users/f/pjs/dhive/node_modules/bs58/index.js":[function(e,t,r){var n=e("base-x");t.exports=n("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},{"base-x":"/Users/f/pjs/dhive/node_modules/base-x/src/index.js"}],"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js":[function(e,t,r){(function(e){t.exports=function(t,r){for(var n=Math.min(t.length,r.length),i=new e(n),o=0;o<n;++o)i[o]=t[o]^r[o];return i}}).call(this,e("buffer").Buffer)},{buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/buffer/index.js":[function(e,t,r){(function(t){"use strict";var n=e("base64-js"),i=e("ieee754"),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function s(e){if(2147483647<e)throw new RangeError('The value "'+e+'" is invalid for option "size"');var r=new Uint8Array(e);return Object.setPrototypeOf(r,t.prototype),r}function t(e,t,r){if("number"!=typeof e)return a(e,t,r);if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return d(e)}function a(e,r,n){if("string"==typeof e)return function(e,r){if("string"==typeof r&&""!==r||(r="utf8"),!t.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|h(e,r),i=s(n),o=i.write(e,r);return o!==n&&(i=i.slice(0,o)),i}(e,r);if(ArrayBuffer.isView(e))return f(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(N(e,ArrayBuffer)||e&&N(e.buffer,ArrayBuffer))return c(e,r,n);if("undefined"!=typeof SharedArrayBuffer&&(N(e,SharedArrayBuffer)||e&&N(e.buffer,SharedArrayBuffer)))return c(e,r,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return t.from(i,r,n);var o=function(e){if(t.isBuffer(e)){var r=0|u(e.length),n=s(r);return 0===n.length||e.copy(n,0,0,r),n}return void 0!==e.length?"number"!=typeof e.length||z(e.length)?s(0):f(e):"Buffer"===e.type&&Array.isArray(e.data)?f(e.data):void 0}(e);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return t.from(e[Symbol.toPrimitive]("string"),r,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function d(e){return l(e),s(e<0?0:0|u(e))}function f(e){for(var t=e.length<0?0:0|u(e.length),r=s(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function c(e,r,n){if(r<0||e.byteLength<r)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<r+(n||0))throw new RangeError('"length" is outside of buffer bounds');var i;return i=void 0===r&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,r):new Uint8Array(e,r,n),Object.setPrototypeOf(i,t.prototype),i}function u(e){if(2147483647<=e)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+2147483647..toString(16)+" bytes");return 0|e}function h(e,r){if(t.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||N(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=2<arguments.length&&!0===arguments[2];if(!i&&0===n)return 0;for(var o=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return C(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return P(e).length;default:if(o)return i?-1:C(e).length;r=(""+r).toLowerCase(),o=!0}}function p(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,r,n,i,o){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):2147483647<n?n=2147483647:n<-2147483648&&(n=-2147483648),z(n=+n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof r&&(r=t.from(r,i)),t.isBuffer(r))return 0===r.length?-1:b(e,r,n,i,o);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,r,n):Uint8Array.prototype.lastIndexOf.call(e,r,n):b(e,[r],n,i,o);throw new TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){var o,s=1,a=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a/=s=2,l/=2,r/=2}function d(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var f=-1;for(o=r;o<a;o++)if(d(e,o)===d(t,-1===f?0:o-f)){if(-1===f&&(f=o),o-f+1===l)return f*s}else-1!==f&&(o-=o-f),f=-1}else for(a<r+l&&(r=a-l),o=r;0<=o;o--){for(var c=!0,u=0;u<l;u++)if(d(e,o+u)!==d(t,u)){c=!1;break}if(c)return o}return-1}function g(e,t,r,n){r=Number(r)||0;var i=e.length-r;(!n||i<(n=Number(n)))&&(n=i);var o=t.length;o/2<n&&(n=o/2);for(var s=0;s<n;++s){var a=parseInt(t.substr(2*s,2),16);if(z(a))return s;e[r+s]=a}return s}function v(e,t,r,n){return D(C(t,e.length-r),e,r,n)}function y(e,t,r,n){return D(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function j(e,t,r,n){return y(e,t,r,n)}function _(e,t,r,n){return D(P(t),e,r,n)}function w(e,t,r,n){return D(function(e,t){for(var r,n,i,o=[],s=0;s<e.length&&!((t-=2)<0);++s)n=(r=e.charCodeAt(s))>>8,i=r%256,o.push(i),o.push(n);return o}(t,e.length-r),e,r,n)}function x(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function k(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i<r;){var o,s,a,l,d=e[i],f=null,c=239<d?4:223<d?3:191<d?2:1;if(i+c<=r)switch(c){case 1:d<128&&(f=d);break;case 2:128==(192&(o=e[i+1]))&&127<(l=(31&d)<<6|63&o)&&(f=l);break;case 3:o=e[i+1],s=e[i+2],128==(192&o)&&128==(192&s)&&2047<(l=(15&d)<<12|(63&o)<<6|63&s)&&(l<55296||57343<l)&&(f=l);break;case 4:o=e[i+1],s=e[i+2],a=e[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&65535<(l=(15&d)<<18|(63&o)<<12|(63&s)<<6|63&a)&&l<1114112&&(f=l)}null===f?(f=65533,c=1):65535<f&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=c}return function(e){var t=e.length;if(t<=U)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=U));return r}(n)}r.Buffer=t,r.SlowBuffer=function(e){return+e!=e&&(e=0),t.alloc(+e)},r.INSPECT_MAX_BYTES=50,r.kMaxLength=2147483647,t.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),Object.defineProperty(t.prototype,"parent",{enumerable:!0,get:function(){if(t.isBuffer(this))return this.buffer}}),Object.defineProperty(t.prototype,"offset",{enumerable:!0,get:function(){if(t.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&t[Symbol.species]===t&&Object.defineProperty(t,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),t.poolSize=8192,t.from=function(e,t,r){return a(e,t,r)},Object.setPrototypeOf(t.prototype,Uint8Array.prototype),Object.setPrototypeOf(t,Uint8Array),t.alloc=function(e,t,r){return function(e,t,r){return l(e),e<=0||void 0===t?s(e):"string"==typeof r?s(e).fill(t,r):s(e).fill(t)}(e,t,r)},t.allocUnsafe=function(e){return d(e)},t.allocUnsafeSlow=function(e){return d(e)},t.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==t.prototype},t.compare=function(e,r){if(N(e,Uint8Array)&&(e=t.from(e,e.offset,e.byteLength)),N(r,Uint8Array)&&(r=t.from(r,r.offset,r.byteLength)),!t.isBuffer(e)||!t.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;for(var n=e.length,i=r.length,o=0,s=Math.min(n,i);o<s;++o)if(e[o]!==r[o]){n=e[o],i=r[o];break}return n<i?-1:i<n?1:0},t.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},t.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return t.alloc(0);var n;if(void 0===r)for(n=r=0;n<e.length;++n)r+=e[n].length;var i=t.allocUnsafe(r),o=0;for(n=0;n<e.length;++n){var s=e[n];if(N(s,Uint8Array)&&(s=t.from(s)),!t.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(i,o),o+=s.length}return i},t.byteLength=h,t.prototype._isBuffer=!0,t.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)p(this,t,t+1);return this},t.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)p(this,t,t+3),p(this,t+1,t+2);return this},t.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)p(this,t,t+7),p(this,t+1,t+6),p(this,t+2,t+5),p(this,t+3,t+4);return this},t.prototype.toLocaleString=t.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?k(this,0,e):function(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e=e||"utf8";;)switch(e){case"hex":return A(this,t,r);case"utf8":case"utf-8":return k(this,t,r);case"ascii":return E(this,t,r);case"latin1":case"binary":return S(this,t,r);case"base64":return x(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}.apply(this,arguments)},t.prototype.equals=function(e){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===t.compare(this,e)},t.prototype.inspect=function(){var e="",t=r.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},o&&(t.prototype[o]=t.prototype.inspect),t.prototype.compare=function(e,r,n,i,o){if(N(e,Uint8Array)&&(e=t.from(e,e.offset,e.byteLength)),!t.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError("out of range index");if(o<=i&&n<=r)return 0;if(o<=i)return-1;if(n<=r)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(i>>>=0),a=(n>>>=0)-(r>>>=0),l=Math.min(s,a),d=this.slice(i,o),f=e.slice(r,n),c=0;c<l;++c)if(d[c]!==f[c]){s=d[c],a=f[c];break}return s<a?-1:a<s?1:0},t.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},t.prototype.indexOf=function(e,t,r){return m(this,e,t,r,!0)},t.prototype.lastIndexOf=function(e,t,r){return m(this,e,t,r,!1)},t.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||i<r)&&(r=i),0<e.length&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n=n||"utf8";for(var o=!1;;)switch(n){case"hex":return g(this,e,t,r);case"utf8":case"utf-8":return v(this,e,t,r);case"ascii":return y(this,e,t,r);case"latin1":case"binary":return j(this,e,t,r);case"base64":return _(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var U=4096;function E(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(127&e[i]);return n}function S(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function A(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||n<r)&&(r=n);for(var i="",o=t;o<r;++o)i+=q[e[o]];return i}function I(e,t,r){for(var n=e.slice(t,r),i="",o=0;o<n.length;o+=2)i+=String.fromCharCode(n[o]+256*n[o+1]);return i}function M(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(r<e+t)throw new RangeError("Trying to access beyond buffer length")}function T(e,r,n,i,o,s){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(o<r||r<s)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function B(e,t,r,n){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function L(e,t,r,n,o){return t=+t,r>>>=0,o||B(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function R(e,t,r,n,o){return t=+t,r>>>=0,o||B(e,0,r,8),i.write(e,t,r,n,52,8),r+8}t.prototype.slice=function(e,r){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):n<e&&(e=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):n<r&&(r=n),r<e&&(r=e);var i=this.subarray(e,r);return Object.setPrototypeOf(i,t.prototype),i},t.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||M(e,t,this.length);for(var n=this[e],i=1,o=0;++o<t&&(i*=256);)n+=this[e+o]*i;return n},t.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||M(e,t,this.length);for(var n=this[e+--t],i=1;0<t&&(i*=256);)n+=this[e+--t]*i;return n},t.prototype.readUInt8=function(e,t){return e>>>=0,t||M(e,1,this.length),this[e]},t.prototype.readUInt16LE=function(e,t){return e>>>=0,t||M(e,2,this.length),this[e]|this[e+1]<<8},t.prototype.readUInt16BE=function(e,t){return e>>>=0,t||M(e,2,this.length),this[e]<<8|this[e+1]},t.prototype.readUInt32LE=function(e,t){return e>>>=0,t||M(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},t.prototype.readUInt32BE=function(e,t){return e>>>=0,t||M(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},t.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||M(e,t,this.length);for(var n=this[e],i=1,o=0;++o<t&&(i*=256);)n+=this[e+o]*i;return(i*=128)<=n&&(n-=Math.pow(2,8*t)),n},t.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||M(e,t,this.length);for(var n=t,i=1,o=this[e+--n];0<n&&(i*=256);)o+=this[e+--n]*i;return(i*=128)<=o&&(o-=Math.pow(2,8*t)),o},t.prototype.readInt8=function(e,t){return e>>>=0,t||M(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},t.prototype.readInt16LE=function(e,t){e>>>=0,t||M(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt16BE=function(e,t){e>>>=0,t||M(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt32LE=function(e,t){return e>>>=0,t||M(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},t.prototype.readInt32BE=function(e,t){return e>>>=0,t||M(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},t.prototype.readFloatLE=function(e,t){return e>>>=0,t||M(e,4,this.length),i.read(this,e,!0,23,4)},t.prototype.readFloatBE=function(e,t){return e>>>=0,t||M(e,4,this.length),i.read(this,e,!1,23,4)},t.prototype.readDoubleLE=function(e,t){return e>>>=0,t||M(e,8,this.length),i.read(this,e,!0,52,8)},t.prototype.readDoubleBE=function(e,t){return e>>>=0,t||M(e,8,this.length),i.read(this,e,!1,52,8)},t.prototype.writeUIntLE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[t]=255&e;++o<r&&(i*=256);)this[t+o]=e/i&255;return t+r},t.prototype.writeUIntBE=function(e,t,r,n){e=+e,t>>>=0,r>>>=0,n||T(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,o=1;for(this[t+i]=255&e;0<=--i&&(o*=256);)this[t+i]=e/o&255;return t+r},t.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,255,0),this[t]=255&e,t+1},t.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},t.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);T(this,e,t,r,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o<r&&(s*=256);)e<0&&0===a&&0!==this[t+o-1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+r},t.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);T(this,e,t,r,i-1,-i)}var o=r-1,s=1,a=0;for(this[t+o]=255&e;0<=--o&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+r},t.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},t.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},t.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeFloatLE=function(e,t,r){return L(this,e,t,!0,r)},t.prototype.writeFloatBE=function(e,t,r){return L(this,e,t,!1,r)},t.prototype.writeDoubleLE=function(e,t,r){return R(this,e,t,!0,r)},t.prototype.writeDoubleBE=function(e,t,r){return R(this,e,t,!1,r)},t.prototype.copy=function(e,r,n,i){if(!t.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n=n||0,i||0===i||(i=this.length),r>=e.length&&(r=e.length),r=r||0,0<i&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r<i-n&&(i=e.length-r+n);var o=i-n;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(r,n,i);else if(this===e&&n<r&&r<i)for(var s=o-1;0<=s;--s)e[s+r]=this[s+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),r);return o},t.prototype.fill=function(e,r,n,i){if("string"==typeof e){if("string"==typeof r?(i=r,r=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var o=e.charCodeAt(0);("utf8"===i&&o<128||"latin1"===i)&&(e=o)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;var s;if(r>>>=0,n=void 0===n?this.length:n>>>0,"number"==typeof(e=e||0))for(s=r;s<n;++s)this[s]=e;else{var a=t.isBuffer(e)?e:t.from(e,i),l=a.length;if(0===l)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-r;++s)this[s+r]=a[s%l]}return this};var O=/[^+/0-9A-Za-z-_]/g;function C(e,t){var r;t=t||1/0;for(var n=e.length,i=null,o=[],s=0;s<n;++s){if(55295<(r=e.charCodeAt(s))&&r<57344){if(!i){if(56319<r){-1<(t-=3)&&o.push(239,191,189);continue}if(s+1===n){-1<(t-=3)&&o.push(239,191,189);continue}i=r;continue}if(r<56320){-1<(t-=3)&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&-1<(t-=3)&&o.push(239,191,189);if(i=null,r<128){if(--t<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function P(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(O,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function D(e,t,r,n){for(var i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function N(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function z(e){return e!=e}var q=function(){for(var e=new Array(256),t=0;t<16;++t)for(var r=16*t,n=0;n<16;++n)e[r+n]="0123456789abcdef"[t]+"0123456789abcdef"[n];return e}()}).call(this,e("buffer").Buffer)},{"base64-js":"/Users/f/pjs/dhive/node_modules/base64-js/index.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",ieee754:"/Users/f/pjs/dhive/node_modules/ieee754/index.js"}],"/Users/f/pjs/dhive/node_modules/bytebuffer/dist/bytebuffer.js":[function(e,t,r){var n;n=function(e){"use strict";var t=function(e,r,i){if(void 0===e&&(e=t.DEFAULT_CAPACITY),void 0===r&&(r=t.DEFAULT_ENDIAN),void 0===i&&(i=t.DEFAULT_NOASSERT),!i){if((e|=0)<0)throw RangeError("Illegal capacity");r=!!r,i=!!i}this.buffer=0===e?n:new ArrayBuffer(e),this.view=0===e?null:new Uint8Array(this.buffer),this.offset=0,this.markedOffset=-1,this.limit=e,this.littleEndian=r,this.noAssert=i};t.VERSION="5.0.1",t.LITTLE_ENDIAN=!0,t.BIG_ENDIAN=!1,t.DEFAULT_CAPACITY=16,t.DEFAULT_ENDIAN=t.BIG_ENDIAN,t.DEFAULT_NOASSERT=!1,t.Long=e||null;var r=t.prototype;r.__isByteBuffer__,Object.defineProperty(r,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var n=new ArrayBuffer(0),i=String.fromCharCode;function o(e){var t=0;return function(){return t<e.length?e.charCodeAt(t++):null}}function s(){var e=[],t=[];return function(){if(0===arguments.length)return t.join("")+i.apply(String,e);1024<e.length+arguments.length&&(t.push(i.apply(String,e)),e.length=0),Array.prototype.push.apply(e,arguments)}}function a(e,t,r,n,i){var o,s,a=8*i-n-1,l=(1<<a)-1,d=l>>1,f=-7,c=r?i-1:0,u=r?-1:1,h=e[t+c];for(c+=u,o=h&(1<<-f)-1,h>>=-f,f+=a;0<f;o=256*o+e[t+c],c+=u,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;0<f;s=256*s+e[t+c],c+=u,f-=8);if(0===o)o=1-d;else{if(o===l)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,n),o-=d}return(h?-1:1)*s*Math.pow(2,o-n)}function l(e,t,r,n,i,o){var s,a,l,d=8*o-i-1,f=(1<<d)-1,c=f>>1,u=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||1/0===t?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),2<=(t+=1<=s+c?u/l:u*Math.pow(2,1-c))*l&&(s++,l/=2),f<=s+c?(a=0,s=f):1<=s+c?(a=(t*l-1)*Math.pow(2,i),s+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,i),s=0));8<=i;e[r+h]=255&a,h+=p,a/=256,i-=8);for(s=s<<i|a,d+=i;0<d;e[r+h]=255&s,h+=p,s/=256,d-=8);e[r+h-p]|=128*m}t.accessor=function(){return Uint8Array},t.allocate=function(e,r,n){return new t(e,r,n)},t.concat=function(e,r,n,i){"boolean"!=typeof r&&"string"==typeof r||(i=n,n=r,r=void 0);for(var o,s=0,a=0,l=e.length;a<l;++a)t.isByteBuffer(e[a])||(e[a]=t.wrap(e[a],r)),0<(o=e[a].limit-e[a].offset)&&(s+=o);if(0===s)return new t(0,n,i);var d,f=new t(s,n,i);for(a=0;a<l;)(o=(d=e[a++]).limit-d.offset)<=0||(f.view.set(d.view.subarray(d.offset,d.limit),f.offset),f.offset+=o);return f.limit=f.offset,f.offset=0,f},t.isByteBuffer=function(e){return!0===(e&&e.__isByteBuffer__)},t.type=function(){return ArrayBuffer},t.wrap=function(e,n,i,o){if("string"!=typeof n&&(o=i,i=n,n=void 0),"string"==typeof e)switch(void 0===n&&(n="utf8"),n){case"base64":return t.fromBase64(e,i);case"hex":return t.fromHex(e,i);case"binary":return t.fromBinary(e,i);case"utf8":return t.fromUTF8(e,i);case"debug":return t.fromDebug(e,i);default:throw Error("Unsupported encoding: "+n)}if(null===e||"object"!=typeof e)throw TypeError("Illegal buffer");var s;if(t.isByteBuffer(e))return(s=r.clone.call(e)).markedOffset=-1,s;if(e instanceof Uint8Array)s=new t(0,i,o),0<e.length&&(s.buffer=e.buffer,s.offset=e.byteOffset,s.limit=e.byteOffset+e.byteLength,s.view=new Uint8Array(e.buffer));else if(e instanceof ArrayBuffer)s=new t(0,i,o),0<e.byteLength&&(s.buffer=e,s.offset=0,s.limit=e.byteLength,s.view=0<e.byteLength?new Uint8Array(e):null);else{if("[object Array]"!==Object.prototype.toString.call(e))throw TypeError("Illegal buffer");(s=new t(e.length,i,o)).limit=e.length;for(var a=0;a<e.length;++a)s.view[a]=e[a]}return s},r.writeBitSet=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if(!(e instanceof Array))throw TypeError("Illegal BitSet: Not an array");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}var n,i=t,o=e.length,s=o>>3,a=0;for(t+=this.writeVarint32(o,t);s--;)n=1&!!e[a++]|(1&!!e[a++])<<1|(1&!!e[a++])<<2|(1&!!e[a++])<<3|(1&!!e[a++])<<4|(1&!!e[a++])<<5|(1&!!e[a++])<<6|(1&!!e[a++])<<7,this.writeByte(n,t++);if(a<o){var l=0;for(n=0;a<o;)n|=(1&!!e[a++])<<l++;this.writeByte(n,t++)}return r?(this.offset=t,this):t-i},r.readBitSet=function(e){var t=void 0===e;t&&(e=this.offset);var r,n=this.readVarint32(e),i=n.value,o=i>>3,s=0,a=[];for(e+=n.length;o--;)r=this.readByte(e++),a[s++]=!!(1&r),a[s++]=!!(2&r),a[s++]=!!(4&r),a[s++]=!!(8&r),a[s++]=!!(16&r),a[s++]=!!(32&r),a[s++]=!!(64&r),a[s++]=!!(128&r);if(s<i){var l=0;for(r=this.readByte(e++);s<i;)a[s++]=!!(r>>l++&1)}return t&&(this.offset=e),a},r.readBytes=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+e+") <= "+this.buffer.byteLength)}var n=this.slice(t,t+e);return r&&(this.offset+=e),n},r.writeBytes=r.append,r.writeInt8=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=1;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),--t,this.view[t]=e,r&&(this.offset+=1),this},r.writeByte=r.writeInt8,r.readInt8=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var r=this.view[e];return 128==(128&r)&&(r=-(255-r+1)),t&&(this.offset+=1),r},r.readByte=r.readInt8,r.writeUint8=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=1;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),--t,this.view[t]=e,r&&(this.offset+=1),this},r.writeUInt8=r.writeUint8,r.readUint8=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var r=this.view[e];return t&&(this.offset+=1),r},r.readUInt8=r.readUint8,r.writeInt16=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=2;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),t-=2,this.littleEndian?(this.view[t+1]=(65280&e)>>>8,this.view[t]=255&e):(this.view[t]=(65280&e)>>>8,this.view[t+1]=255&e),r&&(this.offset+=2),this},r.writeShort=r.writeInt16,r.readInt16=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+2) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[e],r|=this.view[e+1]<<8):(r=this.view[e]<<8,r|=this.view[e+1]),32768==(32768&r)&&(r=-(65535-r+1)),t&&(this.offset+=2),r},r.readShort=r.readInt16,r.writeUint16=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=2;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),t-=2,this.littleEndian?(this.view[t+1]=(65280&e)>>>8,this.view[t]=255&e):(this.view[t]=(65280&e)>>>8,this.view[t+1]=255&e),r&&(this.offset+=2),this},r.writeUInt16=r.writeUint16,r.readUint16=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+2) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[e],r|=this.view[e+1]<<8):(r=this.view[e]<<8,r|=this.view[e+1]),t&&(this.offset+=2),r},r.readUInt16=r.readUint16,r.writeInt32=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=4;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),t-=4,this.littleEndian?(this.view[t+3]=e>>>24&255,this.view[t+2]=e>>>16&255,this.view[t+1]=e>>>8&255,this.view[t]=255&e):(this.view[t]=e>>>24&255,this.view[t+1]=e>>>16&255,this.view[t+2]=e>>>8&255,this.view[t+3]=255&e),r&&(this.offset+=4),this},r.writeInt=r.writeInt32,r.readInt32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[e+2]<<16,r|=this.view[e+1]<<8,r|=this.view[e],r+=this.view[e+3]<<24>>>0):(r=this.view[e+1]<<16,r|=this.view[e+2]<<8,r|=this.view[e+3],r+=this.view[e]<<24>>>0),r|=0,t&&(this.offset+=4),r},r.readInt=r.readInt32,r.writeUint32=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=4;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),t-=4,this.littleEndian?(this.view[t+3]=e>>>24&255,this.view[t+2]=e>>>16&255,this.view[t+1]=e>>>8&255,this.view[t]=255&e):(this.view[t]=e>>>24&255,this.view[t+1]=e>>>16&255,this.view[t+2]=e>>>8&255,this.view[t+3]=255&e),r&&(this.offset+=4),this},r.writeUInt32=r.writeUint32,r.readUint32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var r=0;return this.littleEndian?(r=this.view[e+2]<<16,r|=this.view[e+1]<<8,r|=this.view[e],r+=this.view[e+3]<<24>>>0):(r=this.view[e+1]<<16,r|=this.view[e+2]<<8,r|=this.view[e+3],r+=this.view[e]<<24>>>0),t&&(this.offset+=4),r},r.readUInt32=r.readUint32,e&&(r.writeInt64=function(t,r){var n=void 0===r;if(n&&(r=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t)),r+=8;var i=this.buffer.byteLength;i<r&&this.resize((i*=2)>r?i:r),r-=8;var o=t.low,s=t.high;return this.littleEndian?(this.view[r+3]=o>>>24&255,this.view[r+2]=o>>>16&255,this.view[r+1]=o>>>8&255,this.view[r]=255&o,r+=4,this.view[r+3]=s>>>24&255,this.view[r+2]=s>>>16&255,this.view[r+1]=s>>>8&255,this.view[r]=255&s):(this.view[r]=s>>>24&255,this.view[r+1]=s>>>16&255,this.view[r+2]=s>>>8&255,this.view[r+3]=255&s,r+=4,this.view[r]=o>>>24&255,this.view[r+1]=o>>>16&255,this.view[r+2]=o>>>8&255,this.view[r+3]=255&o),n&&(this.offset+=8),this},r.writeLong=r.writeInt64,r.readInt64=function(t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}var n=0,i=0;this.littleEndian?(n=this.view[t+2]<<16,n|=this.view[t+1]<<8,n|=this.view[t],n+=this.view[t+3]<<24>>>0,t+=4,i=this.view[t+2]<<16,i|=this.view[t+1]<<8,i|=this.view[t],i+=this.view[t+3]<<24>>>0):(i=this.view[t+1]<<16,i|=this.view[t+2]<<8,i|=this.view[t+3],i+=this.view[t]<<24>>>0,t+=4,n=this.view[t+1]<<16,n|=this.view[t+2]<<8,n|=this.view[t+3],n+=this.view[t]<<24>>>0);var o=new e(n,i,!1);return r&&(this.offset+=8),o},r.readLong=r.readInt64,r.writeUint64=function(t,r){var n=void 0===r;if(n&&(r=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t)),r+=8;var i=this.buffer.byteLength;i<r&&this.resize((i*=2)>r?i:r),r-=8;var o=t.low,s=t.high;return this.littleEndian?(this.view[r+3]=o>>>24&255,this.view[r+2]=o>>>16&255,this.view[r+1]=o>>>8&255,this.view[r]=255&o,r+=4,this.view[r+3]=s>>>24&255,this.view[r+2]=s>>>16&255,this.view[r+1]=s>>>8&255,this.view[r]=255&s):(this.view[r]=s>>>24&255,this.view[r+1]=s>>>16&255,this.view[r+2]=s>>>8&255,this.view[r+3]=255&s,r+=4,this.view[r]=o>>>24&255,this.view[r+1]=o>>>16&255,this.view[r+2]=o>>>8&255,this.view[r+3]=255&o),n&&(this.offset+=8),this},r.writeUInt64=r.writeUint64,r.readUint64=function(t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}var n=0,i=0;this.littleEndian?(n=this.view[t+2]<<16,n|=this.view[t+1]<<8,n|=this.view[t],n+=this.view[t+3]<<24>>>0,t+=4,i=this.view[t+2]<<16,i|=this.view[t+1]<<8,i|=this.view[t],i+=this.view[t+3]<<24>>>0):(i=this.view[t+1]<<16,i|=this.view[t+2]<<8,i|=this.view[t+3],i+=this.view[t]<<24>>>0,t+=4,n=this.view[t+1]<<16,n|=this.view[t+2]<<8,n|=this.view[t+3],n+=this.view[t]<<24>>>0);var o=new e(n,i,!0);return r&&(this.offset+=8),o},r.readUInt64=r.readUint64),r.writeFloat32=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e)throw TypeError("Illegal value: "+e+" (not a number)");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=4;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),t-=4,l(this.view,e,t,this.littleEndian,23,4),r&&(this.offset+=4),this},r.writeFloat=r.writeFloat32,r.readFloat32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var r=a(this.view,e,this.littleEndian,23,4);return t&&(this.offset+=4),r},r.readFloat=r.readFloat32,r.writeFloat64=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof e)throw TypeError("Illegal value: "+e+" (not a number)");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=8;var n=this.buffer.byteLength;return n<t&&this.resize((n*=2)>t?n:t),t-=8,l(this.view,e,t,this.littleEndian,52,8),r&&(this.offset+=8),this},r.writeDouble=r.writeFloat64,r.readFloat64=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+8) <= "+this.buffer.byteLength)}var r=a(this.view,e,this.littleEndian,52,8);return t&&(this.offset+=8),r},r.readDouble=r.readFloat64,t.MAX_VARINT32_BYTES=5,t.calculateVarint32=function(e){return(e>>>=0)<128?1:e<16384?2:e<1<<21?3:e<1<<28?4:5},t.zigZagEncode32=function(e){return((e|=0)<<1^e>>31)>>>0},t.zigZagDecode32=function(e){return e>>>1^-(1&e)|0},r.writeVarint32=function(e,r){var n=void 0===r;if(n&&(r=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}var i,o=t.calculateVarint32(e);r+=o;var s=this.buffer.byteLength;for(s<r&&this.resize((s*=2)>r?s:r),r-=o,e>>>=0;128<=e;)i=127&e|128,this.view[r++]=i,e>>>=7;return this.view[r++]=e,n?(this.offset=r,this):o},r.writeVarint32ZigZag=function(e,r){return this.writeVarint32(t.zigZagEncode32(e),r)},r.readVarint32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var r,n=0,i=0;do{if(!this.noAssert&&e>this.limit){var o=Error("Truncated");throw o.truncated=!0,o}r=this.view[e++],n<5&&(i|=(127&r)<<7*n),++n}while(0!=(128&r));return i|=0,t?(this.offset=e,i):{value:i,length:n}},r.readVarint32ZigZag=function(e){var r=this.readVarint32(e);return"object"==typeof r?r.value=t.zigZagDecode32(r.value):r=t.zigZagDecode32(r),r},e&&(t.MAX_VARINT64_BYTES=10,t.calculateVarint64=function(t){"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t));var r=t.toInt()>>>0,n=t.shiftRightUnsigned(28).toInt()>>>0,i=t.shiftRightUnsigned(56).toInt()>>>0;return 0==i?0==n?r<16384?r<128?1:2:r<1<<21?3:4:n<16384?n<128?5:6:n<1<<21?7:8:i<128?9:10},t.zigZagEncode64=function(t){return"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),t.shiftLeft(1).xor(t.shiftRight(63)).toUnsigned()},t.zigZagDecode64=function(t){return"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),t.shiftRightUnsigned(1).xor(t.and(e.ONE).toSigned().negate()).toSigned()},r.writeVarint64=function(r,n){var i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("number"==typeof r)r=e.fromNumber(r);else if("string"==typeof r)r=e.fromString(r);else if(!(r&&r instanceof e))throw TypeError("Illegal value: "+r+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}"number"==typeof r?r=e.fromNumber(r,!1):"string"==typeof r?r=e.fromString(r,!1):!1!==r.unsigned&&(r=r.toSigned());var o=t.calculateVarint64(r),s=r.toInt()>>>0,a=r.shiftRightUnsigned(28).toInt()>>>0,l=r.shiftRightUnsigned(56).toInt()>>>0;n+=o;var d=this.buffer.byteLength;switch(d<n&&this.resize((d*=2)>n?d:n),n-=o,o){case 10:this.view[n+9]=l>>>7&1;case 9:this.view[n+8]=9!==o?128|l:127&l;case 8:this.view[n+7]=8!==o?a>>>21|128:a>>>21&127;case 7:this.view[n+6]=7!==o?a>>>14|128:a>>>14&127;case 6:this.view[n+5]=6!==o?a>>>7|128:a>>>7&127;case 5:this.view[n+4]=5!==o?128|a:127&a;case 4:this.view[n+3]=4!==o?s>>>21|128:s>>>21&127;case 3:this.view[n+2]=3!==o?s>>>14|128:s>>>14&127;case 2:this.view[n+1]=2!==o?s>>>7|128:s>>>7&127;case 1:this.view[n]=1!==o?128|s:127&s}return i?(this.offset+=o,this):o},r.writeVarint64ZigZag=function(e,r){return this.writeVarint64(t.zigZagEncode64(e),r)},r.readVarint64=function(t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var n=t,i=0,o=0,s=0,a=0;if(i=127&(a=this.view[t++]),128&a&&(i|=(127&(a=this.view[t++]))<<7,(128&a||this.noAssert&&void 0===a)&&(i|=(127&(a=this.view[t++]))<<14,(128&a||this.noAssert&&void 0===a)&&(i|=(127&(a=this.view[t++]))<<21,(128&a||this.noAssert&&void 0===a)&&(o=127&(a=this.view[t++]),(128&a||this.noAssert&&void 0===a)&&(o|=(127&(a=this.view[t++]))<<7,(128&a||this.noAssert&&void 0===a)&&(o|=(127&(a=this.view[t++]))<<14,(128&a||this.noAssert&&void 0===a)&&(o|=(127&(a=this.view[t++]))<<21,(128&a||this.noAssert&&void 0===a)&&(s=127&(a=this.view[t++]),(128&a||this.noAssert&&void 0===a)&&(s|=(127&(a=this.view[t++]))<<7,128&a||this.noAssert&&void 0===a))))))))))throw Error("Buffer overrun");var l=e.fromBits(i|o<<28,o>>>4|s<<24,!1);return r?(this.offset=t,l):{value:l,length:t-n}},r.readVarint64ZigZag=function(r){var n=this.readVarint64(r);return n&&n.value instanceof e?n.value=t.zigZagDecode64(n.value):n=t.zigZagDecode64(n),n}),r.writeCString=function(e,t){var r=void 0===t;r&&(t=this.offset);var n,i=e.length;if(!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");for(n=0;n<i;++n)if(0===e.charCodeAt(n))throw RangeError("Illegal str: Contains NULL-characters");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}i=f.calculateUTF16asUTF8(o(e))[1],t+=i+1;var s=this.buffer.byteLength;return s<t&&this.resize((s*=2)>t?s:t),t-=i+1,f.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this)),this.view[t++]=0,r?(this.offset=t,this):i},r.readCString=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var r,n=e,i=-1;return f.decodeUTF8toUTF16(function(){if(0===i)return null;if(e>=this.limit)throw RangeError("Illegal range: Truncated data, "+e+" < "+this.limit);return 0===(i=this.view[e++])?null:i}.bind(this),r=s(),!0),t?(this.offset=e,r()):{string:r(),length:e-n}},r.writeIString=function(e,t){var r=void 0===t;if(r&&(t=this.offset),!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}var n,i=t;n=f.calculateUTF16asUTF8(o(e),this.noAssert)[1],t+=4+n;var s=this.buffer.byteLength;if(s<t&&this.resize((s*=2)>t?s:t),t-=4+n,this.littleEndian?(this.view[t+3]=n>>>24&255,this.view[t+2]=n>>>16&255,this.view[t+1]=n>>>8&255,this.view[t]=255&n):(this.view[t]=n>>>24&255,this.view[t+1]=n>>>16&255,this.view[t+2]=n>>>8&255,this.view[t+3]=255&n),t+=4,f.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this)),t!==i+4+n)throw RangeError("Illegal range: Truncated data, "+t+" == "+(t+4+n));return r?(this.offset=t,this):t-i},r.readIString=function(e){var r=void 0===e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var n=e,i=this.readUint32(e),o=this.readUTF8String(i,t.METRICS_BYTES,e+=4);return e+=o.length,r?(this.offset=e,o.string):{string:o.string,length:e-n}},t.METRICS_CHARS="c",t.METRICS_BYTES="b",r.writeUTF8String=function(e,t){var r,n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}var i=t;r=f.calculateUTF16asUTF8(o(e))[1],t+=r;var s=this.buffer.byteLength;return s<t&&this.resize((s*=2)>t?s:t),t-=r,f.encodeUTF16toUTF8(o(e),function(e){this.view[t++]=e}.bind(this)),n?(this.offset=t,this):t-i},r.writeString=r.writeUTF8String,t.calculateUTF8Chars=function(e){return f.calculateUTF16asUTF8(o(e))[0]},t.calculateUTF8Bytes=function(e){return f.calculateUTF16asUTF8(o(e))[1]},t.calculateString=t.calculateUTF8Bytes,r.readUTF8String=function(e,r,n){"number"==typeof r&&(n=r,r=void 0);var i=void 0===n;if(i&&(n=this.offset),void 0===r&&(r=t.METRICS_CHARS),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal length: "+e+" (not an integer)");if(e|=0,"number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}var o,a=0,l=n;if(r===t.METRICS_CHARS){if(o=s(),f.decodeUTF8(function(){return a<e&&n<this.limit?this.view[n++]:null}.bind(this),(function(e){++a,f.UTF8toUTF16(e,o)})),a!==e)throw RangeError("Illegal range: Truncated data, "+a+" == "+e);return i?(this.offset=n,o()):{string:o(),length:n-l}}if(r!==t.METRICS_BYTES)throw TypeError("Unsupported metrics: "+r);if(!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+"+e+") <= "+this.buffer.byteLength)}var d=n+e;if(f.decodeUTF8toUTF16(function(){return n<d?this.view[n++]:null}.bind(this),o=s(),this.noAssert),n!==d)throw RangeError("Illegal range: Truncated data, "+n+" == "+d);return i?(this.offset=n,o()):{string:o(),length:n-l}},r.readString=r.readUTF8String,r.writeVString=function(e,r){var n=void 0===r;if(n&&(r=this.offset),!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if("number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}var i,s,a=r;i=f.calculateUTF16asUTF8(o(e),this.noAssert)[1],s=t.calculateVarint32(i),r+=s+i;var l=this.buffer.byteLength;if(l<r&&this.resize((l*=2)>r?l:r),r-=s+i,r+=this.writeVarint32(i,r),f.encodeUTF16toUTF8(o(e),function(e){this.view[r++]=e}.bind(this)),r!==a+i+s)throw RangeError("Illegal range: Truncated data, "+r+" == "+(r+i+s));return n?(this.offset=r,this):r-a},r.readVString=function(e){var r=void 0===e;if(r&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var n=e,i=this.readVarint32(e),o=this.readUTF8String(i.value,t.METRICS_BYTES,e+=i.length);return e+=o.length,r?(this.offset=e,o.string):{string:o.string,length:e-n}},r.append=function(e,r,n){"number"!=typeof r&&"string"==typeof r||(n=r,r=void 0);var i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}e instanceof t||(e=t.wrap(e,r));var o=e.limit-e.offset;if(o<=0)return this;n+=o;var s=this.buffer.byteLength;return s<n&&this.resize((s*=2)>n?s:n),n-=o,this.view.set(e.view.subarray(e.offset,e.limit),n),e.offset+=o,i&&(this.offset+=o),this},r.appendTo=function(e,t){return e.append(this,t),this},r.assert=function(e){return this.noAssert=!e,this},r.capacity=function(){return this.buffer.byteLength},r.clear=function(){return this.offset=0,this.limit=this.buffer.byteLength,this.markedOffset=-1,this},r.clone=function(e){var r=new t(0,this.littleEndian,this.noAssert);return e?(r.buffer=new ArrayBuffer(this.buffer.byteLength),r.view=new Uint8Array(r.buffer)):(r.buffer=this.buffer,r.view=this.view),r.offset=this.offset,r.markedOffset=this.markedOffset,r.limit=this.limit,r},r.compact=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||t<e||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(0===e&&t===this.buffer.byteLength)return this;var r=t-e;if(0==r)return this.buffer=n,this.view=null,0<=this.markedOffset&&(this.markedOffset-=e),this.offset=0,this.limit=0,this;var i=new ArrayBuffer(r),o=new Uint8Array(i);return o.set(this.view.subarray(e,t)),this.buffer=i,this.view=o,0<=this.markedOffset&&(this.markedOffset-=e),this.offset=0,this.limit=r,this},r.copy=function(e,r){if(void 0===e&&(e=this.offset),void 0===r&&(r=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal end: Not an integer");if(r>>>=0,e<0||r<e||r>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+r+" <= "+this.buffer.byteLength)}if(e===r)return new t(0,this.littleEndian,this.noAssert);var n=r-e,i=new t(n,this.littleEndian,this.noAssert);return i.offset=0,i.limit=n,0<=i.markedOffset&&(i.markedOffset-=e),this.copyTo(i,0,e,r),i},r.copyTo=function(e,r,n,i){var o,s;if(!this.noAssert&&!t.isByteBuffer(e))throw TypeError("Illegal target: Not a ByteBuffer");if(r=(s=void 0===r)?e.offset:0|r,n=(o=void 0===n)?this.offset:0|n,i=void 0===i?this.limit:0|i,r<0||r>e.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+r+" <= "+e.buffer.byteLength);if(n<0||i>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+n+" <= "+this.buffer.byteLength);var a=i-n;return 0==a?e:(e.ensureCapacity(r+a),e.view.set(this.view.subarray(n,i),r),o&&(this.offset+=a),s&&(e.offset+=a),this)},r.ensureCapacity=function(e){var t=this.buffer.byteLength;return t<e?this.resize((t*=2)>e?t:e):this},r.fill=function(e,t,r){var n=void 0===t;if(n&&(t=this.offset),"string"==typeof e&&0<e.length&&(e=e.charCodeAt(0)),void 0===t&&(t=this.offset),void 0===r&&(r=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal end: Not an integer");if(r>>>=0,t<0||r<t||r>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+r+" <= "+this.buffer.byteLength)}if(r<=t)return this;for(;t<r;)this.view[t++]=e;return n&&(this.offset=t),this},r.flip=function(){return this.limit=this.offset,this.offset=0,this},r.mark=function(e){if(e=void 0===e?this.offset:e,!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}return this.markedOffset=e,this},r.order=function(e){if(!this.noAssert&&"boolean"!=typeof e)throw TypeError("Illegal littleEndian: Not a boolean");return this.littleEndian=!!e,this},r.LE=function(e){return this.littleEndian=void 0===e||!!e,this},r.BE=function(e){return this.littleEndian=void 0!==e&&!e,this},r.prepend=function(e,r,n){"number"!=typeof r&&"string"==typeof r||(n=r,r=void 0);var i=void 0===n;if(i&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}e instanceof t||(e=t.wrap(e,r));var o=e.limit-e.offset;if(o<=0)return this;var s=o-n;if(0<s){var a=new ArrayBuffer(this.buffer.byteLength+s),l=new Uint8Array(a);l.set(this.view.subarray(n,this.buffer.byteLength),o),this.buffer=a,this.view=l,this.offset+=s,0<=this.markedOffset&&(this.markedOffset+=s),this.limit+=s,n+=s}else new Uint8Array(this.buffer);return this.view.set(e.view.subarray(e.offset,e.limit),n-o),e.offset=e.limit,i&&(this.offset-=o),this},r.prependTo=function(e,t){return e.prepend(this,t),this},r.printDebug=function(e){"function"!=typeof e&&(e=void 0),e(this.toString()+"\n-------------------------------------------------------------------\n"+this.toDebug(!0))},r.remaining=function(){return this.limit-this.offset},r.reset=function(){return 0<=this.markedOffset?(this.offset=this.markedOffset,this.markedOffset=-1):this.offset=0,this},r.resize=function(e){if(!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal capacity: "+e+" (not an integer)");if((e|=0)<0)throw RangeError("Illegal capacity: 0 <= "+e)}if(this.buffer.byteLength<e){var t=new ArrayBuffer(e),r=new Uint8Array(t);r.set(this.view),this.buffer=t,this.view=r}return this},r.reverse=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||t<e||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}return e===t||Array.prototype.reverse.call(this.view.subarray(e,t)),this},r.skip=function(e){if(!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal length: "+e+" (not an integer)");e|=0}var t=this.offset+e;if(!this.noAssert&&(t<0||t>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+e+" <= "+this.buffer.byteLength);return this.offset=t,this},r.slice=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||t<e||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var r=this.clone();return r.offset=e,r.limit=t,r},r.toBuffer=function(e){var t=this.offset,r=this.limit;if(!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: Not an integer");if(t>>>=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal limit: Not an integer");if(r>>>=0,t<0||r<t||r>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+r+" <= "+this.buffer.byteLength)}if(!e&&0===t&&r===this.buffer.byteLength)return this.buffer;if(t===r)return n;var i=new ArrayBuffer(r-t);return new Uint8Array(i).set(new Uint8Array(this.buffer).subarray(t,r),0),i},r.toArrayBuffer=r.toBuffer,r.toString=function(e,t,r){if(void 0===e)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch("number"==typeof e&&(r=t=e="utf8"),e){case"utf8":return this.toUTF8(t,r);case"base64":return this.toBase64(t,r);case"hex":return this.toHex(t,r);case"binary":return this.toBinary(t,r);case"debug":return this.toDebug();case"columns":return this.toColumns();default:throw Error("Unsupported encoding: "+e)}};var d=function(){for(var e={},t=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],r=[],n=0,i=t.length;n<i;++n)r[t[n]]=n;return e.encode=function(e,r){for(var n,i;null!==(n=e());)r(t[n>>2&63]),i=(3&n)<<4,null!==(n=e())?(r(t[63&((i|=n>>4&15)|n>>4&15)]),i=(15&n)<<2,null!==(n=e())?(r(t[63&(i|n>>6&3)]),r(t[63&n])):(r(t[63&i]),r(61))):(r(t[63&i]),r(61),r(61))},e.decode=function(e,t){var n,i,o;function s(e){throw Error("Illegal character code: "+e)}for(;null!==(n=e());)if(void 0===(i=r[n])&&s(n),null!==(n=e())&&(void 0===(o=r[n])&&s(n),t(i<<2>>>0|(48&o)>>4),null!==(n=e()))){if(void 0===(i=r[n])){if(61===n)break;s(n)}if(t((15&o)<<4>>>0|(60&i)>>2),null!==(n=e())){if(void 0===(o=r[n])){if(61===n)break;s(n)}t((3&i)<<6>>>0|o)}}},e.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)},e}();r.toBase64=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),t|=0,(e|=0)<0||t>this.capacity||t<e)throw RangeError("begin, end");var r;return d.encode(function(){return e<t?this.view[e++]:null}.bind(this),r=s()),r()},t.fromBase64=function(e,r){if("string"!=typeof e)throw TypeError("str");var n=new t(e.length/4*3,r),i=0;return d.decode(o(e),(function(e){n.view[i++]=e})),n.limit=i,n},t.btoa=function(e){return t.fromBinary(e).toBase64()},t.atob=function(e){return t.fromBase64(e).toBinary()},r.toBinary=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),t|=0,(e|=0)<0||t>this.capacity()||t<e)throw RangeError("begin, end");if(e===t)return"";for(var r=[],n=[];e<t;)r.push(this.view[e++]),1024<=r.length&&(n.push(String.fromCharCode.apply(String,r)),r=[]);return n.join("")+String.fromCharCode.apply(String,r)},t.fromBinary=function(e,r){if("string"!=typeof e)throw TypeError("str");for(var n,i=0,o=e.length,s=new t(o,r);i<o;){if(255<(n=e.charCodeAt(i)))throw RangeError("illegal char code: "+n);s.view[i++]=n}return s.limit=o,s},r.toDebug=function(e){for(var t,r=-1,n=this.buffer.byteLength,i="",o="",s="";r<n;){if(-1!==r&&(i+=(t=this.view[r])<16?"0"+t.toString(16).toUpperCase():t.toString(16).toUpperCase(),e&&(o+=32<t&&t<127?String.fromCharCode(t):".")),++r,e&&0<r&&r%16==0&&r!==n){for(;i.length<51;)i+=" ";s+=i+o+"\n",i=o=""}r===this.offset&&r===this.limit?i+=r===this.markedOffset?"!":"|":r===this.offset?i+=r===this.markedOffset?"[":"<":r===this.limit?i+=r===this.markedOffset?"]":">":i+=r===this.markedOffset?"'":e||0!==r&&r!==n?" ":""}if(e&&" "!==i){for(;i.length<51;)i+=" ";s+=i+o+"\n"}return e?s:i},t.fromDebug=function(e,r,n){for(var i,o,s=e.length,a=new t((s+1)/3|0,r,n),l=0,d=0,f=!1,c=!1,u=!1,h=!1,p=!1;l<s;){switch(i=e.charAt(l++)){case"!":if(!n){if(c||u||h){p=!0;break}c=u=h=!0}a.offset=a.markedOffset=a.limit=d,f=!1;break;case"|":if(!n){if(c||h){p=!0;break}c=h=!0}a.offset=a.limit=d,f=!1;break;case"[":if(!n){if(c||u){p=!0;break}c=u=!0}a.offset=a.markedOffset=d,f=!1;break;case"<":if(!n){if(c){p=!0;break}c=!0}a.offset=d,f=!1;break;case"]":if(!n){if(h||u){p=!0;break}h=u=!0}a.limit=a.markedOffset=d,f=!1;break;case">":if(!n){if(h){p=!0;break}h=!0}a.limit=d,f=!1;break;case"'":if(!n){if(u){p=!0;break}u=!0}a.markedOffset=d,f=!1;break;case" ":f=!1;break;default:if(!n&&f){p=!0;break}if(o=parseInt(i+e.charAt(l++),16),!n&&(isNaN(o)||o<0||255<o))throw TypeError("Illegal str: Not a debug encoded string");a.view[d++]=o,f=!0}if(p)throw TypeError("Illegal str: Invalid symbol at "+l)}if(!n){if(!c||!h)throw TypeError("Illegal str: Missing offset or limit");if(d<a.buffer.byteLength)throw TypeError("Illegal str: Not a debug encoded string (is it hex?) "+d+" < "+s)}return a},r.toHex=function(e,t){if(e=void 0===e?this.offset:e,t=void 0===t?this.limit:t,!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||t<e||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}for(var r,n=new Array(t-e);e<t;)(r=this.view[e++])<16?n.push("0",r.toString(16)):n.push(r.toString(16));return n.join("")},t.fromHex=function(e,r,n){if(!n){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if(e.length%2!=0)throw TypeError("Illegal str: Length not a multiple of 2")}for(var i,o=e.length,s=new t(o/2|0,r),a=0,l=0;a<o;a+=2){if(i=parseInt(e.substring(a,a+2),16),!n&&(!isFinite(i)||i<0||255<i))throw TypeError("Illegal str: Contains non-hex characters");s.view[l++]=i}return s.limit=l,s};var f=function(){var e={MAX_CODEPOINT:1114111,encodeUTF8:function(e,t){var r=null;for("number"==typeof e&&(r=e,e=function(){return null});null!==r||null!==(r=e());)r<128?t(127&r):(r<2048?t(r>>6&31|192):(r<65536?t(r>>12&15|224):(t(r>>18&7|240),t(r>>12&63|128)),t(r>>6&63|128)),t(63&r|128)),r=null},decodeUTF8:function(e,t){for(var r,n,i,o,s=function(e){e=e.slice(0,e.indexOf(null));var t=Error(e.toString());throw t.name="TruncatedError",t.bytes=e,t};null!==(r=e());)if(0==(128&r))t(r);else if(192==(224&r))null===(n=e())&&s([r,n]),t((31&r)<<6|63&n);else if(224==(240&r))null!==(n=e())&&null!==(i=e())||s([r,n,i]),t((15&r)<<12|(63&n)<<6|63&i);else{if(240!=(248&r))throw RangeError("Illegal starting byte: "+r);null!==(n=e())&&null!==(i=e())&&null!==(o=e())||s([r,n,i,o]),t((7&r)<<18|(63&n)<<12|(63&i)<<6|63&o)}},UTF16toUTF8:function(e,t){for(var r,n=null;null!==(r=null!==n?n:e());)55296<=r&&r<=57343&&null!==(n=e())&&56320<=n&&n<=57343?(t(1024*(r-55296)+n-56320+65536),n=null):t(r);null!==n&&t(n)},UTF8toUTF16:function(e,t){var r=null;for("number"==typeof e&&(r=e,e=function(){return null});null!==r||null!==(r=e());)r<=65535?t(r):(t(55296+((r-=65536)>>10)),t(r%1024+56320)),r=null},encodeUTF16toUTF8:function(t,r){e.UTF16toUTF8(t,(function(t){e.encodeUTF8(t,r)}))},decodeUTF8toUTF16:function(t,r){e.decodeUTF8(t,(function(t){e.UTF8toUTF16(t,r)}))},calculateCodePoint:function(e){return e<128?1:e<2048?2:e<65536?3:4},calculateUTF8:function(e){for(var t,r=0;null!==(t=e());)r+=t<128?1:t<2048?2:t<65536?3:4;return r},calculateUTF16asUTF8:function(t){var r=0,n=0;return e.UTF16toUTF8(t,(function(e){++r,n+=e<128?1:e<2048?2:e<65536?3:4})),[r,n]}};return e}();return r.toUTF8=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||t<e||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var r;try{f.decodeUTF8toUTF16(function(){return e<t?this.view[e++]:null}.bind(this),r=s())}catch(r){if(e!==t)throw RangeError("Illegal range: Truncated data, "+e+" != "+t)}return r()},t.fromUTF8=function(e,r,n){if(!n&&"string"!=typeof e)throw TypeError("Illegal str: Not a string");var i=new t(f.calculateUTF16asUTF8(o(e),!0)[1],r,n),s=0;return f.encodeUTF16toUTF8(o(e),(function(e){i.view[s++]=e})),i.limit=s,i},t},"function"==typeof define&&define.amd?define(["long"],n):"function"==typeof e&&"object"==typeof t&&t&&t.exports?t.exports=function(){var t;try{t=e("long")}catch(e){}return n(t)}():(this.dcodeIO=this.dcodeIO||{}).ByteBuffer=n(this.dcodeIO.Long)},{long:"/Users/f/pjs/dhive/node_modules/long/dist/long.js"}],"/Users/f/pjs/dhive/node_modules/cipher-base/index.js":[function(e,t,r){var n=e("safe-buffer").Buffer,i=e("stream").Transform,o=e("string_decoder").StringDecoder;function s(e){i.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}e("inherits")(s,i),s.prototype.update=function(e,t,r){"string"==typeof e&&(e=n.from(e,t));var i=this._update(e);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},s.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{r(n)}},s.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},s.prototype._finalOrDigest=function(e){var t=this.__final()||n.alloc(0);return e&&(t=this._toString(t,e,!0)),t},s.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new o(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},t.exports=s},{inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js",stream:"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js",string_decoder:"/Users/f/pjs/dhive/node_modules/string_decoder/lib/string_decoder.js"}],"/Users/f/pjs/dhive/node_modules/core-js/es/array/from.js":[function(e,t,r){e("../../modules/es.string.iterator"),e("../../modules/es.array.from");var n=e("../../internals/path");t.exports=n.Array.from},{"../../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js","../../modules/es.array.from":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.from.js","../../modules/es.string.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js"}],"/Users/f/pjs/dhive/node_modules/core-js/es/map/index.js":[function(e,t,r){e("../../modules/es.map"),e("../../modules/es.object.to-string"),e("../../modules/es.string.iterator"),e("../../modules/web.dom-collections.iterator");var n=e("../../internals/path");t.exports=n.Map},{"../../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js","../../modules/es.map":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.map.js","../../modules/es.object.to-string":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js","../../modules/es.string.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js","../../modules/web.dom-collections.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/web.dom-collections.iterator.js"}],"/Users/f/pjs/dhive/node_modules/core-js/es/number/index.js":[function(e,t,r){e("../../modules/es.number.constructor"),e("../../modules/es.number.epsilon"),e("../../modules/es.number.is-finite"),e("../../modules/es.number.is-integer"),e("../../modules/es.number.is-nan"),e("../../modules/es.number.is-safe-integer"),e("../../modules/es.number.max-safe-integer"),e("../../modules/es.number.min-safe-integer"),e("../../modules/es.number.parse-float"),e("../../modules/es.number.parse-int"),e("../../modules/es.number.to-fixed"),e("../../modules/es.number.to-precision");var n=e("../../internals/path");t.exports=n.Number},{"../../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js","../../modules/es.number.constructor":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.constructor.js","../../modules/es.number.epsilon":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.epsilon.js","../../modules/es.number.is-finite":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-finite.js","../../modules/es.number.is-integer":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-integer.js","../../modules/es.number.is-nan":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-nan.js","../../modules/es.number.is-safe-integer":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-safe-integer.js","../../modules/es.number.max-safe-integer":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.max-safe-integer.js","../../modules/es.number.min-safe-integer":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.min-safe-integer.js","../../modules/es.number.parse-float":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-float.js","../../modules/es.number.parse-int":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-int.js","../../modules/es.number.to-fixed":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-fixed.js","../../modules/es.number.to-precision":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-precision.js"}],"/Users/f/pjs/dhive/node_modules/core-js/es/promise/index.js":[function(e,t,r){e("../../modules/es.object.to-string"),e("../../modules/es.string.iterator"),e("../../modules/web.dom-collections.iterator"),e("../../modules/es.promise"),e("../../modules/es.promise.all-settled"),e("../../modules/es.promise.finally");var n=e("../../internals/path");t.exports=n.Promise},{"../../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js","../../modules/es.object.to-string":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js","../../modules/es.promise":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.js","../../modules/es.promise.all-settled":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.all-settled.js","../../modules/es.promise.finally":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.finally.js","../../modules/es.string.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js","../../modules/web.dom-collections.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/web.dom-collections.iterator.js"}],"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/async-iterator.js":[function(e,t,r){e("../../modules/es.symbol.async-iterator");var n=e("../../internals/well-known-symbol-wrapped");t.exports=n.f("asyncIterator")},{"../../internals/well-known-symbol-wrapped":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js","../../modules/es.symbol.async-iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.async-iterator.js"}],"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/index.js":[function(e,t,r){e("../../modules/es.array.concat"),e("../../modules/es.object.to-string"),e("../../modules/es.symbol"),e("../../modules/es.symbol.async-iterator"),e("../../modules/es.symbol.description"),e("../../modules/es.symbol.has-instance"),e("../../modules/es.symbol.is-concat-spreadable"),e("../../modules/es.symbol.iterator"),e("../../modules/es.symbol.match"),e("../../modules/es.symbol.match-all"),e("../../modules/es.symbol.replace"),e("../../modules/es.symbol.search"),e("../../modules/es.symbol.species"),e("../../modules/es.symbol.split"),e("../../modules/es.symbol.to-primitive"),e("../../modules/es.symbol.to-string-tag"),e("../../modules/es.symbol.unscopables"),e("../../modules/es.math.to-string-tag"),e("../../modules/es.json.to-string-tag");var n=e("../../internals/path");t.exports=n.Symbol},{"../../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js","../../modules/es.array.concat":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.concat.js","../../modules/es.json.to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.json.to-string-tag.js","../../modules/es.math.to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.math.to-string-tag.js","../../modules/es.object.to-string":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js","../../modules/es.symbol":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.js","../../modules/es.symbol.async-iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.async-iterator.js","../../modules/es.symbol.description":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.description.js","../../modules/es.symbol.has-instance":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.has-instance.js","../../modules/es.symbol.is-concat-spreadable":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","../../modules/es.symbol.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.iterator.js","../../modules/es.symbol.match":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match.js","../../modules/es.symbol.match-all":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match-all.js","../../modules/es.symbol.replace":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.replace.js","../../modules/es.symbol.search":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.search.js","../../modules/es.symbol.species":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.species.js","../../modules/es.symbol.split":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.split.js","../../modules/es.symbol.to-primitive":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-primitive.js","../../modules/es.symbol.to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-string-tag.js","../../modules/es.symbol.unscopables":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.unscopables.js"}],"/Users/f/pjs/dhive/node_modules/core-js/features/array/from.js":[function(e,t,r){var n=e("../../es/array/from");t.exports=n},{"../../es/array/from":"/Users/f/pjs/dhive/node_modules/core-js/es/array/from.js"}],"/Users/f/pjs/dhive/node_modules/core-js/features/map/index.js":[function(e,t,r){var n=e("../../es/map");e("../../modules/esnext.map.from"),e("../../modules/esnext.map.of"),e("../../modules/esnext.map.delete-all"),e("../../modules/esnext.map.every"),e("../../modules/esnext.map.filter"),e("../../modules/esnext.map.find"),e("../../modules/esnext.map.find-key"),e("../../modules/esnext.map.group-by"),e("../../modules/esnext.map.includes"),e("../../modules/esnext.map.key-by"),e("../../modules/esnext.map.key-of"),e("../../modules/esnext.map.map-keys"),e("../../modules/esnext.map.map-values"),e("../../modules/esnext.map.merge"),e("../../modules/esnext.map.reduce"),e("../../modules/esnext.map.some"),e("../../modules/esnext.map.update"),e("../../modules/esnext.map.upsert"),e("../../modules/esnext.map.update-or-insert"),t.exports=n},{"../../es/map":"/Users/f/pjs/dhive/node_modules/core-js/es/map/index.js","../../modules/esnext.map.delete-all":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.delete-all.js","../../modules/esnext.map.every":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.every.js","../../modules/esnext.map.filter":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.filter.js","../../modules/esnext.map.find":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find.js","../../modules/esnext.map.find-key":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find-key.js","../../modules/esnext.map.from":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.from.js","../../modules/esnext.map.group-by":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.group-by.js","../../modules/esnext.map.includes":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.includes.js","../../modules/esnext.map.key-by":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-by.js","../../modules/esnext.map.key-of":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-of.js","../../modules/esnext.map.map-keys":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-keys.js","../../modules/esnext.map.map-values":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-values.js","../../modules/esnext.map.merge":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.merge.js","../../modules/esnext.map.of":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.of.js","../../modules/esnext.map.reduce":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.reduce.js","../../modules/esnext.map.some":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.some.js","../../modules/esnext.map.update":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update.js","../../modules/esnext.map.update-or-insert":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update-or-insert.js","../../modules/esnext.map.upsert":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.upsert.js"}],"/Users/f/pjs/dhive/node_modules/core-js/features/number/index.js":[function(e,t,r){var n=e("../../es/number");t.exports=n,e("../../modules/esnext.number.from-string")},{"../../es/number":"/Users/f/pjs/dhive/node_modules/core-js/es/number/index.js","../../modules/esnext.number.from-string":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.number.from-string.js"}],"/Users/f/pjs/dhive/node_modules/core-js/features/promise/index.js":[function(e,t,r){var n=e("../../es/promise");e("../../modules/esnext.aggregate-error"),e("../../modules/esnext.promise.all-settled"),e("../../modules/esnext.promise.try"),e("../../modules/esnext.promise.any"),t.exports=n},{"../../es/promise":"/Users/f/pjs/dhive/node_modules/core-js/es/promise/index.js","../../modules/esnext.aggregate-error":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.aggregate-error.js","../../modules/esnext.promise.all-settled":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.all-settled.js","../../modules/esnext.promise.any":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.any.js","../../modules/esnext.promise.try":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.try.js"}],"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/async-iterator.js":[function(e,t,r){var n=e("../../es/symbol/async-iterator");t.exports=n},{"../../es/symbol/async-iterator":"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/async-iterator.js"}],"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/index.js":[function(e,t,r){var n=e("../../es/symbol");e("../../modules/esnext.symbol.async-dispose"),e("../../modules/esnext.symbol.dispose"),e("../../modules/esnext.symbol.observable"),e("../../modules/esnext.symbol.pattern-match"),e("../../modules/esnext.symbol.replace-all"),t.exports=n},{"../../es/symbol":"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/index.js","../../modules/esnext.symbol.async-dispose":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.async-dispose.js","../../modules/esnext.symbol.dispose":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.dispose.js","../../modules/esnext.symbol.observable":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.observable.js","../../modules/esnext.symbol.pattern-match":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.pattern-match.js","../../modules/esnext.symbol.replace-all":"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.replace-all.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js":[function(e,t,r){t.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/a-possible-prototype.js":[function(e,t,r){var n=e("../internals/is-object");t.exports=function(e){if(!n(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},{"../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/add-to-unscopables.js":[function(e,t,r){var n=e("../internals/well-known-symbol"),i=e("../internals/object-create"),o=e("../internals/object-define-property"),s=n("unscopables"),a=Array.prototype;null==a[s]&&o.f(a,s,{configurable:!0,value:i(null)}),t.exports=function(e){a[s][e]=!0}},{"../internals/object-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js":[function(e,t,r){t.exports=function(e,t,r){if(!(e instanceof t))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return e}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js":[function(e,t,r){var n=e("../internals/is-object");t.exports=function(e){if(!n(e))throw TypeError(String(e)+" is not an object");return e}},{"../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/array-from.js":[function(e,t,r){"use strict";var n=e("../internals/function-bind-context"),i=e("../internals/to-object"),o=e("../internals/call-with-safe-iteration-closing"),s=e("../internals/is-array-iterator-method"),a=e("../internals/to-length"),l=e("../internals/create-property"),d=e("../internals/get-iterator-method");t.exports=function(e,t,r){var f,c,u,h,p,m,b=i(e),g="function"==typeof this?this:Array,v=arguments.length,y=1<v?t:void 0,j=void 0!==y,_=d(b),w=0;if(j&&(y=n(y,2<v?r:void 0,2)),null==_||g==Array&&s(_))for(c=new g(f=a(b.length));w<f;w++)m=j?y(b[w],w):b[w],l(c,w,m);else for(p=(h=_.call(b)).next,c=new g;!(u=p.call(h)).done;w++)m=j?o(h,y,[u.value,w],!0):u.value,l(c,w,m);return c.length=w,c}},{"../internals/call-with-safe-iteration-closing":"/Users/f/pjs/dhive/node_modules/core-js/internals/call-with-safe-iteration-closing.js","../internals/create-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-iterator-method":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js","../internals/is-array-iterator-method":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array-iterator-method.js","../internals/to-length":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js","../internals/to-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/array-includes.js":[function(e,t,r){function n(e){return function(t,r,n){var a,l=i(t),d=o(l.length),f=s(n,d);if(e&&r!=r){for(;f<d;)if((a=l[f++])!=a)return!0}else for(;f<d;f++)if((e||f in l)&&l[f]===r)return e||f||0;return!e&&-1}}var i=e("../internals/to-indexed-object"),o=e("../internals/to-length"),s=e("../internals/to-absolute-index");t.exports={includes:n(!0),indexOf:n(!1)}},{"../internals/to-absolute-index":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-absolute-index.js","../internals/to-indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js","../internals/to-length":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/array-iteration.js":[function(e,t,r){function n(e){var t=1==e,r=2==e,n=3==e,f=4==e,c=6==e,u=5==e||c;return function(h,p,m,b){for(var g,v,y=s(h),j=o(y),_=i(p,m,3),w=a(j.length),x=0,k=b||l,U=t?k(h,w):r?k(h,0):void 0;x<w;x++)if((u||x in j)&&(v=_(g=j[x],x,y),e))if(t)U[x]=v;else if(v)switch(e){case 3:return!0;case 5:return g;case 6:return x;case 2:d.call(U,g)}else if(f)return!1;return c?-1:n||f?f:U}}var i=e("../internals/function-bind-context"),o=e("../internals/indexed-object"),s=e("../internals/to-object"),a=e("../internals/to-length"),l=e("../internals/array-species-create"),d=[].push;t.exports={forEach:n(0),map:n(1),filter:n(2),some:n(3),every:n(4),find:n(5),findIndex:n(6)}},{"../internals/array-species-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/array-species-create.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/indexed-object.js","../internals/to-length":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js","../internals/to-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/array-method-has-species-support.js":[function(e,t,r){var n=e("../internals/fails"),i=e("../internals/well-known-symbol"),o=e("../internals/engine-v8-version"),s=i("species");t.exports=function(e){return 51<=o||!n((function(){var t=[];return(t.constructor={})[s]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},{"../internals/engine-v8-version":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/array-species-create.js":[function(e,t,r){var n=e("../internals/is-object"),i=e("../internals/is-array"),o=e("../internals/well-known-symbol")("species");t.exports=function(e,t){var r;return i(e)&&("function"==typeof(r=e.constructor)&&(r===Array||i(r.prototype))||n(r)&&null===(r=r[o]))&&(r=void 0),new(void 0===r?Array:r)(0===t?0:t)}},{"../internals/is-array":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/call-with-safe-iteration-closing.js":[function(e,t,r){var n=e("../internals/an-object");t.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(t){var o=e.return;throw void 0!==o&&n(o.call(e)),t}}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js":[function(e,t,r){var n=e("../internals/well-known-symbol")("iterator"),i=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){i=!0}};s[n]=function(){return this},Array.from(s,(function(){throw 2}))}catch(e){}t.exports=function(e,t){if(!t&&!i)return!1;var r=!1;try{var o={};o[n]=function(){return{next:function(){return{done:r=!0}}}},e(o)}catch(e){}return r}},{"../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js":[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/classof.js":[function(e,t,r){var n=e("../internals/to-string-tag-support"),i=e("../internals/classof-raw"),o=e("../internals/well-known-symbol")("toStringTag"),s="Arguments"==i(function(){return arguments}());t.exports=n?i:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?r:s?i(t):"Object"==(n=i(t))&&"function"==typeof t.callee?"Arguments":n}},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js","../internals/to-string-tag-support":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-delete-all.js":[function(e,t,r){"use strict";var n=e("../internals/an-object"),i=e("../internals/a-function");t.exports=function(){for(var e,t=n(this),r=i(t.delete),o=!0,s=0,a=arguments.length;s<a;s++)e=r.call(t,arguments[s]),o=o&&e;return!!o}},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-from.js":[function(e,t,r){"use strict";var n=e("../internals/a-function"),i=e("../internals/function-bind-context"),o=e("../internals/iterate");t.exports=function(e,t,r){var s,a,l,d,f=arguments.length,c=1<f?t:void 0;return n(this),(s=void 0!==c)&&n(c),null==e?new this:(a=[],s?(l=0,d=i(c,2<f?r:void 0,2),o(e,(function(e){a.push(d(e,l++))}))):o(e,a.push,a),new this(a))}},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-of.js":[function(e,t,r){"use strict";t.exports=function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-strong.js":[function(e,t,r){"use strict";var n=e("../internals/object-define-property").f,i=e("../internals/object-create"),o=e("../internals/redefine-all"),s=e("../internals/function-bind-context"),a=e("../internals/an-instance"),l=e("../internals/iterate"),d=e("../internals/define-iterator"),f=e("../internals/set-species"),c=e("../internals/descriptors"),u=e("../internals/internal-metadata").fastKey,h=e("../internals/internal-state"),p=h.set,m=h.getterFor;t.exports={getConstructor:function(e,t,r,d){function f(e,t,r){var n,i,o=g(e),s=h(e,t);return s?s.value=r:(o.last=s={index:i=u(t,!0),key:t,value:r,previous:n=o.last,next:void 0,removed:!1},o.first||(o.first=s),n&&(n.next=s),c?o.size++:e.size++,"F"!==i&&(o.index[i]=s)),e}function h(e,t){var r,n=g(e),i=u(t);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key==t)return r}var b=e((function(e,n){a(e,b,t),p(e,{type:t,index:i(null),first:void 0,last:void 0,size:0}),c||(e.size=0),null!=n&&l(n,e[d],e,r)})),g=m(t);return o(b.prototype,{clear:function(){for(var e=g(this),t=e.index,r=e.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;e.first=e.last=void 0,c?e.size=0:this.size=0},delete:function(e){var t=g(this),r=h(this,e);if(r){var n=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=n),n&&(n.previous=i),t.first==r&&(t.first=n),t.last==r&&(t.last=i),c?t.size--:this.size--}return!!r},forEach:function(e,t){for(var r,n=g(this),i=s(e,1<arguments.length?t:void 0,3);r=r?r.next:n.first;)for(i(r.value,r.key,this);r&&r.removed;)r=r.previous},has:function(e){return!!h(this,e)}}),o(b.prototype,r?{get:function(e){var t=h(this,e);return t&&t.value},set:function(e,t){return f(this,0===e?0:e,t)}}:{add:function(e){return f(this,e=0===e?0:e,e)}}),c&&n(b.prototype,"size",{get:function(){return g(this).size}}),b},setStrong:function(e,t,r){var n=t+" Iterator",i=m(t),o=m(n);d(e,t,(function(e,t){p(this,{type:n,target:e,state:i(e),kind:t,last:void 0})}),(function(){for(var e=o(this),t=e.kind,r=e.last;r&&r.removed;)r=r.previous;return e.target&&(e.last=r=r?r.next:e.state.first)?"keys"==t?{value:r.key,done:!1}:"values"==t?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:{value:e.target=void 0,done:!0}}),r?"entries":"values",!r,!0),f(t)}}},{"../internals/an-instance":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js","../internals/define-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/internal-metadata":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-metadata.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/object-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/redefine-all":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine-all.js","../internals/set-species":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-species.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/collection.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/global"),o=e("../internals/is-forced"),s=e("../internals/redefine"),a=e("../internals/internal-metadata"),l=e("../internals/iterate"),d=e("../internals/an-instance"),f=e("../internals/is-object"),c=e("../internals/fails"),u=e("../internals/check-correctness-of-iteration"),h=e("../internals/set-to-string-tag"),p=e("../internals/inherit-if-required");t.exports=function(e,t,r){function m(e){var t=j[e];s(j,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(g&&!f(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!f(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!f(e))&&t.call(this,0===e?0:e)}:function(e,r){return t.call(this,0===e?0:e,r),this})}var b=-1!==e.indexOf("Map"),g=-1!==e.indexOf("Weak"),v=b?"set":"add",y=i[e],j=y&&y.prototype,_=y,w={};if(o(e,"function"!=typeof y||!(g||j.forEach&&!c((function(){(new y).entries().next()})))))_=r.getConstructor(t,e,b,v),a.REQUIRED=!0;else if(o(e,!0)){var x=new _,k=x[v](g?{}:-0,1)!=x,U=c((function(){x.has(1)})),E=u((function(e){new y(e)})),S=!g&&c((function(){for(var e=new y,t=5;t--;)e[v](t,t);return!e.has(-0)}));E||(((_=t((function(t,r){d(t,_,e);var n=p(new y,t,_);return null!=r&&l(r,n[v],n,b),n}))).prototype=j).constructor=_),(U||S)&&(m("delete"),m("has"),b&&m("get")),(S||k)&&m(v),g&&j.clear&&delete j.clear}return w[e]=_,n({global:!0,forced:_!=y},w),h(_,e),g||r.setStrong(_,e,b),_}},{"../internals/an-instance":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js","../internals/check-correctness-of-iteration":"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/inherit-if-required":"/Users/f/pjs/dhive/node_modules/core-js/internals/inherit-if-required.js","../internals/internal-metadata":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-metadata.js","../internals/is-forced":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/copy-constructor-properties.js":[function(e,t,r){var n=e("../internals/has"),i=e("../internals/own-keys"),o=e("../internals/object-get-own-property-descriptor"),s=e("../internals/object-define-property");t.exports=function(e,t){for(var r=i(t),a=s.f,l=o.f,d=0;d<r.length;d++){var f=r[d];n(e,f)||a(e,f,l(t,f))}}},{"../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/object-get-own-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js","../internals/own-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/own-keys.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/correct-prototype-getter.js":[function(e,t,r){var n=e("../internals/fails");t.exports=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},{"../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/create-iterator-constructor.js":[function(e,t,r){"use strict";function n(){return this}var i=e("../internals/iterators-core").IteratorPrototype,o=e("../internals/object-create"),s=e("../internals/create-property-descriptor"),a=e("../internals/set-to-string-tag"),l=e("../internals/iterators");t.exports=function(e,t,r){var d=t+" Iterator";return e.prototype=o(i,{next:s(1,r)}),a(e,d,!1,!0),l[d]=n,e}},{"../internals/create-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js","../internals/iterators":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js","../internals/iterators-core":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators-core.js","../internals/object-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js","../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js":[function(e,t,r){var n=e("../internals/descriptors"),i=e("../internals/object-define-property"),o=e("../internals/create-property-descriptor");t.exports=n?function(e,t,r){return i.f(e,t,o(1,r))}:function(e,t,r){return e[t]=r,e}},{"../internals/create-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js":[function(e,t,r){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property.js":[function(e,t,r){"use strict";var n=e("../internals/to-primitive"),i=e("../internals/object-define-property"),o=e("../internals/create-property-descriptor");t.exports=function(e,t,r){var s=n(t);s in e?i.f(e,s,o(0,r)):e[s]=r}},{"../internals/create-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/to-primitive":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js":[function(e,t,r){"use strict";function n(){return this}var i=e("../internals/export"),o=e("../internals/create-iterator-constructor"),s=e("../internals/object-get-prototype-of"),a=e("../internals/object-set-prototype-of"),l=e("../internals/set-to-string-tag"),d=e("../internals/create-non-enumerable-property"),f=e("../internals/redefine"),c=e("../internals/well-known-symbol"),u=e("../internals/is-pure"),h=e("../internals/iterators"),p=e("../internals/iterators-core"),m=p.IteratorPrototype,b=p.BUGGY_SAFARI_ITERATORS,g=c("iterator");t.exports=function(e,t,r,c,p,v,y){function j(e){if(e===p&&A)return A;if(!b&&e in E)return E[e];switch(e){case"keys":case"values":case"entries":return function(){return new r(this,e)}}return function(){return new r(this)}}o(r,t,c);var _,w,x,k=t+" Iterator",U=!1,E=e.prototype,S=E[g]||E["@@iterator"]||p&&E[p],A=!b&&S||j(p),I="Array"==t&&E.entries||S;if(I&&(_=s(I.call(new e)),m!==Object.prototype&&_.next&&(u||s(_)===m||(a?a(_,m):"function"!=typeof _[g]&&d(_,g,n)),l(_,k,!0,!0),u&&(h[k]=n))),"values"==p&&S&&"values"!==S.name&&(U=!0,A=function(){return S.call(this)}),u&&!y||E[g]===A||d(E,g,A),h[t]=A,p)if(w={values:j("values"),keys:v?A:j("keys"),entries:j("entries")},y)for(x in w)!b&&!U&&x in E||f(E,x,w[x]);else i({target:t,proto:!0,forced:b||U},w);return w}},{"../internals/create-iterator-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-iterator-constructor.js","../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterators":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js","../internals/iterators-core":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators-core.js","../internals/object-get-prototype-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js","../internals/object-set-prototype-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js":[function(e,t,r){var n=e("../internals/path"),i=e("../internals/has"),o=e("../internals/well-known-symbol-wrapped"),s=e("../internals/object-define-property").f;t.exports=function(e){var t=n.Symbol||(n.Symbol={});i(t,e)||s(t,e,{value:o.f(e)})}},{"../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js","../internals/well-known-symbol-wrapped":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js":[function(e,t,r){var n=e("../internals/fails");t.exports=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},{"../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/is-object"),o=n.document,s=i(o)&&i(o.createElement);t.exports=function(e){return s?o.createElement(e):{}}},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/dom-iterables.js":[function(e,t,r){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-is-ios.js":[function(e,t,r){var n=e("../internals/engine-user-agent");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(n)},{"../internals/engine-user-agent":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-user-agent.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-user-agent.js":[function(e,t,r){var n=e("../internals/get-built-in");t.exports=n("navigator","userAgent")||""},{"../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js":[function(e,t,r){var n,i,o=e("../internals/global"),s=e("../internals/engine-user-agent"),a=o.process,l=a&&a.versions,d=l&&l.v8;d?i=(n=d.split("."))[0]+n[1]:s&&(!(n=s.match(/Edge\/(\d+)/))||74<=n[1])&&(n=s.match(/Chrome\/(\d+)/))&&(i=n[1]),t.exports=i&&+i},{"../internals/engine-user-agent":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-user-agent.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js":[function(e,t,r){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/object-get-own-property-descriptor").f,o=e("../internals/create-non-enumerable-property"),s=e("../internals/redefine"),a=e("../internals/set-global"),l=e("../internals/copy-constructor-properties"),d=e("../internals/is-forced");t.exports=function(e,t){var r,f,c,u,h,p=e.target,m=e.global,b=e.stat;if(r=m?n:b?n[p]||a(p,{}):(n[p]||{}).prototype)for(f in t){if(u=t[f],c=e.noTargetGet?(h=i(r,f))&&h.value:r[f],!d(m?f:p+(b?".":"#")+f,e.forced)&&void 0!==c){if(typeof u==typeof c)continue;l(u,c)}(e.sham||c&&c.sham)&&o(u,"sham",!0),s(r,f,u,e)}}},{"../internals/copy-constructor-properties":"/Users/f/pjs/dhive/node_modules/core-js/internals/copy-constructor-properties.js","../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/is-forced":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js","../internals/object-get-own-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/set-global":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js":[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/freezing.js":[function(e,t,r){var n=e("../internals/fails");t.exports=!n((function(){return Object.isExtensible(Object.preventExtensions({}))}))},{"../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js":[function(e,t,r){var n=e("../internals/a-function");t.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 0:return function(){return e.call(t)};case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js":[function(e,t,r){function n(e){return"function"==typeof e?e:void 0}var i=e("../internals/path"),o=e("../internals/global");t.exports=function(e,t){return arguments.length<2?n(i[e])||n(o[e]):i[e]&&i[e][t]||o[e]&&o[e][t]}},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/path":"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js":[function(e,t,r){var n=e("../internals/classof"),i=e("../internals/iterators"),o=e("../internals/well-known-symbol")("iterator");t.exports=function(e){if(null!=e)return e[o]||e["@@iterator"]||i[n(e)]}},{"../internals/classof":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof.js","../internals/iterators":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator.js":[function(e,t,r){var n=e("../internals/an-object"),i=e("../internals/get-iterator-method");t.exports=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return n(t.call(e))}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/get-iterator-method":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js":[function(e,t,r){var n=e("../internals/is-pure"),i=e("../internals/get-iterator");t.exports=n?i:function(e){return Map.prototype.entries.call(e)}},{"../internals/get-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js":[function(e,t,r){(function(e){function r(e){return e&&e.Math==Math&&e}t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||Function("return this")()}).call(this,void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js":[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js":[function(e,t,r){t.exports={}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/host-report-errors.js":[function(e,t,r){var n=e("../internals/global");t.exports=function(e,t){var r=n.console;r&&r.error&&(1===arguments.length?r.error(e):r.error(e,t))}},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/html.js":[function(e,t,r){var n=e("../internals/get-built-in");t.exports=n("document","documentElement")},{"../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/ie8-dom-define.js":[function(e,t,r){var n=e("../internals/descriptors"),i=e("../internals/fails"),o=e("../internals/document-create-element");t.exports=!n&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},{"../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/document-create-element":"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/indexed-object.js":[function(e,t,r){var n=e("../internals/fails"),i=e("../internals/classof-raw"),o="".split;t.exports=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?o.call(e,""):Object(e)}:Object},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/inherit-if-required.js":[function(e,t,r){var n=e("../internals/is-object"),i=e("../internals/object-set-prototype-of");t.exports=function(e,t,r){var o,s;return i&&"function"==typeof(o=t.constructor)&&o!==r&&n(s=o.prototype)&&s!==r.prototype&&i(e,s),e}},{"../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/object-set-prototype-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js":[function(e,t,r){var n=e("../internals/shared-store"),i=Function.toString;"function"!=typeof n.inspectSource&&(n.inspectSource=function(e){return i.call(e)}),t.exports=n.inspectSource},{"../internals/shared-store":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-store.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-metadata.js":[function(e,t,r){function n(e){a(e,f,{value:{objectID:"O"+ ++c,weakData:{}}})}var i=e("../internals/hidden-keys"),o=e("../internals/is-object"),s=e("../internals/has"),a=e("../internals/object-define-property").f,l=e("../internals/uid"),d=e("../internals/freezing"),f=l("meta"),c=0,u=Object.isExtensible||function(){return!0},h=t.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!s(e,f)){if(!u(e))return"F";if(!t)return"E";n(e)}return e[f].objectID},getWeakData:function(e,t){if(!s(e,f)){if(!u(e))return!0;if(!t)return!1;n(e)}return e[f].weakData},onFreeze:function(e){return d&&h.REQUIRED&&u(e)&&!s(e,f)&&n(e),e}};i[f]=!0},{"../internals/freezing":"/Users/f/pjs/dhive/node_modules/core-js/internals/freezing.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/hidden-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/uid":"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js":[function(e,t,r){var n,i,o,s=e("../internals/native-weak-map"),a=e("../internals/global"),l=e("../internals/is-object"),d=e("../internals/create-non-enumerable-property"),f=e("../internals/has"),c=e("../internals/shared-key"),u=e("../internals/hidden-keys"),h=a.WeakMap;if(s){var p=new h,m=p.get,b=p.has,g=p.set;n=function(e,t){return g.call(p,e,t),t},i=function(e){return m.call(p,e)||{}},o=function(e){return b.call(p,e)}}else{var v=c("state");u[v]=!0,n=function(e,t){return d(e,v,t),t},i=function(e){return f(e,v)?e[v]:{}},o=function(e){return f(e,v)}}t.exports={set:n,get:i,has:o,enforce:function(e){return o(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!l(t)||(r=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return r}}}},{"../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/hidden-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/native-weak-map":"/Users/f/pjs/dhive/node_modules/core-js/internals/native-weak-map.js","../internals/shared-key":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array-iterator-method.js":[function(e,t,r){var n=e("../internals/well-known-symbol"),i=e("../internals/iterators"),o=n("iterator"),s=Array.prototype;t.exports=function(e){return void 0!==e&&(i.Array===e||s[o]===e)}},{"../internals/iterators":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js":[function(e,t,r){var n=e("../internals/classof-raw");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js":[function(e,t,r){function n(e,t){var r=a[s(e)];return r==d||r!=l&&("function"==typeof t?i(t):!!t)}var i=e("../internals/fails"),o=/#|\.prototype\./,s=n.normalize=function(e){return String(e).replace(o,".").toLowerCase()},a=n.data={},l=n.NATIVE="N",d=n.POLYFILL="P";t.exports=n},{"../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/is-integer.js":[function(e,t,r){var n=e("../internals/is-object"),i=Math.floor;t.exports=function(e){return!n(e)&&isFinite(e)&&i(e)===e}},{"../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js":[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js":[function(e,t,r){t.exports=!1},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js":[function(e,t,r){function n(e,t){this.stopped=e,this.result=t}var i=e("../internals/an-object"),o=e("../internals/is-array-iterator-method"),s=e("../internals/to-length"),a=e("../internals/function-bind-context"),l=e("../internals/get-iterator-method"),d=e("../internals/call-with-safe-iteration-closing");(t.exports=function(e,t,r,f,c){var u,h,p,m,b,g,v,y=a(t,r,f?2:1);if(c)u=e;else{if("function"!=typeof(h=l(e)))throw TypeError("Target is not iterable");if(o(h)){for(p=0,m=s(e.length);p<m;p++)if((b=f?y(i(v=e[p])[0],v[1]):y(e[p]))&&b instanceof n)return b;return new n(!1)}u=h.call(e)}for(g=u.next;!(v=g.call(u)).done;)if("object"==typeof(b=d(u,y,v.value,f))&&b&&b instanceof n)return b;return new n(!1)}).stop=function(e){return new n(!0,e)}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/call-with-safe-iteration-closing":"/Users/f/pjs/dhive/node_modules/core-js/internals/call-with-safe-iteration-closing.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-iterator-method":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js","../internals/is-array-iterator-method":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array-iterator-method.js","../internals/to-length":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators-core.js":[function(e,t,r){"use strict";var n,i,o,s=e("../internals/object-get-prototype-of"),a=e("../internals/create-non-enumerable-property"),l=e("../internals/has"),d=e("../internals/well-known-symbol"),f=e("../internals/is-pure"),c=d("iterator"),u=!1;[].keys&&("next"in(o=[].keys())?(i=s(s(o)))!==Object.prototype&&(n=i):u=!0),null==n&&(n={}),f||l(n,c)||a(n,c,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:u}},{"../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/object-get-prototype-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js":[function(e,t,r){arguments[4]["/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js"][0].apply(r,arguments)},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/map-upsert.js":[function(e,t,r){"use strict";var n=e("../internals/an-object");t.exports=function(e,t,r){var i,o=n(this),s=2<arguments.length?r:void 0;if("function"!=typeof t&&"function"!=typeof s)throw TypeError("At least one callback required");return o.has(e)?(i=o.get(e),"function"==typeof t&&(i=t(i),o.set(e,i))):"function"==typeof s&&(i=s(),o.set(e,i)),i}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/microtask.js":[function(e,t,r){var n,i,o,s,a,l,d,f,c=e("../internals/global"),u=e("../internals/object-get-own-property-descriptor").f,h=e("../internals/classof-raw"),p=e("../internals/task").set,m=e("../internals/engine-is-ios"),b=c.MutationObserver||c.WebKitMutationObserver,g=c.process,v=c.Promise,y="process"==h(g),j=u(c,"queueMicrotask"),_=j&&j.value;_||(n=function(){var e,t;for(y&&(e=g.domain)&&e.exit();i;){t=i.fn,i=i.next;try{t()}catch(e){throw i?s():o=void 0,e}}o=void 0,e&&e.enter()},s=y?function(){g.nextTick(n)}:b&&!m?(a=!0,l=document.createTextNode(""),new b(n).observe(l,{characterData:!0}),function(){l.data=a=!a}):v&&v.resolve?(d=v.resolve(void 0),f=d.then,function(){f.call(d,n)}):function(){p.call(c,n)}),t.exports=_||function(e){var t={fn:e,next:void 0};o&&(o.next=t),i||(i=t,s()),o=t}},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js","../internals/engine-is-ios":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-is-ios.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/object-get-own-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js","../internals/task":"/Users/f/pjs/dhive/node_modules/core-js/internals/task.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/native-promise-constructor.js":[function(e,t,r){var n=e("../internals/global");t.exports=n.Promise},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js":[function(e,t,r){var n=e("../internals/fails");t.exports=!!Object.getOwnPropertySymbols&&!n((function(){return!String(Symbol())}))},{"../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/native-weak-map.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/inspect-source"),o=n.WeakMap;t.exports="function"==typeof o&&/native code/.test(i(o))},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/inspect-source":"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js":[function(e,t,r){"use strict";function n(e){var t,r;this.promise=new e((function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n})),this.resolve=i(t),this.reject=i(r)}var i=e("../internals/a-function");t.exports.f=function(e){return new n(e)}},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/number-is-finite.js":[function(e,t,r){var n=e("../internals/global").isFinite;t.exports=Number.isFinite||function(e){return"number"==typeof e&&n(e)}},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-float.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/string-trim").trim,o=e("../internals/whitespaces"),s=n.parseFloat,a=1/s(o+"-0")!=-1/0;t.exports=a?function(e){var t=i(String(e)),r=s(t);return 0===r&&"-"==t.charAt(0)?-0:r}:s},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/string-trim":"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js","../internals/whitespaces":"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-int.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/string-trim").trim,o=e("../internals/whitespaces"),s=n.parseInt,a=/^[+-]?0[Xx]/,l=8!==s(o+"08")||22!==s(o+"0x16");t.exports=l?function(e,t){var r=i(String(e));return s(r,t>>>0||(a.test(r)?16:10))}:s},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/string-trim":"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js","../internals/whitespaces":"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js":[function(e,t,r){function n(){}function i(e){return"<script>"+e+"<\/script>"}var o,s=e("../internals/an-object"),a=e("../internals/object-define-properties"),l=e("../internals/enum-bug-keys"),d=e("../internals/hidden-keys"),f=e("../internals/html"),c=e("../internals/document-create-element"),u=e("../internals/shared-key")("IE_PROTO"),h=function(){try{o=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t;h=o?function(e){e.write(i("")),e.close();var t=e.parentWindow.Object;return e=null,t}(o):((t=c("iframe")).style.display="none",f.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(i("document.F=Object")),e.close(),e.F);for(var r=l.length;r--;)delete h.prototype[l[r]];return h()};d[u]=!0,t.exports=Object.create||function(e,t){var r;return null!==e?(n.prototype=s(e),r=new n,n.prototype=null,r[u]=e):r=h(),void 0===t?r:a(r,t)}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/document-create-element":"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js","../internals/enum-bug-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js","../internals/hidden-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js","../internals/html":"/Users/f/pjs/dhive/node_modules/core-js/internals/html.js","../internals/object-define-properties":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-properties.js","../internals/shared-key":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-properties.js":[function(e,t,r){var n=e("../internals/descriptors"),i=e("../internals/object-define-property"),o=e("../internals/an-object"),s=e("../internals/object-keys");t.exports=n?Object.defineProperties:function(e,t){o(e);for(var r,n=s(t),a=n.length,l=0;l<a;)i.f(e,r=n[l++],t[r]);return e}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/object-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js":[function(e,t,r){var n=e("../internals/descriptors"),i=e("../internals/ie8-dom-define"),o=e("../internals/an-object"),s=e("../internals/to-primitive"),a=Object.defineProperty;r.f=n?a:function(e,t,r){if(o(e),t=s(t,!0),o(r),i)try{return a(e,t,r)}catch(e){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/ie8-dom-define":"/Users/f/pjs/dhive/node_modules/core-js/internals/ie8-dom-define.js","../internals/to-primitive":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js":[function(e,t,r){var n=e("../internals/descriptors"),i=e("../internals/object-property-is-enumerable"),o=e("../internals/create-property-descriptor"),s=e("../internals/to-indexed-object"),a=e("../internals/to-primitive"),l=e("../internals/has"),d=e("../internals/ie8-dom-define"),f=Object.getOwnPropertyDescriptor;r.f=n?f:function(e,t){if(e=s(e),t=a(t,!0),d)try{return f(e,t)}catch(e){}if(l(e,t))return o(!i.f.call(e,t),e[t])}},{"../internals/create-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/ie8-dom-define":"/Users/f/pjs/dhive/node_modules/core-js/internals/ie8-dom-define.js","../internals/object-property-is-enumerable":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-property-is-enumerable.js","../internals/to-indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js","../internals/to-primitive":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names-external.js":[function(e,t,r){var n=e("../internals/to-indexed-object"),i=e("../internals/object-get-own-property-names").f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(e){return s&&"[object Window]"==o.call(e)?function(e){try{return i(e)}catch(e){return s.slice()}}(e):i(n(e))}},{"../internals/object-get-own-property-names":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js","../internals/to-indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js":[function(e,t,r){var n=e("../internals/object-keys-internal"),i=e("../internals/enum-bug-keys").concat("length","prototype");r.f=Object.getOwnPropertyNames||function(e){return n(e,i)}},{"../internals/enum-bug-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js","../internals/object-keys-internal":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys-internal.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-symbols.js":[function(e,t,r){r.f=Object.getOwnPropertySymbols},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js":[function(e,t,r){var n=e("../internals/has"),i=e("../internals/to-object"),o=e("../internals/shared-key"),s=e("../internals/correct-prototype-getter"),a=o("IE_PROTO"),l=Object.prototype;t.exports=s?Object.getPrototypeOf:function(e){return e=i(e),n(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},{"../internals/correct-prototype-getter":"/Users/f/pjs/dhive/node_modules/core-js/internals/correct-prototype-getter.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/shared-key":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js","../internals/to-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys-internal.js":[function(e,t,r){var n=e("../internals/has"),i=e("../internals/to-indexed-object"),o=e("../internals/array-includes").indexOf,s=e("../internals/hidden-keys");t.exports=function(e,t){var r,a=i(e),l=0,d=[];for(r in a)!n(s,r)&&n(a,r)&&d.push(r);for(;t.length>l;)n(a,r=t[l++])&&(~o(d,r)||d.push(r));return d}},{"../internals/array-includes":"/Users/f/pjs/dhive/node_modules/core-js/internals/array-includes.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/hidden-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js","../internals/to-indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys.js":[function(e,t,r){var n=e("../internals/object-keys-internal"),i=e("../internals/enum-bug-keys");t.exports=Object.keys||function(e){return n(e,i)}},{"../internals/enum-bug-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js","../internals/object-keys-internal":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys-internal.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-property-is-enumerable.js":[function(e,t,r){"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,o=i&&!n.call({1:2},1);r.f=o?function(e){var t=i(this,e);return!!t&&t.enumerable}:n},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js":[function(e,t,r){var n=e("../internals/an-object"),i=e("../internals/a-possible-prototype");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),t=r instanceof Array}catch(e){}return function(r,o){return n(r),i(o),t?e.call(r,o):r.__proto__=o,r}}():void 0)},{"../internals/a-possible-prototype":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-possible-prototype.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/object-to-string.js":[function(e,t,r){"use strict";var n=e("../internals/to-string-tag-support"),i=e("../internals/classof");t.exports=n?{}.toString:function(){return"[object "+i(this)+"]"}},{"../internals/classof":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof.js","../internals/to-string-tag-support":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/own-keys.js":[function(e,t,r){var n=e("../internals/get-built-in"),i=e("../internals/object-get-own-property-names"),o=e("../internals/object-get-own-property-symbols"),s=e("../internals/an-object");t.exports=n("Reflect","ownKeys")||function(e){var t=i.f(s(e)),r=o.f;return r?t.concat(r(e)):t}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/object-get-own-property-names":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js","../internals/object-get-own-property-symbols":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-symbols.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js":[function(e,t,r){var n=e("../internals/global");t.exports=n},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js":[function(e,t,r){t.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/promise-resolve.js":[function(e,t,r){var n=e("../internals/an-object"),i=e("../internals/is-object"),o=e("../internals/new-promise-capability");t.exports=function(e,t){if(n(e),i(t)&&t.constructor===e)return t;var r=o.f(e);return(0,r.resolve)(t),r.promise}},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/new-promise-capability":"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine-all.js":[function(e,t,r){var n=e("../internals/redefine");t.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}},{"../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/create-non-enumerable-property"),o=e("../internals/has"),s=e("../internals/set-global"),a=e("../internals/inspect-source"),l=e("../internals/internal-state"),d=l.get,f=l.enforce,c=String(String).split("String");(t.exports=function(e,t,r,a){var l=!!a&&!!a.unsafe,d=!!a&&!!a.enumerable,u=!!a&&!!a.noTargetGet;"function"==typeof r&&("string"!=typeof t||o(r,"name")||i(r,"name",t),f(r).source=c.join("string"==typeof t?t:"")),e!==n?(l?!u&&e[t]&&(d=!0):delete e[t],d?e[t]=r:i(e,t,r)):d?e[t]=r:s(t,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&d(this).source||a(this)}))},{"../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/inspect-source":"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/set-global":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js":[function(e,t,r){t.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/same-value-zero.js":[function(e,t,r){t.exports=function(e,t){return e===t||e!=e&&t!=t}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/create-non-enumerable-property");t.exports=function(e,t){try{i(n,e,t)}catch(r){n[e]=t}return t}},{"../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/set-species.js":[function(e,t,r){"use strict";var n=e("../internals/get-built-in"),i=e("../internals/object-define-property"),o=e("../internals/well-known-symbol"),s=e("../internals/descriptors"),a=o("species");t.exports=function(e){var t=n(e),r=i.f;s&&t&&!t[a]&&r(t,a,{configurable:!0,get:function(){return this}})}},{"../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js":[function(e,t,r){var n=e("../internals/object-define-property").f,i=e("../internals/has"),o=e("../internals/well-known-symbol")("toStringTag");t.exports=function(e,t,r){e&&!i(e=r?e:e.prototype,o)&&n(e,o,{configurable:!0,value:t})}},{"../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js":[function(e,t,r){var n=e("../internals/shared"),i=e("../internals/uid"),o=n("keys");t.exports=function(e){return o[e]||(o[e]=i(e))}},{"../internals/shared":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js","../internals/uid":"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-store.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/set-global"),o=n["__core-js_shared__"]||i("__core-js_shared__",{});t.exports=o},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/set-global":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js":[function(e,t,r){var n=e("../internals/is-pure"),i=e("../internals/shared-store");(t.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.6.4",mode:n?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},{"../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/shared-store":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-store.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js":[function(e,t,r){var n=e("../internals/an-object"),i=e("../internals/a-function"),o=e("../internals/well-known-symbol")("species");t.exports=function(e,t){var r,s=n(e).constructor;return void 0===s||null==(r=n(s)[o])?t:i(r)}},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/string-multibyte.js":[function(e,t,r){function n(e){return function(t,r){var n,s,a=String(o(t)),l=i(r),d=a.length;return l<0||d<=l?e?"":void 0:(n=a.charCodeAt(l))<55296||56319<n||l+1===d||(s=a.charCodeAt(l+1))<56320||57343<s?e?a.charAt(l):n:e?a.slice(l,l+2):s-56320+(n-55296<<10)+65536}}var i=e("../internals/to-integer"),o=e("../internals/require-object-coercible");t.exports={codeAt:n(!1),charAt:n(!0)}},{"../internals/require-object-coercible":"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js","../internals/to-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/string-repeat.js":[function(e,t,r){"use strict";var n=e("../internals/to-integer"),i=e("../internals/require-object-coercible");t.exports="".repeat||function(e){var t=String(i(this)),r="",o=n(e);if(o<0||1/0==o)throw RangeError("Wrong number of repetitions");for(;0<o;(o>>>=1)&&(t+=t))1&o&&(r+=t);return r}},{"../internals/require-object-coercible":"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js","../internals/to-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js":[function(e,t,r){function n(e){return function(t){var r=String(i(t));return 1&e&&(r=r.replace(s,"")),2&e&&(r=r.replace(a,"")),r}}var i=e("../internals/require-object-coercible"),o="["+e("../internals/whitespaces")+"]",s=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$");t.exports={start:n(1),end:n(2),trim:n(3)}},{"../internals/require-object-coercible":"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js","../internals/whitespaces":"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/task.js":[function(e,t,r){function n(e){if(k.hasOwnProperty(e)){var t=k[e];delete k[e],t()}}function i(e){return function(){n(e)}}function o(e){n(e.data)}function s(e){f.postMessage(e+"",g.protocol+"//"+g.host)}var a,l,d,f=e("../internals/global"),c=e("../internals/fails"),u=e("../internals/classof-raw"),h=e("../internals/function-bind-context"),p=e("../internals/html"),m=e("../internals/document-create-element"),b=e("../internals/engine-is-ios"),g=f.location,v=f.setImmediate,y=f.clearImmediate,j=f.process,_=f.MessageChannel,w=f.Dispatch,x=0,k={};v&&y||(v=function(e){for(var t=[],r=1;r<arguments.length;)t.push(arguments[r++]);return k[++x]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},a(x),x},y=function(e){delete k[e]},"process"==u(j)?a=function(e){j.nextTick(i(e))}:w&&w.now?a=function(e){w.now(i(e))}:_&&!b?(d=(l=new _).port2,l.port1.onmessage=o,a=h(d.postMessage,d,1)):!f.addEventListener||"function"!=typeof postMessage||f.importScripts||c(s)?a="onreadystatechange"in m("script")?function(e){p.appendChild(m("script")).onreadystatechange=function(){p.removeChild(this),n(e)}}:function(e){setTimeout(i(e),0)}:(a=s,f.addEventListener("message",o,!1))),t.exports={set:v,clear:y}},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js","../internals/document-create-element":"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js","../internals/engine-is-ios":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-is-ios.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/html":"/Users/f/pjs/dhive/node_modules/core-js/internals/html.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/this-number-value.js":[function(e,t,r){var n=e("../internals/classof-raw");t.exports=function(e){if("number"!=typeof e&&"Number"!=n(e))throw TypeError("Incorrect invocation");return+e}},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-absolute-index.js":[function(e,t,r){var n=e("../internals/to-integer"),i=Math.max,o=Math.min;t.exports=function(e,t){var r=n(e);return r<0?i(r+t,0):o(r,t)}},{"../internals/to-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js":[function(e,t,r){var n=e("../internals/indexed-object"),i=e("../internals/require-object-coercible");t.exports=function(e){return n(i(e))}},{"../internals/indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/indexed-object.js","../internals/require-object-coercible":"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js":[function(e,t,r){var n=Math.ceil,i=Math.floor;t.exports=function(e){return isNaN(e=+e)?0:(0<e?i:n)(e)}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js":[function(e,t,r){var n=e("../internals/to-integer"),i=Math.min;t.exports=function(e){return 0<e?i(n(e),9007199254740991):0}},{"../internals/to-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js":[function(e,t,r){var n=e("../internals/require-object-coercible");t.exports=function(e){return Object(n(e))}},{"../internals/require-object-coercible":"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js":[function(e,t,r){var n=e("../internals/is-object");t.exports=function(e,t){if(!n(e))return e;var r,i;if(t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;if("function"==typeof(r=e.valueOf)&&!n(i=r.call(e)))return i;if(!t&&"function"==typeof(r=e.toString)&&!n(i=r.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},{"../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js":[function(e,t,r){var n={};n[e("../internals/well-known-symbol")("toStringTag")]="z",t.exports="[object z]"===String(n)},{"../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js":[function(e,t,r){var n=0,i=Math.random();t.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++n+i).toString(36)}},{}],"/Users/f/pjs/dhive/node_modules/core-js/internals/use-symbol-as-uid.js":[function(e,t,r){var n=e("../internals/native-symbol");t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},{"../internals/native-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js":[function(e,t,r){var n=e("../internals/well-known-symbol");r.f=n},{"../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/shared"),o=e("../internals/has"),s=e("../internals/uid"),a=e("../internals/native-symbol"),l=e("../internals/use-symbol-as-uid"),d=i("wks"),f=n.Symbol,c=l?f:f&&f.withoutSetter||s;t.exports=function(e){return o(d,e)||(a&&o(f,e)?d[e]=f[e]:d[e]=c("Symbol."+e)),d[e]}},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/native-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js","../internals/shared":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js","../internals/uid":"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js","../internals/use-symbol-as-uid":"/Users/f/pjs/dhive/node_modules/core-js/internals/use-symbol-as-uid.js"}],"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js":[function(e,t,r){t.exports="\t\n\v\f\r    â€â€‚         âŸã€€\u2028\u2029\ufeff"},{}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.concat.js":[function(e,t,r){"use strict";function n(e){if(a(e)){var t=e[m];return void 0!==t?t:s(e)}}var i=e("../internals/export"),o=e("../internals/fails"),s=e("../internals/is-array"),a=e("../internals/is-object"),l=e("../internals/to-object"),d=e("../internals/to-length"),f=e("../internals/create-property"),c=e("../internals/array-species-create"),u=e("../internals/array-method-has-species-support"),h=e("../internals/well-known-symbol"),p=e("../internals/engine-v8-version"),m=h("isConcatSpreadable"),b=51<=p||!o((function(){var e=[];return e[m]=!1,e.concat()[0]!==e})),g=u("concat");i({target:"Array",proto:!0,forced:!b||!g},{concat:function(e){var t,r,i,o,s,a=l(this),u=c(a,0),h=0;for(t=-1,i=arguments.length;t<i;t++)if(n(s=-1===t?a:arguments[t])){if(9007199254740991<h+(o=d(s.length)))throw TypeError("Maximum allowed index exceeded");for(r=0;r<o;r++,h++)r in s&&f(u,h,s[r])}else{if(9007199254740991<=h)throw TypeError("Maximum allowed index exceeded");f(u,h++,s)}return u.length=h,u}})},{"../internals/array-method-has-species-support":"/Users/f/pjs/dhive/node_modules/core-js/internals/array-method-has-species-support.js","../internals/array-species-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/array-species-create.js","../internals/create-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property.js","../internals/engine-v8-version":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/is-array":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/to-length":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js","../internals/to-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.from.js":[function(e,t,r){var n=e("../internals/export"),i=e("../internals/array-from");n({target:"Array",stat:!0,forced:!e("../internals/check-correctness-of-iteration")((function(e){Array.from(e)}))},{from:i})},{"../internals/array-from":"/Users/f/pjs/dhive/node_modules/core-js/internals/array-from.js","../internals/check-correctness-of-iteration":"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.iterator.js":[function(e,t,r){"use strict";var n=e("../internals/to-indexed-object"),i=e("../internals/add-to-unscopables"),o=e("../internals/iterators"),s=e("../internals/internal-state"),a=e("../internals/define-iterator"),l=s.set,d=s.getterFor("Array Iterator");t.exports=a(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:n(e),index:0,kind:t})}),(function(){var e=d(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?{value:e.target=void 0,done:!0}:"keys"==r?{value:n,done:!1}:"values"==r?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}}),"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},{"../internals/add-to-unscopables":"/Users/f/pjs/dhive/node_modules/core-js/internals/add-to-unscopables.js","../internals/define-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/iterators":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js","../internals/to-indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.json.to-string-tag.js":[function(e,t,r){var n=e("../internals/global");e("../internals/set-to-string-tag")(n.JSON,"JSON",!0)},{"../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.map.js":[function(e,t,r){"use strict";var n=e("../internals/collection"),i=e("../internals/collection-strong");t.exports=n("Map",(function(e){return function(t){return e(this,arguments.length?t:void 0)}}),i)},{"../internals/collection":"/Users/f/pjs/dhive/node_modules/core-js/internals/collection.js","../internals/collection-strong":"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-strong.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.math.to-string-tag.js":[function(e,t,r){e("../internals/set-to-string-tag")(Math,"Math",!0)},{"../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.constructor.js":[function(e,t,r){"use strict";function n(e){var t,r,n,i,o,s,a,l,d=c(e,!1);if("string"==typeof d&&2<d.length)if(43===(t=(d=g(d)).charCodeAt(0))||45===t){if(88===(r=d.charCodeAt(2))||120===r)return NaN}else if(48===t){switch(d.charCodeAt(1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+d}for(s=(o=d.slice(2)).length,a=0;a<s;a++)if((l=o.charCodeAt(a))<48||i<l)return NaN;return parseInt(o,n)}return+d}var i=e("../internals/descriptors"),o=e("../internals/global"),s=e("../internals/is-forced"),a=e("../internals/redefine"),l=e("../internals/has"),d=e("../internals/classof-raw"),f=e("../internals/inherit-if-required"),c=e("../internals/to-primitive"),u=e("../internals/fails"),h=e("../internals/object-create"),p=e("../internals/object-get-own-property-names").f,m=e("../internals/object-get-own-property-descriptor").f,b=e("../internals/object-define-property").f,g=e("../internals/string-trim").trim,v=o.Number,y=v.prototype,j="Number"==d(h(y));if(s("Number",!v(" 0o1")||!v("0b1")||v("+0x1"))){for(var _,w=function(e){var t=arguments.length<1?0:e,r=this;return r instanceof w&&(j?u((function(){y.valueOf.call(r)})):"Number"!=d(r))?f(new v(n(t)),r,w):n(t)},x=i?p(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)l(v,_=x[k])&&!l(w,_)&&b(w,_,m(v,_));a(o,"Number",(w.prototype=y).constructor=w)}},{"../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/inherit-if-required":"/Users/f/pjs/dhive/node_modules/core-js/internals/inherit-if-required.js","../internals/is-forced":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js","../internals/object-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/object-get-own-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js","../internals/object-get-own-property-names":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/string-trim":"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js","../internals/to-primitive":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.epsilon.js":[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-finite.js":[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{isFinite:e("../internals/number-is-finite")})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/number-is-finite":"/Users/f/pjs/dhive/node_modules/core-js/internals/number-is-finite.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-integer.js":[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{isInteger:e("../internals/is-integer")})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-nan.js":[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-safe-integer.js":[function(e,t,r){var n=e("../internals/export"),i=e("../internals/is-integer"),o=Math.abs;n({target:"Number",stat:!0},{isSafeInteger:function(e){return i(e)&&o(e)<=9007199254740991}})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.max-safe-integer.js":[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.min-safe-integer.js":[function(e,t,r){e("../internals/export")({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-float.js":[function(e,t,r){var n=e("../internals/export"),i=e("../internals/number-parse-float");n({target:"Number",stat:!0,forced:Number.parseFloat!=i},{parseFloat:i})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/number-parse-float":"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-float.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-int.js":[function(e,t,r){var n=e("../internals/export"),i=e("../internals/number-parse-int");n({target:"Number",stat:!0,forced:Number.parseInt!=i},{parseInt:i})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/number-parse-int":"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-int.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-fixed.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/to-integer"),o=e("../internals/this-number-value"),s=e("../internals/string-repeat"),a=e("../internals/fails"),l=1..toFixed,d=Math.floor,f=function(e,t,r){return 0===t?r:t%2==1?f(e,t-1,r*e):f(e*e,t/2,r)};n({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!a((function(){l.call({})}))},{toFixed:function(e){function t(e,t){for(var r=-1,n=t;++r<6;)n+=e*m[r],m[r]=n%1e7,n=d(n/1e7)}function r(e){for(var t=6,r=0;0<=--t;)r+=m[t],m[t]=d(r/e),r=r%e*1e7}function n(){for(var e=6,t="";0<=--e;)if(""!==t||0===e||0!==m[e]){var r=String(m[e]);t=""===t?r:t+s.call("0",7-r.length)+r}return t}var a,l,c,u,h=o(this),p=i(e),m=[0,0,0,0,0,0],b="",g="0";if(p<0||20<p)throw RangeError("Incorrect fraction digits");if(h!=h)return"NaN";if(h<=-1e21||1e21<=h)return String(h);if(h<0&&(b="-",h=-h),1e-21<h)if(l=(a=function(){for(var e=0,t=h*f(2,69,1);4096<=t;)e+=12,t/=4096;for(;2<=t;)e+=1,t/=2;return e}()-69)<0?h*f(2,-a,1):h/f(2,a,1),l*=4503599627370496,0<(a=52-a)){for(t(0,l),c=p;7<=c;)t(1e7,0),c-=7;for(t(f(10,c,1),0),c=a-1;23<=c;)r(1<<23),c-=23;r(1<<c),t(1,1),r(2),g=n()}else t(0,l),t(1<<-a,0),g=n()+s.call("0",p);return 0<p?b+((u=g.length)<=p?"0."+s.call("0",p-u)+g:g.slice(0,u-p)+"."+g.slice(u-p)):b+g}})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/string-repeat":"/Users/f/pjs/dhive/node_modules/core-js/internals/string-repeat.js","../internals/this-number-value":"/Users/f/pjs/dhive/node_modules/core-js/internals/this-number-value.js","../internals/to-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-precision.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/fails"),o=e("../internals/this-number-value"),s=1..toPrecision;n({target:"Number",proto:!0,forced:i((function(){return"1"!==s.call(1,void 0)}))||!i((function(){s.call({})}))},{toPrecision:function(e){return void 0===e?s.call(o(this)):s.call(o(this),e)}})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/this-number-value":"/Users/f/pjs/dhive/node_modules/core-js/internals/this-number-value.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js":[function(e,t,r){var n=e("../internals/to-string-tag-support"),i=e("../internals/redefine"),o=e("../internals/object-to-string");n||i(Object.prototype,"toString",o,{unsafe:!0})},{"../internals/object-to-string":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-to-string.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/to-string-tag-support":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.all-settled.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/a-function"),o=e("../internals/new-promise-capability"),s=e("../internals/perform"),a=e("../internals/iterate");n({target:"Promise",stat:!0},{allSettled:function(e){var t=this,r=o.f(t),n=r.resolve,l=r.reject,d=s((function(){var r=i(t.resolve),o=[],s=0,l=1;a(e,(function(e){var i=s++,a=!1;o.push(void 0),l++,r.call(t,e).then((function(e){a||(a=!0,o[i]={status:"fulfilled",value:e},--l||n(o))}),(function(e){a||(a=!0,o[i]={status:"rejected",reason:e},--l||n(o))}))})),--l||n(o)}));return d.error&&l(d.value),r.promise}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/new-promise-capability":"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js","../internals/perform":"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.finally.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/native-promise-constructor"),s=e("../internals/fails"),a=e("../internals/get-built-in"),l=e("../internals/species-constructor"),d=e("../internals/promise-resolve"),f=e("../internals/redefine");n({target:"Promise",proto:!0,real:!0,forced:!!o&&s((function(){o.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=l(this,a("Promise")),r="function"==typeof e;return this.then(r?function(r){return d(t,e()).then((function(){return r}))}:e,r?function(r){return d(t,e()).then((function(){throw r}))}:e)}}),i||"function"!=typeof o||o.prototype.finally||f(o.prototype,"finally",a("Promise").prototype.finally)},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/native-promise-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/native-promise-constructor.js","../internals/promise-resolve":"/Users/f/pjs/dhive/node_modules/core-js/internals/promise-resolve.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/species-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.js":[function(e,t,r){"use strict";function n(e){var t;return!(!_(e)||"function"!=typeof(t=e.then))&&t}function i(e,t,r){if(!t.notified){t.notified=!0;var i=t.reactions;M((function(){for(var o=t.value,s=1==t.state,a=0;i.length>a;){var l,d,f,c=i[a++],u=s?c.ok:c.fail,h=c.resolve,p=c.reject,m=c.domain;try{u?(s||(2===t.rejection&&ne(e,t),t.rejection=1),!0===u?l=o:(m&&m.enter(),l=u(o),m&&(m.exit(),f=!0)),l===c.promise?p(H("Promise-chain cycle")):(d=n(l))?d.call(l,h,p):h(l)):p(o)}catch(e){m&&!f&&m.exit(),p(e)}}t.reactions=[],t.notified=!1,r&&!t.rejection&&te(e,t)}))}}function o(e,t,r){var n,i;$?((n=G.createEvent("Event")).promise=t,n.reason=r,n.initEvent(e,!1,!0),p.dispatchEvent(n)):n={promise:t,reason:r},(i=p["on"+e])?i(n):"unhandledrejection"===e&&B("Unhandled promise rejection",r)}function s(e,t,r,n){return function(i){e(t,r,i,n)}}function a(e,t,r,n){t.done||(t.done=!0,n&&(t=n),t.value=r,t.state=2,i(e,t,!0))}var l,d,f,c,u=e("../internals/export"),h=e("../internals/is-pure"),p=e("../internals/global"),m=e("../internals/get-built-in"),b=e("../internals/native-promise-constructor"),g=e("../internals/redefine"),v=e("../internals/redefine-all"),y=e("../internals/set-to-string-tag"),j=e("../internals/set-species"),_=e("../internals/is-object"),w=e("../internals/a-function"),x=e("../internals/an-instance"),k=e("../internals/classof-raw"),U=e("../internals/inspect-source"),E=e("../internals/iterate"),S=e("../internals/check-correctness-of-iteration"),A=e("../internals/species-constructor"),I=e("../internals/task").set,M=e("../internals/microtask"),T=e("../internals/promise-resolve"),B=e("../internals/host-report-errors"),L=e("../internals/new-promise-capability"),R=e("../internals/perform"),O=e("../internals/internal-state"),C=e("../internals/is-forced"),P=e("../internals/well-known-symbol"),D=e("../internals/engine-v8-version"),N=P("species"),z="Promise",q=O.get,F=O.set,K=O.getterFor(z),V=b,H=p.TypeError,G=p.document,Y=p.process,W=m("fetch"),Z=L.f,X=Z,J="process"==k(Y),$=!!(G&&G.createEvent&&p.dispatchEvent),Q=C(z,(function(){if(U(V)===String(V)){if(66===D)return!0;if(!J&&"function"!=typeof PromiseRejectionEvent)return!0}if(h&&!V.prototype.finally)return!0;if(51<=D&&/native code/.test(V))return!1;function e(e){e((function(){}),(function(){}))}var t=V.resolve(1);return(t.constructor={})[N]=e,!(t.then((function(){}))instanceof e)})),ee=Q||!S((function(e){V.all(e).catch((function(){}))})),te=function(e,t){I.call(p,(function(){var r,n=t.value;if(re(t)&&(r=R((function(){J?Y.emit("unhandledRejection",n,e):o("unhandledrejection",e,n)})),t.rejection=J||re(t)?2:1,r.error))throw r.value}))},re=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){I.call(p,(function(){J?Y.emit("rejectionHandled",e):o("rejectionhandled",e,t.value)}))},ie=function(e,t,r,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===r)throw H("Promise can't be resolved itself");var l=n(r);l?M((function(){var n={done:!1};try{l.call(r,s(ie,e,n,t),s(a,e,n,t))}catch(r){a(e,n,r,t)}})):(t.value=r,t.state=1,i(e,t,!1))}catch(r){a(e,{done:!1},r,t)}}};Q&&(V=function(e){x(this,V,z),w(e),l.call(this);var t=q(this);try{e(s(ie,this,t),s(a,this,t))}catch(e){a(this,t,e)}},(l=function(){F(this,{type:z,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=v(V.prototype,{then:function(e,t){var r=K(this),n=Z(A(this,V));return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=J?Y.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&i(this,r,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),d=function(){var e=new l,t=q(e);this.promise=e,this.resolve=s(ie,e,t),this.reject=s(a,e,t)},L.f=Z=function(e){return e===V||e===f?new d:X(e)},h||"function"!=typeof b||(c=b.prototype.then,g(b.prototype,"then",(function(e,t){var r=this;return new V((function(e,t){c.call(r,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof W&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return T(V,W.apply(p,arguments))}}))),u({global:!0,wrap:!0,forced:Q},{Promise:V}),y(V,z,!1,!0),j(z),f=m(z),u({target:z,stat:!0,forced:Q},{reject:function(e){var t=Z(this);return t.reject.call(void 0,e),t.promise}}),u({target:z,stat:!0,forced:h||Q},{resolve:function(e){return T(h&&this===f?V:this,e)}}),u({target:z,stat:!0,forced:ee},{all:function(e){var t=this,r=Z(t),n=r.resolve,i=r.reject,o=R((function(){var r=w(t.resolve),o=[],s=0,a=1;E(e,(function(e){var l=s++,d=!1;o.push(void 0),a++,r.call(t,e).then((function(e){d||(d=!0,o[l]=e,--a||n(o))}),i)})),--a||n(o)}));return o.error&&i(o.value),r.promise},race:function(e){var t=this,r=Z(t),n=r.reject,i=R((function(){var i=w(t.resolve);E(e,(function(e){i.call(t,e).then(r.resolve,n)}))}));return i.error&&n(i.value),r.promise}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-instance":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js","../internals/check-correctness-of-iteration":"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js","../internals/classof-raw":"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js","../internals/engine-v8-version":"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/host-report-errors":"/Users/f/pjs/dhive/node_modules/core-js/internals/host-report-errors.js","../internals/inspect-source":"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/is-forced":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/microtask":"/Users/f/pjs/dhive/node_modules/core-js/internals/microtask.js","../internals/native-promise-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/native-promise-constructor.js","../internals/new-promise-capability":"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js","../internals/perform":"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js","../internals/promise-resolve":"/Users/f/pjs/dhive/node_modules/core-js/internals/promise-resolve.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/redefine-all":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine-all.js","../internals/set-species":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-species.js","../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js","../internals/species-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js","../internals/task":"/Users/f/pjs/dhive/node_modules/core-js/internals/task.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js":[function(e,t,r){"use strict";var n=e("../internals/string-multibyte").charAt,i=e("../internals/internal-state"),o=e("../internals/define-iterator"),s=i.set,a=i.getterFor("String Iterator");o(String,"String",(function(e){s(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=a(this),r=t.string,i=t.index;return i>=r.length?{value:void 0,done:!0}:(e=n(r,i),t.index+=e.length,{value:e,done:!1})}))},{"../internals/define-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/string-multibyte":"/Users/f/pjs/dhive/node_modules/core-js/internals/string-multibyte.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.async-iterator.js":[function(e,t,r){e("../internals/define-well-known-symbol")("asyncIterator")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.description.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/global"),s=e("../internals/has"),a=e("../internals/is-object"),l=e("../internals/object-define-property").f,d=e("../internals/copy-constructor-properties"),f=o.Symbol;if(i&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var c={},u=function(e){var t=arguments.length<1||void 0===e?void 0:String(e),r=this instanceof u?new f(t):void 0===t?f():f(t);return""===t&&(c[r]=!0),r};d(u,f);var h=u.prototype=f.prototype;h.constructor=u;var p=h.toString,m="Symbol(test)"==String(f("test")),b=/^Symbol\((.*)\)[^)]+$/;l(h,"description",{configurable:!0,get:function(){var e=a(this)?this.valueOf():this,t=p.call(e);if(s(c,e))return"";var r=m?t.slice(7,-1):t.replace(b,"$1");return""===r?void 0:r}}),n({global:!0,forced:!0},{Symbol:u})}},{"../internals/copy-constructor-properties":"/Users/f/pjs/dhive/node_modules/core-js/internals/copy-constructor-properties.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.has-instance.js":[function(e,t,r){e("../internals/define-well-known-symbol")("hasInstance")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js":[function(e,t,r){e("../internals/define-well-known-symbol")("isConcatSpreadable")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.iterator.js":[function(e,t,r){e("../internals/define-well-known-symbol")("iterator")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.js":[function(e,t,r){"use strict";function n(e,t){var r=re[e]=U(X.prototype);return Y(r,{type:"Symbol",tag:e,description:t}),h||(r.description=t),r}function i(e,t){j(e);var r=w(t),n=E(r).concat(l(r));return V(n,(function(t){h&&!a.call(r,t)||ce(e,t,r[t])})),e}function o(e,t){var r=w(e),n=x(t,!0);if(r!==Z||!g(re,n)||g(ne,n)){var i=$(r,n);return!i||!g(re,n)||g(r,H)&&r[H][n]||(i.enumerable=!0),i}}function s(e){var t=ee(w(e)),r=[];return V(t,(function(e){g(re,e)||g(P,e)||r.push(e)})),r}function a(e){var t=x(e,!0),r=te.call(this,t);return!(this===Z&&g(re,t)&&!g(ne,t))&&(!(r||!g(this,t)||!g(re,t)||g(this,H)&&this[H][t])||r)}function l(e){var t=e===Z,r=ee(t?ne:w(e)),n=[];return V(r,(function(e){!g(re,e)||t&&!g(Z,e)||n.push(re[e])})),n}var d=e("../internals/export"),f=e("../internals/global"),c=e("../internals/get-built-in"),u=e("../internals/is-pure"),h=e("../internals/descriptors"),p=e("../internals/native-symbol"),m=e("../internals/use-symbol-as-uid"),b=e("../internals/fails"),g=e("../internals/has"),v=e("../internals/is-array"),y=e("../internals/is-object"),j=e("../internals/an-object"),_=e("../internals/to-object"),w=e("../internals/to-indexed-object"),x=e("../internals/to-primitive"),k=e("../internals/create-property-descriptor"),U=e("../internals/object-create"),E=e("../internals/object-keys"),S=e("../internals/object-get-own-property-names"),A=e("../internals/object-get-own-property-names-external"),I=e("../internals/object-get-own-property-symbols"),M=e("../internals/object-get-own-property-descriptor"),T=e("../internals/object-define-property"),B=e("../internals/object-property-is-enumerable"),L=e("../internals/create-non-enumerable-property"),R=e("../internals/redefine"),O=e("../internals/shared"),C=e("../internals/shared-key"),P=e("../internals/hidden-keys"),D=e("../internals/uid"),N=e("../internals/well-known-symbol"),z=e("../internals/well-known-symbol-wrapped"),q=e("../internals/define-well-known-symbol"),F=e("../internals/set-to-string-tag"),K=e("../internals/internal-state"),V=e("../internals/array-iteration").forEach,H=C("hidden"),G=N("toPrimitive"),Y=K.set,W=K.getterFor("Symbol"),Z=Object.prototype,X=f.Symbol,J=c("JSON","stringify"),$=M.f,Q=T.f,ee=A.f,te=B.f,re=O("symbols"),ne=O("op-symbols"),ie=O("string-to-symbol-registry"),oe=O("symbol-to-string-registry"),se=O("wks"),ae=f.QObject,le=!ae||!ae.prototype||!ae.prototype.findChild,de=h&&b((function(){return 7!=U(Q({},"a",{get:function(){return Q(this,"a",{value:7}).a}})).a}))?function(e,t,r){var n=$(Z,t);n&&delete Z[t],Q(e,t,r),n&&e!==Z&&Q(Z,t,n)}:Q,fe=m?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof X},ce=function(e,t,r){e===Z&&ce(ne,t,r),j(e);var n=x(t,!0);return j(r),g(re,n)?(r.enumerable?(g(e,H)&&e[H][n]&&(e[H][n]=!1),r=U(r,{enumerable:k(0,!1)})):(g(e,H)||Q(e,H,k(1,{})),e[H][n]=!0),de(e,n,r)):Q(e,n,r)};p||(R((X=function(e){if(this instanceof X)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==e?String(e):void 0,r=D(t),i=function(e){this===Z&&i.call(ne,e),g(this,H)&&g(this[H],r)&&(this[H][r]=!1),de(this,r,k(1,e))};return h&&le&&de(Z,r,{configurable:!0,set:i}),n(r,t)}).prototype,"toString",(function(){return W(this).tag})),R(X,"withoutSetter",(function(e){return n(D(e),e)})),B.f=a,T.f=ce,M.f=o,S.f=A.f=s,I.f=l,z.f=function(e){return n(N(e),e)},h&&(Q(X.prototype,"description",{configurable:!0,get:function(){return W(this).description}}),u||R(Z,"propertyIsEnumerable",a,{unsafe:!0}))),d({global:!0,wrap:!0,forced:!p,sham:!p},{Symbol:X}),V(E(se),(function(e){q(e)})),d({target:"Symbol",stat:!0,forced:!p},{for:function(e){var t=String(e);if(g(ie,t))return ie[t];var r=X(t);return ie[t]=r,oe[r]=t,r},keyFor:function(e){if(!fe(e))throw TypeError(e+" is not a symbol");if(g(oe,e))return oe[e]},useSetter:function(){le=!0},useSimple:function(){le=!1}}),d({target:"Object",stat:!0,forced:!p,sham:!h},{create:function(e,t){return void 0===t?U(e):i(U(e),t)},defineProperty:ce,defineProperties:i,getOwnPropertyDescriptor:o}),d({target:"Object",stat:!0,forced:!p},{getOwnPropertyNames:s,getOwnPropertySymbols:l}),d({target:"Object",stat:!0,forced:b((function(){I.f(1)}))},{getOwnPropertySymbols:function(e){return I.f(_(e))}}),J&&d({target:"JSON",stat:!0,forced:!p||b((function(){var e=X();return"[null]"!=J([e])||"{}"!=J({a:e})||"{}"!=J(Object(e))}))},{stringify:function(e,t,r){for(var n,i=[e],o=1;o<arguments.length;)i.push(arguments[o++]);if((y(n=t)||void 0!==e)&&!fe(e))return v(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!fe(t))return t}),i[1]=t,J.apply(null,i)}}),X.prototype[G]||L(X.prototype,G,X.prototype.valueOf),F(X,"Symbol"),P[H]=!0},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/array-iteration":"/Users/f/pjs/dhive/node_modules/core-js/internals/array-iteration.js","../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/create-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js","../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/fails":"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/has":"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js","../internals/hidden-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/is-array":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js","../internals/is-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/native-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js","../internals/object-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/object-get-own-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js","../internals/object-get-own-property-names":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js","../internals/object-get-own-property-names-external":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names-external.js","../internals/object-get-own-property-symbols":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-symbols.js","../internals/object-keys":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys.js","../internals/object-property-is-enumerable":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-property-is-enumerable.js","../internals/redefine":"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js","../internals/set-to-string-tag":"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js","../internals/shared":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js","../internals/shared-key":"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js","../internals/to-indexed-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js","../internals/to-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js","../internals/to-primitive":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js","../internals/uid":"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js","../internals/use-symbol-as-uid":"/Users/f/pjs/dhive/node_modules/core-js/internals/use-symbol-as-uid.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js","../internals/well-known-symbol-wrapped":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match-all.js":[function(e,t,r){e("../internals/define-well-known-symbol")("matchAll")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match.js":[function(e,t,r){e("../internals/define-well-known-symbol")("match")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.replace.js":[function(e,t,r){e("../internals/define-well-known-symbol")("replace")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.search.js":[function(e,t,r){e("../internals/define-well-known-symbol")("search")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.species.js":[function(e,t,r){e("../internals/define-well-known-symbol")("species")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.split.js":[function(e,t,r){e("../internals/define-well-known-symbol")("split")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-primitive.js":[function(e,t,r){e("../internals/define-well-known-symbol")("toPrimitive")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-string-tag.js":[function(e,t,r){e("../internals/define-well-known-symbol")("toStringTag")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.unscopables.js":[function(e,t,r){e("../internals/define-well-known-symbol")("unscopables")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.aggregate-error.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/descriptors"),o=e("../internals/object-get-prototype-of"),s=e("../internals/object-set-prototype-of"),a=e("../internals/object-create"),l=e("../internals/object-define-property"),d=e("../internals/create-property-descriptor"),f=e("../internals/iterate"),c=e("../internals/create-non-enumerable-property"),u=e("../internals/internal-state"),h=u.set,p=u.getterFor("AggregateError"),m=function(e,t){var r=this;if(!(r instanceof m))return new m(e,t);s&&(r=s(new Error(t),o(r)));var n=[];return f(e,n.push,n),i?h(r,{errors:n,type:"AggregateError"}):r.errors=n,void 0!==t&&c(r,"message",String(t)),r};m.prototype=a(Error.prototype,{constructor:d(5,m),message:d(5,""),name:d(5,"AggregateError")}),i&&l.f(m.prototype,"errors",{get:function(){return p(this).errors},configurable:!0}),n({global:!0},{AggregateError:m})},{"../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/create-property-descriptor":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js","../internals/descriptors":"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/internal-state":"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/object-create":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js","../internals/object-define-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js","../internals/object-get-prototype-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js","../internals/object-set-prototype-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.delete-all.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/collection-delete-all");n({target:"Map",proto:!0,real:!0,forced:i},{deleteAll:function(){return o.apply(this,arguments)}})},{"../internals/collection-delete-all":"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-delete-all.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.every.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/function-bind-context"),a=e("../internals/get-map-iterator"),l=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{every:function(e,t){var r=o(this),n=a(r),i=s(e,1<arguments.length?t:void 0,3);return!l(n,(function(e,t){if(!i(t,e,r))return l.stop()}),void 0,!0,!0).stopped}})},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.filter.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/get-built-in"),s=e("../internals/an-object"),a=e("../internals/a-function"),l=e("../internals/function-bind-context"),d=e("../internals/species-constructor"),f=e("../internals/get-map-iterator"),c=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{filter:function(e,t){var r=s(this),n=f(r),i=l(e,1<arguments.length?t:void 0,3),u=new(d(r,o("Map"))),h=a(u.set);return c(n,(function(e,t){i(t,e,r)&&h.call(u,e,t)}),void 0,!0,!0),u}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/species-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find-key.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/function-bind-context"),a=e("../internals/get-map-iterator"),l=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{findKey:function(e,t){var r=o(this),n=a(r),i=s(e,1<arguments.length?t:void 0,3);return l(n,(function(e,t){if(i(t,e,r))return l.stop(e)}),void 0,!0,!0).result}})},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/function-bind-context"),a=e("../internals/get-map-iterator"),l=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{find:function(e,t){var r=o(this),n=a(r),i=s(e,1<arguments.length?t:void 0,3);return l(n,(function(e,t){if(i(t,e,r))return l.stop(t)}),void 0,!0,!0).result}})},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.from.js":[function(e,t,r){e("../internals/export")({target:"Map",stat:!0},{from:e("../internals/collection-from")})},{"../internals/collection-from":"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-from.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.group-by.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/iterate"),o=e("../internals/a-function");n({target:"Map",stat:!0},{groupBy:function(e,t){var r=new this;o(t);var n=o(r.has),s=o(r.get),a=o(r.set);return i(e,(function(e){var i=t(e);n.call(r,i)?s.call(r,i).push(e):a.call(r,i,[e])})),r}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.includes.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/get-map-iterator"),a=e("../internals/same-value-zero"),l=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{includes:function(e){return l(s(o(this)),(function(t,r){if(a(r,e))return l.stop()}),void 0,!0,!0).stopped}})},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/same-value-zero":"/Users/f/pjs/dhive/node_modules/core-js/internals/same-value-zero.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-by.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/iterate"),o=e("../internals/a-function");n({target:"Map",stat:!0},{keyBy:function(e,t){var r=new this;o(t);var n=o(r.set);return i(e,(function(e){n.call(r,t(e),e)})),r}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-of.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/get-map-iterator"),a=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{keyOf:function(e){return a(s(o(this)),(function(t,r){if(r===e)return a.stop(t)}),void 0,!0,!0).result}})},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-keys.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/get-built-in"),s=e("../internals/an-object"),a=e("../internals/a-function"),l=e("../internals/function-bind-context"),d=e("../internals/species-constructor"),f=e("../internals/get-map-iterator"),c=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{mapKeys:function(e,t){var r=s(this),n=f(r),i=l(e,1<arguments.length?t:void 0,3),u=new(d(r,o("Map"))),h=a(u.set);return c(n,(function(e,t){h.call(u,i(t,e,r),t)}),void 0,!0,!0),u}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/species-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-values.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/get-built-in"),s=e("../internals/an-object"),a=e("../internals/a-function"),l=e("../internals/function-bind-context"),d=e("../internals/species-constructor"),f=e("../internals/get-map-iterator"),c=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{mapValues:function(e,t){var r=s(this),n=f(r),i=l(e,1<arguments.length?t:void 0,3),u=new(d(r,o("Map"))),h=a(u.set);return c(n,(function(e,t){h.call(u,e,i(t,e,r))}),void 0,!0,!0),u}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/species-constructor":"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.merge.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/a-function"),a=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{merge:function(e){for(var t=o(this),r=s(t.set),n=0;n<arguments.length;)a(arguments[n++],r,t,!0);return t}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.of.js":[function(e,t,r){e("../internals/export")({target:"Map",stat:!0},{of:e("../internals/collection-of")})},{"../internals/collection-of":"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-of.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.reduce.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/a-function"),a=e("../internals/get-map-iterator"),l=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{reduce:function(e,t){var r=o(this),n=a(r),i=arguments.length<2,d=i?void 0:t;if(s(e),l(n,(function(t,n){d=i?(i=!1,n):e(d,n,t,r)}),void 0,!0,!0),i)throw TypeError("Reduce of empty map with no initial value");return d}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.some.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/function-bind-context"),a=e("../internals/get-map-iterator"),l=e("../internals/iterate");n({target:"Map",proto:!0,real:!0,forced:i},{some:function(e,t){var r=o(this),n=a(r),i=s(e,1<arguments.length?t:void 0,3);return l(n,(function(e,t){if(i(t,e,r))return l.stop()}),void 0,!0,!0).stopped}})},{"../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/function-bind-context":"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js","../internals/get-map-iterator":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update-or-insert.js":[function(e,t,r){"use strict";e("../internals/export")({target:"Map",proto:!0,real:!0,forced:e("../internals/is-pure")},{updateOrInsert:e("../internals/map-upsert")})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/map-upsert":"/Users/f/pjs/dhive/node_modules/core-js/internals/map-upsert.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/is-pure"),o=e("../internals/an-object"),s=e("../internals/a-function");n({target:"Map",proto:!0,real:!0,forced:i},{update:function(e,t,r){var n=o(this),i=arguments.length;s(t);var a=n.has(e);if(!a&&i<3)throw TypeError("Updating absent value");var l=a?n.get(e):s(2<i?r:void 0)(e,n);return n.set(e,t(l,e,n)),n}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/an-object":"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.upsert.js":[function(e,t,r){"use strict";e("../internals/export")({target:"Map",proto:!0,real:!0,forced:e("../internals/is-pure")},{upsert:e("../internals/map-upsert")})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/is-pure":"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js","../internals/map-upsert":"/Users/f/pjs/dhive/node_modules/core-js/internals/map-upsert.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.number.from-string.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/to-integer"),o=e("../internals/number-parse-int"),s=/^[\da-z]+$/;n({target:"Number",stat:!0},{fromString:function(e,t){var r,n,a=1;if("string"!=typeof e)throw TypeError("Invalid number representation");if(!e.length)throw SyntaxError("Invalid number representation");if("-"==e.charAt(0)&&(a=-1,!(e=e.slice(1)).length))throw SyntaxError("Invalid number representation");if((r=void 0===t?10:i(t))<2||36<r)throw RangeError("Invalid radix");if(!s.test(e)||(n=o(e,r)).toString(r)!==e)throw SyntaxError("Invalid number representation");return a*n}})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/number-parse-int":"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-int.js","../internals/to-integer":"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.all-settled.js":[function(e,t,r){e("./es.promise.all-settled.js")},{"./es.promise.all-settled.js":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.all-settled.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.any.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/a-function"),o=e("../internals/get-built-in"),s=e("../internals/new-promise-capability"),a=e("../internals/perform"),l=e("../internals/iterate");n({target:"Promise",stat:!0},{any:function(e){var t=this,r=s.f(t),n=r.resolve,d=r.reject,f=a((function(){var r=i(t.resolve),s=[],a=0,f=1,c=!1;l(e,(function(e){var i=a++,l=!1;s.push(void 0),f++,r.call(t,e).then((function(e){l||c||(c=!0,n(e))}),(function(e){l||c||(l=!0,s[i]=e,--f||d(new(o("AggregateError"))(s,"No one promise resolved")))}))})),--f||d(new(o("AggregateError"))(s,"No one promise resolved"))}));return f.error&&d(f.value),r.promise}})},{"../internals/a-function":"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js","../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/get-built-in":"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js","../internals/iterate":"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js","../internals/new-promise-capability":"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js","../internals/perform":"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.try.js":[function(e,t,r){"use strict";var n=e("../internals/export"),i=e("../internals/new-promise-capability"),o=e("../internals/perform");n({target:"Promise",stat:!0},{try:function(e){var t=i.f(this),r=o(e);return(r.error?t.reject:t.resolve)(r.value),t.promise}})},{"../internals/export":"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js","../internals/new-promise-capability":"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js","../internals/perform":"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.async-dispose.js":[function(e,t,r){e("../internals/define-well-known-symbol")("asyncDispose")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.dispose.js":[function(e,t,r){e("../internals/define-well-known-symbol")("dispose")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.observable.js":[function(e,t,r){e("../internals/define-well-known-symbol")("observable")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.pattern-match.js":[function(e,t,r){e("../internals/define-well-known-symbol")("patternMatch")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.replace-all.js":[function(e,t,r){e("../internals/define-well-known-symbol")("replaceAll")},{"../internals/define-well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js"}],"/Users/f/pjs/dhive/node_modules/core-js/modules/web.dom-collections.iterator.js":[function(e,t,r){var n=e("../internals/global"),i=e("../internals/dom-iterables"),o=e("../modules/es.array.iterator"),s=e("../internals/create-non-enumerable-property"),a=e("../internals/well-known-symbol"),l=a("iterator"),d=a("toStringTag"),f=o.values;for(var c in i){var u=n[c],h=u&&u.prototype;if(h){if(h[l]!==f)try{s(h,l,f)}catch(e){h[l]=f}if(h[d]||s(h,d,c),i[c])for(var p in o)if(h[p]!==o[p])try{s(h,p,o[p])}catch(e){h[p]=o[p]}}}},{"../internals/create-non-enumerable-property":"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js","../internals/dom-iterables":"/Users/f/pjs/dhive/node_modules/core-js/internals/dom-iterables.js","../internals/global":"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js","../internals/well-known-symbol":"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js","../modules/es.array.iterator":"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.iterator.js"}],"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js":[function(e,t,r){(function(e){function t(e){return Object.prototype.toString.call(e)}r.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===t(e)},r.isBoolean=function(e){return"boolean"==typeof e},r.isNull=function(e){return null===e},r.isNullOrUndefined=function(e){return null==e},r.isNumber=function(e){return"number"==typeof e},r.isString=function(e){return"string"==typeof e},r.isSymbol=function(e){return"symbol"==typeof e},r.isUndefined=function(e){return void 0===e},r.isRegExp=function(e){return"[object RegExp]"===t(e)},r.isObject=function(e){return"object"==typeof e&&null!==e},r.isDate=function(e){return"[object Date]"===t(e)},r.isError=function(e){return"[object Error]"===t(e)||e instanceof Error},r.isFunction=function(e){return"function"==typeof e},r.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},r.isBuffer=e.isBuffer}).call(this,{isBuffer:e("../../is-buffer/index.js")})},{"../../is-buffer/index.js":"/Users/f/pjs/dhive/node_modules/is-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/create-ecdh/browser.js":[function(e,t,r){(function(r){var n=e("elliptic"),i=e("bn.js");t.exports=function(e){return new s(e)};var o={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function s(e){this.curveType=o[e],this.curveType||(this.curveType={name:e}),this.curve=new n.ec(this.curveType.name),this.keys=void 0}function a(e,t,n){Array.isArray(e)||(e=e.toArray());var i=new r(e);if(n&&i.length<n){var o=new r(n-i.length);o.fill(0),i=r.concat([o,i])}return t?i.toString(t):i}o.p224=o.secp224r1,o.p256=o.secp256r1=o.prime256v1,o.p192=o.secp192r1=o.prime192v1,o.p384=o.secp384r1,o.p521=o.secp521r1,s.prototype.generateKeys=function(e,t){return this.keys=this.curve.genKeyPair(),this.getPublicKey(e,t)},s.prototype.computeSecret=function(e,t,n){return t=t||"utf8",r.isBuffer(e)||(e=new r(e,t)),a(this.curve.keyFromPublic(e).getPublic().mul(this.keys.getPrivate()).getX(),n,this.curveType.byteLength)},s.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic("compressed"===t,!0);return"hybrid"===t&&(r[r.length-1]%2?r[0]=7:r[0]=6),a(r,e)},s.prototype.getPrivateKey=function(e){return a(this.keys.getPrivate(),e)},s.prototype.setPublicKey=function(e,t){return t=t||"utf8",r.isBuffer(e)||(e=new r(e,t)),this.keys._importPublic(e),this},s.prototype.setPrivateKey=function(e,t){t=t||"utf8",r.isBuffer(e)||(e=new r(e,t));var n=new i(e);return n=n.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(n),this}}).call(this,e("buffer").Buffer)},{"bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",elliptic:"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js"}],"/Users/f/pjs/dhive/node_modules/create-hash/browser.js":[function(e,t,r){"use strict";var n=e("inherits"),i=e("md5.js"),o=e("ripemd160"),s=e("sha.js"),a=e("cipher-base");function l(e){a.call(this,"digest"),this._hash=e}n(l,a),l.prototype._update=function(e){this._hash.update(e)},l.prototype._final=function(){return this._hash.digest()},t.exports=function(e){return"md5"===(e=e.toLowerCase())?new i:"rmd160"===e||"ripemd160"===e?new o:new l(s(e))}},{"cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","md5.js":"/Users/f/pjs/dhive/node_modules/md5.js/index.js",ripemd160:"/Users/f/pjs/dhive/node_modules/ripemd160/index.js","sha.js":"/Users/f/pjs/dhive/node_modules/sha.js/index.js"}],"/Users/f/pjs/dhive/node_modules/create-hash/md5.js":[function(e,t,r){var n=e("md5.js");t.exports=function(e){return(new n).update(e).digest()}},{"md5.js":"/Users/f/pjs/dhive/node_modules/md5.js/index.js"}],"/Users/f/pjs/dhive/node_modules/create-hmac/browser.js":[function(e,t,r){"use strict";var n=e("inherits"),i=e("./legacy"),o=e("cipher-base"),s=e("safe-buffer").Buffer,a=e("create-hash/md5"),l=e("ripemd160"),d=e("sha.js"),f=s.alloc(128);function c(e,t){o.call(this,"digest"),"string"==typeof t&&(t=s.from(t));var r="sha512"===e||"sha384"===e?128:64;this._alg=e,(this._key=t).length>r?t=("rmd160"===e?new l:d(e)).update(t).digest():t.length<r&&(t=s.concat([t,f],r));for(var n=this._ipad=s.allocUnsafe(r),i=this._opad=s.allocUnsafe(r),a=0;a<r;a++)n[a]=54^t[a],i[a]=92^t[a];this._hash="rmd160"===e?new l:d(e),this._hash.update(n)}n(c,o),c.prototype._update=function(e){this._hash.update(e)},c.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new l:d(this._alg)).update(this._opad).update(e).digest()},t.exports=function(e,t){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new c("rmd160",t):"md5"===e?new i(a,t):new c(e,t)}},{"./legacy":"/Users/f/pjs/dhive/node_modules/create-hmac/legacy.js","cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js","create-hash/md5":"/Users/f/pjs/dhive/node_modules/create-hash/md5.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js",ripemd160:"/Users/f/pjs/dhive/node_modules/ripemd160/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js","sha.js":"/Users/f/pjs/dhive/node_modules/sha.js/index.js"}],"/Users/f/pjs/dhive/node_modules/create-hmac/legacy.js":[function(e,t,r){"use strict";var n=e("inherits"),i=e("safe-buffer").Buffer,o=e("cipher-base"),s=i.alloc(128);function a(e,t){o.call(this,"digest"),"string"==typeof t&&(t=i.from(t)),this._alg=e,64<(this._key=t).length?t=e(t):t.length<64&&(t=i.concat([t,s],64));for(var r=this._ipad=i.allocUnsafe(64),n=this._opad=i.allocUnsafe(64),a=0;a<64;a++)r[a]=54^t[a],n[a]=92^t[a];this._hash=[r]}n(a,o),a.prototype._update=function(e){this._hash.push(e)},a.prototype._final=function(){var e=this._alg(i.concat(this._hash));return this._alg(i.concat([this._opad,e]))},t.exports=a},{"cipher-base":"/Users/f/pjs/dhive/node_modules/cipher-base/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/cross-fetch/dist/browser-ponyfill.js":[function(e,t,r){var n,i=(n="undefined"!=typeof self?self:this,o.prototype=n,new o);function o(){this.fetch=!1,this.DOMException=n.DOMException}!function(e){!function(t){var r="URLSearchParams"in e,n="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),o="FormData"in e,s="ArrayBuffer"in e;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&-1<a.indexOf(Object.prototype.toString.call(e))};function d(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function f(e){return"string"!=typeof e&&(e=String(e)),e}function c(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function u(e){this.map={},e instanceof u?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function m(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function b(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(e){(this._bodyInit=e)?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:o&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():s&&i&&e&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=b(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=b(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(m)}),this.text=function(){var e,t,r,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=p(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(j)}),this.json=function(){return this.text().then(JSON.parse)},this}u.prototype.append=function(e,t){e=d(e),t=f(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},u.prototype.delete=function(e){delete this.map[d(e)]},u.prototype.get=function(e){return e=d(e),this.has(e)?this.map[e]:null},u.prototype.has=function(e){return this.map.hasOwnProperty(d(e))},u.prototype.set=function(e,t){this.map[d(e)]=f(t)},u.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},u.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),c(e)},u.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),c(e)},u.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),c(e)},n&&(u.prototype[Symbol.iterator]=u.prototype.entries);var v=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function y(e,t){var r,n,i=(t=t||{}).body;if(e instanceof y){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new u(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,i||null==e._bodyInit||(i=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new u(t.headers)),this.method=(n=(r=t.method||this.method||"GET").toUpperCase(),-1<v.indexOf(n)?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function j(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function _(e,t){t=t||{},this.type="default",this.status=void 0===t.status?200:t.status,this.ok=200<=this.status&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new u(t.headers),this.url=t.url||"",this._initBody(e)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},g.call(y.prototype),g.call(_.prototype),_.prototype.clone=function(){return new _(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new u(this.headers),url:this.url})},_.error=function(){var e=new _(null,{status:0,statusText:""});return e.type="error",e};var w=[301,302,303,307,308];_.redirect=function(e,t){if(-1===w.indexOf(t))throw new RangeError("Invalid status code");return new _(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function x(e,r){return new Promise((function(n,o){var s=new y(e,r);if(s.signal&&s.signal.aborted)return o(new t.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new u,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var i="response"in a?a.response:a.responseText;n(new _(i,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new t.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),s.headers.forEach((function(e,t){a.setRequestHeader(t,e)})),s.signal&&(s.signal.addEventListener("abort",l),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",l)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}x.polyfill=!0,e.fetch||(e.fetch=x,e.Headers=u,e.Request=y,e.Response=_),t.Headers=u,t.Request=y,t.Response=_,t.fetch=x}({})}(i),delete i.fetch.polyfill,(r=i.fetch).default=i.fetch,r.fetch=i.fetch,r.Headers=i.Headers,r.Request=i.Request,r.Response=i.Response,t.exports=r},{}],"/Users/f/pjs/dhive/node_modules/crypto-browserify/index.js":[function(e,t,r){"use strict";r.randomBytes=r.rng=r.pseudoRandomBytes=r.prng=e("randombytes"),r.createHash=r.Hash=e("create-hash"),r.createHmac=r.Hmac=e("create-hmac");var n=e("browserify-sign/algos"),i=Object.keys(n),o=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(i);r.getHashes=function(){return o};var s=e("pbkdf2");r.pbkdf2=s.pbkdf2,r.pbkdf2Sync=s.pbkdf2Sync;var a=e("browserify-cipher");r.Cipher=a.Cipher,r.createCipher=a.createCipher,r.Cipheriv=a.Cipheriv,r.createCipheriv=a.createCipheriv,r.Decipher=a.Decipher,r.createDecipher=a.createDecipher,r.Decipheriv=a.Decipheriv,r.createDecipheriv=a.createDecipheriv,r.getCiphers=a.getCiphers,r.listCiphers=a.listCiphers;var l=e("diffie-hellman");r.DiffieHellmanGroup=l.DiffieHellmanGroup,r.createDiffieHellmanGroup=l.createDiffieHellmanGroup,r.getDiffieHellman=l.getDiffieHellman,r.createDiffieHellman=l.createDiffieHellman,r.DiffieHellman=l.DiffieHellman;var d=e("browserify-sign");r.createSign=d.createSign,r.Sign=d.Sign,r.createVerify=d.createVerify,r.Verify=d.Verify,r.createECDH=e("create-ecdh");var f=e("public-encrypt");r.publicEncrypt=f.publicEncrypt,r.privateEncrypt=f.privateEncrypt,r.publicDecrypt=f.publicDecrypt,r.privateDecrypt=f.privateDecrypt;var c=e("randomfill");r.randomFill=c.randomFill,r.randomFillSync=c.randomFillSync,r.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},r.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},{"browserify-cipher":"/Users/f/pjs/dhive/node_modules/browserify-cipher/browser.js","browserify-sign":"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/index.js","browserify-sign/algos":"/Users/f/pjs/dhive/node_modules/browserify-sign/algos.js","create-ecdh":"/Users/f/pjs/dhive/node_modules/create-ecdh/browser.js","create-hash":"/Users/f/pjs/dhive/node_modules/create-hash/browser.js","create-hmac":"/Users/f/pjs/dhive/node_modules/create-hmac/browser.js","diffie-hellman":"/Users/f/pjs/dhive/node_modules/diffie-hellman/browser.js",pbkdf2:"/Users/f/pjs/dhive/node_modules/pbkdf2/browser.js","public-encrypt":"/Users/f/pjs/dhive/node_modules/public-encrypt/browser.js",randombytes:"/Users/f/pjs/dhive/node_modules/randombytes/browser.js",randomfill:"/Users/f/pjs/dhive/node_modules/randomfill/browser.js"}],"/Users/f/pjs/dhive/node_modules/des.js/lib/des.js":[function(e,t,r){"use strict";r.utils=e("./des/utils"),r.Cipher=e("./des/cipher"),r.DES=e("./des/des"),r.CBC=e("./des/cbc"),r.EDE=e("./des/ede")},{"./des/cbc":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cbc.js","./des/cipher":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js","./des/des":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/des.js","./des/ede":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/ede.js","./des/utils":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/utils.js"}],"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cbc.js":[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits"),o={};function s(e){n.equal(e.length,8,"Invalid IV length"),this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}r.instantiate=function(e){function t(t){e.call(this,t),this._cbcInit()}i(t,e);for(var r=Object.keys(o),n=0;n<r.length;n++){var s=r[n];t.prototype[s]=o[s]}return t.create=function(e){return new t(e)},t},o._cbcInit=function(){var e=new s(this.options.iv);this._cbcState=e},o._update=function(e,t,r,n){var i=this._cbcState,o=this.constructor.super_.prototype,s=i.iv;if("encrypt"===this.type){for(var a=0;a<this.blockSize;a++)s[a]^=e[t+a];for(o._update.call(this,s,0,r,n),a=0;a<this.blockSize;a++)s[a]=r[n+a]}else{for(o._update.call(this,e,t,r,n),a=0;a<this.blockSize;a++)r[n+a]^=s[a];for(a=0;a<this.blockSize;a++)s[a]=e[t+a]}}},{inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js":[function(e,t,r){"use strict";var n=e("minimalistic-assert");function i(e){this.options=e,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}(t.exports=i).prototype._init=function(){},i.prototype.update=function(e){return 0===e.length?[]:"decrypt"===this.type?this._updateDecrypt(e):this._updateEncrypt(e)},i.prototype._buffer=function(e,t){for(var r=Math.min(this.buffer.length-this.bufferOff,e.length-t),n=0;n<r;n++)this.buffer[this.bufferOff+n]=e[t+n];return this.bufferOff+=r,r},i.prototype._flushBuffer=function(e,t){return this._update(this.buffer,0,e,t),this.bufferOff=0,this.blockSize},i.prototype._updateEncrypt=function(e){var t=0,r=0,n=(this.bufferOff+e.length)/this.blockSize|0,i=new Array(n*this.blockSize);0!==this.bufferOff&&(t+=this._buffer(e,t),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(i,r)));for(var o=e.length-(e.length-t)%this.blockSize;t<o;t+=this.blockSize)this._update(e,t,i,r),r+=this.blockSize;for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return i},i.prototype._updateDecrypt=function(e){for(var t=0,r=0,n=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1,i=new Array(n*this.blockSize);0<n;n--)t+=this._buffer(e,t),r+=this._flushBuffer(i,r);return t+=this._buffer(e,t),i},i.prototype.final=function(e){var t,r;return e&&(t=this.update(e)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),t?t.concat(r):r},i.prototype._pad=function(e,t){if(0===t)return!1;for(;t<e.length;)e[t++]=0;return!0},i.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);return this._update(this.buffer,0,e,0),e},i.prototype._unpad=function(e){return e},i.prototype._finalDecrypt=function(){n.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var e=new Array(this.blockSize);return this._flushBuffer(e,0),this._unpad(e)}},{"minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/des.js/lib/des/des.js":[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits"),o=e("./utils"),s=e("./cipher");function a(){this.tmp=new Array(2),this.keys=null}function l(e){s.call(this,e);var t=new a;this._desState=t,this.deriveKeys(t,e.key)}i(l,s),(t.exports=l).create=function(e){return new l(e)};var d=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];l.prototype.deriveKeys=function(e,t){e.keys=new Array(32),n.equal(t.length,this.blockSize,"Invalid key length");var r=o.readUInt32BE(t,0),i=o.readUInt32BE(t,4);o.pc1(r,i,e.tmp,0),r=e.tmp[0],i=e.tmp[1];for(var s=0;s<e.keys.length;s+=2){var a=d[s>>>1];r=o.r28shl(r,a),i=o.r28shl(i,a),o.pc2(r,i,e.keys,s)}},l.prototype._update=function(e,t,r,n){var i=this._desState,s=o.readUInt32BE(e,t),a=o.readUInt32BE(e,t+4);o.ip(s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],"encrypt"===this.type?this._encrypt(i,s,a,i.tmp,0):this._decrypt(i,s,a,i.tmp,0),s=i.tmp[0],a=i.tmp[1],o.writeUInt32BE(r,s,n),o.writeUInt32BE(r,a,n+4)},l.prototype._pad=function(e,t){for(var r=e.length-t,n=t;n<e.length;n++)e[n]=r;return!0},l.prototype._unpad=function(e){for(var t=e[e.length-1],r=e.length-t;r<e.length;r++)n.equal(e[r],t);return e.slice(0,e.length-t)},l.prototype._encrypt=function(e,t,r,n,i){for(var s=t,a=r,l=0;l<e.keys.length;l+=2){var d=e.keys[l],f=e.keys[l+1];o.expand(a,e.tmp,0),d^=e.tmp[0],f^=e.tmp[1];var c=o.substitute(d,f),u=a;a=(s^o.permute(c))>>>0,s=u}o.rip(a,s,n,i)},l.prototype._decrypt=function(e,t,r,n,i){for(var s=r,a=t,l=e.keys.length-2;0<=l;l-=2){var d=e.keys[l],f=e.keys[l+1];o.expand(s,e.tmp,0),d^=e.tmp[0],f^=e.tmp[1];var c=o.substitute(d,f),u=s;s=(a^o.permute(c))>>>0,a=u}o.rip(s,a,n,i)}},{"./cipher":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js","./utils":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/utils.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/des.js/lib/des/ede.js":[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits"),o=e("./cipher"),s=e("./des");function a(e,t){n.equal(t.length,24,"Invalid key length");var r=t.slice(0,8),i=t.slice(8,16),o=t.slice(16,24);this.ciphers="encrypt"===e?[s.create({type:"encrypt",key:r}),s.create({type:"decrypt",key:i}),s.create({type:"encrypt",key:o})]:[s.create({type:"decrypt",key:o}),s.create({type:"encrypt",key:i}),s.create({type:"decrypt",key:r})]}function l(e){o.call(this,e);var t=new a(this.type,this.options.key);this._edeState=t}i(l,o),(t.exports=l).create=function(e){return new l(e)},l.prototype._update=function(e,t,r,n){var i=this._edeState;i.ciphers[0]._update(e,t,r,n),i.ciphers[1]._update(r,n,r,n),i.ciphers[2]._update(r,n,r,n)},l.prototype._pad=s.prototype._pad,l.prototype._unpad=s.prototype._unpad},{"./cipher":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js","./des":"/Users/f/pjs/dhive/node_modules/des.js/lib/des/des.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/des.js/lib/des/utils.js":[function(e,t,r){"use strict";r.readUInt32BE=function(e,t){return(e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t])>>>0},r.writeUInt32BE=function(e,t,r){e[0+r]=t>>>24,e[1+r]=t>>>16&255,e[2+r]=t>>>8&255,e[3+r]=255&t},r.ip=function(e,t,r,n){for(var i=0,o=0,s=6;0<=s;s-=2){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>>a+s&1}for(s=6;0<=s;s-=2){for(a=1;a<=25;a+=8)o<<=1,o|=t>>>a+s&1;for(a=1;a<=25;a+=8)o<<=1,o|=e>>>a+s&1}r[n+0]=i>>>0,r[n+1]=o>>>0},r.rip=function(e,t,r,n){for(var i=0,o=0,s=0;s<4;s++)for(var a=24;0<=a;a-=8)i<<=1,i|=t>>>a+s&1,i<<=1,i|=e>>>a+s&1;for(s=4;s<8;s++)for(a=24;0<=a;a-=8)o<<=1,o|=t>>>a+s&1,o<<=1,o|=e>>>a+s&1;r[n+0]=i>>>0,r[n+1]=o>>>0},r.pc1=function(e,t,r,n){for(var i=0,o=0,s=7;5<=s;s--){for(var a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(a=0;a<=24;a+=8)i<<=1,i|=e>>a+s&1}for(a=0;a<=24;a+=8)i<<=1,i|=t>>a+s&1;for(s=1;s<=3;s++){for(a=0;a<=24;a+=8)o<<=1,o|=t>>a+s&1;for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1}for(a=0;a<=24;a+=8)o<<=1,o|=e>>a+s&1;r[n+0]=i>>>0,r[n+1]=o>>>0},r.r28shl=function(e,t){return e<<t&268435455|e>>>28-t};var n=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];r.pc2=function(e,t,r,i){for(var o=0,s=0,a=n.length>>>1,l=0;l<a;l++)o<<=1,o|=e>>>n[l]&1;for(l=a;l<n.length;l++)s<<=1,s|=t>>>n[l]&1;r[i+0]=o>>>0,r[i+1]=s>>>0},r.expand=function(e,t,r){var n=0,i=0;n=(1&e)<<5|e>>>27;for(var o=23;15<=o;o-=4)n<<=6,n|=e>>>o&63;for(o=11;3<=o;o-=4)i|=e>>>o&63,i<<=6;i|=(31&e)<<1|e>>>31,t[r+0]=n>>>0,t[r+1]=i>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];r.substitute=function(e,t){for(var r=0,n=0;n<4;n++)r<<=4,r|=i[64*n+(e>>>18-6*n&63)];for(n=0;n<4;n++)r<<=4,r|=i[256+64*n+(t>>>18-6*n&63)];return r>>>0};var o=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];r.permute=function(e){for(var t=0,r=0;r<o.length;r++)t<<=1,t|=e>>>o[r]&1;return t>>>0},r.padSplit=function(e,t,r){for(var n=e.toString(2);n.length<t;)n="0"+n;for(var i=[],o=0;o<t;o+=r)i.push(n.slice(o,o+r));return i.join(" ")}},{}],"/Users/f/pjs/dhive/node_modules/diffie-hellman/browser.js":[function(e,t,r){(function(t){var n=e("./lib/generatePrime"),i=e("./lib/primes.json"),o=e("./lib/dh"),s={binary:!0,hex:!0,base64:!0};r.DiffieHellmanGroup=r.createDiffieHellmanGroup=r.getDiffieHellman=function(e){var r=new t(i[e].prime,"hex"),n=new t(i[e].gen,"hex");return new o(r,n)},r.createDiffieHellman=r.DiffieHellman=function e(r,i,a,l){return t.isBuffer(i)||void 0===s[i]?e(r,"binary",i,a):(i=i||"binary",l=l||"binary",a=a||new t([2]),t.isBuffer(a)||(a=new t(a,l)),"number"==typeof r?new o(n(r,a),a,!0):(t.isBuffer(r)||(r=new t(r,i)),new o(r,a,!0)))}}).call(this,e("buffer").Buffer)},{"./lib/dh":"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/dh.js","./lib/generatePrime":"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/generatePrime.js","./lib/primes.json":"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/primes.json",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/dh.js":[function(e,t,r){(function(r){var n=e("bn.js"),i=new(e("miller-rabin")),o=new n(24),s=new n(11),a=new n(10),l=new n(3),d=new n(7),f=e("./generatePrime"),c=e("randombytes");function u(e,t){return t=t||"utf8",r.isBuffer(e)||(e=new r(e,t)),this._pub=new n(e),this}function h(e,t){return t=t||"utf8",r.isBuffer(e)||(e=new r(e,t)),this._priv=new n(e),this}t.exports=m;var p={};function m(e,t,r){this.setGenerator(t),this.__prime=new n(e),this._prime=n.mont(this.__prime),this._primeLen=e.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=u,this.setPrivateKey=h):this._primeCode=8}function b(e,t){var n=new r(e.toArray());return t?n.toString(t):n}Object.defineProperty(m.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(e,t){var r=t.toString("hex"),n=[r,e.toString(16)].join("_");if(n in p)return p[n];var c,u=0;if(e.isEven()||!f.simpleSieve||!f.fermatTest(e)||!i.test(e))return u+=1,u+="02"===r||"05"===r?8:4,p[n]=u;switch(i.test(e.shrn(1))||(u+=2),r){case"02":e.mod(o).cmp(s)&&(u+=8);break;case"05":(c=e.mod(a)).cmp(l)&&c.cmp(d)&&(u+=8);break;default:u+=4}return p[n]=u}(this.__prime,this.__gen)),this._primeCode}}),m.prototype.generateKeys=function(){return this._priv||(this._priv=new n(c(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},m.prototype.computeSecret=function(e){var t=(e=(e=new n(e)).toRed(this._prime)).redPow(this._priv).fromRed(),i=new r(t.toArray()),o=this.getPrime();if(i.length<o.length){var s=new r(o.length-i.length);s.fill(0),i=r.concat([s,i])}return i},m.prototype.getPublicKey=function(e){return b(this._pub,e)},m.prototype.getPrivateKey=function(e){return b(this._priv,e)},m.prototype.getPrime=function(e){return b(this.__prime,e)},m.prototype.getGenerator=function(e){return b(this._gen,e)},m.prototype.setGenerator=function(e,t){return t=t||"utf8",r.isBuffer(e)||(e=new r(e,t)),this.__gen=e,this._gen=new n(e),this}}).call(this,e("buffer").Buffer)},{"./generatePrime":"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/generatePrime.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js","miller-rabin":"/Users/f/pjs/dhive/node_modules/miller-rabin/lib/mr.js",randombytes:"/Users/f/pjs/dhive/node_modules/randombytes/browser.js"}],"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/generatePrime.js":[function(e,t,r){var n=e("randombytes");(t.exports=v).simpleSieve=b,v.fermatTest=g;var i=e("bn.js"),o=new i(24),s=new(e("miller-rabin")),a=new i(1),l=new i(2),d=new i(5),f=(new i(16),new i(8),new i(10)),c=new i(3),u=(new i(7),new i(11)),h=new i(4),p=(new i(12),null);function m(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,r=3;r<1048576;r+=2){for(var n=Math.ceil(Math.sqrt(r)),i=0;i<t&&e[i]<=n&&r%e[i]!=0;i++);t!==i&&e[i]<=n||(e[t++]=r)}return p=e}function b(e){for(var t=m(),r=0;r<t.length;r++)if(0===e.modn(t[r]))return 0===e.cmpn(t[r]);return!0}function g(e){var t=i.mont(e);return 0===l.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function v(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var r,p;for(t=new i(t);;){for(r=new i(n(Math.ceil(e/8)));r.bitLength()>e;)r.ishrn(1);if(r.isEven()&&r.iadd(a),r.testn(1)||r.iadd(l),t.cmp(l)){if(!t.cmp(d))for(;r.mod(f).cmp(c);)r.iadd(h)}else for(;r.mod(o).cmp(u);)r.iadd(h);if(b(p=r.shrn(1))&&b(r)&&g(p)&&g(r)&&s.test(p)&&s.test(r))return r}}},{"bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","miller-rabin":"/Users/f/pjs/dhive/node_modules/miller-rabin/lib/mr.js",randombytes:"/Users/f/pjs/dhive/node_modules/randombytes/browser.js"}],"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/primes.json":[function(e,t,r){t.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}},{}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js":[function(e,t,r){"use strict";var n=r;n.version=e("../package.json").version,n.utils=e("./elliptic/utils"),n.rand=e("brorand"),n.curve=e("./elliptic/curve"),n.curves=e("./elliptic/curves"),n.ec=e("./elliptic/ec"),n.eddsa=e("./elliptic/eddsa")},{"../package.json":"/Users/f/pjs/dhive/node_modules/elliptic/package.json","./elliptic/curve":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/index.js","./elliptic/curves":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js","./elliptic/ec":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/index.js","./elliptic/eddsa":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/index.js","./elliptic/utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js",brorand:"/Users/f/pjs/dhive/node_modules/brorand/index.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js":[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.getNAF,s=i.getJSF,a=i.assert;function l(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||0<r.cmpn(100)?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function d(e,t){this.curve=e,this.type=t,this.precomputed=null}(t.exports=l).prototype.point=function(){throw new Error("Not implemented")},l.prototype.validate=function(){throw new Error("Not implemented")},l.prototype._fixedNafMul=function(e,t){a(e.precomputed);var r=e._getDoubles(),n=o(t,1,this._bitLength),i=(1<<r.step+1)-(r.step%2==0?2:1);i/=3;for(var s=[],l=0;l<n.length;l+=r.step){var d=0;for(t=l+r.step-1;l<=t;t--)d=(d<<1)+n[t];s.push(d)}for(var f=this.jpoint(null,null,null),c=this.jpoint(null,null,null),u=i;0<u;u--){for(l=0;l<s.length;l++)(d=s[l])===u?c=c.mixedAdd(r.points[l]):d===-u&&(c=c.mixedAdd(r.points[l].neg()));f=f.add(c)}return f.toP()},l.prototype._wnafMul=function(e,t){var r=4,n=e._getNAFPoints(r);r=n.wnd;for(var i=n.points,s=o(t,r,this._bitLength),l=this.jpoint(null,null,null),d=s.length-1;0<=d;d--){for(t=0;0<=d&&0===s[d];d--)t++;if(0<=d&&t++,l=l.dblp(t),d<0)break;var f=s[d];a(0!==f),l="affine"===e.type?0<f?l.mixedAdd(i[f-1>>1]):l.mixedAdd(i[-f-1>>1].neg()):0<f?l.add(i[f-1>>1]):l.add(i[-f-1>>1].neg())}return"affine"===e.type?l.toP():l},l.prototype._wnafMulAdd=function(e,t,r,n,i){for(var a=this._wnafT1,l=this._wnafT2,d=this._wnafT3,f=0,c=0;c<n;c++){var u=(U=t[c])._getNAFPoints(e);a[c]=u.wnd,l[c]=u.points}for(c=n-1;1<=c;c-=2){var h=c-1,p=c;if(1===a[h]&&1===a[p]){var m=[t[h],null,null,t[p]];0===t[h].y.cmp(t[p].y)?(m[1]=t[h].add(t[p]),m[2]=t[h].toJ().mixedAdd(t[p].neg())):0===t[h].y.cmp(t[p].y.redNeg())?(m[1]=t[h].toJ().mixedAdd(t[p]),m[2]=t[h].add(t[p].neg())):(m[1]=t[h].toJ().mixedAdd(t[p]),m[2]=t[h].toJ().mixedAdd(t[p].neg()));var b=[-3,-1,-5,-7,0,7,5,1,3],g=s(r[h],r[p]);f=Math.max(g[0].length,f),d[h]=new Array(f),d[p]=new Array(f);for(var v=0;v<f;v++){var y=0|g[0][v],j=0|g[1][v];d[h][v]=b[3*(1+y)+(1+j)],d[p][v]=0,l[h]=m}}else d[h]=o(r[h],a[h],this._bitLength),d[p]=o(r[p],a[p],this._bitLength),f=Math.max(d[h].length,f),f=Math.max(d[p].length,f)}var _=this.jpoint(null,null,null),w=this._wnafT4;for(c=f;0<=c;c--){for(var x=0;0<=c;){var k=!0;for(v=0;v<n;v++)w[v]=0|d[v][c],0!==w[v]&&(k=!1);if(!k)break;x++,c--}if(0<=c&&x++,_=_.dblp(x),c<0)break;for(v=0;v<n;v++){var U,E=w[v];0!==E&&(0<E?U=l[v][E-1>>1]:E<0&&(U=l[v][-E-1>>1].neg()),_="affine"===U.type?_.mixedAdd(U):_.add(U))}}for(c=0;c<n;c++)l[c]=null;return i?_:_.toP()},(l.BasePoint=d).prototype.eq=function(){throw new Error("Not implemented")},d.prototype.validate=function(){return this.curve.validate(this)},l.prototype.decodePoint=function(e,t){e=i.toArray(e,t);var r=this.p.byteLength();if((4===e[0]||6===e[0]||7===e[0])&&e.length-1==2*r)return 6===e[0]?a(e[e.length-1]%2==0):7===e[0]&&a(e[e.length-1]%2==1),this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));if((2===e[0]||3===e[0])&&e.length-1===r)return this.pointFromX(e.slice(1,1+r),3===e[0]);throw new Error("Unknown point format")},d.prototype.encodeCompressed=function(e){return this.encode(e,!0)},d.prototype._encode=function(e){var t=this.curve.p.byteLength(),r=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",t))},d.prototype.encode=function(e,t){return i.encode(this._encode(t),e)},d.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},d.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return!!t&&t.points.length>=Math.ceil((e.bitLength()+1)/t.step)},d.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i<t;i+=e){for(var o=0;o<e;o++)n=n.dbl();r.push(n)}return{step:e,points:r}},d.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],r=(1<<e)-1,n=1==r?null:this.dbl(),i=1;i<r;i++)t[i]=t[i-1].add(n);return{wnd:e,points:t}},d.prototype._getBeta=function(){return null},d.prototype.dblp=function(e){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/edwards.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("bn.js"),o=e("inherits"),s=e("./base"),a=n.assert;function l(e){this.twisted=1!=(0|e.a),this.mOneA=this.twisted&&-1==(0|e.a),this.extended=this.mOneA,s.call(this,"edwards",e),this.a=new i(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),a(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|e.c)}function d(e,t,r,n,o){s.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===n?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new i(t,16),this.y=new i(r,16),this.z=n?new i(n,16):this.curve.one,this.t=o&&new i(o,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}o(l,s),(t.exports=l).prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},l.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},l.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},l.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=this.c2.redSub(this.a.redMul(r)),o=this.one.redSub(this.c2.redMul(this.d).redMul(r)),s=n.redMul(o.redInvm()),a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");var l=a.fromRed().isOdd();return(t&&!l||!t&&l)&&(a=a.redNeg()),this.point(e,a)},l.prototype.pointFromY=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),n=r.redSub(this.c2),o=r.redMul(this.d).redMul(this.c2).redSub(this.a),s=n.redMul(o.redInvm());if(0===s.cmp(this.zero)){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var a=s.redSqrt();if(0!==a.redSqr().redSub(s).cmp(this.zero))throw new Error("invalid point");return a.fromRed().isOdd()!==t&&(a=a.redNeg()),this.point(a,e)},l.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},o(d,s.BasePoint),l.prototype.pointFromJSON=function(e){return d.fromJSON(this,e)},l.prototype.point=function(e,t,r,n){return new d(this,e,t,r,n)},d.fromJSON=function(e,t){return new d(e,t[0],t[1],t[2])},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},d.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),o=n.redAdd(t),s=o.redSub(r),a=n.redSub(t),l=i.redMul(s),d=o.redMul(a),f=i.redMul(a),c=s.redMul(o);return this.curve.point(l,d,c,f)},d.prototype._projDbl=function(){var e,t,r,n=this.x.redAdd(this.y).redSqr(),i=this.x.redSqr(),o=this.y.redSqr();if(this.curve.twisted){var s=(d=this.curve._mulA(i)).redAdd(o);if(this.zOne)e=n.redSub(i).redSub(o).redMul(s.redSub(this.curve.two)),t=s.redMul(d.redSub(o)),r=s.redSqr().redSub(s).redSub(s);else{var a=this.z.redSqr(),l=s.redSub(a).redISub(a);e=n.redSub(i).redISub(o).redMul(l),t=s.redMul(d.redSub(o)),r=s.redMul(l)}}else{var d=i.redAdd(o);a=this.curve._mulC(this.z).redSqr(),l=d.redSub(a).redSub(a),e=this.curve._mulC(n.redISub(d)).redMul(l),t=this.curve._mulC(d).redMul(i.redISub(o)),r=d.redMul(l)}return this.curve.point(e,t,r)},d.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},d.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),o=r.redSub(t),s=i.redSub(n),a=i.redAdd(n),l=r.redAdd(t),d=o.redMul(s),f=a.redMul(l),c=o.redMul(l),u=s.redMul(a);return this.curve.point(d,f,u,c)},d.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),o=this.x.redMul(e.x),s=this.y.redMul(e.y),a=this.curve.d.redMul(o).redMul(s),l=i.redSub(a),d=i.redAdd(a),f=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(o).redISub(s),c=n.redMul(l).redMul(f);return r=this.curve.twisted?(t=n.redMul(d).redMul(s.redSub(this.curve._mulA(o))),l.redMul(d)):(t=n.redMul(d).redMul(s.redSub(o)),this.curve._mulC(l).redMul(d)),this.curve.point(c,t,r)},d.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},d.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},d.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},d.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},d.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},d.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},d.prototype.getX=function(){return this.normalize(),this.x.fromRed()},d.prototype.getY=function(){return this.normalize(),this.y.fromRed()},d.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},d.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),0<=r.cmp(this.curve.p))return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},d.prototype.toP=d.prototype.normalize,d.prototype.mixedAdd=d.prototype.add},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","./base":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/index.js":[function(e,t,r){"use strict";var n=r;n.base=e("./base"),n.short=e("./short"),n.mont=e("./mont"),n.edwards=e("./edwards")},{"./base":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js","./edwards":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/edwards.js","./mont":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/mont.js","./short":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/short.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/mont.js":[function(e,t,r){"use strict";var n=e("bn.js"),i=e("inherits"),o=e("./base"),s=e("../utils");function a(e){o.call(this,"mont",e),this.a=new n(e.a,16).toRed(this.red),this.b=new n(e.b,16).toRed(this.red),this.i4=new n(4).toRed(this.red).redInvm(),this.two=new n(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function l(e,t,r){o.BasePoint.call(this,e,"projective"),null===t&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new n(t,16),this.z=new n(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}i(a,o),(t.exports=a).prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},i(l,o.BasePoint),a.prototype.decodePoint=function(e,t){return this.point(s.toArray(e,t),1)},a.prototype.point=function(e,t){return new l(this,e,t)},a.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},l.prototype.precompute=function(){},l.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},l.fromJSON=function(e,t){return new l(e,t[0],t[1]||e.one)},l.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},l.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},l.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),o=e.x.redSub(e.z).redMul(r),s=i.redMul(n),a=t.z.redMul(o.redAdd(s).redSqr()),l=t.x.redMul(o.redISub(s).redSqr());return this.curve.point(a,l)},l.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var o=i.length-1;0<=o;o--)0===i[o]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},l.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},l.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},l.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","./base":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/short.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("bn.js"),o=e("inherits"),s=e("./base"),a=n.assert;function l(e){s.call(this,"short",e),this.a=new i(e.a,16).toRed(this.red),this.b=new i(e.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(e),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function d(e,t,r,n){s.BasePoint.call(this,e,"affine"),null===t&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new i(t,16),this.y=new i(r,16),n&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function f(e,t,r,n){s.BasePoint.call(this,e,"jacobian"),null===t&&null===r&&null===n?(this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0)):(this.x=new i(t,16),this.y=new i(r,16),this.z=new i(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}o(l,s),(t.exports=l).prototype._getEndomorphism=function(e){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var t,r;if(e.beta)t=new i(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=(t=n[0].cmp(n[1])<0?n[0]:n[1]).toRed(this.red)}if(e.lambda)r=new i(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(t))?r=o[0]:(r=o[1],a(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return{beta:t,lambda:r,basis:e.basis?e.basis.map((function(e){return{a:new i(e.a,16),b:new i(e.b,16)}})):this._getEndoBasis(r)}}},l.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:i.mont(e),r=new i(2).toRed(t).redInvm(),n=r.redNeg(),o=new i(3).toRed(t).redNeg().redSqrt().redMul(r);return[n.redAdd(o).fromRed(),n.redSub(o).fromRed()]},l.prototype._getEndoBasis=function(e){for(var t,r,n,o,s,a,l,d,f,c=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=e,h=this.n.clone(),p=new i(1),m=new i(0),b=new i(0),g=new i(1),v=0;0!==u.cmpn(0);){var y=h.div(u);d=h.sub(y.mul(u)),f=b.sub(y.mul(p));var j=g.sub(y.mul(m));if(!n&&d.cmp(c)<0)t=l.neg(),r=p,n=d.neg(),o=f;else if(n&&2==++v)break;h=u,u=l=d,b=p,p=f,g=m,m=j}s=d.neg(),a=f;var _=n.sqr().add(o.sqr());return 0<=s.sqr().add(a.sqr()).cmp(_)&&(s=t,a=r),n.negative&&(n=n.neg(),o=o.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:o},{a:s,b:a}]},l.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),l=i.mul(r.b),d=o.mul(n.b);return{k1:e.sub(s).sub(a),k2:l.add(d).neg()}},l.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},l.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},l.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o<e.length;o++){var s=this._endoSplit(t[o]),a=e[o],l=a._getBeta();s.k1.negative&&(s.k1.ineg(),a=a.neg(!0)),s.k2.negative&&(s.k2.ineg(),l=l.neg(!0)),n[2*o]=a,n[2*o+1]=l,i[2*o]=s.k1,i[2*o+1]=s.k2}for(var d=this._wnafMulAdd(1,n,i,2*o,r),f=0;f<2*o;f++)n[f]=null,i[f]=null;return d},o(d,s.BasePoint),l.prototype.point=function(e,t,r){return new d(this,e,t,r)},l.prototype.pointFromJSON=function(e,t){return d.fromJSON(this,e,t)},d.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve,n=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};(e.beta=t).precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},d.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},d.fromJSON=function(e,t,r){"string"==typeof t&&(t=JSON.parse(t));var n=e.point(t[0],t[1],r);if(!t[2])return n;function i(t){return e.point(t[0],t[1],r)}var o=t[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(i))}},n},d.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},d.prototype.isInfinity=function(){return this.inf},d.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},d.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},d.prototype.getX=function(){return this.x.fromRed()},d.prototype.getY=function(){return this.y.fromRed()},d.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},d.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},d.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},d.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},d.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},d.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},o(f,s.BasePoint),l.prototype.jpoint=function(e,t,r){return new f(this,e,t,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),a=n.redSub(i),l=o.redSub(s);if(0===a.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var d=a.redSqr(),f=d.redMul(a),c=n.redMul(d),u=l.redSqr().redIAdd(f).redISub(c).redISub(c),h=l.redMul(c.redISub(u)).redISub(o.redMul(f)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(u,h,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=s.redSqr(),d=l.redMul(s),f=r.redMul(l),c=a.redSqr().redIAdd(d).redISub(f).redISub(f),u=a.redMul(f.redISub(c)).redISub(i.redMul(d)),h=this.z.redMul(s);return this.curve.jpoint(c,u,h)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r<e;r++)t=t.dbl();return t}var n=this.curve.a,i=this.curve.tinv,o=this.x,s=this.y,a=this.z,l=a.redSqr().redSqr(),d=s.redAdd(s);for(r=0;r<e;r++){var f=o.redSqr(),c=d.redSqr(),u=c.redSqr(),h=f.redAdd(f).redIAdd(f).redIAdd(n.redMul(l)),p=o.redMul(c),m=h.redSqr().redISub(p.redAdd(p)),b=p.redISub(m),g=h.redMul(b);g=g.redIAdd(g).redISub(u);var v=d.redMul(a);r+1<e&&(l=l.redMul(u)),o=m,a=v,d=g}return this.curve.jpoint(o,d.redMul(i),a)},f.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},f.prototype._zeroDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(o);s=s.redIAdd(s);var a=n.redAdd(n).redIAdd(n),l=a.redSqr().redISub(s).redISub(s),d=o.redIAdd(o);d=(d=d.redIAdd(d)).redIAdd(d),e=l,t=a.redMul(s.redISub(l)).redISub(d),r=this.y.redAdd(this.y)}else{var f=this.x.redSqr(),c=this.y.redSqr(),u=c.redSqr(),h=this.x.redAdd(c).redSqr().redISub(f).redISub(u);h=h.redIAdd(h);var p=f.redAdd(f).redIAdd(f),m=p.redSqr(),b=u.redIAdd(u);b=(b=b.redIAdd(b)).redIAdd(b),e=m.redISub(h).redISub(h),t=p.redMul(h.redISub(e)).redISub(b),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(e,t,r)},f.prototype._threeDbl=function(){var e,t,r;if(this.zOne){var n=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(n).redISub(o);s=s.redIAdd(s);var a=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),l=a.redSqr().redISub(s).redISub(s);e=l;var d=o.redIAdd(o);d=(d=d.redIAdd(d)).redIAdd(d),t=a.redMul(s.redISub(l)).redISub(d),r=this.y.redAdd(this.y)}else{var f=this.z.redSqr(),c=this.y.redSqr(),u=this.x.redMul(c),h=this.x.redSub(f).redMul(this.x.redAdd(f));h=h.redAdd(h).redIAdd(h);var p=u.redIAdd(u),m=(p=p.redIAdd(p)).redAdd(p);e=h.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(c).redISub(f);var b=c.redSqr();b=(b=(b=b.redIAdd(b)).redIAdd(b)).redIAdd(b),t=h.redMul(p.redISub(e)).redISub(b)}return this.curve.jpoint(e,t,r)},f.prototype._dbl=function(){var e=this.curve.a,t=this.x,r=this.y,n=this.z,i=n.redSqr().redSqr(),o=t.redSqr(),s=r.redSqr(),a=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(i)),l=t.redAdd(t),d=(l=l.redIAdd(l)).redMul(s),f=a.redSqr().redISub(d.redAdd(d)),c=d.redISub(f),u=s.redSqr();u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var h=a.redMul(c).redISub(u),p=r.redAdd(r).redMul(n);return this.curve.jpoint(f,h,p)},f.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr(),n=t.redSqr(),i=e.redAdd(e).redIAdd(e),o=i.redSqr(),s=this.x.redAdd(t).redSqr().redISub(e).redISub(n),a=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),l=n.redIAdd(n);l=(l=(l=l.redIAdd(l)).redIAdd(l)).redIAdd(l);var d=i.redIAdd(s).redSqr().redISub(o).redISub(a).redISub(l),f=t.redMul(d);f=(f=f.redIAdd(f)).redIAdd(f);var c=this.x.redMul(a).redISub(f);c=(c=c.redIAdd(c)).redIAdd(c);var u=this.y.redMul(d.redMul(l.redISub(d)).redISub(s.redMul(a)));u=(u=(u=u.redIAdd(u)).redIAdd(u)).redIAdd(u);var h=this.z.redAdd(s).redSqr().redISub(r).redISub(a);return this.curve.jpoint(c,u,h)},f.prototype.mul=function(e,t){return e=new i(e,t),this.curve._wnafMul(this,e)},f.prototype.eq=function(e){if("affine"===e.type)return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),r=e.z.redSqr();if(0!==this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0))return!1;var n=t.redMul(this.z),i=r.redMul(e.z);return 0===this.y.redMul(i).redISub(e.y.redMul(n)).cmpn(0)},f.prototype.eqXToP=function(e){var t=this.z.redSqr(),r=e.toRed(this.curve.red).redMul(t);if(0===this.x.cmp(r))return!0;for(var n=e.clone(),i=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),0<=n.cmp(this.curve.p))return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},f.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","./base":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js":[function(e,t,r){"use strict";var n,i=r,o=e("hash.js"),s=e("./curve"),a=e("./utils").assert;function l(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function d(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new l(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=l,d("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),d("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),d("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),d("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),d("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),d("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),d("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=e("./precomputed/secp256k1")}catch(e){n=void 0}d("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},{"./curve":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/index.js","./precomputed/secp256k1":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","./utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","hash.js":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/index.js":[function(e,t,r){"use strict";var n=e("bn.js"),i=e("hmac-drbg"),o=e("../utils"),s=e("../curves"),a=e("brorand"),l=o.assert,d=e("./key"),f=e("./signature");function c(e){if(!(this instanceof c))return new c(e);"string"==typeof e&&(l(s.hasOwnProperty(e),"Unknown curve "+e),e=s[e]),e instanceof s.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}(t.exports=c).prototype.keyPair=function(e){return new d(this,e)},c.prototype.keyFromPrivate=function(e,t){return d.fromPrivate(this,e,t)},c.prototype.keyFromPublic=function(e,t){return d.fromPublic(this,e,t)},c.prototype.genKeyPair=function(e){e=e||{};for(var t=new i({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||a(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var s=new n(t.generate(r));if(!(0<s.cmp(o)))return s.iaddn(1),this.keyFromPrivate(s)}},c.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return 0<r&&(e=e.ushrn(r)),!t&&0<=e.cmp(this.n)?e.sub(this.n):e},c.prototype.sign=function(e,t,r,o){"object"==typeof r&&(o=r,r=null),o=o||{},t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var s=this.n.byteLength(),a=t.getPrivate().toArray("be",s),l=e.toArray("be",s),d=new i({hash:this.hash,entropy:a,nonce:l,pers:o.pers,persEnc:o.persEnc||"utf8"}),c=this.n.sub(new n(1)),u=0;;u++){var h=o.k?o.k(u):new n(d.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||0<=h.cmp(c))){var p=this.g.mul(h);if(!p.isInfinity()){var m=p.getX(),b=m.umod(this.n);if(0!==b.cmpn(0)){var g=h.invm(this.n).mul(b.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var v=(p.getY().isOdd()?1:0)|(0!==m.cmp(b)?2:0);return o.canonical&&0<g.cmp(this.nh)&&(g=this.n.sub(g),v^=1),new f({r:b,s:g,recoveryParam:v})}}}}}},c.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var o=(t=new f(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||0<=o.cmp(this.n))return!1;if(s.cmpn(1)<0||0<=s.cmp(this.n))return!1;var a,l=s.invm(this.n),d=l.mul(e).umod(this.n),c=l.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(d,r.getPublic(),c)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(d,r.getPublic(),c)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},c.prototype.recoverPubKey=function(e,t,r,i){l((3&r)===r,"The recovery param is more than two bits"),t=new f(t,i);var o=this.n,s=new n(e),a=t.r,d=t.s,c=1&r,u=r>>1;if(0<=a.cmp(this.curve.p.umod(this.curve.n))&&u)throw new Error("Unable to find sencond key candinate");a=u?this.curve.pointFromX(a.add(this.curve.n),c):this.curve.pointFromX(a,c);var h=t.r.invm(o),p=o.sub(s).mul(h).umod(o),m=d.mul(h).umod(o);return this.g.mulAdd(p,a,m)},c.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new f(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},{"../curves":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js","../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","./key":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/key.js","./signature":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/signature.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",brorand:"/Users/f/pjs/dhive/node_modules/brorand/index.js","hmac-drbg":"/Users/f/pjs/dhive/node_modules/hmac-drbg/lib/hmac-drbg.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/key.js":[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils").assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}(t.exports=o).fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/signature.js":[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(){this.place=0}function l(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,s=t.place;o<n;o++,s++)i<<=8,i|=e[s];return t.place=s,i}function d(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t<r;)t++;return 0===t?e:e.slice(t)}function f(e,t){if(t<128)e.push(t);else{var r=1+(Math.log(t)/Math.LN2>>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}(t.exports=s).prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new a;if(48!==e[r.place++])return!1;if(l(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=l(e,r),s=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var d=l(e,r);if(e.length!==d+r.place)return!1;var f=e.slice(r.place,d+r.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===f[0]&&128&f[1]&&(f=f.slice(1)),this.r=new n(s),this.s=new n(f),!(this.recoveryParam=null)},s.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=d(t),r=d(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];f(n,t.length),(n=n.concat(t)).push(2),f(n,r.length);var o=n.concat(r),s=[48];return f(s,o.length),s=s.concat(o),i.encode(s,e)}},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/index.js":[function(e,t,r){"use strict";var n=e("hash.js"),i=e("../curves"),o=e("../utils"),s=o.assert,a=o.parseBytes,l=e("./key"),d=e("./signature");function f(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof f))return new f(e);e=i[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=n.sha512}(t.exports=f).prototype.sign=function(e,t){e=a(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),o=this.encodePoint(i),s=this.hashInt(o,r.pubBytes(),e).mul(r.priv()),l=n.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:l,Rencoded:o})},f.prototype.verify=function(e,t,r){e=a(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),o=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(o)},f.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return o.intFromLE(e.digest()).umod(this.curve.n)},f.prototype.keyFromPublic=function(e){return l.fromPublic(this,e)},f.prototype.keyFromSecret=function(e){return l.fromSecret(this,e)},f.prototype.makeSignature=function(e){return e instanceof d?e:new d(this,e)},f.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},f.prototype.decodePoint=function(e){var t=(e=o.parseBytes(e)).length-1,r=e.slice(0,t).concat(-129&e[t]),n=0!=(128&e[t]),i=o.intFromLE(r);return this.curve.pointFromY(i,n)},f.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},f.prototype.decodeInt=function(e){return o.intFromLE(e)},f.prototype.isPoint=function(e){return e instanceof this.pointClass}},{"../curves":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js","../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","./key":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/key.js","./signature":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/signature.js","hash.js":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/key.js":[function(e,t,r){"use strict";var n=e("../utils"),i=n.assert,o=n.parseBytes,s=n.cachedProperty;function a(e,t){this.eddsa=e,this._secret=o(t.secret),e.isPoint(t.pub)?this._pub=t.pub:this._pubBytes=o(t.pub)}a.fromPublic=function(e,t){return t instanceof a?t:new a(e,{pub:t})},a.fromSecret=function(e,t){return t instanceof a?t:new a(e,{secret:t})},a.prototype.secret=function(){return this._secret},s(a,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),s(a,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),s(a,"privBytes",(function(){var e=this.eddsa,t=this.hash(),r=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[r]&=127,n[r]|=64,n})),s(a,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),s(a,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),s(a,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),a.prototype.sign=function(e){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},a.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},a.prototype.getSecret=function(e){return i(this._secret,"KeyPair is public only"),n.encode(this.secret(),e)},a.prototype.getPublic=function(e){return n.encode(this.pubBytes(),e)},t.exports=a},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/signature.js":[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../utils"),o=i.assert,s=i.cachedProperty,a=i.parseBytes;function l(e,t){this.eddsa=e,"object"!=typeof t&&(t=a(t)),Array.isArray(t)&&(t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}),o(t.R&&t.S,"Signature without R or S"),e.isPoint(t.R)&&(this._R=t.R),t.S instanceof n&&(this._S=t.S),this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded,this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(l,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),s(l,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),s(l,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),s(l,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),l.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},l.prototype.toHex=function(){return i.encode(this.toBytes(),"hex").toUpperCase()},t.exports=l},{"../utils":"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js":[function(e,t,r){t.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},{}],"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js":[function(e,t,r){"use strict";var n=r,i=e("bn.js"),o=e("minimalistic-assert"),s=e("minimalistic-crypto-utils");n.assert=o,n.toArray=s.toArray,n.zero2=s.zero2,n.toHex=s.toHex,n.encode=s.encode,n.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<<t+1,o=e.clone(),s=0;s<n.length;s++){var a,l=o.andln(i-1);o.isOdd()?(a=(i>>1)-1<l?(i>>1)-l:l,o.isubn(a)):a=0,n[s]=a,o.iushrn(1)}return n},n.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;0<e.cmpn(-n)||0<t.cmpn(-i);){var o,s,a,l=e.andln(3)+n&3,d=t.andln(3)+i&3;3===l&&(l=-1),3===d&&(d=-1),o=0==(1&l)?0:3!=(a=e.andln(7)+n&7)&&5!==a||2!==d?l:-l,r[0].push(o),s=0==(1&d)?0:3!=(a=t.andln(7)+i&7)&&5!==a||2!==l?d:-d,r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},{"bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js","minimalistic-crypto-utils":"/Users/f/pjs/dhive/node_modules/minimalistic-crypto-utils/lib/utils.js"}],"/Users/f/pjs/dhive/node_modules/elliptic/package.json":[function(e,t,r){t.exports={name:"elliptic",version:"6.5.2",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{jscs:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",jshint:"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",lint:"npm run jscs && npm run jshint",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny <fedor@indutny.com>",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^1.4.3",coveralls:"^3.0.8",grunt:"^1.0.4","grunt-browserify":"^5.0.0","grunt-cli":"^1.2.0","grunt-contrib-connect":"^1.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^1.0.1","grunt-mocha-istanbul":"^3.0.1","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.2",jscs:"^3.0.7",jshint:"^2.10.3",mocha:"^6.2.2"},dependencies:{"bn.js":"^4.4.0",brorand:"^1.0.1","hash.js":"^1.0.0","hmac-drbg":"^1.0.0",inherits:"^2.0.1","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.0"}}},{}],"/Users/f/pjs/dhive/node_modules/events/events.js":[function(e,t,r){var n=Object.create||function(e){function t(){}return t.prototype=e,new t},i=Object.keys||function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return r},o=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}((t.exports=s).EventEmitter=s).prototype._events=void 0,s.prototype._maxListeners=void 0;var a,l=10;try{var d={};Object.defineProperty&&Object.defineProperty(d,"x",{value:0}),a=0===d.x}catch(e){a=!1}function f(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function c(e,t,r,i){var o,s,a;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),a=s[t]):(s=e._events=n(null),e._eventsCount=0),a){if("function"==typeof a?a=s[t]=i?[r,a]:[a,r]:i?a.unshift(r):a.push(r),!a.warned&&(o=f(e))&&0<o&&a.length>o){a.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+a.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=a.length}}else a=s[t]=r,++e._eventsCount;return e}function u(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t<e.length;++t)e[t]=arguments[t];this.listener.apply(this.target,e)}}function h(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=o.call(u,n);return i.listener=r,n.wrapFn=i}function p(e,t,r){var n=e._events;if(!n)return[];var i=n[t];return i?"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):b(i,i.length):[]}function m(e){var t=this._events;if(t){var r=t[e];if("function"==typeof r)return 1;if(r)return r.length}return 0}function b(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}a?Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!=typeof e||e<0||e!=e)throw new TypeError('"defaultMaxListeners" must be a positive number');l=e}}):s.defaultMaxListeners=l,s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return f(this)},s.prototype.emit=function(e,t,r,n){var i,o,s,a,l,d,f="error"===e;if(d=this._events)f=f&&null==d.error;else if(!f)return!1;if(f){if(1<arguments.length&&(i=t),i instanceof Error)throw i;var c=new Error('Unhandled "error" event. ('+i+")");throw c.context=i,c}if(!(o=d[e]))return!1;var u="function"==typeof o;switch(s=arguments.length){case 1:!function(e,t,r){if(t)e.call(r);else for(var n=e.length,i=b(e,n),o=0;o<n;++o)i[o].call(r)}(o,u,this);break;case 2:!function(e,t,r,n){if(t)e.call(r,n);else for(var i=e.length,o=b(e,i),s=0;s<i;++s)o[s].call(r,n)}(o,u,this,t);break;case 3:!function(e,t,r,n,i){if(t)e.call(r,n,i);else for(var o=e.length,s=b(e,o),a=0;a<o;++a)s[a].call(r,n,i)}(o,u,this,t,r);break;case 4:!function(e,t,r,n,i,o){if(t)e.call(r,n,i,o);else for(var s=e.length,a=b(e,s),l=0;l<s;++l)a[l].call(r,n,i,o)}(o,u,this,t,r,n);break;default:for(a=new Array(s-1),l=1;l<s;l++)a[l-1]=arguments[l];!function(e,t,r,n){if(t)e.apply(r,n);else for(var i=e.length,o=b(e,i),s=0;s<i;++s)o[s].apply(r,n)}(o,u,this,a)}return!0},s.prototype.on=s.prototype.addListener=function(e,t){return c(this,e,t,!1)},s.prototype.prependListener=function(e,t){return c(this,e,t,!0)},s.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,h(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,h(this,e,t)),this},s.prototype.removeListener=function(e,t){var r,i,o,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(i=this._events))return this;if(!(r=i[e]))return this;if(r===t||r.listener===t)0==--this._eventsCount?this._events=n(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!=typeof r){for(o=-1,s=r.length-1;0<=s;s--)if(r[s]===t||r[s].listener===t){a=r[s].listener,o=s;break}if(o<0)return this;0===o?r.shift():function(e){for(var t=o,r=t+1,n=e.length;r<n;t+=1,r+=1)e[t]=e[r];e.pop()}(r),1===r.length&&(i[e]=r[0]),i.removeListener&&this.emit("removeListener",e,a||t)}return this},s.prototype.removeAllListeners=function(e){var t,r,o;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[e]&&(0==--this._eventsCount?this._events=n(null):delete r[e]),this;if(0===arguments.length){var s,a=i(r);for(o=0;o<a.length;++o)"removeListener"!==(s=a[o])&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=n(null),this._eventsCount=0,this}if("function"==typeof(t=r[e]))this.removeListener(e,t);else if(t)for(o=t.length-1;0<=o;o--)this.removeListener(e,t[o]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):m.call(e,t)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return 0<this._eventsCount?Reflect.ownKeys(this._events):[]}},{}],"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js":[function(e,t,r){var n=e("safe-buffer").Buffer,i=e("md5.js");t.exports=function(e,t,r,o){if(n.isBuffer(e)||(e=n.from(e,"binary")),t&&(n.isBuffer(t)||(t=n.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var s=r/8,a=n.alloc(s),l=n.alloc(o||0),d=n.alloc(0);0<s||0<o;){var f=new i;f.update(d),f.update(e),t&&f.update(t),d=f.digest();var c=0;if(0<s){var u=a.length-s;c=Math.min(s,d.length),d.copy(a,u,0,c),s-=c}if(c<d.length&&0<o){var h=l.length-o,p=Math.min(o,d.length-c);d.copy(l,h,c,c+p),o-=p}}return d.fill(0),{key:a,iv:l}}},{"md5.js":"/Users/f/pjs/dhive/node_modules/md5.js/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/extsprintf/lib/extsprintf.js":[function(e,t,r){(function(t){var n=e("assert"),i=e("util");function o(e){var t,r,o,a,f,c,u,h,p,m,b,g=["([^%]*)","%","(['\\-+ #0]*?)","([1-9]\\d*)?","(\\.([1-9]\\d*))?","[lhjztL]*?","([diouxXfFeEgGaAcCsSp%jr])"].join(""),v=new RegExp(g),y=Array.prototype.slice.call(arguments,1),j=e,_="",w=1,x=0;for(n.equal("string",typeof j,"first argument must be a format string");null!==(p=v.exec(j));)if(_+=p[1],j=j.substring(p[0].length),b=p[0].substring(p[1].length),m=x+p[1].length+1,x+=p[0].length,t=p[2]||"",r=p[3]||0,o=p[4]||"",u=f=!1,c=" ","%"!=(a=p[6])){if(0===y.length)throw s(e,m,b,"has no matching argument (too few arguments passed)");if(h=y.shift(),w++,t.match(/[\' #]/))throw s(e,m,b,"uses unsupported flags");if(0<o.length)throw s(e,m,b,"uses non-zero precision (not supported)");switch(t.match(/-/)&&(f=!0),t.match(/0/)&&(c="0"),t.match(/\+/)&&(u=!0),a){case"s":if(null==h)throw s(e,m,b,"attempted to print undefined or null as a string (argument "+w+" to sprintf)");_+=l(c,r,f,h.toString());break;case"d":h=Math.floor(h);case"f":_+=(u=u&&0<h?"+":"")+l(c,r,f,h.toString());break;case"x":_+=l(c,r,f,h.toString(16));break;case"j":0===r&&(r=10),_+=i.inspect(h,!1,r);break;case"r":_+=d(h);break;default:throw s(e,m,b,"is not supported")}}else _+="%";return _+j}function s(e,t,r,i){return n.equal(typeof e,"string"),n.equal(typeof r,"string"),n.equal(typeof t,"number"),n.equal(typeof i,"string"),new Error('format string "'+e+'": conversion specifier "'+r+'" at character '+t+" "+i)}function a(e){var t=Array.prototype.slice.call(arguments,1);return e.write(o.apply(this,t))}function l(e,t,r,n){for(var i=n;i.length<t;)r?i+=e:i=e+i;return i}function d(e){var t;if(!(e instanceof Error))throw new Error(o("invalid type for %%r: %j",e));if(t="EXCEPTION: "+e.constructor.name+": "+e.stack,e.cause&&"function"==typeof e.cause){var r=e.cause();r&&(t+="\nCaused by: "+d(r))}return t}r.sprintf=o,r.printf=function(){var e=Array.prototype.slice.call(arguments);e.unshift(t.stdout),a.apply(null,e)},r.fprintf=a}).call(this,e("_process"))},{_process:"/Users/f/pjs/dhive/node_modules/process/browser.js",assert:"/Users/f/pjs/dhive/node_modules/assert/assert.js",util:"/Users/f/pjs/dhive/node_modules/util/util.js"}],"/Users/f/pjs/dhive/node_modules/hash-base/index.js":[function(e,t,r){"use strict";var n=e("safe-buffer").Buffer,i=e("stream").Transform;function o(e){i.call(this),this._block=n.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}e("inherits")(o,i),o.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)},o.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},o.prototype.update=function(e,t){if(function(e){if(!n.isBuffer(e)&&"string"!=typeof e)throw new TypeError("Data must be a string or a buffer")}(e),this._finalized)throw new Error("Digest already called");n.isBuffer(e)||(e=n.from(e,t));for(var r=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var o=this._blockOffset;o<this._blockSize;)r[o++]=e[i++];this._update(),this._blockOffset=0}for(;i<e.length;)r[this._blockOffset++]=e[i++];for(var s=0,a=8*e.length;0<a;++s)this._length[s]+=a,0<(a=this._length[s]/4294967296|0)&&(this._length[s]-=4294967296*a);return this},o.prototype._update=function(){throw new Error("_update is not implemented")},o.prototype.digest=function(e){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0);for(var r=this._blockOffset=0;r<4;++r)this._length[r]=0;return t},o.prototype._digest=function(){throw new Error("_digest is not implemented")},t.exports=o},{inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js",stream:"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js":[function(e,t,r){var n=r;n.utils=e("./hash/utils"),n.common=e("./hash/common"),n.sha=e("./hash/sha"),n.ripemd=e("./hash/ripemd"),n.hmac=e("./hash/hmac"),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},{"./hash/common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js","./hash/hmac":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/hmac.js","./hash/ripemd":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/ripemd.js","./hash/sha":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha.js","./hash/utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js":[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}(r.BlockHash=o).prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},o.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},o.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,r=t-(e+this.padLength)%t,n=new Array(r+this.padLength);n[0]=128;for(var i=1;i<r;i++)n[i]=0;if(e<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)n[i++]=0;n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=e>>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o<this.padLength;o++)n[i++]=0;return n}},{"./utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/hmac.js":[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(n.toArray(t,r))}(t.exports=o).prototype._init=function(e){e.length>this.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=(new this.Hash).update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)},o.prototype.update=function(e,t){return this.inner.update(e,t),this},o.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)}},{"./utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/ripemd.js":[function(e,t,r){"use strict";var n=e("./utils"),i=e("./common"),o=n.rotl32,s=n.sum32,a=n.sum32_3,l=n.sum32_4,d=i.BlockHash;function f(){if(!(this instanceof f))return new f;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function c(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}function u(e){return e<=15?0:e<=31?1518500249:e<=47?1859775393:e<=63?2400959708:2840853838}function h(e){return e<=15?1352829926:e<=31?1548603684:e<=47?1836072691:e<=63?2053994217:0}n.inherits(f,d),(r.ripemd160=f).blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],d=this.h[3],f=this.h[4],v=r,y=n,j=i,_=d,w=f,x=0;x<80;x++){var k=s(o(l(r,c(x,n,i,d),e[p[x]+t],u(x)),b[x]),f);r=f,f=d,d=o(i,10),i=n,n=k,k=s(o(l(v,c(79-x,y,j,_),e[m[x]+t],h(x)),g[x]),w),v=w,w=_,_=o(j,10),j=y,y=k}k=a(this.h[1],i,_),this.h[1]=a(this.h[2],d,w),this.h[2]=a(this.h[3],f,v),this.h[3]=a(this.h[4],r,y),this.h[4]=a(this.h[0],n,j),this.h[0]=k},f.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"little"):n.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],m=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],b=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],g=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"./common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js","./utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha.js":[function(e,t,r){"use strict";r.sha1=e("./sha/1"),r.sha224=e("./sha/224"),r.sha256=e("./sha/256"),r.sha384=e("./sha/384"),r.sha512=e("./sha/512")},{"./sha/1":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/1.js","./sha/224":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/224.js","./sha/256":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/256.js","./sha/384":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/384.js","./sha/512":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/512.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/1.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("./common"),s=n.rotl32,a=n.sum32,l=n.sum32_5,d=o.ft_1,f=i.BlockHash,c=[1518500249,1859775393,2400959708,3395469782];function u(){if(!(this instanceof u))return new u;f.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}n.inherits(u,f),(t.exports=u).blockSize=512,u.outSize=160,u.hmacStrength=80,u.padLength=64,u.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=s(r[n-3]^r[n-8]^r[n-14]^r[n-16],1);var i=this.h[0],o=this.h[1],f=this.h[2],u=this.h[3],h=this.h[4];for(n=0;n<r.length;n++){var p=~~(n/20),m=l(s(i,5),d(p,o,f,u),h,r[n],c[p]);h=u,u=f,f=s(o,30),o=i,i=m}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],f),this.h[3]=a(this.h[3],u),this.h[4]=a(this.h[4],h)},u.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js","../utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","./common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/common.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/224.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("./256");function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}n.inherits(o,i),(t.exports=o).blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,7),"big"):n.split32(this.h.slice(0,7),"big")}},{"../utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","./256":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/256.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/256.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("./common"),s=e("minimalistic-assert"),a=n.sum32,l=n.sum32_4,d=n.sum32_5,f=o.ch32,c=o.maj32,u=o.s0_256,h=o.s1_256,p=o.g0_256,m=o.g1_256,b=i.BlockHash,g=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function v(){if(!(this instanceof v))return new v;b.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=g,this.W=new Array(64)}n.inherits(v,b),(t.exports=v).blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;n<r.length;n++)r[n]=l(m(r[n-2]),r[n-7],p(r[n-15]),r[n-16]);var i=this.h[0],o=this.h[1],b=this.h[2],g=this.h[3],v=this.h[4],y=this.h[5],j=this.h[6],_=this.h[7];for(s(this.k.length===r.length),n=0;n<r.length;n++){var w=d(_,h(v),f(v,y,j),this.k[n],r[n]),x=a(u(i),c(i,o,b));_=j,j=y,y=v,v=a(g,w),g=b,b=o,o=i,i=a(w,x)}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],b),this.h[3]=a(this.h[3],g),this.h[4]=a(this.h[4],v),this.h[5]=a(this.h[5],y),this.h[6]=a(this.h[6],j),this.h[7]=a(this.h[7],_)},v.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js","../utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","./common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/common.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/384.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("./512");function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}n.inherits(o,i),(t.exports=o).blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h.slice(0,12),"big"):n.split32(this.h.slice(0,12),"big")}},{"../utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","./512":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/512.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/512.js":[function(e,t,r){"use strict";var n=e("../utils"),i=e("../common"),o=e("minimalistic-assert"),s=n.rotr64_hi,a=n.rotr64_lo,l=n.shr64_hi,d=n.shr64_lo,f=n.sum64,c=n.sum64_hi,u=n.sum64_lo,h=n.sum64_4_hi,p=n.sum64_4_lo,m=n.sum64_5_hi,b=n.sum64_5_lo,g=i.BlockHash,v=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function y(){if(!(this instanceof y))return new y;g.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}function j(e,t,r,n,i){var o=e&r^~e&i;return o<0&&(o+=4294967296),o}function _(e,t,r,n,i,o){var s=t&n^~t&o;return s<0&&(s+=4294967296),s}function w(e,t,r,n,i){var o=e&r^e&i^r&i;return o<0&&(o+=4294967296),o}function x(e,t,r,n,i,o){var s=t&n^t&o^n&o;return s<0&&(s+=4294967296),s}function k(e,t){var r=s(e,t,28)^s(t,e,2)^s(t,e,7);return r<0&&(r+=4294967296),r}function U(e,t){var r=a(e,t,28)^a(t,e,2)^a(t,e,7);return r<0&&(r+=4294967296),r}function E(e,t){var r=a(e,t,14)^a(e,t,18)^a(t,e,9);return r<0&&(r+=4294967296),r}function S(e,t){var r=s(e,t,1)^s(e,t,8)^l(e,t,7);return r<0&&(r+=4294967296),r}function A(e,t){var r=a(e,t,1)^a(e,t,8)^d(e,t,7);return r<0&&(r+=4294967296),r}function I(e,t){var r=a(e,t,19)^a(t,e,29)^d(e,t,6);return r<0&&(r+=4294967296),r}n.inherits(y,g),(t.exports=y).blockSize=1024,y.outSize=512,y.hmacStrength=192,y.padLength=128,y.prototype._prepareBlock=function(e,t){for(var r=this.W,n=0;n<32;n++)r[n]=e[t+n];for(;n<r.length;n+=2){var i=(b=r[n-4],g=r[n-3],v=void 0,(v=s(b,g,19)^s(g,b,29)^l(b,g,6))<0&&(v+=4294967296),v),o=I(r[n-4],r[n-3]),a=r[n-14],d=r[n-13],f=S(r[n-30],r[n-29]),c=A(r[n-30],r[n-29]),u=r[n-32],m=r[n-31];r[n]=h(i,o,a,d,f,c,u,m),r[n+1]=p(i,o,a,d,f,c,u,m)}var b,g,v},y.prototype._update=function(e,t){this._prepareBlock(e,t);var r,n,i,a=this.W,l=this.h[0],d=this.h[1],h=this.h[2],p=this.h[3],g=this.h[4],v=this.h[5],y=this.h[6],S=this.h[7],A=this.h[8],I=this.h[9],M=this.h[10],T=this.h[11],B=this.h[12],L=this.h[13],R=this.h[14],O=this.h[15];o(this.k.length===a.length);for(var C=0;C<a.length;C+=2){var P=R,D=O,N=(i=void 0,(i=s(r=A,n=I,14)^s(r,n,18)^s(n,r,9))<0&&(i+=4294967296),i),z=E(A,I),q=j(A,0,M,0,B),F=_(0,I,0,T,0,L),K=this.k[C],V=this.k[C+1],H=a[C],G=a[C+1],Y=m(P,D,N,z,q,F,K,V,H,G),W=b(P,D,N,z,q,F,K,V,H,G);P=k(l,d),D=U(l,d),N=w(l,0,h,0,g),z=x(0,d,0,p,0,v);var Z=c(P,D,N,z),X=u(P,D,N,z);R=B,O=L,B=M,L=T,M=A,T=I,A=c(y,S,Y,W),I=u(S,S,Y,W),y=g,S=v,g=h,v=p,h=l,p=d,l=c(Y,W,Z,X),d=u(Y,W,Z,X)}f(this.h,0,l,d),f(this.h,2,h,p),f(this.h,4,g,v),f(this.h,6,y,S),f(this.h,8,A,I),f(this.h,10,M,T),f(this.h,12,B,L),f(this.h,14,R,O)},y.prototype._digest=function(e){return"hex"===e?n.toHex32(this.h,"big"):n.split32(this.h,"big")}},{"../common":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js","../utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/common.js":[function(e,t,r){"use strict";var n=e("../utils").rotr32;function i(e,t,r){return e&t^~e&r}function o(e,t,r){return e&t^e&r^t&r}function s(e,t,r){return e^t^r}r.ft_1=function(e,t,r,n){return 0===e?i(t,r,n):1===e||3===e?s(t,r,n):2===e?o(t,r,n):void 0},r.ch32=i,r.maj32=o,r.p32=s,r.s0_256=function(e){return n(e,2)^n(e,13)^n(e,22)},r.s1_256=function(e){return n(e,6)^n(e,11)^n(e,25)},r.g0_256=function(e){return n(e,7)^n(e,18)^e>>>3},r.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},{"../utils":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js"}],"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js":[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits");function o(e,t){return!(55296!=(64512&e.charCodeAt(t))||t<0||t+1>=e.length)&&56320==(64512&e.charCodeAt(t+1))}function s(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function a(e){return 1===e.length?"0"+e:e}function l(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}r.inherits=i,r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else for(var n=0,i=0;i<e.length;i++){var s=e.charCodeAt(i);s<128?r[n++]=s:(s<2048?r[n++]=s>>6|192:(o(e,i)?(s=65536+((1023&s)<<10)+(1023&e.charCodeAt(++i)),r[n++]=s>>18|240,r[n++]=s>>12&63|128):r[n++]=s>>12|224,r[n++]=s>>6&63|128),r[n++]=63&s|128)}else for(i=0;i<e.length;i++)r[i]=0|e[i];return r},r.toHex=function(e){for(var t="",r=0;r<e.length;r++)t+=a(e[r].toString(16));return t},r.htonl=s,r.toHex32=function(e,t){for(var r="",n=0;n<e.length;n++){var i=e[n];"little"===t&&(i=s(i)),r+=l(i.toString(16))}return r},r.zero2=a,r.zero8=l,r.join32=function(e,t,r,i){var o=r-t;n(o%4==0);for(var s=new Array(o/4),a=0,l=t;a<s.length;a++,l+=4){var d;d="big"===i?e[l]<<24|e[l+1]<<16|e[l+2]<<8|e[l+3]:e[l+3]<<24|e[l+2]<<16|e[l+1]<<8|e[l],s[a]=d>>>0}return s},r.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n<e.length;n++,i+=4){var o=e[n];"big"===t?(r[i]=o>>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},r.rotr32=function(e,t){return e>>>t|e<<32-t},r.rotl32=function(e,t){return e<<t|e>>>32-t},r.sum32=function(e,t){return e+t>>>0},r.sum32_3=function(e,t,r){return e+t+r>>>0},r.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},r.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},r.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,s=(o<n?1:0)+r+i;e[t]=s>>>0,e[t+1]=o},r.sum64_hi=function(e,t,r,n){return(t+n>>>0<t?1:0)+e+r>>>0},r.sum64_lo=function(e,t,r,n){return t+n>>>0},r.sum64_4_hi=function(e,t,r,n,i,o,s,a){var l=0,d=t;return l+=(d=d+n>>>0)<t?1:0,l+=(d=d+o>>>0)<o?1:0,e+r+i+s+(l+=(d=d+a>>>0)<a?1:0)>>>0},r.sum64_4_lo=function(e,t,r,n,i,o,s,a){return t+n+o+a>>>0},r.sum64_5_hi=function(e,t,r,n,i,o,s,a,l,d){var f=0,c=t;return f+=(c=c+n>>>0)<t?1:0,f+=(c=c+o>>>0)<o?1:0,f+=(c=c+a>>>0)<a?1:0,e+r+i+s+l+(f+=(c=c+d>>>0)<d?1:0)>>>0},r.sum64_5_lo=function(e,t,r,n,i,o,s,a,l,d){return t+n+o+a+d>>>0},r.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},r.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},r.shr64_hi=function(e,t,r){return e>>>r},r.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},{inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js"}],"/Users/f/pjs/dhive/node_modules/hmac-drbg/lib/hmac-drbg.js":[function(e,t,r){"use strict";var n=e("hash.js"),i=e("minimalistic-crypto-utils"),o=e("minimalistic-assert");function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc||"hex"),r=i.toArray(e.nonce,e.nonceEnc||"hex"),n=i.toArray(e.pers,e.persEnc||"hex");o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}(t.exports=s).prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new n.hmac(this.hash,this.K)},s.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function(e,t,r,n){"string"!=typeof t&&(n=r,r=t,t=null),e=i.toArray(e,t),r=i.toArray(r,n),o(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},s.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length<e;)this.V=this._hmac().update(this.V).digest(),o=o.concat(this.V);var s=o.slice(0,e);return this._update(r),this._reseed++,i.encode(s,t)}},{"hash.js":"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js","minimalistic-assert":"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js","minimalistic-crypto-utils":"/Users/f/pjs/dhive/node_modules/minimalistic-crypto-utils/lib/utils.js"}],"/Users/f/pjs/dhive/node_modules/ieee754/index.js":[function(e,t,r){r.read=function(e,t,r,n,i){var o,s,a=8*i-n-1,l=(1<<a)-1,d=l>>1,f=-7,c=r?i-1:0,u=r?-1:1,h=e[t+c];for(c+=u,o=h&(1<<-f)-1,h>>=-f,f+=a;0<f;o=256*o+e[t+c],c+=u,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;0<f;s=256*s+e[t+c],c+=u,f-=8);if(0===o)o=1-d;else{if(o===l)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,n),o-=d}return(h?-1:1)*s*Math.pow(2,o-n)},r.write=function(e,t,r,n,i,o){var s,a,l,d=8*o-i-1,f=(1<<d)-1,c=f>>1,u=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:o-1,p=n?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||1/0===t?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),2<=(t+=1<=s+c?u/l:u*Math.pow(2,1-c))*l&&(s++,l/=2),f<=s+c?(a=0,s=f):1<=s+c?(a=(t*l-1)*Math.pow(2,i),s+=c):(a=t*Math.pow(2,c-1)*Math.pow(2,i),s=0));8<=i;e[r+h]=255&a,h+=p,a/=256,i-=8);for(s=s<<i|a,d+=i;0<d;e[r+h]=255&s,h+=p,s/=256,d-=8);e[r+h-p]|=128*m}},{}],"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js":[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){function r(){}e.super_=t,r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}},{}],"/Users/f/pjs/dhive/node_modules/is-buffer/index.js":[function(e,t,r){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}t.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},{}],"/Users/f/pjs/dhive/node_modules/isarray/index.js":[function(e,t,r){var n={}.toString;t.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},{}],"/Users/f/pjs/dhive/node_modules/jsbi/dist/jsbi-umd.js":[function(e,t,r){var n,i;n=this,i=function(){"use strict";var e=Math.imul,t=Math.clz32;function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function n(e,t){for(var r,n=0;n<t.length;n++)(r=t[n]).enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}function i(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function d(){return(d=l()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var i=new(Function.bind.apply(e,n));return r&&a(i,r.prototype),i}).apply(null,arguments)}function f(e){var t="function"==typeof Map?new Map:void 0;return(f=function(e){function r(){return d(e,arguments,s(this).constructor)}if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),a(r,e)})(e)}function c(e){var t=l();return function(){var r,n=s(e);if(t){var i=s(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}(this,r)}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var h=function(e){var t=Math.abs,n=Math.max;function s(e,t){var r;if(function(e){if(!(e instanceof s))throw new TypeError("Cannot call a class as a function")}(this),s.__kMaxLength<e)throw new RangeError("Maximum BigInt size exceeded");return(r=a.call(this,e)).sign=t,r}o(s,e);var a=c(s);return i(s,[{key:"toDebugString",value:function(){var e,t=["BigInt["],r=function(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?u(e,t):void 0}}(e))){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==r.return||r.return()}finally{if(a)throw o}}}}(this);try{for(r.s();!(e=r.n()).done;){var n=e.value;t.push((n?(n>>>0).toString(16):n)+", ")}}catch(e){r.e(e)}finally{r.f()}return t.push("]"),t.join("")}},{key:"toString",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10;if(e<2||36<e)throw new RangeError("toString() radix argument must be between 2 and 36");return 0===this.length?"0":0==(e&e-1)?s.__toStringBasePowerOfTwo(this,e):s.__toStringGeneric(this,e,!1)}},{key:"__copy",value:function(){for(var e=new s(this.length,this.sign),t=0;t<this.length;t++)e[t]=this[t];return e}},{key:"__trim",value:function(){for(var e=this.length,t=this[e-1];0===t;)t=this[--e-1],this.pop();return 0===e&&(this.sign=!1),this}},{key:"__initializeDigits",value:function(){for(var e=0;e<this.length;e++)this[e]=0}},{key:"__clzmsd",value:function(){return s.__clz32(this[this.length-1])}},{key:"__inplaceMultiplyAdd",value:function(e,t,r){r>this.length&&(r=this.length);for(var n=65535&e,i=e>>>16,o=0,a=65535&t,l=t>>>16,d=0;d<r;d++){var f=this.__digit(d),c=65535&f,u=f>>>16,h=s.__imul(c,n),p=s.__imul(c,i),m=s.__imul(u,n),b=s.__imul(u,i),g=a+(65535&h),v=l+o+(g>>>16)+(h>>>16)+(65535&p)+(65535&m);o=(a=(p>>>16)+(m>>>16)+(65535&b)+(v>>>16))>>>16,a&=65535,l=b>>>16,this.__setDigit(d,65535&g|v<<16)}if(0!==o||0!==a||0!==l)throw new Error("implementation bug")}},{key:"__inplaceAdd",value:function(e,t,r){for(var n,i=0,o=0;o<r;o++)i=(n=this.__halfDigit(t+o)+e.__halfDigit(o)+i)>>>16,this.__setHalfDigit(t+o,n);return i}},{key:"__inplaceSub",value:function(e,t,r){var n=0;if(1&t){t>>=1;for(var i=this.__digit(t),o=65535&i,s=0;s<r-1>>>1;s++){var a=e.__digit(s),l=(i>>>16)-(65535&a)-n;n=1&l>>>16,this.__setDigit(t+s,l<<16|65535&o),n=1&(o=(65535&(i=this.__digit(t+s+1)))-(a>>>16)-n)>>>16}var d=e.__digit(s),f=(i>>>16)-(65535&d)-n;if(n=1&f>>>16,this.__setDigit(t+s,f<<16|65535&o),t+s+1>=this.length)throw new RangeError("out of bounds");0==(1&r)&&(n=1&(o=(65535&(i=this.__digit(t+s+1)))-(d>>>16)-n)>>>16,this.__setDigit(t+e.length,4294901760&i|65535&o))}else{t>>=1;for(var c=0;c<e.length-1;c++){var u=this.__digit(t+c),h=e.__digit(c),p=(65535&u)-(65535&h)-n,m=(u>>>16)-(h>>>16)-(n=1&p>>>16);n=1&m>>>16,this.__setDigit(t+c,m<<16|65535&p)}var b=this.__digit(t+c),g=e.__digit(c),v=(65535&b)-(65535&g)-n;n=1&v>>>16;var y=0;0==(1&r)&&(n=1&(y=(b>>>16)-(g>>>16)-n)>>>16),this.__setDigit(t+c,y<<16|65535&v)}return n}},{key:"__inplaceRightShift",value:function(e){if(0!==e){for(var t,r=this.__digit(0)>>>e,n=this.length-1,i=0;i<n;i++)t=this.__digit(i+1),this.__setDigit(i,t<<32-e|r),r=t>>>e;this.__setDigit(n,r)}}},{key:"__digit",value:function(e){return this[e]}},{key:"__unsignedDigit",value:function(e){return this[e]>>>0}},{key:"__setDigit",value:function(e,t){this[e]=0|t}},{key:"__setDigitGrow",value:function(e,t){this[e]=0|t}},{key:"__halfDigitLength",value:function(){var e=this.length;return this.__unsignedDigit(e-1)<=65535?2*e-1:2*e}},{key:"__halfDigit",value:function(e){return 65535&this[e>>>1]>>>((1&e)<<4)}},{key:"__setHalfDigit",value:function(e,t){var r=e>>>1,n=this.__digit(r),i=1&e?65535&n|t<<16:4294901760&n|65535&t;this.__setDigit(r,i)}}],[{key:"BigInt",value:function(e){var t=Math.floor,n=Number.isFinite;if("number"==typeof e){if(0===e)return s.__zero();if((0|e)===e)return e<0?s.__oneDigit(-e,!0):s.__oneDigit(e,!1);if(!n(e)||t(e)!==e)throw new RangeError("The number "+e+" cannot be converted to BigInt because it is not an integer");return s.__fromDouble(e)}if("string"==typeof e){var i=s.__fromString(e);if(null===i)throw new SyntaxError("Cannot convert "+e+" to a BigInt");return i}if("boolean"==typeof e)return!0===e?s.__oneDigit(1,!1):s.__zero();if("object"!==r(e))throw new TypeError("Cannot convert "+e+" to a BigInt");if(e.constructor===s)return e;var o=s.__toPrimitive(e);return s.BigInt(o)}},{key:"toNumber",value:function(e){var t=e.length;if(0===t)return 0;if(1===t){var r=e.__unsignedDigit(0);return e.sign?-r:r}var n=e.__digit(t-1),i=s.__clz32(n),o=32*t-i;if(1024<o)return e.sign?-1/0:1/0;var a=o-1,l=n,d=t-1,f=i+1,c=32===f?0:l<<f;c>>>=12;var u=f-12,h=12<=f?0:l<<20+f,p=20+f;0<u&&0<d&&(d--,c|=(l=e.__digit(d))>>>32-u,h=l<<u,p=u),0<p&&0<d&&(d--,h|=(l=e.__digit(d))>>>32-p,p-=32);var m=s.__decideRounding(e,p,d,l);if((1===m||0===m&&1==(1&h))&&0==(h=h+1>>>0)&&0!=++c>>>20&&(c=0,1023<++a))return e.sign?-1/0:1/0;var b=e.sign?-2147483648:0;return a=a+1023<<20,s.__kBitConversionInts[1]=b|a|c,s.__kBitConversionInts[0]=h,s.__kBitConversionDouble[0]}},{key:"unaryMinus",value:function(e){if(0===e.length)return e;var t=e.__copy();return t.sign=!e.sign,t}},{key:"bitwiseNot",value:function(e){return e.sign?s.__absoluteSubOne(e).__trim():s.__absoluteAddOne(e,!0)}},{key:"exponentiate",value:function(e,t){if(t.sign)throw new RangeError("Exponent must be positive");if(0===t.length)return s.__oneDigit(1,!1);if(0===e.length)return e;if(1===e.length&&1===e.__digit(0))return e.sign&&0==(1&t.__digit(0))?s.unaryMinus(e):e;if(1<t.length)throw new RangeError("BigInt too big");var r=t.__unsignedDigit(0);if(1===r)return e;if(s.__kMaxLengthBits<=r)throw new RangeError("BigInt too big");if(1===e.length&&2===e.__digit(0)){var n=1+(r>>>5),i=new s(n,e.sign&&0!=(1&r));i.__initializeDigits();var o=1<<(31&r);return i.__setDigit(n-1,o),i}var a=null,l=e;for(0!=(1&r)&&(a=e),r>>=1;0!==r;r>>=1)l=s.multiply(l,l),0!=(1&r)&&(a=null===a?l:s.multiply(a,l));return a}},{key:"multiply",value:function(e,t){if(0===e.length)return e;if(0===t.length)return t;var r=e.length+t.length;32<=e.__clzmsd()+t.__clzmsd()&&r--;var n=new s(r,e.sign!==t.sign);n.__initializeDigits();for(var i=0;i<e.length;i++)s.__multiplyAccumulate(t,e.__digit(i),n,i);return n.__trim()}},{key:"divide",value:function(e,t){if(0===t.length)throw new RangeError("Division by zero");if(s.__absoluteCompare(e,t)<0)return s.__zero();var r,n=e.sign!==t.sign,i=t.__unsignedDigit(0);if(1===t.length&&i<=65535){if(1===i)return n===e.sign?e:s.unaryMinus(e);r=s.__absoluteDivSmall(e,i,null)}else r=s.__absoluteDivLarge(e,t,!0,!1);return r.sign=n,r.__trim()}},{key:"remainder",value:function(e,t){if(0===t.length)throw new RangeError("Division by zero");if(s.__absoluteCompare(e,t)<0)return e;var r=t.__unsignedDigit(0);if(1===t.length&&r<=65535){if(1===r)return s.__zero();var n=s.__absoluteModSmall(e,r);return 0===n?s.__zero():s.__oneDigit(n,e.sign)}var i=s.__absoluteDivLarge(e,t,!1,!0);return i.sign=e.sign,i.__trim()}},{key:"add",value:function(e,t){var r=e.sign;return r===t.sign?s.__absoluteAdd(e,t,r):0<=s.__absoluteCompare(e,t)?s.__absoluteSub(e,t,r):s.__absoluteSub(t,e,!r)}},{key:"subtract",value:function(e,t){var r=e.sign;return r===t.sign?0<=s.__absoluteCompare(e,t)?s.__absoluteSub(e,t,r):s.__absoluteSub(t,e,!r):s.__absoluteAdd(e,t,r)}},{key:"leftShift",value:function(e,t){return 0===t.length||0===e.length?e:t.sign?s.__rightShiftByAbsolute(e,t):s.__leftShiftByAbsolute(e,t)}},{key:"signedRightShift",value:function(e,t){return 0===t.length||0===e.length?e:t.sign?s.__leftShiftByAbsolute(e,t):s.__rightShiftByAbsolute(e,t)}},{key:"unsignedRightShift",value:function(){throw new TypeError("BigInts have no unsigned right shift; use >> instead")}},{key:"lessThan",value:function(e,t){return s.__compareToBigInt(e,t)<0}},{key:"lessThanOrEqual",value:function(e,t){return s.__compareToBigInt(e,t)<=0}},{key:"greaterThan",value:function(e,t){return 0<s.__compareToBigInt(e,t)}},{key:"greaterThanOrEqual",value:function(e,t){return 0<=s.__compareToBigInt(e,t)}},{key:"equal",value:function(e,t){if(e.sign!==t.sign)return!1;if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(e.__digit(r)!==t.__digit(r))return!1;return!0}},{key:"notEqual",value:function(e,t){return!s.equal(e,t)}},{key:"bitwiseAnd",value:function(e,t){if(!e.sign&&!t.sign)return s.__absoluteAnd(e,t).__trim();if(e.sign&&t.sign){var r=n(e.length,t.length)+1,i=s.__absoluteSubOne(e,r),o=s.__absoluteSubOne(t);return i=s.__absoluteOr(i,o,i),s.__absoluteAddOne(i,!0,i).__trim()}if(e.sign){var a=[t,e];e=a[0],t=a[1]}return s.__absoluteAndNot(e,s.__absoluteSubOne(t)).__trim()}},{key:"bitwiseXor",value:function(e,t){if(!e.sign&&!t.sign)return s.__absoluteXor(e,t).__trim();if(e.sign&&t.sign){var r=n(e.length,t.length),i=s.__absoluteSubOne(e,r),o=s.__absoluteSubOne(t);return s.__absoluteXor(i,o,i).__trim()}var a=n(e.length,t.length)+1;if(e.sign){var l=[t,e];e=l[0],t=l[1]}var d=s.__absoluteSubOne(t,a);return d=s.__absoluteXor(d,e,d),s.__absoluteAddOne(d,!0,d).__trim()}},{key:"bitwiseOr",value:function(e,t){var r=n(e.length,t.length);if(!e.sign&&!t.sign)return s.__absoluteOr(e,t).__trim();if(e.sign&&t.sign){var i=s.__absoluteSubOne(e,r),o=s.__absoluteSubOne(t);return i=s.__absoluteAnd(i,o,i),s.__absoluteAddOne(i,!0,i).__trim()}if(e.sign){var a=[t,e];e=a[0],t=a[1]}var l=s.__absoluteSubOne(t,r);return l=s.__absoluteAndNot(l,e,l),s.__absoluteAddOne(l,!0,l).__trim()}},{key:"asIntN",value:function(e,t){if(0===t.length)return t;if(0===e)return s.__zero();if(s.__kMaxLengthBits<=e)return t;var r=e+31>>>5;if(t.length<r)return t;var n=t.__unsignedDigit(r-1),i=1<<(31&e-1);if(t.length===r&&n<i)return t;if((n&i)!=i)return s.__truncateToNBits(e,t);if(!t.sign)return s.__truncateAndSubFromPowerOfTwo(e,t,!0);if(0!=(n&i-1))return s.__truncateAndSubFromPowerOfTwo(e,t,!1);for(var o=r-2;0<=o;o--)if(0!==t.__digit(o))return s.__truncateAndSubFromPowerOfTwo(e,t,!1);return t.length===r&&n===i?t:s.__truncateToNBits(e,t)}},{key:"asUintN",value:function(e,t){if(0===t.length)return t;if(0===e)return s.__zero();if(t.sign){if(s.__kMaxLengthBits<e)throw new RangeError("BigInt too big");return s.__truncateAndSubFromPowerOfTwo(e,t,!1)}if(s.__kMaxLengthBits<=e)return t;var r=e+31>>>5;if(t.length<r)return t;var n=31&e;if(t.length==r){if(0==n)return t;if(0==t.__digit(r-1)>>>n)return t}return s.__truncateToNBits(e,t)}},{key:"ADD",value:function(e,t){if(e=s.__toPrimitive(e),t=s.__toPrimitive(t),"string"==typeof e)return"string"!=typeof t&&(t=t.toString()),e+t;if("string"==typeof t)return e.toString()+t;if(e=s.__toNumeric(e),t=s.__toNumeric(t),s.__isBigInt(e)&&s.__isBigInt(t))return s.add(e,t);if("number"==typeof e&&"number"==typeof t)return e+t;throw new TypeError("Cannot mix BigInt and other types, use explicit conversions")}},{key:"LT",value:function(e,t){return s.__compare(e,t,0)}},{key:"LE",value:function(e,t){return s.__compare(e,t,1)}},{key:"GT",value:function(e,t){return s.__compare(e,t,2)}},{key:"GE",value:function(e,t){return s.__compare(e,t,3)}},{key:"EQ",value:function(e,t){for(;;){if(s.__isBigInt(e))return s.__isBigInt(t)?s.equal(e,t):s.EQ(t,e);if("number"==typeof e){if(s.__isBigInt(t))return s.__equalToNumber(t,e);if("object"!==r(t))return e==t;t=s.__toPrimitive(t)}else if("string"==typeof e){if(s.__isBigInt(t))return null!==(e=s.__fromString(e))&&s.equal(e,t);if("object"!==r(t))return e==t;t=s.__toPrimitive(t)}else if("boolean"==typeof e){if(s.__isBigInt(t))return s.__equalToNumber(t,+e);if("object"!==r(t))return e==t;t=s.__toPrimitive(t)}else if("symbol"===r(e)){if(s.__isBigInt(t))return!1;if("object"!==r(t))return e==t;t=s.__toPrimitive(t)}else{if("object"!==r(e))return e==t;if("object"===r(t)&&t.constructor!==s)return e==t;e=s.__toPrimitive(e)}}}},{key:"NE",value:function(e,t){return!s.EQ(e,t)}},{key:"__zero",value:function(){return new s(0,!1)}},{key:"__oneDigit",value:function(e,t){var r=new s(1,t);return r.__setDigit(0,e),r}},{key:"__decideRounding",value:function(e,t,r,n){if(0<t)return-1;var i;if(t<0)i=-t-1;else{if(0===r)return-1;r--,n=e.__digit(r),i=31}var o=1<<i;if(0==(n&o))return-1;if(0!=(n&--o))return 1;for(;0<r;)if(r--,0!==e.__digit(r))return 1;return 0}},{key:"__fromDouble",value:function(e){s.__kBitConversionDouble[0]=e;var t,r=(2047&s.__kBitConversionInts[1]>>>20)-1023,n=1+(r>>>5),i=new s(n,e<0),o=1048575&s.__kBitConversionInts[1]|1048576,a=s.__kBitConversionInts[0],l=31&r,d=0;if(l<20){var f=20-l;d=32+f,t=o>>>f,o=o<<32-f|a>>>f,a<<=32-f}else if(20==l)d=32,t=o,o=a;else{var c=l-20;t=o<<c|a>>>(d=32-c),o=a<<c}i.__setDigit(n-1,t);for(var u=n-2;0<=u;u--)0<d?(d-=32,t=o,o=a):t=0,i.__setDigit(u,t);return i.__trim()}},{key:"__isWhitespace",value:function(e){return!!(e<=13&&9<=e)||(e<=159?32==e:e<=131071?160==e||5760==e:e<=196607?(e&=131071)<=10||40==e||41==e||47==e||95==e||4096==e:65279==e)}},{key:"__fromString",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,r=0,n=e.length,i=0;if(i===n)return s.__zero();for(var o=e.charCodeAt(i);s.__isWhitespace(o);){if(++i===n)return s.__zero();o=e.charCodeAt(i)}if(43===o){if(++i===n)return null;o=e.charCodeAt(i),r=1}else if(45===o){if(++i===n)return null;o=e.charCodeAt(i),r=-1}if(0===t){if(t=10,48===o){if(++i===n)return s.__zero();if(88===(o=e.charCodeAt(i))||120===o){if(t=16,++i===n)return null;o=e.charCodeAt(i)}else if(79===o||111===o){if(t=8,++i===n)return null;o=e.charCodeAt(i)}else if(66===o||98===o){if(t=2,++i===n)return null;o=e.charCodeAt(i)}}}else if(16===t&&48===o){if(++i===n)return s.__zero();if(88===(o=e.charCodeAt(i))||120===o){if(++i===n)return null;o=e.charCodeAt(i)}}for(;48===o;){if(++i===n)return s.__zero();o=e.charCodeAt(i)}var a=n-i,l=s.__kMaxBitsPerChar[t],d=s.__kBitsPerCharTableMultiplier-1;if(1073741824/l<a)return null;var f=new s(31+(l*a+d>>>s.__kBitsPerCharTableShift)>>>5,!1),c=t<10?t:10,u=10<t?t-10:0;if(0==(t&t-1)){l>>=s.__kBitsPerCharTableShift;var h=[],p=[],m=!1;do{for(var b,g=0,v=0;;){if(b=void 0,o-48>>>0<c)b=o-48;else{if(!((32|o)-97>>>0<u)){m=!0;break}b=(32|o)-87}if(v+=l,g=g<<l|b,++i===n){m=!0;break}if(o=e.charCodeAt(i),32<v+l)break}h.push(g),p.push(v)}while(!m);s.__fillFromParts(f,h,p)}else{f.__initializeDigits();var y=!1,j=0;do{for(var _,w=0,x=1;;){if(_=void 0,o-48>>>0<c)_=o-48;else{if(!((32|o)-97>>>0<u)){y=!0;break}_=(32|o)-87}var k=x*t;if(4294967295<k)break;if(x=k,w=w*t+_,j++,++i===n){y=!0;break}o=e.charCodeAt(i)}var U=l*j+(d=32*s.__kBitsPerCharTableMultiplier-1)>>>s.__kBitsPerCharTableShift+5;f.__inplaceMultiplyAdd(x,w,U)}while(!y)}if(i!==n){if(!s.__isWhitespace(o))return null;for(i++;i<n;i++)if(o=e.charCodeAt(i),!s.__isWhitespace(o))return null}return 0!==r&&10!==t?null:(f.sign=-1===r,f.__trim())}},{key:"__fillFromParts",value:function(e,t,r){for(var n=0,i=0,o=0,s=t.length-1;0<=s;s--){var a=t[s],l=r[s];i|=a<<o,32===(o+=l)?(e.__setDigit(n++,i),i=o=0):32<o&&(e.__setDigit(n++,i),i=a>>>l-(o-=32))}if(0!==i){if(n>=e.length)throw new Error("implementation bug");e.__setDigit(n++,i)}for(;n<e.length;n++)e.__setDigit(n,0)}},{key:"__toStringBasePowerOfTwo",value:function(e,t){var r=e.length,n=t-1,i=n=(15&(n=(51&(n=(85&n>>>1)+(85&n))>>>2)+(51&n))>>>4)+(15&n),o=t-1,a=e.__digit(r-1),l=0|(32*r-s.__clz32(a)+i-1)/i;if(e.sign&&l++,268435456<l)throw new Error("string too long");for(var d=Array(l),f=l-1,c=0,u=0,h=0;h<r-1;h++){var p=e.__digit(h),m=(c|p<<u)&o;d[f--]=s.__kConversionChars[m];var b=i-u;for(c=p>>>b,u=32-b;i<=u;)d[f--]=s.__kConversionChars[c&o],c>>>=i,u-=i}var g=(c|a<<u)&o;for(d[f--]=s.__kConversionChars[g],c=a>>>i-u;0!==c;)d[f--]=s.__kConversionChars[c&o],c>>>=i;if(e.sign&&(d[f--]="-"),-1!==f)throw new Error("implementation bug");return d.join("")}},{key:"__toStringGeneric",value:function(e,t,r){var n=e.length;if(0===n)return"";if(1===n){var i=e.__unsignedDigit(0).toString(t);return!1===r&&e.sign&&(i="-"+i),i}var o,a,l=32*n-s.__clz32(e.__digit(n-1)),d=s.__kMaxBitsPerChar[t]-1,f=l*s.__kBitsPerCharTableMultiplier,c=1+(f=0|(f+=d-1)/d)>>1,u=s.exponentiate(s.__oneDigit(t,!1),s.__oneDigit(c,!1)),h=u.__unsignedDigit(0);if(1===u.length&&h<=65535){(o=new s(e.length,!1)).__initializeDigits();for(var p,m=0,b=2*e.length-1;0<=b;b--)p=m<<16|e.__halfDigit(b),o.__setHalfDigit(b,0|p/h),m=0|p%h;a=m.toString(t)}else{var g=s.__absoluteDivLarge(e,u,!0,!0);o=g.quotient;var v=g.remainder.__trim();a=s.__toStringGeneric(v,t,!0)}o.__trim();for(var y=s.__toStringGeneric(o,t,!0);a.length<c;)a="0"+a;return!1===r&&e.sign&&(y="-"+y),y+a}},{key:"__unequalSign",value:function(e){return e?-1:1}},{key:"__absoluteGreater",value:function(e){return e?-1:1}},{key:"__absoluteLess",value:function(e){return e?1:-1}},{key:"__compareToBigInt",value:function(e,t){var r=e.sign;if(r!==t.sign)return s.__unequalSign(r);var n=s.__absoluteCompare(e,t);return 0<n?s.__absoluteGreater(r):n<0?s.__absoluteLess(r):0}},{key:"__compareToNumber",value:function(e,r){if(!0|r){var n=e.sign,i=r<0;if(n!==i)return s.__unequalSign(n);if(0===e.length){if(i)throw new Error("implementation bug");return 0===r?0:-1}if(1<e.length)return s.__absoluteGreater(n);var o=t(r),a=e.__unsignedDigit(0);return o<a?s.__absoluteGreater(n):a<o?s.__absoluteLess(n):0}return s.__compareToDouble(e,r)}},{key:"__compareToDouble",value:function(e,t){if(t!=t)return t;if(t===1/0)return-1;if(-1/0===t)return 1;var r=e.sign;if(r!==t<0)return s.__unequalSign(r);if(0===t)throw new Error("implementation bug: should be handled elsewhere");if(0===e.length)return-1;s.__kBitConversionDouble[0]=t;var n=2047&s.__kBitConversionInts[1]>>>20;if(2047==n)throw new Error("implementation bug: handled elsewhere");var i=n-1023;if(i<0)return s.__absoluteGreater(r);var o=e.length,a=e.__digit(o-1),l=s.__clz32(a),d=32*o-l,f=1+i;if(d<f)return s.__absoluteLess(r);if(f<d)return s.__absoluteGreater(r);var c=1048576|1048575&s.__kBitConversionInts[1],u=s.__kBitConversionInts[0],h=31-l;if(h!=(d-1)%31)throw new Error("implementation bug");var p,m=0;if(h<20){var b=20-h;m=32+b,p=c>>>b,c=c<<32-b|u>>>b,u<<=32-b}else if(20==h)m=32,p=c,c=u;else{var g=h-20;p=c<<g|u>>>(m=32-g),c=u<<g}if((p>>>=0)<(a>>>=0))return s.__absoluteGreater(r);if(a<p)return s.__absoluteLess(r);for(var v=o-2;0<=v;v--){0<m?(m-=32,p=c>>>0,c=u,u=0):p=0;var y=e.__unsignedDigit(v);if(p<y)return s.__absoluteGreater(r);if(y<p)return s.__absoluteLess(r)}if(0===c&&0===u)return 0;if(0===m)throw new Error("implementation bug");return s.__absoluteLess(r)}},{key:"__equalToNumber",value:function(e,r){return r|0===r?0===r?0===e.length:1===e.length&&e.sign===r<0&&e.__unsignedDigit(0)===t(r):0===s.__compareToDouble(e,r)}},{key:"__comparisonResultToBool",value:function(e,t){switch(t){case 0:return e<0;case 1:return e<=0;case 2:return 0<e;case 3:return 0<=e}throw new Error("unreachable")}},{key:"__compare",value:function(e,t,r){if(e=s.__toPrimitive(e),t=s.__toPrimitive(t),"string"==typeof e&&"string"==typeof t)switch(r){case 0:return e<t;case 1:return e<=t;case 2:return t<e;case 3:return t<=e}if(s.__isBigInt(e)&&"string"==typeof t)return null!==(t=s.__fromString(t))&&s.__comparisonResultToBool(s.__compareToBigInt(e,t),r);if("string"==typeof e&&s.__isBigInt(t))return null!==(e=s.__fromString(e))&&s.__comparisonResultToBool(s.__compareToBigInt(e,t),r);if(e=s.__toNumeric(e),t=s.__toNumeric(t),s.__isBigInt(e)){if(s.__isBigInt(t))return s.__comparisonResultToBool(s.__compareToBigInt(e,t),r);if("number"!=typeof t)throw new Error("implementation bug");return s.__comparisonResultToBool(s.__compareToNumber(e,t),r)}if("number"!=typeof e)throw new Error("implementation bug");if(s.__isBigInt(t))return s.__comparisonResultToBool(s.__compareToNumber(t,e),2^r);if("number"!=typeof t)throw new Error("implementation bug");return 0===r?e<t:1===r?e<=t:2===r?t<e:3===r?t<=e:void 0}},{key:"__absoluteAdd",value:function(e,t,r){if(e.length<t.length)return s.__absoluteAdd(t,e,r);if(0===e.length)return e;if(0===t.length)return e.sign===r?e:s.unaryMinus(e);var n=e.length;(0===e.__clzmsd()||t.length===e.length&&0===t.__clzmsd())&&n++;for(var i=new s(n,r),o=0,a=0;a<t.length;a++){var l=t.__digit(a),d=e.__digit(a),f=(65535&d)+(65535&l)+o,c=(d>>>16)+(l>>>16)+(f>>>16);o=c>>>16,i.__setDigit(a,65535&f|c<<16)}for(;a<e.length;a++){var u=e.__digit(a),h=(65535&u)+o,p=(u>>>16)+(h>>>16);o=p>>>16,i.__setDigit(a,65535&h|p<<16)}return a<i.length&&i.__setDigit(a,o),i.__trim()}},{key:"__absoluteSub",value:function(e,t,r){if(0===e.length)return e;if(0===t.length)return e.sign===r?e:s.unaryMinus(e);for(var n=new s(e.length,r),i=0,o=0;o<t.length;o++){var a=e.__digit(o),l=t.__digit(o),d=(65535&a)-(65535&l)-i,f=(a>>>16)-(l>>>16)-(i=1&d>>>16);i=1&f>>>16,n.__setDigit(o,65535&d|f<<16)}for(;o<e.length;o++){var c=e.__digit(o),u=(65535&c)-i,h=(c>>>16)-(i=1&u>>>16);i=1&h>>>16,n.__setDigit(o,65535&u|h<<16)}return n.__trim()}},{key:"__absoluteAddOne",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length;null===r?r=new s(n,t):r.sign=t;for(var i,o=!0,a=0;a<n;a++){if(i=e.__digit(a),o){var l=-1===i;i=0|i+1,o=l}r.__setDigit(a,i)}return o&&r.__setDigitGrow(n,1),r}},{key:"__absoluteSubOne",value:function(e,t){for(var r,n=e.length,i=new s(t=t||n,!1),o=!0,a=0;a<n;a++){if(r=e.__digit(a),o){var l=0===r;r=0|r-1,o=l}i.__setDigit(a,r)}if(o)throw new Error("implementation bug");for(var d=n;d<t;d++)i.__setDigit(d,0);return i}},{key:"__absoluteAnd",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,i=t.length,o=i;if(n<i){var a=e,l=o=n;e=t,n=i,t=a,i=l}var d=o;null===r?r=new s(d,!1):d=r.length;for(var f=0;f<o;f++)r.__setDigit(f,e.__digit(f)&t.__digit(f));for(;f<d;f++)r.__setDigit(f,0);return r}},{key:"__absoluteAndNot",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,i=t.length,o=i;n<i&&(o=n);var a=n;null===r?r=new s(a,!1):a=r.length;for(var l=0;l<o;l++)r.__setDigit(l,e.__digit(l)&~t.__digit(l));for(;l<n;l++)r.__setDigit(l,e.__digit(l));for(;l<a;l++)r.__setDigit(l,0);return r}},{key:"__absoluteOr",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,i=t.length,o=i;if(n<i){var a=e,l=o=n;e=t,n=i,t=a,i=l}var d=n;null===r?r=new s(d,!1):d=r.length;for(var f=0;f<o;f++)r.__setDigit(f,e.__digit(f)|t.__digit(f));for(;f<n;f++)r.__setDigit(f,e.__digit(f));for(;f<d;f++)r.__setDigit(f,0);return r}},{key:"__absoluteXor",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,i=t.length,o=i;if(n<i){var a=e,l=o=n;e=t,n=i,t=a,i=l}var d=n;null===r?r=new s(d,!1):d=r.length;for(var f=0;f<o;f++)r.__setDigit(f,e.__digit(f)^t.__digit(f));for(;f<n;f++)r.__setDigit(f,e.__digit(f));for(;f<d;f++)r.__setDigit(f,0);return r}},{key:"__absoluteCompare",value:function(e,t){var r=e.length-t.length;if(0!=r)return r;for(var n=e.length-1;0<=n&&e.__digit(n)===t.__digit(n);)n--;return n<0?0:e.__unsignedDigit(n)>t.__unsignedDigit(n)?1:-1}},{key:"__multiplyAccumulate",value:function(e,t,r,n){if(0!==t){for(var i=65535&t,o=t>>>16,a=0,l=0,d=0,f=0;f<e.length;f++,n++){var c=r.__digit(n),u=65535&c,h=c>>>16,p=e.__digit(f),m=65535&p,b=p>>>16,g=s.__imul(m,i),v=s.__imul(m,o),y=s.__imul(b,i),j=s.__imul(b,o);a=(l=(v>>>16)+(y>>>16)+(65535&j)+(a=(h+=d+a+((u+=l+(65535&g))>>>16)+(g>>>16)+(65535&v)+(65535&y))>>>16))>>>16,l&=65535,d=j>>>16,c=65535&u|h<<16,r.__setDigit(n,c)}for(;0!==a||0!==l||0!==d;n++){var _=r.__digit(n),w=(65535&_)+l,x=(_>>>16)+(w>>>16)+d+a;d=l=0,a=x>>>16,_=65535&w|x<<16,r.__setDigit(n,_)}}}},{key:"__internalMultiplyAdd",value:function(e,t,r,n,i){for(var o=r,a=0,l=0;l<n;l++){var d=e.__digit(l),f=s.__imul(65535&d,t),c=(65535&f)+a+o;o=c>>>16;var u=s.__imul(d>>>16,t),h=(65535&u)+(f>>>16)+o;o=h>>>16,a=u>>>16,i.__setDigit(l,h<<16|65535&c)}if(i.length>n)for(i.__setDigit(n++,o+a);n<i.length;)i.__setDigit(n++,0);else if(0!==o+a)throw new Error("implementation bug")}},{key:"__absoluteDivSmall",value:function(e,t,r){null===r&&(r=new s(e.length,!1));for(var n=0,i=2*e.length-1;0<=i;i-=2){var o=(n<<16|e.__halfDigit(i))>>>0,a=0|o/t,l=0|(o=((n=0|o%t)<<16|e.__halfDigit(i-1))>>>0)/t;n=0|o%t,r.__setDigit(i>>>1,a<<16|l)}return r}},{key:"__absoluteModSmall",value:function(e,t){for(var r=0,n=2*e.length-1;0<=n;n--)r=0|((r<<16|e.__halfDigit(n))>>>0)%t;return r}},{key:"__absoluteDivLarge",value:function(e,t,r,n){var i=t.__halfDigitLength(),o=t.length,a=e.__halfDigitLength()-i,l=null;r&&(l=new s(2+a>>>1,!1)).__initializeDigits();var d=new s(i+2>>>1,!1);d.__initializeDigits();var f=s.__clz16(t.__halfDigit(i-1));0<f&&(t=s.__specialLeftShift(t,f,0));for(var c=s.__specialLeftShift(e,f,1),u=t.__halfDigit(i-1),h=0,p=a;0<=p;p--){var m=65535,b=c.__halfDigit(p+i);if(b!==u){var g=(b<<16|c.__halfDigit(p+i-1))>>>0;m=0|g/u;for(var v=0|g%u,y=t.__halfDigit(i-2),j=c.__halfDigit(p+i-2);s.__imul(m,y)>>>0>(v<<16|j)>>>0&&(m--,!(65535<(v+=u))););}s.__internalMultiplyAdd(t,m,0,o,d);var _=c.__inplaceSub(d,p,i+1);0!==_&&(_=c.__inplaceAdd(t,p,i),c.__setHalfDigit(p+i,c.__halfDigit(p+i)+_),m--),r&&(1&p?h=m<<16:l.__setDigit(p>>>1,h|m))}return n?(c.__inplaceRightShift(f),r?{quotient:l,remainder:c}:c):r?l:void 0}},{key:"__clz16",value:function(e){return s.__clz32(e)-16}},{key:"__specialLeftShift",value:function(e,t,r){var n=e.length,i=new s(n+r,!1);if(0===t){for(var o=0;o<n;o++)i.__setDigit(o,e.__digit(o));return 0<r&&i.__setDigit(n,0),i}for(var a,l=0,d=0;d<n;d++)a=e.__digit(d),i.__setDigit(d,a<<t|l),l=a>>>32-t;return 0<r&&i.__setDigit(n,l),i}},{key:"__leftShiftByAbsolute",value:function(e,t){var r=s.__toShiftAmount(t);if(r<0)throw new RangeError("BigInt too big");var n=r>>>5,i=31&r,o=e.length,a=0!=i&&0!=e.__digit(o-1)>>>32-i,l=o+n+(a?1:0),d=new s(l,e.sign);if(0==i){for(var f=0;f<n;f++)d.__setDigit(f,0);for(;f<l;f++)d.__setDigit(f,e.__digit(f-n))}else{for(var c=0,u=0;u<n;u++)d.__setDigit(u,0);for(var h,p=0;p<o;p++)h=e.__digit(p),d.__setDigit(p+n,h<<i|c),c=h>>>32-i;if(a)d.__setDigit(o+n,c);else if(0!==c)throw new Error("implementation bug")}return d.__trim()}},{key:"__rightShiftByAbsolute",value:function(e,t){var r=e.length,n=e.sign,i=s.__toShiftAmount(t);if(i<0)return s.__rightShiftByMaximum(n);var o=i>>>5,a=31&i,l=r-o;if(l<=0)return s.__rightShiftByMaximum(n);var d=!1;if(n)if(0!=(e.__digit(o)&(1<<a)-1))d=!0;else for(var f=0;f<o;f++)if(0!==e.__digit(f)){d=!0;break}d&&0==a&&0==~e.__digit(r-1)&&l++;var c=new s(l,n);if(0==a)for(var u=o;u<r;u++)c.__setDigit(u-o,e.__digit(u));else{for(var h,p=e.__digit(o)>>>a,m=r-o-1,b=0;b<m;b++)h=e.__digit(b+o+1),c.__setDigit(b,h<<32-a|p),p=h>>>a;c.__setDigit(m,p)}return d&&(c=s.__absoluteAddOne(c,!0,c)),c.__trim()}},{key:"__rightShiftByMaximum",value:function(e){return e?s.__oneDigit(1,!0):s.__zero()}},{key:"__toShiftAmount",value:function(e){if(1<e.length)return-1;var t=e.__unsignedDigit(0);return s.__kMaxLengthBits<t?-1:t}},{key:"__toPrimitive",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"default";if("object"!==r(e))return e;if(e.constructor===s)return e;var n=e[Symbol.toPrimitive];if(n){var i=n(t);if("object"!==r(i))return i;throw new TypeError("Cannot convert object to primitive value")}var o=e.valueOf;if(o){var a=o.call(e);if("object"!==r(a))return a}var l=e.toString;if(l){var d=l.call(e);if("object"!==r(d))return d}throw new TypeError("Cannot convert object to primitive value")}},{key:"__toNumeric",value:function(e){return s.__isBigInt(e)?e:+e}},{key:"__isBigInt",value:function(e){return"object"===r(e)&&e.constructor===s}},{key:"__truncateToNBits",value:function(e,t){for(var r=e+31>>>5,n=new s(r,t.sign),i=r-1,o=0;o<i;o++)n.__setDigit(o,t.__digit(o));var a=t.__digit(i);if(0!=(31&e)){var l=32-(31&e);a=a<<l>>>l}return n.__setDigit(i,a),n.__trim()}},{key:"__truncateAndSubFromPowerOfTwo",value:function(e,t,r){for(var n=Math.min,i=e+31>>>5,o=new s(i,r),a=0,l=i-1,d=0,f=n(l,t.length);a<f;a++){var c=t.__digit(a),u=0-(65535&c)-d,h=0-(c>>>16)-(d=1&u>>>16);d=1&h>>>16,o.__setDigit(a,65535&u|h<<16)}for(;a<l;a++)o.__setDigit(a,0|-d);var p,m=l<t.length?t.__digit(l):0,b=31&e;if(0==b){var g=0-(65535&m)-d;p=65535&g|0-(m>>>16)-(d=1&g>>>16)<<16}else{var v=32-b,y=1<<32-v,j=(65535&y)-(65535&(m=m<<v>>>v))-d;p=65535&j|(y>>>16)-(m>>>16)-(d=1&j>>>16)<<16,p&=y-1}return o.__setDigit(l,p),o.__trim()}},{key:"__digitPow",value:function(e,t){for(var r=1;0<t;)1&t&&(r*=e),t>>>=1,e*=e;return r}}]),s}(f(Array));return h.__kMaxLength=33554432,h.__kMaxLengthBits=h.__kMaxLength<<5,h.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],h.__kBitsPerCharTableShift=5,h.__kBitsPerCharTableMultiplier=1<<h.__kBitsPerCharTableShift,h.__kConversionChars=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],h.__kBitConversionBuffer=new ArrayBuffer(8),h.__kBitConversionDouble=new Float64Array(h.__kBitConversionBuffer),h.__kBitConversionInts=new Int32Array(h.__kBitConversionBuffer),h.__clz32=t||function(e){var t=Math.LN2,r=Math.log;return 0===e?32:0|31-(0|r(e>>>0)/t)},h.__imul=e||function(e,t){return 0|e*t},h},"object"==typeof r&&void 0!==t?t.exports=i():"function"==typeof define&&define.amd?define(i):(n=n||self).JSBI=i()},{}],"/Users/f/pjs/dhive/node_modules/long/dist/long.js":[function(e,t,r){var n;n=function(){"use strict";function e(e,t,r){this.low=0|e,this.high=0|t,this.unsigned=!!r}function t(e){return!0===(e&&e.__isLong__)}Object.defineProperty(e.prototype,"__isLong__",{value:!0,enumerable:!1,configurable:!1}),e.isLong=t;var r={},n={};function i(e,t){var i,o,a;return t?(a=0<=(e>>>=0)&&e<256)&&(o=n[e])?o:(i=s(e,(0|e)<0?-1:0,!0),a&&(n[e]=i),i):(a=-128<=(e|=0)&&e<128)&&(o=r[e])?o:(i=s(e,e<0?-1:0,!1),a&&(r[e]=i),i)}function o(e,t){if(isNaN(e)||!isFinite(e))return t?m:p;if(t){if(e<0)return m;if(c<=e)return j}else{if(e<=-u)return _;if(u<=e+1)return y}return e<0?o(-e,t).neg():s(e%f|0,e/f|0,t)}function s(t,r,n){return new e(t,r,n)}e.fromInt=i,e.fromNumber=o,e.fromBits=s;var a=Math.pow;function l(e,t,r){if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return p;if(t="number"==typeof t?(r=t,!1):!!t,(r=r||10)<2||36<r)throw RangeError("radix");var n;if(0<(n=e.indexOf("-")))throw Error("interior hyphen");if(0===n)return l(e.substring(1),t,r).neg();for(var i=o(a(r,8)),s=p,d=0;d<e.length;d+=8){var f=Math.min(8,e.length-d),c=parseInt(e.substring(d,d+f),r);if(f<8){var u=o(a(r,f));s=s.mul(u).add(o(c))}else s=(s=s.mul(i)).add(o(c))}return s.unsigned=t,s}function d(t){return t instanceof e?t:"number"==typeof t?o(t):"string"==typeof t?l(t):s(t.low,t.high,t.unsigned)}e.fromString=l,e.fromValue=d;var f=4294967296,c=f*f,u=c/2,h=i(1<<24),p=i(0);e.ZERO=p;var m=i(0,!0);e.UZERO=m;var b=i(1);e.ONE=b;var g=i(1,!0);e.UONE=g;var v=i(-1);e.NEG_ONE=v;var y=s(-1,2147483647,!1);e.MAX_VALUE=y;var j=s(-1,-1,!0);e.MAX_UNSIGNED_VALUE=j;var _=s(0,-2147483648,!1);e.MIN_VALUE=_;var w=e.prototype;return w.toInt=function(){return this.unsigned?this.low>>>0:this.low},w.toNumber=function(){return this.unsigned?(this.high>>>0)*f+(this.low>>>0):this.high*f+(this.low>>>0)},w.toString=function(e){if((e=e||10)<2||36<e)throw RangeError("radix");if(this.isZero())return"0";if(this.isNegative()){if(this.eq(_)){var t=o(e),r=this.div(t),n=r.mul(t).sub(this);return r.toString(e)+n.toInt().toString(e)}return"-"+this.neg().toString(e)}for(var i=o(a(e,6),this.unsigned),s=this,l="";;){var d=s.div(i),f=(s.sub(d.mul(i)).toInt()>>>0).toString(e);if((s=d).isZero())return f+l;for(;f.length<6;)f="0"+f;l=""+f+l}},w.getHighBits=function(){return this.high},w.getHighBitsUnsigned=function(){return this.high>>>0},w.getLowBits=function(){return this.low},w.getLowBitsUnsigned=function(){return this.low>>>0},w.getNumBitsAbs=function(){if(this.isNegative())return this.eq(_)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;0<t&&0==(e&1<<t);t--);return 0!=this.high?t+33:t+1},w.isZero=function(){return 0===this.high&&0===this.low},w.isNegative=function(){return!this.unsigned&&this.high<0},w.isPositive=function(){return this.unsigned||0<=this.high},w.isOdd=function(){return 1==(1&this.low)},w.isEven=function(){return 0==(1&this.low)},w.equals=function(e){return t(e)||(e=d(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&this.high===e.high&&this.low===e.low},w.eq=w.equals,w.notEquals=function(e){return!this.eq(e)},w.neq=w.notEquals,w.lessThan=function(e){return this.comp(e)<0},w.lt=w.lessThan,w.lessThanOrEqual=function(e){return this.comp(e)<=0},w.lte=w.lessThanOrEqual,w.greaterThan=function(e){return 0<this.comp(e)},w.gt=w.greaterThan,w.greaterThanOrEqual=function(e){return 0<=this.comp(e)},w.gte=w.greaterThanOrEqual,w.compare=function(e){if(t(e)||(e=d(e)),this.eq(e))return 0;var r=this.isNegative(),n=e.isNegative();return r&&!n?-1:!r&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},w.comp=w.compare,w.negate=function(){return!this.unsigned&&this.eq(_)?_:this.not().add(b)},w.neg=w.negate,w.add=function(e){t(e)||(e=d(e));var r=this.high>>>16,n=65535&this.high,i=this.low>>>16,o=65535&this.low,a=e.high>>>16,l=65535&e.high,f=e.low>>>16,c=0,u=0,h=0,p=0;return h+=(p+=o+(65535&e.low))>>>16,u+=(h+=i+f)>>>16,c+=(u+=n+l)>>>16,c+=r+a,s((h&=65535)<<16|(p&=65535),(c&=65535)<<16|(u&=65535),this.unsigned)},w.subtract=function(e){return t(e)||(e=d(e)),this.add(e.neg())},w.sub=w.subtract,w.multiply=function(e){if(this.isZero())return p;if(t(e)||(e=d(e)),e.isZero())return p;if(this.eq(_))return e.isOdd()?_:p;if(e.eq(_))return this.isOdd()?_:p;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(h)&&e.lt(h))return o(this.toNumber()*e.toNumber(),this.unsigned);var r=this.high>>>16,n=65535&this.high,i=this.low>>>16,a=65535&this.low,l=e.high>>>16,f=65535&e.high,c=e.low>>>16,u=65535&e.low,m=0,b=0,g=0,v=0;return g+=(v+=a*u)>>>16,b+=(g+=i*u)>>>16,g&=65535,b+=(g+=a*c)>>>16,m+=(b+=n*u)>>>16,b&=65535,m+=(b+=i*c)>>>16,b&=65535,m+=(b+=a*f)>>>16,m+=r*u+n*c+i*f+a*l,s((g&=65535)<<16|(v&=65535),(m&=65535)<<16|(b&=65535),this.unsigned)},w.mul=w.multiply,w.divide=function(e){if(t(e)||(e=d(e)),e.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?m:p;var r,n,i;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return m;if(e.gt(this.shru(1)))return g;i=m}else{if(this.eq(_))return e.eq(b)||e.eq(v)?_:e.eq(_)?b:(r=this.shr(1).div(e).shl(1)).eq(p)?e.isNegative()?b:v:(n=this.sub(e.mul(r)),i=r.add(n.div(e)));if(e.eq(_))return this.unsigned?m:p;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();i=p}for(n=this;n.gte(e);){r=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var s=Math.ceil(Math.log(r)/Math.LN2),l=s<=48?1:a(2,s-48),f=o(r),c=f.mul(e);c.isNegative()||c.gt(n);)c=(f=o(r-=l,this.unsigned)).mul(e);f.isZero()&&(f=b),i=i.add(f),n=n.sub(c)}return i},w.div=w.divide,w.modulo=function(e){return t(e)||(e=d(e)),this.sub(this.div(e).mul(e))},w.mod=w.modulo,w.not=function(){return s(~this.low,~this.high,this.unsigned)},w.and=function(e){return t(e)||(e=d(e)),s(this.low&e.low,this.high&e.high,this.unsigned)},w.or=function(e){return t(e)||(e=d(e)),s(this.low|e.low,this.high|e.high,this.unsigned)},w.xor=function(e){return t(e)||(e=d(e)),s(this.low^e.low,this.high^e.high,this.unsigned)},w.shiftLeft=function(e){return t(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?s(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):s(0,this.low<<e-32,this.unsigned)},w.shl=w.shiftLeft,w.shiftRight=function(e){return t(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?s(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):s(this.high>>e-32,0<=this.high?0:-1,this.unsigned)},w.shr=w.shiftRight,w.shiftRightUnsigned=function(e){if(t(e)&&(e=e.toInt()),0==(e&=63))return this;var r=this.high;return e<32?s(this.low>>>e|r<<32-e,r>>>e,this.unsigned):s(32===e?r:r>>>e-32,0,this.unsigned)},w.shru=w.shiftRightUnsigned,w.toSigned=function(){return this.unsigned?s(this.low,this.high,!1):this},w.toUnsigned=function(){return this.unsigned?this:s(this.low,this.high,!0)},w.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},w.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&e,e>>>8&255,e>>>16&255,e>>>24&255]},w.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t]},e},"function"==typeof define&&define.amd?define([],n):"function"==typeof e&&"object"==typeof t&&t&&t.exports?t.exports=n():(this.dcodeIO=this.dcodeIO||{}).Long=n()},{}],"/Users/f/pjs/dhive/node_modules/md5.js/index.js":[function(e,t,r){"use strict";var n=e("inherits"),i=e("hash-base"),o=e("safe-buffer").Buffer,s=new Array(16);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function l(e,t){return e<<t|e>>>32-t}function d(e,t,r,n,i,o,s){return l(e+(t&r|~t&n)+i+o|0,s)+t|0}function f(e,t,r,n,i,o,s){return l(e+(t&n|r&~n)+i+o|0,s)+t|0}function c(e,t,r,n,i,o,s){return l(e+(t^r^n)+i+o|0,s)+t|0}function u(e,t,r,n,i,o,s){return l(e+(r^(t|~n))+i+o|0,s)+t|0}n(a,i),a.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var r=this._a,n=this._b,i=this._c,o=this._d;r=d(r,n,i,o,e[0],3614090360,7),o=d(o,r,n,i,e[1],3905402710,12),i=d(i,o,r,n,e[2],606105819,17),n=d(n,i,o,r,e[3],3250441966,22),r=d(r,n,i,o,e[4],4118548399,7),o=d(o,r,n,i,e[5],1200080426,12),i=d(i,o,r,n,e[6],2821735955,17),n=d(n,i,o,r,e[7],4249261313,22),r=d(r,n,i,o,e[8],1770035416,7),o=d(o,r,n,i,e[9],2336552879,12),i=d(i,o,r,n,e[10],4294925233,17),n=d(n,i,o,r,e[11],2304563134,22),r=d(r,n,i,o,e[12],1804603682,7),o=d(o,r,n,i,e[13],4254626195,12),i=d(i,o,r,n,e[14],2792965006,17),r=f(r,n=d(n,i,o,r,e[15],1236535329,22),i,o,e[1],4129170786,5),o=f(o,r,n,i,e[6],3225465664,9),i=f(i,o,r,n,e[11],643717713,14),n=f(n,i,o,r,e[0],3921069994,20),r=f(r,n,i,o,e[5],3593408605,5),o=f(o,r,n,i,e[10],38016083,9),i=f(i,o,r,n,e[15],3634488961,14),n=f(n,i,o,r,e[4],3889429448,20),r=f(r,n,i,o,e[9],568446438,5),o=f(o,r,n,i,e[14],3275163606,9),i=f(i,o,r,n,e[3],4107603335,14),n=f(n,i,o,r,e[8],1163531501,20),r=f(r,n,i,o,e[13],2850285829,5),o=f(o,r,n,i,e[2],4243563512,9),i=f(i,o,r,n,e[7],1735328473,14),r=c(r,n=f(n,i,o,r,e[12],2368359562,20),i,o,e[5],4294588738,4),o=c(o,r,n,i,e[8],2272392833,11),i=c(i,o,r,n,e[11],1839030562,16),n=c(n,i,o,r,e[14],4259657740,23),r=c(r,n,i,o,e[1],2763975236,4),o=c(o,r,n,i,e[4],1272893353,11),i=c(i,o,r,n,e[7],4139469664,16),n=c(n,i,o,r,e[10],3200236656,23),r=c(r,n,i,o,e[13],681279174,4),o=c(o,r,n,i,e[0],3936430074,11),i=c(i,o,r,n,e[3],3572445317,16),n=c(n,i,o,r,e[6],76029189,23),r=c(r,n,i,o,e[9],3654602809,4),o=c(o,r,n,i,e[12],3873151461,11),i=c(i,o,r,n,e[15],530742520,16),r=u(r,n=c(n,i,o,r,e[2],3299628645,23),i,o,e[0],4096336452,6),o=u(o,r,n,i,e[7],1126891415,10),i=u(i,o,r,n,e[14],2878612391,15),n=u(n,i,o,r,e[5],4237533241,21),r=u(r,n,i,o,e[12],1700485571,6),o=u(o,r,n,i,e[3],2399980690,10),i=u(i,o,r,n,e[10],4293915773,15),n=u(n,i,o,r,e[1],2240044497,21),r=u(r,n,i,o,e[8],1873313359,6),o=u(o,r,n,i,e[15],4264355552,10),i=u(i,o,r,n,e[6],2734768916,15),n=u(n,i,o,r,e[13],1309151649,21),r=u(r,n,i,o,e[4],4149444226,6),o=u(o,r,n,i,e[11],3174756917,10),i=u(i,o,r,n,e[2],718787259,15),n=u(n,i,o,r,e[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+i|0,this._d=this._d+o|0},a.prototype._digest=function(){this._block[this._blockOffset++]=128,56<this._blockOffset&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=o.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},t.exports=a},{"hash-base":"/Users/f/pjs/dhive/node_modules/hash-base/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/miller-rabin/lib/mr.js":[function(e,t,r){var n=e("bn.js"),i=e("brorand");function o(e){this.rand=e||new i.Rand}(t.exports=o).create=function(e){return new o(e)},o.prototype._randbelow=function(e){var t=e.bitLength(),r=Math.ceil(t/8);do{var i=new n(this.rand.generate(r))}while(0<=i.cmp(e));return i},o.prototype._randrange=function(e,t){var r=t.sub(e);return e.add(this._randbelow(r))},o.prototype.test=function(e,t,r){var i=e.bitLength(),o=n.mont(e),s=new n(1).toRed(o);t=t||Math.max(1,i/48|0);for(var a=e.subn(1),l=0;!a.testn(l);l++);for(var d=e.shrn(l),f=a.toRed(o);0<t;t--){var c=this._randrange(new n(2),a);r&&r(c);var u=c.toRed(o).redPow(d);if(0!==u.cmp(s)&&0!==u.cmp(f)){for(var h=1;h<l;h++){if(0===(u=u.redSqr()).cmp(s))return!1;if(0===u.cmp(f))break}if(h===l)return!1}}return!0},o.prototype.getDivisor=function(e,t){var r=e.bitLength(),i=n.mont(e),o=new n(1).toRed(i);t=t||Math.max(1,r/48|0);for(var s=e.subn(1),a=0;!s.testn(a);a++);for(var l=e.shrn(a),d=s.toRed(i);0<t;t--){var f=this._randrange(new n(2),s),c=e.gcd(f);if(0!==c.cmpn(1))return c;var u=f.toRed(i).redPow(l);if(0!==u.cmp(o)&&0!==u.cmp(d)){for(var h=1;h<a;h++){if(0===(u=u.redSqr()).cmp(o))return u.fromRed().subn(1).gcd(e);if(0===u.cmp(d))break}if(h===a)return(u=u.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},{"bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js",brorand:"/Users/f/pjs/dhive/node_modules/brorand/index.js"}],"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js":[function(e,t,r){(t.exports=function(e,t){if(!e)throw new Error(t||"Assertion failed")}).equal=function(e,t,r){if(e!=t)throw new Error(r||"Assertion failed: "+e+" != "+t)}},{}],"/Users/f/pjs/dhive/node_modules/minimalistic-crypto-utils/lib/utils.js":[function(e,t,r){"use strict";var n=r;function i(e){return 1===e.length?"0"+e:e}function o(e){for(var t="",r=0;r<e.length;r++)t+=i(e[r].toString(16));return t}n.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"!=typeof e){for(var n=0;n<e.length;n++)r[n]=0|e[n];return r}if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16));else for(n=0;n<e.length;n++){var i=e.charCodeAt(n),o=i>>8,s=255&i;o?r.push(o,s):r.push(s)}return r},n.zero2=i,n.toHex=o,n.encode=function(e,t){return"hex"===t?o(e):e}},{}],"/Users/f/pjs/dhive/node_modules/object-assign/index.js":[function(e,t,r){"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return}}()?Object.assign:function(e,t){for(var r,s,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var d in r=Object(arguments[l]))i.call(r,d)&&(a[d]=r[d]);if(n){s=n(r);for(var f=0;f<s.length;f++)o.call(r,s[f])&&(a[s[f]]=r[s[f]])}}return a}},{}],"/Users/f/pjs/dhive/node_modules/parse-asn1/aesid.json":[function(e,t,r){t.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}},{}],"/Users/f/pjs/dhive/node_modules/parse-asn1/asn1.js":[function(e,t,r){"use strict";var n=e("asn1.js");r.certificate=e("./certificate");var i=n.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));r.RSAPrivateKey=i;var o=n.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));r.RSAPublicKey=o;var s=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(a),this.key("subjectPublicKey").bitstr())}));r.PublicKey=s;var a=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),l=n.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(a),this.key("subjectPrivateKey").octstr())}));r.PrivateKey=l;var d=n.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));r.EncryptedPrivateKey=d;var f=n.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));r.DSAPrivateKey=f,r.DSAparam=n.define("DSAparam",(function(){this.int()}));var c=n.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(u),this.key("publicKey").optional().explicit(1).bitstr())}));r.ECPrivateKey=c;var u=n.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));r.signature=n.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},{"./certificate":"/Users/f/pjs/dhive/node_modules/parse-asn1/certificate.js","asn1.js":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js"}],"/Users/f/pjs/dhive/node_modules/parse-asn1/certificate.js":[function(e,t,r){"use strict";var n=e("asn1.js"),i=n.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),o=n.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),s=n.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),a=n.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(s),this.key("subjectPublicKey").bitstr())})),l=n.define("RelativeDistinguishedName",(function(){this.setof(o)})),d=n.define("RDNSequence",(function(){this.seqof(l)})),f=n.define("Name",(function(){this.choice({rdnSequence:this.use(d)})})),c=n.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))})),u=n.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),h=n.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(s),this.key("issuer").use(f),this.key("validity").use(c),this.key("subject").use(f),this.key("subjectPublicKeyInfo").use(a),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(u).optional())})),p=n.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(h),this.key("signatureAlgorithm").use(s),this.key("signatureValue").bitstr())}));t.exports=p},{"asn1.js":"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js"}],"/Users/f/pjs/dhive/node_modules/parse-asn1/fixProc.js":[function(e,t,r){var n=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,o=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,s=e("evp_bytestokey"),a=e("browserify-aes"),l=e("safe-buffer").Buffer;t.exports=function(e,t){var r,d=e.toString(),f=d.match(n);if(f){var c="aes"+f[1],u=l.from(f[2],"hex"),h=l.from(f[3].replace(/[\r\n]/g,""),"base64"),p=s(t,u.slice(0,8),parseInt(f[1],10)).key,m=[],b=a.createDecipheriv(c,p,u);m.push(b.update(h)),m.push(b.final()),r=l.concat(m)}else{var g=d.match(o);r=new l(g[2].replace(/[\r\n]/g,""),"base64")}return{tag:d.match(i)[1],data:r}}},{"browserify-aes":"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js",evp_bytestokey:"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js":[function(e,t,r){var n=e("./asn1"),i=e("./aesid.json"),o=e("./fixProc"),s=e("browserify-aes"),a=e("pbkdf2"),l=e("safe-buffer").Buffer;(t.exports=function(e){var t;"object"!=typeof e||l.isBuffer(e)||(t=e.passphrase,e=e.key),"string"==typeof e&&(e=l.from(e));var r,d,f=o(e,t),c=f.tag,u=f.data;switch(c){case"CERTIFICATE":d=n.certificate.decode(u,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(r=(d=d||n.PublicKey.decode(u,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPublicKey.decode(d.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return d.subjectPrivateKey=d.subjectPublicKey,{type:"ec",data:d};case"1.2.840.10040.4.1":return d.algorithm.params.pub_key=n.DSAparam.decode(d.subjectPublicKey.data,"der"),{type:"dsa",data:d.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+c);case"ENCRYPTED PRIVATE KEY":u=function(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt,n=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),o=i[e.algorithm.decrypt.cipher.algo.join(".")],d=e.algorithm.decrypt.cipher.iv,f=e.subjectPrivateKey,c=parseInt(o.split("-")[1],10)/8,u=a.pbkdf2Sync(t,r,n,c,"sha1"),h=s.createDecipheriv(o,u,d),p=[];return p.push(h.update(f)),p.push(h.final()),l.concat(p)}(u=n.EncryptedPrivateKey.decode(u,"der"),t);case"PRIVATE KEY":switch(r=(d=n.PrivateKey.decode(u,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return n.RSAPrivateKey.decode(d.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:d.algorithm.curve,privateKey:n.ECPrivateKey.decode(d.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return d.algorithm.params.priv_key=n.DSAparam.decode(d.subjectPrivateKey,"der"),{type:"dsa",params:d.algorithm.params};default:throw new Error("unknown key id "+r)}throw new Error("unknown key type "+c);case"RSA PUBLIC KEY":return n.RSAPublicKey.decode(u,"der");case"RSA PRIVATE KEY":return n.RSAPrivateKey.decode(u,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:n.DSAPrivateKey.decode(u,"der")};case"EC PRIVATE KEY":return{curve:(u=n.ECPrivateKey.decode(u,"der")).parameters.value,privateKey:u.privateKey};default:throw new Error("unknown key type "+c)}}).signature=n.signature},{"./aesid.json":"/Users/f/pjs/dhive/node_modules/parse-asn1/aesid.json","./asn1":"/Users/f/pjs/dhive/node_modules/parse-asn1/asn1.js","./fixProc":"/Users/f/pjs/dhive/node_modules/parse-asn1/fixProc.js","browserify-aes":"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js",pbkdf2:"/Users/f/pjs/dhive/node_modules/pbkdf2/browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/pbkdf2/browser.js":[function(e,t,r){r.pbkdf2=e("./lib/async"),r.pbkdf2Sync=e("./lib/sync")},{"./lib/async":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/async.js","./lib/sync":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/sync-browser.js"}],"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/async.js":[function(e,t,r){(function(r,n){var i,o=e("./precondition"),s=e("./default-encoding"),a=e("./sync"),l=e("safe-buffer").Buffer,d=n.crypto&&n.crypto.subtle,f={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},c=[];function u(e,t,r,n,i){return d.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]).then((function(e){return d.deriveBits({name:"PBKDF2",salt:t,iterations:r,hash:{name:i}},e,n<<3)})).then((function(e){return l.from(e)}))}t.exports=function(e,t,h,p,m,b){"function"==typeof m&&(b=m,m=void 0);var g=f[(m=m||"sha1").toLowerCase()];if(!g||"function"!=typeof n.Promise)return r.nextTick((function(){var r;try{r=a(e,t,h,p,m)}catch(e){return b(e)}b(null,r)}));if(o(e,t,h,p),"function"!=typeof b)throw new Error("No callback provided to pbkdf2");l.isBuffer(e)||(e=l.from(e,s)),l.isBuffer(t)||(t=l.from(t,s)),function(e,t){e.then((function(e){r.nextTick((function(){t(null,e)}))}),(function(e){r.nextTick((function(){t(e)}))}))}(function(e){if(n.process&&!n.process.browser)return Promise.resolve(!1);if(!d||!d.importKey||!d.deriveBits)return Promise.resolve(!1);if(void 0!==c[e])return c[e];var t=u(i=i||l.alloc(8),i,10,128,e).then((function(){return!0})).catch((function(){return!1}));return c[e]=t}(g).then((function(r){return r?u(e,t,h,p,g):a(e,t,h,p,m)})),b)}}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./default-encoding":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/default-encoding.js","./precondition":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/precondition.js","./sync":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/sync-browser.js",_process:"/Users/f/pjs/dhive/node_modules/process/browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/default-encoding.js":[function(e,t,r){(function(e){var r;r=e.browser||6<=parseInt(e.version.split(".")[0].slice(1),10)?"utf-8":"binary",t.exports=r}).call(this,e("_process"))},{_process:"/Users/f/pjs/dhive/node_modules/process/browser.js"}],"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/precondition.js":[function(e,t,r){(function(e){var r=Math.pow(2,30)-1;function n(t,r){if("string"!=typeof t&&!e.isBuffer(t))throw new TypeError(r+" must be a buffer or string")}t.exports=function(e,t,i,o){if(n(e,"Password"),n(t,"Salt"),"number"!=typeof i)throw new TypeError("Iterations not a number");if(i<0)throw new TypeError("Bad iterations");if("number"!=typeof o)throw new TypeError("Key length not a number");if(o<0||r<o||o!=o)throw new TypeError("Bad key length")}}).call(this,{isBuffer:e("../../is-buffer/index.js")})},{"../../is-buffer/index.js":"/Users/f/pjs/dhive/node_modules/is-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/sync-browser.js":[function(e,t,r){var n=e("create-hash/md5"),i=e("ripemd160"),o=e("sha.js"),s=e("./precondition"),a=e("./default-encoding"),l=e("safe-buffer").Buffer,d=l.alloc(128),f={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function c(e,t,r){var s=function(e){return"rmd160"===e||"ripemd160"===e?function(e){return(new i).update(e).digest()}:"md5"===e?n:function(t){return o(e).update(t).digest()}}(e),a="sha512"===e||"sha384"===e?128:64;t.length>a?t=s(t):t.length<a&&(t=l.concat([t,d],a));for(var c=l.allocUnsafe(a+f[e]),u=l.allocUnsafe(a+f[e]),h=0;h<a;h++)c[h]=54^t[h],u[h]=92^t[h];var p=l.allocUnsafe(a+r+4);c.copy(p,0,0,a),this.ipad1=p,this.ipad2=c,this.opad=u,this.alg=e,this.blocksize=a,this.hash=s,this.size=f[e]}c.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},t.exports=function(e,t,r,n,i){s(e,t,r,n),l.isBuffer(e)||(e=l.from(e,a)),l.isBuffer(t)||(t=l.from(t,a));var o=new c(i=i||"sha1",e,t.length),d=l.allocUnsafe(n),u=l.allocUnsafe(t.length+4);t.copy(u,0,0,t.length);for(var h=0,p=f[i],m=Math.ceil(n/p),b=1;b<=m;b++){u.writeUInt32BE(b,t.length);for(var g=o.run(u,o.ipad1),v=g,y=1;y<r;y++){v=o.run(v,o.ipad2);for(var j=0;j<p;j++)g[j]^=v[j]}g.copy(d,h),h+=p}return d}},{"./default-encoding":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/default-encoding.js","./precondition":"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/precondition.js","create-hash/md5":"/Users/f/pjs/dhive/node_modules/create-hash/md5.js",ripemd160:"/Users/f/pjs/dhive/node_modules/ripemd160/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js","sha.js":"/Users/f/pjs/dhive/node_modules/sha.js/index.js"}],"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js":[function(e,t,r){(function(e){"use strict";void 0===e||!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports={nextTick:function(t,r,n,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var o,s,a=arguments.length;switch(a){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick((function(){t.call(null,r)}));case 3:return e.nextTick((function(){t.call(null,r,n)}));case 4:return e.nextTick((function(){t.call(null,r,n,i)}));default:for(o=new Array(a-1),s=0;s<o.length;)o[s++]=arguments[s];return e.nextTick((function(){t.apply(null,o)}))}}}:t.exports=e}).call(this,e("_process"))},{_process:"/Users/f/pjs/dhive/node_modules/process/browser.js"}],"/Users/f/pjs/dhive/node_modules/process/browser.js":[function(e,t,r){var n,i,o=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var d,f=[],c=!1,u=-1;function h(){c&&d&&(c=!1,d.length?f=d.concat(f):u=-1,f.length&&p())}function p(){if(!c){var e=l(h);c=!0;for(var t=f.length;t;){for(d=f,f=[];++u<t;)d&&d[u].run();u=-1,t=f.length}d=null,c=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===a||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function b(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(1<arguments.length)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];f.push(new m(e,t)),1!==f.length||c||l(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=b,o.addListener=b,o.once=b,o.off=b,o.removeListener=b,o.removeAllListeners=b,o.emit=b,o.prependListener=b,o.prependOnceListener=b,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},{}],"/Users/f/pjs/dhive/node_modules/public-encrypt/browser.js":[function(e,t,r){r.publicEncrypt=e("./publicEncrypt"),r.privateDecrypt=e("./privateDecrypt"),r.privateEncrypt=function(e,t){return r.publicEncrypt(e,t,!0)},r.publicDecrypt=function(e,t){return r.privateDecrypt(e,t,!0)}},{"./privateDecrypt":"/Users/f/pjs/dhive/node_modules/public-encrypt/privateDecrypt.js","./publicEncrypt":"/Users/f/pjs/dhive/node_modules/public-encrypt/publicEncrypt.js"}],"/Users/f/pjs/dhive/node_modules/public-encrypt/mgf.js":[function(e,t,r){var n=e("create-hash"),i=e("safe-buffer").Buffer;function o(e){var t=i.allocUnsafe(4);return t.writeUInt32BE(e,0),t}t.exports=function(e,t){for(var r,s=i.alloc(0),a=0;s.length<t;)r=o(a++),s=i.concat([s,n("sha1").update(e).update(r).digest()]);return s.slice(0,t)}},{"create-hash":"/Users/f/pjs/dhive/node_modules/create-hash/browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/public-encrypt/privateDecrypt.js":[function(e,t,r){var n=e("parse-asn1"),i=e("./mgf"),o=e("./xor"),s=e("bn.js"),a=e("browserify-rsa"),l=e("create-hash"),d=e("./withPublic"),f=e("safe-buffer").Buffer;t.exports=function(e,t,r){var c;c=e.padding?e.padding:r?1:4;var u,h=n(e),p=h.modulus.byteLength();if(t.length>p||0<=new s(t).cmp(h.modulus))throw new Error("decryption error");u=r?d(new s(t),h):a(t,h);var m=f.alloc(p-u.length);if(u=f.concat([m,u],p),4===c)return function(e,t){var r=e.modulus.byteLength(),n=l("sha1").update(f.alloc(0)).digest(),s=n.length;if(0!==t[0])throw new Error("decryption error");var a=t.slice(1,s+1),d=t.slice(s+1),c=o(a,i(d,s)),u=o(d,i(c,r-s-1));if(function(e,t){e=f.from(e),t=f.from(t);var r=0,n=e.length;e.length!==t.length&&(r++,n=Math.min(e.length,t.length));for(var i=-1;++i<n;)r+=e[i]^t[i];return r}(n,u.slice(0,s)))throw new Error("decryption error");for(var h=s;0===u[h];)h++;if(1===u[h++])return u.slice(h);throw new Error("decryption error")}(h,u);if(1===c)return function(e,t){for(var r=e.slice(0,2),n=2,i=0;0!==e[n++];)if(n>=e.length){i++;break}var o=e.slice(2,n-1);if(("0002"!==r.toString("hex")&&!t||"0001"!==r.toString("hex")&&t)&&i++,o.length<8&&i++,i)throw new Error("decryption error");return e.slice(n)}(u,r);if(3===c)return u;throw new Error("unknown padding")}},{"./mgf":"/Users/f/pjs/dhive/node_modules/public-encrypt/mgf.js","./withPublic":"/Users/f/pjs/dhive/node_modules/public-encrypt/withPublic.js","./xor":"/Users/f/pjs/dhive/node_modules/public-encrypt/xor.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","browserify-rsa":"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js","create-hash":"/Users/f/pjs/dhive/node_modules/create-hash/browser.js","parse-asn1":"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/public-encrypt/publicEncrypt.js":[function(e,t,r){var n=e("parse-asn1"),i=e("randombytes"),o=e("create-hash"),s=e("./mgf"),a=e("./xor"),l=e("bn.js"),d=e("./withPublic"),f=e("browserify-rsa"),c=e("safe-buffer").Buffer;t.exports=function(e,t,r){var u;u=e.padding?e.padding:r?1:4;var h,p=n(e);if(4===u)h=function(e,t){var r=e.modulus.byteLength(),n=t.length,d=o("sha1").update(c.alloc(0)).digest(),f=d.length,u=2*f;if(r-u-2<n)throw new Error("message too long");var h=c.alloc(r-n-u-2),p=r-f-1,m=i(f),b=a(c.concat([d,h,c.alloc(1,1),t],p),s(m,p)),g=a(m,s(b,f));return new l(c.concat([c.alloc(1),g,b],r))}(p,t);else if(1===u)h=function(e,t,r){var n,o=t.length,s=e.modulus.byteLength();if(s-11<o)throw new Error("message too long");return n=r?c.alloc(s-o-3,255):function(e){for(var t,r=c.allocUnsafe(e),n=0,o=i(2*e),s=0;n<e;)s===o.length&&(o=i(2*e),s=0),(t=o[s++])&&(r[n++]=t);return r}(s-o-3),new l(c.concat([c.from([0,r?1:2]),n,c.alloc(1),t],s))}(p,t,r);else{if(3!==u)throw new Error("unknown padding");if(0<=(h=new l(t)).cmp(p.modulus))throw new Error("data too long for modulus")}return(r?f:d)(h,p)}},{"./mgf":"/Users/f/pjs/dhive/node_modules/public-encrypt/mgf.js","./withPublic":"/Users/f/pjs/dhive/node_modules/public-encrypt/withPublic.js","./xor":"/Users/f/pjs/dhive/node_modules/public-encrypt/xor.js","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","browserify-rsa":"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js","create-hash":"/Users/f/pjs/dhive/node_modules/create-hash/browser.js","parse-asn1":"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js",randombytes:"/Users/f/pjs/dhive/node_modules/randombytes/browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/public-encrypt/withPublic.js":[function(e,t,r){var n=e("bn.js"),i=e("safe-buffer").Buffer;t.exports=function(e,t){return i.from(e.toRed(n.mont(t.modulus)).redPow(new n(t.publicExponent)).fromRed().toArray())}},{"bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/public-encrypt/xor.js":[function(e,t,r){t.exports=function(e,t){for(var r=e.length,n=-1;++n<r;)e[n]^=t[n];return e}},{}],"/Users/f/pjs/dhive/node_modules/randombytes/browser.js":[function(e,t,r){(function(r,n){"use strict";var i=e("safe-buffer").Buffer,o=n.crypto||n.msCrypto;o&&o.getRandomValues?t.exports=function(e,t){if(4294967295<e)throw new RangeError("requested too many random bytes");var n=i.allocUnsafe(e);if(0<e)if(65536<e)for(var s=0;s<e;s+=65536)o.getRandomValues(n.slice(s,s+65536));else o.getRandomValues(n);return"function"!=typeof t?n:r.nextTick((function(){t(null,n)}))}:t.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:"/Users/f/pjs/dhive/node_modules/process/browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/randomfill/browser.js":[function(e,t,r){(function(t,n){"use strict";function i(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var o=e("safe-buffer"),s=e("randombytes"),a=o.Buffer,l=o.kMaxLength,d=n.crypto||n.msCrypto,f=Math.pow(2,32)-1;function c(e,t){if("number"!=typeof e||e!=e)throw new TypeError("offset must be a number");if(f<e||e<0)throw new TypeError("offset must be a uint32");if(l<e||t<e)throw new RangeError("offset out of range")}function u(e,t,r){if("number"!=typeof e||e!=e)throw new TypeError("size must be a number");if(f<e||e<0)throw new TypeError("size must be a uint32");if(r<e+t||l<e)throw new RangeError("buffer too small")}function h(e,r,n,i){if(t.browser){var o=e.buffer,a=new Uint8Array(o,r,n);return d.getRandomValues(a),i?void t.nextTick((function(){i(null,e)})):e}if(!i)return s(n).copy(e,r),e;s(n,(function(t,n){if(t)return i(t);n.copy(e,r),i(null,e)}))}d&&d.getRandomValues||!t.browser?(r.randomFill=function(e,t,r,i){if(!(a.isBuffer(e)||e instanceof n.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof t)i=t,t=0,r=e.length;else if("function"==typeof r)i=r,r=e.length-t;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return c(t,e.length),u(r,t,e.length),h(e,t,r,i)},r.randomFillSync=function(e,t,r){if(void 0===t&&(t=0),!(a.isBuffer(e)||e instanceof n.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return c(t,e.length),void 0===r&&(r=e.length-t),u(r,t,e.length),h(e,t,r)}):(r.randomFill=i,r.randomFillSync=i)}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:"/Users/f/pjs/dhive/node_modules/process/browser.js",randombytes:"/Users/f/pjs/dhive/node_modules/randombytes/browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/duplex-browser.js":[function(e,t,r){t.exports=e("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js":[function(e,t,r){"use strict";var n=e("process-nextick-args"),i=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};t.exports=c;var o=Object.create(e("core-util-is"));o.inherits=e("inherits");var s=e("./_stream_readable"),a=e("./_stream_writable");o.inherits(c,s);for(var l=i(a.prototype),d=0;d<l.length;d++){var f=l[d];c.prototype[f]||(c.prototype[f]=a.prototype[f])}function c(e){if(!(this instanceof c))return new c(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)}function u(){this.allowHalfOpen||this._writableState.ended||n.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),c.prototype._destroy=function(e,t){this.push(null),this.end(),n.nextTick(t,e)}},{"./_stream_readable":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_readable.js","./_stream_writable":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js","core-util-is":"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","process-nextick-args":"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_passthrough.js":[function(e,t,r){"use strict";t.exports=o;var n=e("./_stream_transform"),i=Object.create(e("core-util-is"));function o(e){if(!(this instanceof o))return new o(e);n.call(this,e)}i.inherits=e("inherits"),i.inherits(o,n),o.prototype._transform=function(e,t,r){r(null,e)}},{"./_stream_transform":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_transform.js","core-util-is":"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_readable.js":[function(e,t,r){(function(r,n){"use strict";var i=e("process-nextick-args");t.exports=y;var o,s=e("isarray");function a(e,t){return e.listeners(t).length}y.ReadableState=v,e("events").EventEmitter;var l=e("./internal/streams/stream"),d=e("safe-buffer").Buffer,f=n.Uint8Array||function(){},c=Object.create(e("core-util-is"));c.inherits=e("inherits");var u=e("util"),h=void 0;h=u&&u.debuglog?u.debuglog("stream"):function(){};var p,m=e("./internal/streams/BufferList"),b=e("./internal/streams/destroy");c.inherits(y,l);var g=["error","close","destroy","pause","resume"];function v(t,r){t=t||{};var n=r instanceof(o=o||e("./_stream_duplex"));this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,s=t.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new m,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p=p||e("string_decoder/").StringDecoder,this.decoder=new p(t.encoding),this.encoding=t.encoding)}function y(t){if(o=o||e("./_stream_duplex"),!(this instanceof y))return new y(t);this._readableState=new v(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),l.call(this)}function j(e,t,r,n,i){var o,s=e._readableState;return null===t?(s.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,x(e)}}(e,s)):(i||(o=function(e,t){var r,n;return n=t,d.isBuffer(n)||n instanceof f||"string"==typeof t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}(s,t)),o?e.emit("error",o):s.objectMode||t&&0<t.length?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===d.prototype||(t=function(e){return d.from(e)}(t)),n?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):_(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||0!==t.length?_(e,s,t,!1):U(e,s)):_(e,s,t,!1))):n||(s.reading=!1)),function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function _(e,t,r,n){t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&x(e)),U(e,t)}function w(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return 8388608<=e?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function x(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(k,e):k(e))}function k(e){h("emit readable"),e.emit("readable"),I(e)}function U(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(E,e,t))}function E(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(h("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function S(e){h("readable nexttick read 0"),e.read(0)}function A(e,t){t.reading||(h("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),I(e),t.flowing&&!t.reading&&e.read(0)}function I(e){var t=e._readableState;for(h("flow",t.flowing);t.flowing&&null!==e.read(););}function M(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):r=function(e,t,r){var n;return e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():(r?function(e,t){var r=t.head,n=1,i=r.data;for(e-=i.length;r=r.next;){var o=r.data,s=e>o.length?o.length:e;if(s===o.length?i+=o:i+=o.slice(0,e),0==(e-=s)){s===o.length?(++n,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r).data=o.slice(s);break}++n}return t.length-=n,i}:function(e,t){var r=d.allocUnsafe(e),n=t.head,i=1;for(n.data.copy(r),e-=n.data.length;n=n.next;){var o=n.data,s=e>o.length?o.length:e;if(o.copy(r,r.length-e,0,s),0==(e-=s)){s===o.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n).data=o.slice(s);break}++i}return t.length-=i,r})(e,t),n}(e,t.buffer,t.decoder),r);var r}function T(e){var t=e._readableState;if(0<t.length)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(B,t,e))}function B(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function L(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),y.prototype.destroy=b.destroy,y.prototype._undestroy=b.undestroy,y.prototype._destroy=function(e,t){this.push(null),t(e)},y.prototype.push=function(e,t){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=d.from(e,t),t=""),r=!0),j(this,e,t,!1,r)},y.prototype.unshift=function(e){return j(this,e,null,!0,!1)},y.prototype.isPaused=function(){return!1===this._readableState.flowing},y.prototype.setEncoding=function(t){return p=p||e("string_decoder/").StringDecoder,this._readableState.decoder=new p(t),this._readableState.encoding=t,this},y.prototype.read=function(e){h("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),(0===t.length&&t.ended?T:x)(this),null;if(0===(e=w(e,t))&&t.ended)return 0===t.length&&T(this),null;var n,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&h("length less than watermark",i=!0),t.ended||t.reading?h("reading or ended",i=!1):i&&(h("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=w(r,t))),null===(n=0<e?M(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&T(this)),null!==n&&this.emit("data",n),n},y.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,t);var l=t&&!1===t.end||e===r.stdout||e===r.stderr?v:d;function d(){h("onend"),e.end()}o.endEmitted?i.nextTick(l):n.once("end",l),e.on("unpipe",(function t(r,i){h("onunpipe"),r===n&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,h("cleanup"),e.removeListener("close",b),e.removeListener("finish",g),e.removeListener("drain",f),e.removeListener("error",m),e.removeListener("unpipe",t),n.removeListener("end",d),n.removeListener("end",v),n.removeListener("data",p),c=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}));var f=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,I(e))}}(n);e.on("drain",f);var c=!1,u=!1;function p(t){h("ondata"),(u=!1)!==e.write(t)||u||((1===o.pipesCount&&o.pipes===e||1<o.pipesCount&&-1!==L(o.pipes,e))&&!c&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,u=!0),n.pause())}function m(t){h("onerror",t),v(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function b(){e.removeListener("finish",g),v()}function g(){h("onfinish"),e.removeListener("close",b),v()}function v(){h("unpipe"),n.unpipe(e)}return n.on("data",p),function(e,t){if("function"==typeof e.prependListener)return e.prependListener("error",t);e._events&&e._events.error?s(e._events.error)?e._events.error.unshift(t):e._events.error=[t,e._events.error]:e.on("error",t)}(e,m),e.once("close",b),e.once("finish",g),e.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e=e||t.pipes,t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,r);return this}var s=L(t.pipes,e);return-1===s||(t.pipes.splice(s,1),--t.pipesCount,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r)),this},y.prototype.addListener=y.prototype.on=function(e,t){var r=l.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&x(this):i.nextTick(S,this))}return r},y.prototype.resume=function(){var e=this._readableState;return e.flowing||(h("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(A,e,t))}(this,e)),this},y.prototype.pause=function(){return h("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(h("pause"),this._readableState.flowing=!1,this.emit("pause")),this},y.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var i in e.on("end",(function(){if(h("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){h("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var o=0;o<g.length;o++)e.on(g[o],this.emit.bind(this,g[o]));return this._read=function(t){h("wrapped _read",t),n&&(n=!1,e.resume())},this},Object.defineProperty(y.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),y._fromList=M}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./_stream_duplex":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js","./internal/streams/BufferList":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/BufferList.js","./internal/streams/destroy":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/destroy.js","./internal/streams/stream":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/stream-browser.js",_process:"/Users/f/pjs/dhive/node_modules/process/browser.js","core-util-is":"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js",events:"/Users/f/pjs/dhive/node_modules/events/events.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js",isarray:"/Users/f/pjs/dhive/node_modules/isarray/index.js","process-nextick-args":"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js","string_decoder/":"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js",util:"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_transform.js":[function(e,t,r){"use strict";t.exports=o;var n=e("./_stream_duplex"),i=Object.create(e("core-util-is"));function o(e){if(!(this instanceof o))return new o(e);n.call(this,e),this._transformState={afterTransform:function(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));r.writechunk=null,(r.writecb=null)!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",s)}function s(){var e=this;"function"==typeof this._flush?this._flush((function(t,r){a(e,t,r)})):a(this,null,null)}function a(e,t,r){if(t)return e.emit("error",t);if(null!=r&&e.push(r),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=e("inherits"),i.inherits(o,n),o.prototype.push=function(e,t){return this._transformState.needTransform=!1,n.prototype.push.call(this,e,t)},o.prototype._transform=function(e,t,r){throw new Error("_transform() is not implemented")},o.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},o.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},o.prototype._destroy=function(e,t){var r=this;n.prototype._destroy.call(this,e,(function(e){t(e),r.emit("close")}))}},{"./_stream_duplex":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js","core-util-is":"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js":[function(e,t,r){(function(r,n,i){"use strict";var o=e("process-nextick-args");function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t){var r=e.entry;for(e.entry=null;r;){var n=r.callback;t.pendingcb--,n(void 0),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}t.exports=v;var a,l=!r.browser&&-1<["v0.10","v0.9."].indexOf(r.version.slice(0,5))?i:o.nextTick;v.WritableState=g;var d=Object.create(e("core-util-is"));d.inherits=e("inherits");var f,c={deprecate:e("util-deprecate")},u=e("./internal/streams/stream"),h=e("safe-buffer").Buffer,p=n.Uint8Array||function(){},m=e("./internal/streams/destroy");function b(){}function g(t,r){a=a||e("./_stream_duplex"),t=t||{};var n=r instanceof a;this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,d=t.writableHighWaterMark,f=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(d||0===d)?d:f,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var c=(this.destroyed=!1)===t.decodeStrings;this.decodeStrings=!c,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),t)!function(e,t,r,n,i){--t.pendingcb,r?(o.nextTick(i,n),o.nextTick(k,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),k(e,t))}(e,r,n,t,i);else{var s=w(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||_(e,r),n?l(j,e,r,s,i):j(e,r,s,i)}}(r,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function v(t){if(a=a||e("./_stream_duplex"),!(f.call(v,this)||this instanceof a))return new v(t);this._writableState=new g(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),u.call(this)}function y(e,t,r,n,i,o,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,r?e._writev(i,t.onwrite):e._write(i,o,t.onwrite),t.sync=!1}function j(e,t,r,n){r||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),k(e,t)}function _(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),o=t.corkedRequestsFree;o.entry=r;for(var a=0,l=!0;r;)(i[a]=r).isBuf||(l=!1),r=r.next,a+=1;i.allBuffers=l,y(e,t,!0,t.length,i,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;r;){var d=r.chunk,f=r.encoding,c=r.callback;if(y(e,t,!1,t.objectMode?1:d.length,d,f,c),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function w(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function x(e,t){e._final((function(r){t.pendingcb--,r&&e.emit("error",r),t.prefinished=!0,e.emit("prefinish"),k(e,t)}))}function k(e,t){var r=w(t);return r&&(function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,o.nextTick(x,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),r}d.inherits(v,u),g.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(g.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty(v,Symbol.hasInstance,{value:function(e){return!!f.call(this,e)||this===v&&e&&e._writableState instanceof g}})):f=function(e){return e instanceof this},v.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},v.prototype.write=function(e,t,r){var n,i=this._writableState,s=!1,a=!i.objectMode&&(n=e,h.isBuffer(n)||n instanceof p);return a&&!h.isBuffer(e)&&(e=function(e){return h.from(e)}(e)),"function"==typeof t&&(r=t,t=null),t=a?"buffer":t||i.defaultEncoding,"function"!=typeof r&&(r=b),i.ended?function(e,t){var r=new Error("write after end");e.emit("error",r),o.nextTick(t,r)}(this,r):(a||function(e,t,r,n){var i=!0,s=!1;return null===r?s=new TypeError("May not write null values to stream"):"string"==typeof r||void 0===r||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),o.nextTick(n,s),i=!1),i}(this,i,e,r))&&(i.pendingcb++,s=function(e,t,r,n,i,o){if(!r){var s=function(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=h.from(t,r)),t}(t,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=t.objectMode?1:n.length;t.length+=a;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var d=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},d?d.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else y(e,t,!1,a,n,i,o);return l}(this,i,a,e,t,r)),s},v.prototype.cork=function(){this._writableState.corked++},v.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},v.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(-1<["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(v.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),v.prototype._write=function(e,t,r){r(new Error("_write() is not implemented"))},v.prototype._writev=null,v.prototype.end=function(e,t,r){var n=this._writableState;"function"==typeof e?(r=e,t=e=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,r){t.ending=!0,k(e,t),r&&(t.finished?o.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}(this,n,r)},Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),v.prototype.destroy=m.destroy,v.prototype._undestroy=m.undestroy,v.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("timers").setImmediate)},{"./_stream_duplex":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js","./internal/streams/destroy":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/destroy.js","./internal/streams/stream":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/stream-browser.js",_process:"/Users/f/pjs/dhive/node_modules/process/browser.js","core-util-is":"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","process-nextick-args":"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js",timers:"/Users/f/pjs/dhive/node_modules/timers-browserify/main.js","util-deprecate":"/Users/f/pjs/dhive/node_modules/util-deprecate/browser.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/BufferList.js":[function(e,t,r){"use strict";var n=e("safe-buffer").Buffer,i=e("util");function o(){!function(e){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this),this.head=null,this.tail=null,this.length=0}t.exports=(o.prototype.push=function(e){var t={data:e,next:null};0<this.length?this.tail.next=t:this.head=t,this.tail=t,++this.length},o.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},o.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},o.prototype.clear=function(){this.head=this.tail=null,this.length=0},o.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r},o.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t=n.allocUnsafe(e>>>0),r=this.head,i=0;r;)r.data.copy(t,i),i+=r.data.length,r=r.next;return t},o),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js",util:"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/destroy.js":[function(e,t,r){"use strict";var n=e("process-nextick-args");function i(e,t){e.emit("error",t)}t.exports={destroy:function(e,t){var r=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?t?t(e):!e||this._writableState&&this._writableState.errorEmitted||n.nextTick(i,this,e):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(n.nextTick(i,r,e),r._writableState&&(r._writableState.errorEmitted=!0)):t&&t(e)}))),this},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{"process-nextick-args":"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/stream-browser.js":[function(e,t,r){t.exports=e("events").EventEmitter},{events:"/Users/f/pjs/dhive/node_modules/events/events.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js":[function(e,t,r){var n=e("buffer"),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function s(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,r),r.Buffer=s),o(i,s),s.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},{buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js":[function(e,t,r){"use strict";var n=e("safe-buffer").Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=d,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=f,this.end=c,t=3;break;default:return this.write=u,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,r=function(e,t){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(1<e.lastNeed&&1<t.length){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(2<e.lastNeed&&2<t.length&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2!=0)return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1);var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(55296<=n&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}function d(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function f(e,t){var r=(e.length-t)%3;return 0==r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1==r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function c(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function u(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}(r.StringDecoder=o).prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||""},o.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},o.prototype.text=function(e,t){var r=function(e,t,r){var n=t.length-1;if(n<r)return 0;var i=s(t[n]);return 0<=i?(0<i&&(e.lastNeed=i-1),i):--n<r||-2===i?0:0<=(i=s(t[n]))?(0<i&&(e.lastNeed=i-2),i):!(--n<r||-2===i)&&0<=(i=s(t[n]))?(0<i&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/passthrough.js":[function(e,t,r){t.exports=e("./readable").PassThrough},{"./readable":"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js":[function(e,t,r){(((r=t.exports=e("./lib/_stream_readable.js")).Stream=r).Readable=r).Writable=e("./lib/_stream_writable.js"),r.Duplex=e("./lib/_stream_duplex.js"),r.Transform=e("./lib/_stream_transform.js"),r.PassThrough=e("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js","./lib/_stream_passthrough.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_passthrough.js","./lib/_stream_readable.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_readable.js","./lib/_stream_transform.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_transform.js","./lib/_stream_writable.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/transform.js":[function(e,t,r){t.exports=e("./readable").Transform},{"./readable":"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js"}],"/Users/f/pjs/dhive/node_modules/readable-stream/writable-browser.js":[function(e,t,r){t.exports=e("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js"}],"/Users/f/pjs/dhive/node_modules/regenerator-runtime/runtime.js":[function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",o=n.asyncIterator||"@@asyncIterator",s=n.toStringTag||"@@toStringTag";function a(e,t,r,n){var i=t&&t.prototype instanceof p?t:p,o=Object.create(i.prototype),s=new E(n||[]);return o._invoke=function(e,t,r){var n=d;return function(i,o){if(n===c)throw new Error("Generator is already running");if(n===u){if("throw"===i)throw o;return{value:void 0,done:!0}}for(r.method=i,r.arg=o;;){var s=r.delegate;if(s){var a=x(s,r);if(a){if(a===h)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===d)throw n=u,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=c;var p=l(e,t,r);if("normal"===p.type){if(n=r.done?u:f,p.arg===h)continue;return{value:p.arg,done:r.done}}"throw"===p.type&&(n=u,r.method="throw",r.arg=p.arg)}}}(e,r,s),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=a;var d="suspendedStart",f="suspendedYield",c="executing",u="completed",h={};function p(){}function m(){}function b(){}var g={};g[i]=function(){return this};var v=Object.getPrototypeOf,y=v&&v(v(S([])));y&&y!==t&&r.call(y,i)&&(g=y);var j=b.prototype=p.prototype=Object.create(g);function _(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e,t){var n;this._invoke=function(i,o){function s(){return new t((function(n,s){!function n(i,o,s,a){var d=l(e[i],e,o);if("throw"!==d.type){var f=d.arg,c=f.value;return c&&"object"==typeof c&&r.call(c,"__await")?t.resolve(c.__await).then((function(e){n("next",e,s,a)}),(function(e){n("throw",e,s,a)})):t.resolve(c).then((function(e){f.value=e,s(f)}),(function(e){return n("throw",e,s,a)}))}a(d.arg)}(i,o,n,s)}))}return n=n?n.then(s,s):s()}}function x(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=l(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,h;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function U(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function S(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,o=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return o.next=o}}return{next:A}}function A(){return{value:void 0,done:!0}}return m.prototype=j.constructor=b,b.constructor=m,b[s]=m.displayName="GeneratorFunction",e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(j),e},e.awrap=function(e){return{__await:e}},_(w.prototype),w.prototype[o]=function(){return this},e.AsyncIterator=w,e.async=function(t,r,n,i,o){void 0===o&&(o=Promise);var s=new w(a(t,r,n,i),o);return e.isGeneratorFunction(r)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},_(j),j[s]="Generator",j[i]=function(){return this},j.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=S,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(U),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return s.type="throw",s.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var i=this.tryEntries.length-1;0<=i;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var a=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(a&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;0<=n;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=e,s.arg=t,o?(this.method="next",this.next=o.finallyLoc,h):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),U(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;U(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:S(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},e}("object"==typeof t?t.exports:{});try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},{}],"/Users/f/pjs/dhive/node_modules/ripemd160/index.js":[function(e,t,r){"use strict";var n=e("buffer").Buffer,i=e("inherits"),o=e("hash-base"),s=new Array(16),a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],l=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],d=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],f=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],c=[0,1518500249,1859775393,2400959708,2840853838],u=[1352829926,1548603684,1836072691,2053994217,0];function h(){o.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function p(e,t){return e<<t|e>>>32-t}function m(e,t,r,n,i,o,s,a){return p(e+(t^r^n)+o+s|0,a)+i|0}function b(e,t,r,n,i,o,s,a){return p(e+(t&r|~t&n)+o+s|0,a)+i|0}function g(e,t,r,n,i,o,s,a){return p(e+((t|~r)^n)+o+s|0,a)+i|0}function v(e,t,r,n,i,o,s,a){return p(e+(t&n|r&~n)+o+s|0,a)+i|0}function y(e,t,r,n,i,o,s,a){return p(e+(t^(r|~n))+o+s|0,a)+i|0}i(h,o),h.prototype._update=function(){for(var e=s,t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);for(var r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,h=0|this._e,j=0|this._a,_=0|this._b,w=0|this._c,x=0|this._d,k=0|this._e,U=0;U<80;U+=1){var E,S;S=U<16?(E=m(r,n,i,o,h,e[a[U]],c[0],d[U]),y(j,_,w,x,k,e[l[U]],u[0],f[U])):U<32?(E=b(r,n,i,o,h,e[a[U]],c[1],d[U]),v(j,_,w,x,k,e[l[U]],u[1],f[U])):U<48?(E=g(r,n,i,o,h,e[a[U]],c[2],d[U]),g(j,_,w,x,k,e[l[U]],u[2],f[U])):U<64?(E=v(r,n,i,o,h,e[a[U]],c[3],d[U]),b(j,_,w,x,k,e[l[U]],u[3],f[U])):(E=y(r,n,i,o,h,e[a[U]],c[4],d[U]),m(j,_,w,x,k,e[l[U]],u[4],f[U])),r=h,h=o,o=p(i,10),i=n,n=E,j=k,k=x,x=p(w,10),w=_,_=S}var A=this._b+i+x|0;this._b=this._c+o+k|0,this._c=this._d+h+j|0,this._d=this._e+r+_|0,this._e=this._a+n+w|0,this._a=A},h.prototype._digest=function(){this._block[this._blockOffset++]=128,56<this._blockOffset&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=n.alloc?n.alloc(20):new n(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},t.exports=h},{buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js","hash-base":"/Users/f/pjs/dhive/node_modules/hash-base/index.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js":[function(e,t,r){var n=e("buffer"),i=n.Buffer;function o(e,t){for(var r in e)t[r]=e[r]}function s(e,t,r){return i(e,t,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,r),r.Buffer=s),s.prototype=Object.create(i.prototype),o(i,s),s.from=function(e,t,r){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,r)},s.alloc=function(e,t,r){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof r?n.fill(t,r):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},{buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/secp256k1/elliptic.js":[function(e,t,r){"use strict";t.exports=e("./lib")(e("./lib/elliptic"))},{"./lib":"/Users/f/pjs/dhive/node_modules/secp256k1/lib/index.js","./lib/elliptic":"/Users/f/pjs/dhive/node_modules/secp256k1/lib/elliptic/index.js"}],"/Users/f/pjs/dhive/node_modules/secp256k1/lib/assert.js":[function(e,t,r){(function(e){"use strict";var t=Object.prototype.toString;r.isArray=function(e,t){if(!Array.isArray(e))throw TypeError(t)},r.isBoolean=function(e,r){if("[object Boolean]"!==t.call(e))throw TypeError(r)},r.isBuffer=function(t,r){if(!e.isBuffer(t))throw TypeError(r)},r.isFunction=function(e,r){if("[object Function]"!==t.call(e))throw TypeError(r)},r.isNumber=function(e,r){if("[object Number]"!==t.call(e))throw TypeError(r)},r.isObject=function(e,r){if("[object Object]"!==t.call(e))throw TypeError(r)},r.isBufferLength=function(e,t,r){if(e.length!==t)throw RangeError(r)},r.isBufferLength2=function(e,t,r,n){if(e.length!==t&&e.length!==r)throw RangeError(n)},r.isLengthGTZero=function(e,t){if(0===e.length)throw RangeError(t)},r.isNumberInInterval=function(e,t,r,n){if(e<=t||r<=e)throw RangeError(n)}}).call(this,{isBuffer:e("../../is-buffer/index.js")})},{"../../is-buffer/index.js":"/Users/f/pjs/dhive/node_modules/is-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/secp256k1/lib/der.js":[function(e,t,r){"use strict";var n=e("safe-buffer").Buffer,i=e("bip66"),o=n.from([48,129,211,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,133,48,129,130,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,33,2,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,36,3,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),s=n.from([48,130,1,19,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,165,48,129,162,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,65,4,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,72,58,218,119,38,163,196,101,93,164,251,252,14,17,8,168,253,23,180,72,166,133,84,25,156,71,208,143,251,16,212,184,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,68,3,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);r.privateKeyExport=function(e,t,r){var i=n.from(r?o:s);return e.copy(i,r?8:9),t.copy(i,r?181:214),i},r.privateKeyImport=function(e){var t=e.length,r=0;if(!(t<r+1||48!==e[r])&&!(t<(r+=1)+1)&&128&e[r]){var n=127&e[r];if(r+=1,!(n<1||2<n||t<r+n)){var i=e[r+n-1]|(1<n?e[r+n-2]<<8:0);if(!(t<(r+=n)+i||t<r+3||2!==e[r]||1!==e[r+1]||1!==e[r+2]||t<(r+=3)+2||4!==e[r]||32<e[r+1]||t<r+2+e[r+1]))return e.slice(r+2,r+2+e[r+1])}}},r.signatureExport=function(e){for(var t=n.concat([n.from([0]),e.r]),r=33,o=0;1<r&&0===t[o]&&!(128&t[o+1]);--r,++o);for(var s=n.concat([n.from([0]),e.s]),a=33,l=0;1<a&&0===s[l]&&!(128&s[l+1]);--a,++l);return i.encode(t.slice(o),s.slice(l))},r.signatureImport=function(e){var t=n.alloc(32,0),r=n.alloc(32,0);try{var o=i.decode(e);if(33===o.r.length&&0===o.r[0]&&(o.r=o.r.slice(1)),32<o.r.length)throw new Error("R length is too long");if(33===o.s.length&&0===o.s[0]&&(o.s=o.s.slice(1)),32<o.s.length)throw new Error("S length is too long")}catch(e){return}return o.r.copy(t,32-o.r.length),o.s.copy(r,32-o.s.length),{r:t,s:r}},r.signatureImportLax=function(e){var t=n.alloc(32,0),r=n.alloc(32,0),i=e.length,o=0;if(48===e[o++]){var s=e[o++];if(!(128&s&&i<(o+=s-128))&&2===e[o++]){var a=e[o++];if(128&a){if(i<o+(s=a-128))return;for(;0<s&&0===e[o];o+=1,--s);for(a=0;0<s;o+=1,--s)a=(a<<8)+e[o]}if(!(i-o<a)){var l=o;if(o+=a,2===e[o++]){var d=e[o++];if(128&d){if(i<o+(s=d-128))return;for(;0<s&&0===e[o];o+=1,--s);for(d=0;0<s;o+=1,--s)d=(d<<8)+e[o]}if(!(i-o<d)){var f=o;for(o+=d;0<a&&0===e[l];--a,l+=1);if(!(32<a)){var c=e.slice(l,l+a);for(c.copy(t,32-c.length);0<d&&0===e[f];--d,f+=1);if(!(32<d)){var u=e.slice(f,f+d);return u.copy(r,32-u.length),{r:t,s:r}}}}}}}}}},{bip66:"/Users/f/pjs/dhive/node_modules/bip66/index.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/secp256k1/lib/elliptic/index.js":[function(e,t,r){"use strict";var n=e("safe-buffer").Buffer,i=e("create-hash"),o=e("bn.js"),s=e("elliptic").ec,a=e("../messages.json"),l=new s("secp256k1"),d=l.curve;function f(e){var t=e[0];switch(t){case 2:case 3:return 33!==e.length?null:function(e,t){var r=new o(t);if(0<=r.cmp(d.p))return null;var n=(r=r.toRed(d.red)).redSqr().redIMul(r).redIAdd(d.b).redSqrt();return 3===e!==n.isOdd()&&(n=n.redNeg()),l.keyPair({pub:{x:r,y:n}})}(t,e.slice(1,33));case 4:case 6:case 7:return 65!==e.length?null:function(e,t,r){var n=new o(t),i=new o(r);if(0<=n.cmp(d.p)||0<=i.cmp(d.p))return null;if(n=n.toRed(d.red),i=i.toRed(d.red),(6===e||7===e)&&i.isOdd()!==(7===e))return null;var s=n.redSqr().redIMul(n);return i.redSqr().redISub(s.redIAdd(d.b)).isZero()?l.keyPair({pub:{x:n,y:i}}):null}(t,e.slice(1,33),e.slice(33,65));default:return null}}r.privateKeyVerify=function(e){var t=new o(e);return t.cmp(d.n)<0&&!t.isZero()},r.privateKeyExport=function(e,t){var r=new o(e);if(0<=r.cmp(d.n)||r.isZero())throw new Error(a.EC_PRIVATE_KEY_EXPORT_DER_FAIL);return n.from(l.keyFromPrivate(e).getPublic(t,!0))},r.privateKeyNegate=function(e){var t=new o(e);return t.isZero()?n.alloc(32):d.n.sub(t).umod(d.n).toArrayLike(n,"be",32)},r.privateKeyModInverse=function(e){var t=new o(e);if(0<=t.cmp(d.n)||t.isZero())throw new Error(a.EC_PRIVATE_KEY_RANGE_INVALID);return t.invm(d.n).toArrayLike(n,"be",32)},r.privateKeyTweakAdd=function(e,t){var r=new o(t);if(0<=r.cmp(d.n))throw new Error(a.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);if(r.iadd(new o(e)),0<=r.cmp(d.n)&&r.isub(d.n),r.isZero())throw new Error(a.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);return r.toArrayLike(n,"be",32)},r.privateKeyTweakMul=function(e,t){var r=new o(t);if(0<=r.cmp(d.n)||r.isZero())throw new Error(a.EC_PRIVATE_KEY_TWEAK_MUL_FAIL);return r.imul(new o(e)),r.cmp(d.n)&&(r=r.umod(d.n)),r.toArrayLike(n,"be",32)},r.publicKeyCreate=function(e,t){var r=new o(e);if(0<=r.cmp(d.n)||r.isZero())throw new Error(a.EC_PUBLIC_KEY_CREATE_FAIL);return n.from(l.keyFromPrivate(e).getPublic(t,!0))},r.publicKeyConvert=function(e,t){var r=f(e);if(null===r)throw new Error(a.EC_PUBLIC_KEY_PARSE_FAIL);return n.from(r.getPublic(t,!0))},r.publicKeyVerify=function(e){return null!==f(e)},r.publicKeyTweakAdd=function(e,t,r){var i=f(e);if(null===i)throw new Error(a.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new o(t)).cmp(d.n))throw new Error(a.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);var s=d.g.mul(t).add(i.pub);if(s.isInfinity())throw new Error(a.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);return n.from(s.encode(!0,r))},r.publicKeyTweakMul=function(e,t,r){var i=f(e);if(null===i)throw new Error(a.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(t=new o(t)).cmp(d.n)||t.isZero())throw new Error(a.EC_PUBLIC_KEY_TWEAK_MUL_FAIL);return n.from(i.pub.mul(t).encode(!0,r))},r.publicKeyCombine=function(e,t){for(var r=new Array(e.length),i=0;i<e.length;++i)if(r[i]=f(e[i]),null===r[i])throw new Error(a.EC_PUBLIC_KEY_PARSE_FAIL);for(var o=r[0].pub,s=1;s<r.length;++s)o=o.add(r[s].pub);if(o.isInfinity())throw new Error(a.EC_PUBLIC_KEY_COMBINE_FAIL);return n.from(o.encode(!0,t))},r.signatureNormalize=function(e){var t=new o(e.slice(0,32)),r=new o(e.slice(32,64));if(0<=t.cmp(d.n)||0<=r.cmp(d.n))throw new Error(a.ECDSA_SIGNATURE_PARSE_FAIL);var i=n.from(e);return 1===r.cmp(l.nh)&&d.n.sub(r).toArrayLike(n,"be",32).copy(i,32),i},r.signatureExport=function(e){var t=e.slice(0,32),r=e.slice(32,64);if(0<=new o(t).cmp(d.n)||0<=new o(r).cmp(d.n))throw new Error(a.ECDSA_SIGNATURE_PARSE_FAIL);return{r:t,s:r}},r.signatureImport=function(e){var t=new o(e.r);0<=t.cmp(d.n)&&(t=new o(0));var r=new o(e.s);return 0<=r.cmp(d.n)&&(r=new o(0)),n.concat([t.toArrayLike(n,"be",32),r.toArrayLike(n,"be",32)])},r.sign=function(e,t,r,i){if("function"==typeof r){var s=r;r=function(r){var l=s(e,t,null,i,r);if(!n.isBuffer(l)||32!==l.length)throw new Error(a.ECDSA_SIGN_FAIL);return new o(l)}}var f=new o(t);if(0<=f.cmp(d.n)||f.isZero())throw new Error(a.ECDSA_SIGN_FAIL);var c=l.sign(e,t,{canonical:!0,k:r,pers:i});return{signature:n.concat([c.r.toArrayLike(n,"be",32),c.s.toArrayLike(n,"be",32)]),recovery:c.recoveryParam}},r.verify=function(e,t,r){var n={r:t.slice(0,32),s:t.slice(32,64)},i=new o(n.r),s=new o(n.s);if(0<=i.cmp(d.n)||0<=s.cmp(d.n))throw new Error(a.ECDSA_SIGNATURE_PARSE_FAIL);if(1===s.cmp(l.nh)||i.isZero()||s.isZero())return!1;var c=f(r);if(null===c)throw new Error(a.EC_PUBLIC_KEY_PARSE_FAIL);return l.verify(e,n,{x:c.pub.x,y:c.pub.y})},r.recover=function(e,t,r,i){var s={r:t.slice(0,32),s:t.slice(32,64)},f=new o(s.r),c=new o(s.s);if(0<=f.cmp(d.n)||0<=c.cmp(d.n))throw new Error(a.ECDSA_SIGNATURE_PARSE_FAIL);try{if(f.isZero()||c.isZero())throw new Error;var u=l.recoverPubKey(e,s,r);return n.from(u.encode(!0,i))}catch(e){throw new Error(a.ECDSA_RECOVER_FAIL)}},r.ecdh=function(e,t){var n=r.ecdhUnsafe(e,t,!0);return i("sha256").update(n).digest()},r.ecdhUnsafe=function(e,t,r){var i=f(e);if(null===i)throw new Error(a.EC_PUBLIC_KEY_PARSE_FAIL);var s=new o(t);if(0<=s.cmp(d.n)||s.isZero())throw new Error(a.ECDH_FAIL);return n.from(i.pub.mul(s).encode(!0,r))}},{"../messages.json":"/Users/f/pjs/dhive/node_modules/secp256k1/lib/messages.json","bn.js":"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js","create-hash":"/Users/f/pjs/dhive/node_modules/create-hash/browser.js",elliptic:"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/secp256k1/lib/index.js":[function(e,t,r){"use strict";var n=e("./assert"),i=e("./der"),o=e("./messages.json");function s(e,t){return void 0===e?t:(n.isBoolean(e,o.COMPRESSED_TYPE_INVALID),e)}t.exports=function(e){return{privateKeyVerify:function(t){return n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),32===t.length&&e.privateKeyVerify(t)},privateKeyExport:function(t,r){n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(t,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),r=s(r,!0);var a=e.privateKeyExport(t,r);return i.privateKeyExport(t,a,r)},privateKeyImport:function(t){if(n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),(t=i.privateKeyImport(t))&&32===t.length&&e.privateKeyVerify(t))return t;throw new Error(o.EC_PRIVATE_KEY_IMPORT_DER_FAIL)},privateKeyNegate:function(t){return n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(t,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),e.privateKeyNegate(t)},privateKeyModInverse:function(t){return n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(t,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),e.privateKeyModInverse(t)},privateKeyTweakAdd:function(t,r){return n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(t,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),n.isBuffer(r,o.TWEAK_TYPE_INVALID),n.isBufferLength(r,32,o.TWEAK_LENGTH_INVALID),e.privateKeyTweakAdd(t,r)},privateKeyTweakMul:function(t,r){return n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(t,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),n.isBuffer(r,o.TWEAK_TYPE_INVALID),n.isBufferLength(r,32,o.TWEAK_LENGTH_INVALID),e.privateKeyTweakMul(t,r)},publicKeyCreate:function(t,r){return n.isBuffer(t,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(t,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),r=s(r,!0),e.publicKeyCreate(t,r)},publicKeyConvert:function(t,r){return n.isBuffer(t,o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(t,33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID),r=s(r,!0),e.publicKeyConvert(t,r)},publicKeyVerify:function(t){return n.isBuffer(t,o.EC_PUBLIC_KEY_TYPE_INVALID),e.publicKeyVerify(t)},publicKeyTweakAdd:function(t,r,i){return n.isBuffer(t,o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(t,33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID),n.isBuffer(r,o.TWEAK_TYPE_INVALID),n.isBufferLength(r,32,o.TWEAK_LENGTH_INVALID),i=s(i,!0),e.publicKeyTweakAdd(t,r,i)},publicKeyTweakMul:function(t,r,i){return n.isBuffer(t,o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(t,33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID),n.isBuffer(r,o.TWEAK_TYPE_INVALID),n.isBufferLength(r,32,o.TWEAK_LENGTH_INVALID),i=s(i,!0),e.publicKeyTweakMul(t,r,i)},publicKeyCombine:function(t,r){n.isArray(t,o.EC_PUBLIC_KEYS_TYPE_INVALID),n.isLengthGTZero(t,o.EC_PUBLIC_KEYS_LENGTH_INVALID);for(var i=0;i<t.length;++i)n.isBuffer(t[i],o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(t[i],33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID);return r=s(r,!0),e.publicKeyCombine(t,r)},signatureNormalize:function(t){return n.isBuffer(t,o.ECDSA_SIGNATURE_TYPE_INVALID),n.isBufferLength(t,64,o.ECDSA_SIGNATURE_LENGTH_INVALID),e.signatureNormalize(t)},signatureExport:function(t){n.isBuffer(t,o.ECDSA_SIGNATURE_TYPE_INVALID),n.isBufferLength(t,64,o.ECDSA_SIGNATURE_LENGTH_INVALID);var r=e.signatureExport(t);return i.signatureExport(r)},signatureImport:function(t){n.isBuffer(t,o.ECDSA_SIGNATURE_TYPE_INVALID),n.isLengthGTZero(t,o.ECDSA_SIGNATURE_LENGTH_INVALID);var r=i.signatureImport(t);if(r)return e.signatureImport(r);throw new Error(o.ECDSA_SIGNATURE_PARSE_DER_FAIL)},signatureImportLax:function(t){n.isBuffer(t,o.ECDSA_SIGNATURE_TYPE_INVALID),n.isLengthGTZero(t,o.ECDSA_SIGNATURE_LENGTH_INVALID);var r=i.signatureImportLax(t);if(r)return e.signatureImport(r);throw new Error(o.ECDSA_SIGNATURE_PARSE_DER_FAIL)},sign:function(t,r,i){n.isBuffer(t,o.MSG32_TYPE_INVALID),n.isBufferLength(t,32,o.MSG32_LENGTH_INVALID),n.isBuffer(r,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(r,32,o.EC_PRIVATE_KEY_LENGTH_INVALID);var s=null,a=null;return void 0!==i&&(n.isObject(i,o.OPTIONS_TYPE_INVALID),void 0!==i.data&&(n.isBuffer(i.data,o.OPTIONS_DATA_TYPE_INVALID),n.isBufferLength(i.data,32,o.OPTIONS_DATA_LENGTH_INVALID),s=i.data),void 0!==i.noncefn&&(n.isFunction(i.noncefn,o.OPTIONS_NONCEFN_TYPE_INVALID),a=i.noncefn)),e.sign(t,r,a,s)},verify:function(t,r,i){return n.isBuffer(t,o.MSG32_TYPE_INVALID),n.isBufferLength(t,32,o.MSG32_LENGTH_INVALID),n.isBuffer(r,o.ECDSA_SIGNATURE_TYPE_INVALID),n.isBufferLength(r,64,o.ECDSA_SIGNATURE_LENGTH_INVALID),n.isBuffer(i,o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(i,33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID),e.verify(t,r,i)},recover:function(t,r,i,a){return n.isBuffer(t,o.MSG32_TYPE_INVALID),n.isBufferLength(t,32,o.MSG32_LENGTH_INVALID),n.isBuffer(r,o.ECDSA_SIGNATURE_TYPE_INVALID),n.isBufferLength(r,64,o.ECDSA_SIGNATURE_LENGTH_INVALID),n.isNumber(i,o.RECOVERY_ID_TYPE_INVALID),n.isNumberInInterval(i,-1,4,o.RECOVERY_ID_VALUE_INVALID),a=s(a,!0),e.recover(t,r,i,a)},ecdh:function(t,r){return n.isBuffer(t,o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(t,33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID),n.isBuffer(r,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(r,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),e.ecdh(t,r)},ecdhUnsafe:function(t,r,i){return n.isBuffer(t,o.EC_PUBLIC_KEY_TYPE_INVALID),n.isBufferLength2(t,33,65,o.EC_PUBLIC_KEY_LENGTH_INVALID),n.isBuffer(r,o.EC_PRIVATE_KEY_TYPE_INVALID),n.isBufferLength(r,32,o.EC_PRIVATE_KEY_LENGTH_INVALID),i=s(i,!0),e.ecdhUnsafe(t,r,i)}}}},{"./assert":"/Users/f/pjs/dhive/node_modules/secp256k1/lib/assert.js","./der":"/Users/f/pjs/dhive/node_modules/secp256k1/lib/der.js","./messages.json":"/Users/f/pjs/dhive/node_modules/secp256k1/lib/messages.json"}],"/Users/f/pjs/dhive/node_modules/secp256k1/lib/messages.json":[function(e,t,r){t.exports={COMPRESSED_TYPE_INVALID:"compressed should be a boolean",EC_PRIVATE_KEY_TYPE_INVALID:"private key should be a Buffer",EC_PRIVATE_KEY_LENGTH_INVALID:"private key length is invalid",EC_PRIVATE_KEY_RANGE_INVALID:"private key range is invalid",EC_PRIVATE_KEY_TWEAK_ADD_FAIL:"tweak out of range or resulting private key is invalid",EC_PRIVATE_KEY_TWEAK_MUL_FAIL:"tweak out of range",EC_PRIVATE_KEY_EXPORT_DER_FAIL:"couldn't export to DER format",EC_PRIVATE_KEY_IMPORT_DER_FAIL:"couldn't import from DER format",EC_PUBLIC_KEYS_TYPE_INVALID:"public keys should be an Array",EC_PUBLIC_KEYS_LENGTH_INVALID:"public keys Array should have at least 1 element",EC_PUBLIC_KEY_TYPE_INVALID:"public key should be a Buffer",EC_PUBLIC_KEY_LENGTH_INVALID:"public key length is invalid",EC_PUBLIC_KEY_PARSE_FAIL:"the public key could not be parsed or is invalid",EC_PUBLIC_KEY_CREATE_FAIL:"private was invalid, try again",EC_PUBLIC_KEY_TWEAK_ADD_FAIL:"tweak out of range or resulting public key is invalid",EC_PUBLIC_KEY_TWEAK_MUL_FAIL:"tweak out of range",EC_PUBLIC_KEY_COMBINE_FAIL:"the sum of the public keys is not valid",ECDH_FAIL:"scalar was invalid (zero or overflow)",ECDSA_SIGNATURE_TYPE_INVALID:"signature should be a Buffer",ECDSA_SIGNATURE_LENGTH_INVALID:"signature length is invalid",ECDSA_SIGNATURE_PARSE_FAIL:"couldn't parse signature",ECDSA_SIGNATURE_PARSE_DER_FAIL:"couldn't parse DER signature",ECDSA_SIGNATURE_SERIALIZE_DER_FAIL:"couldn't serialize signature to DER format",ECDSA_SIGN_FAIL:"nonce generation function failed or private key is invalid",ECDSA_RECOVER_FAIL:"couldn't recover public key from signature",MSG32_TYPE_INVALID:"message should be a Buffer",MSG32_LENGTH_INVALID:"message length is invalid",OPTIONS_TYPE_INVALID:"options should be an Object",OPTIONS_DATA_TYPE_INVALID:"options.data should be a Buffer",OPTIONS_DATA_LENGTH_INVALID:"options.data length is invalid",OPTIONS_NONCEFN_TYPE_INVALID:"options.noncefn should be a Function",RECOVERY_ID_TYPE_INVALID:"recovery should be a Number",RECOVERY_ID_VALUE_INVALID:"recovery should have value between -1 and 4",TWEAK_TYPE_INVALID:"tweak should be a Buffer",TWEAK_LENGTH_INVALID:"tweak length is invalid"}},{}],"/Users/f/pjs/dhive/node_modules/sha.js/hash.js":[function(e,t,r){var n=e("safe-buffer").Buffer;function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=n.from(e,t));for(var r=this._block,i=this._blockSize,o=e.length,s=this._len,a=0;a<o;){for(var l=s%i,d=Math.min(o-a,i-l),f=0;f<d;f++)r[l+f]=e[a+f];a+=d,(s+=d)%i==0&&this._update(r)}return this._len+=o,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,1+t),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return e?o.toString(e):o},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/index.js":[function(e,t,r){(r=t.exports=function(e){e=e.toLowerCase();var t=r[e];if(!t)throw new Error(e+" is not supported (we accept pull requests)");return new t}).sha=e("./sha"),r.sha1=e("./sha1"),r.sha224=e("./sha224"),r.sha256=e("./sha256"),r.sha384=e("./sha384"),r.sha512=e("./sha512")},{"./sha":"/Users/f/pjs/dhive/node_modules/sha.js/sha.js","./sha1":"/Users/f/pjs/dhive/node_modules/sha.js/sha1.js","./sha224":"/Users/f/pjs/dhive/node_modules/sha.js/sha224.js","./sha256":"/Users/f/pjs/dhive/node_modules/sha.js/sha256.js","./sha384":"/Users/f/pjs/dhive/node_modules/sha.js/sha384.js","./sha512":"/Users/f/pjs/dhive/node_modules/sha.js/sha512.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/sha.js":[function(e,t,r){var n=e("inherits"),i=e("./hash"),o=e("safe-buffer").Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,i.call(this,64,56)}function d(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(l,i),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(e){for(var t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,o=0|this._d,a=0|this._e,l=0;l<16;++l)t[l]=e.readInt32BE(4*l);for(;l<80;++l)t[l]=t[l-3]^t[l-8]^t[l-14]^t[l-16];for(var f=0;f<80;++f){var c=~~(f/20),u=0|(r<<5|r>>>27)+d(c,n,i,o)+a+t[f]+s[c];a=o,o=i,i=(h=n)<<30|h>>>2,n=r,r=u}var h;this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=o+this._d|0,this._e=a+this._e|0},l.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},t.exports=l},{"./hash":"/Users/f/pjs/dhive/node_modules/sha.js/hash.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/sha1.js":[function(e,t,r){var n=e("inherits"),i=e("./hash"),o=e("safe-buffer").Buffer,s=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function l(){this.init(),this._w=a,i.call(this,64,56)}function d(e){return e<<5|e>>>27}function f(e){return e<<30|e>>>2}function c(e,t,r,n){return 0===e?t&r|~t&n:2===e?t&r|t&n|r&n:t^r^n}n(l,i),l.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},l.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,l=0|this._e,u=0;u<16;++u)r[u]=e.readInt32BE(4*u);for(;u<80;++u)r[u]=(t=r[u-3]^r[u-8]^r[u-14]^r[u-16])<<1|t>>>31;for(var h=0;h<80;++h){var p=~~(h/20),m=d(n)+c(p,i,o,a)+l+r[h]+s[p]|0;l=a,a=o,o=f(i),i=n,n=m}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0},l.prototype._hash=function(){var e=o.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},t.exports=l},{"./hash":"/Users/f/pjs/dhive/node_modules/sha.js/hash.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/sha224.js":[function(e,t,r){var n=e("inherits"),i=e("./sha256"),o=e("./hash"),s=e("safe-buffer").Buffer,a=new Array(64);function l(){this.init(),this._w=a,o.call(this,64,56)}n(l,i),l.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},l.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},t.exports=l},{"./hash":"/Users/f/pjs/dhive/node_modules/sha.js/hash.js","./sha256":"/Users/f/pjs/dhive/node_modules/sha.js/sha256.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/sha256.js":[function(e,t,r){var n=e("inherits"),i=e("./hash"),o=e("safe-buffer").Buffer,s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],a=new Array(64);function l(){this.init(),this._w=a,i.call(this,64,56)}function d(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function c(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function u(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}n(l,i),l.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},l.prototype._update=function(e){for(var t,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,a=0|this._d,l=0|this._e,p=0|this._f,m=0|this._g,b=0|this._h,g=0;g<16;++g)r[g]=e.readInt32BE(4*g);for(;g<64;++g)r[g]=0|(((t=r[g-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+r[g-7]+h(r[g-15])+r[g-16];for(var v=0;v<64;++v){var y=b+u(l)+d(l,p,m)+s[v]+r[v]|0,j=c(n)+f(n,i,o)|0;b=m,m=p,p=l,l=a+y|0,a=o,o=i,i=n,n=y+j|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=a+this._d|0,this._e=l+this._e|0,this._f=p+this._f|0,this._g=m+this._g|0,this._h=b+this._h|0},l.prototype._hash=function(){var e=o.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},t.exports=l},{"./hash":"/Users/f/pjs/dhive/node_modules/sha.js/hash.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/sha384.js":[function(e,t,r){var n=e("inherits"),i=e("./sha512"),o=e("./hash"),s=e("safe-buffer").Buffer,a=new Array(160);function l(){this.init(),this._w=a,o.call(this,128,112)}n(l,i),l.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},l.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},t.exports=l},{"./hash":"/Users/f/pjs/dhive/node_modules/sha.js/hash.js","./sha512":"/Users/f/pjs/dhive/node_modules/sha.js/sha512.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/sha.js/sha512.js":[function(e,t,r){var n=e("inherits"),i=e("./hash"),o=e("safe-buffer").Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],a=new Array(160);function l(){this.init(),this._w=a,i.call(this,128,112)}function d(e,t,r){return r^e&(t^r)}function f(e,t,r){return e&t|r&(e|t)}function c(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function u(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function b(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function g(e,t){return e>>>0<t>>>0?1:0}n(l,i),l.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},l.prototype._update=function(e){for(var t=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,a=0|this._eh,l=0|this._fh,v=0|this._gh,y=0|this._hh,j=0|this._al,_=0|this._bl,w=0|this._cl,x=0|this._dl,k=0|this._el,U=0|this._fl,E=0|this._gl,S=0|this._hl,A=0;A<32;A+=2)t[A]=e.readInt32BE(4*A),t[A+1]=e.readInt32BE(4*A+4);for(;A<160;A+=2){var I=t[A-30],M=t[A-30+1],T=h(I,M),B=p(M,I),L=m(I=t[A-4],M=t[A-4+1]),R=b(M,I),O=t[A-14],C=t[A-14+1],P=t[A-32],D=t[A-32+1],N=B+C|0,z=T+O+g(N,B)|0;z=(z=z+L+g(N=N+R|0,R)|0)+P+g(N=N+D|0,D)|0,t[A]=z,t[A+1]=N}for(var q=0;q<160;q+=2){z=t[q],N=t[q+1];var F=f(r,n,i),K=f(j,_,w),V=c(r,j),H=c(j,r),G=u(a,k),Y=u(k,a),W=s[q+1],Z=d(a,l,v),X=d(k,U,E),J=S+Y|0,$=y+G+g(J,S)|0;$=($=($=$+Z+g(J=J+X|0,X)|0)+s[q]+g(J=J+W|0,W)|0)+z+g(J=J+N|0,N)|0;var Q=H+K|0,ee=V+F+g(Q,H)|0;y=v,S=E,v=l,E=U,l=a,U=k,a=o+$+g(k=x+J|0,x)|0,o=i,x=w,i=n,w=_,n=r,_=j,r=$+ee+g(j=J+Q|0,J)|0}this._al=this._al+j|0,this._bl=this._bl+_|0,this._cl=this._cl+w|0,this._dl=this._dl+x|0,this._el=this._el+k|0,this._fl=this._fl+U|0,this._gl=this._gl+E|0,this._hl=this._hl+S|0,this._ah=this._ah+r+g(this._al,j)|0,this._bh=this._bh+n+g(this._bl,_)|0,this._ch=this._ch+i+g(this._cl,w)|0,this._dh=this._dh+o+g(this._dl,x)|0,this._eh=this._eh+a+g(this._el,k)|0,this._fh=this._fh+l+g(this._fl,U)|0,this._gh=this._gh+v+g(this._gl,E)|0,this._hh=this._hh+y+g(this._hl,S)|0},l.prototype._hash=function(){var e=o.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},t.exports=l},{"./hash":"/Users/f/pjs/dhive/node_modules/sha.js/hash.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js":[function(e,t,r){t.exports=i;var n=e("events").EventEmitter;function i(){n.call(this)}e("inherits")(i,n),i.Readable=e("readable-stream/readable.js"),i.Writable=e("readable-stream/writable.js"),i.Duplex=e("readable-stream/duplex.js"),i.Transform=e("readable-stream/transform.js"),i.PassThrough=e("readable-stream/passthrough.js"),(i.Stream=i).prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),e.on("drain",o),e._isStdio||t&&!1===t.end||(r.on("end",a),r.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function d(e){if(f(),0===n.listenerCount(this,"error"))throw e}function f(){r.removeListener("data",i),e.removeListener("drain",o),r.removeListener("end",a),r.removeListener("close",l),r.removeListener("error",d),e.removeListener("error",d),r.removeListener("end",f),r.removeListener("close",f),e.removeListener("close",f)}return r.on("error",d),e.on("error",d),r.on("end",f),r.on("close",f),e.on("close",f),e.emit("pipe",r),e}},{events:"/Users/f/pjs/dhive/node_modules/events/events.js",inherits:"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js","readable-stream/duplex.js":"/Users/f/pjs/dhive/node_modules/readable-stream/duplex-browser.js","readable-stream/passthrough.js":"/Users/f/pjs/dhive/node_modules/readable-stream/passthrough.js","readable-stream/readable.js":"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js","readable-stream/transform.js":"/Users/f/pjs/dhive/node_modules/readable-stream/transform.js","readable-stream/writable.js":"/Users/f/pjs/dhive/node_modules/readable-stream/writable-browser.js"}],"/Users/f/pjs/dhive/node_modules/string_decoder/lib/string_decoder.js":[function(e,t,r){arguments[4]["/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js"][0].apply(r,arguments)},{"safe-buffer":"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js"}],"/Users/f/pjs/dhive/node_modules/timers-browserify/main.js":[function(e,t,r){(function(t,n){var i=e("process/browser.js").nextTick,o=Function.prototype.apply,s=Array.prototype.slice,a={},l=0;function d(e,t){this._id=e,this._clearFn=t}r.setTimeout=function(){return new d(o.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new d(o.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(e){e.close()},d.prototype.unref=d.prototype.ref=function(){},d.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},r.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},r._unrefActive=r.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;0<=t&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},r.setImmediate="function"==typeof t?t:function(e){var t=l++,n=!(arguments.length<2)&&s.call(arguments,1);return a[t]=!0,i((function(){a[t]&&(n?e.apply(null,n):e.call(null),r.clearImmediate(t))})),t},r.clearImmediate="function"==typeof n?n:function(e){delete a[e]}}).call(this,e("timers").setImmediate,e("timers").clearImmediate)},{"process/browser.js":"/Users/f/pjs/dhive/node_modules/process/browser.js",timers:"/Users/f/pjs/dhive/node_modules/timers-browserify/main.js"}],"/Users/f/pjs/dhive/node_modules/util-deprecate/browser.js":[function(e,t,r){(function(e){function r(t){try{if(!e.localStorage)return}catch(e){return}var r=e.localStorage[t];return null!=r&&"true"===String(r).toLowerCase()}t.exports=function(e,t){if(r("noDeprecation"))return e;var n=!1;return function(){if(!n){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation"),n=!0}return e.apply(this,arguments)}}}).call(this,void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],"/Users/f/pjs/dhive/node_modules/util/node_modules/inherits/inherits_browser.js":[function(e,t,r){arguments[4]["/Users/f/pjs/dhive/node_modules/assert/node_modules/inherits/inherits_browser.js"][0].apply(r,arguments)},{}],"/Users/f/pjs/dhive/node_modules/util/support/isBufferBrowser.js":[function(e,t,r){arguments[4]["/Users/f/pjs/dhive/node_modules/assert/node_modules/util/support/isBufferBrowser.js"][0].apply(r,arguments)},{}],"/Users/f/pjs/dhive/node_modules/util/util.js":[function(e,t,r){(function(t,n){var i=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(a(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,o=n.length,s=String(e).replace(i,(function(e){if("%%"===e)return"%";if(o<=r)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}})),l=n[r];r<o;l=n[++r])m(l)||!j(l)?s+=" "+l:s+=" "+a(l);return s},r.deprecate=function(e,i){if(v(n.process))return function(){return r.deprecate(e,i).apply(this,arguments)};if(!0===t.noDeprecation)return e;var o=!1;return function(){if(!o){if(t.throwDeprecation)throw new Error(i);t.traceDeprecation,o=!0}return e.apply(this,arguments)}};var o,s={};function a(e,t){var n={seen:[],stylize:d};return 3<=arguments.length&&(n.depth=arguments[2]),4<=arguments.length&&(n.colors=arguments[3]),p(t)?n.showHidden=t:t&&r._extend(n,t),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),f(n,e,n.depth)}function l(e,t){var r=a.styles[t];return r?"["+a.colors[r][0]+"m"+e+"["+a.colors[r][1]+"m":e}function d(e,t){return e}function f(e,t,n){if(e.customInspect&&t&&x(t.inspect)&&t.inspect!==r.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(n,e);return g(i)||(i=f(e,i,n)),i}var o=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return b(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(e,t);if(o)return o;var s,a=Object.keys(t),l=(s={},a.forEach((function(e,t){s[e]=!0})),s);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),w(t)&&(0<=a.indexOf("message")||0<=a.indexOf("description")))return c(t);if(0===a.length){if(x(t)){var d=t.name?": "+t.name:"";return e.stylize("[Function"+d+"]","special")}if(y(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(_(t))return e.stylize(Date.prototype.toString.call(t),"date");if(w(t))return c(t)}var j,k="",E=!1,S=["{","}"];return h(t)&&(E=!0,S=["[","]"]),x(t)&&(k=" [Function"+(t.name?": "+t.name:"")+"]"),y(t)&&(k=" "+RegExp.prototype.toString.call(t)),_(t)&&(k=" "+Date.prototype.toUTCString.call(t)),w(t)&&(k=" "+c(t)),0!==a.length||E&&0!=t.length?n<0?y(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),j=E?function(e,t,r,n,i){for(var o=[],s=0,a=t.length;s<a;++s)U(t,String(s))?o.push(u(e,t,r,n,String(s),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(u(e,t,r,n,i,!0))})),o}(e,t,n,l,a):a.map((function(r){return u(e,t,n,l,r,E)})),e.seen.pop(),function(e,t,r){return 60<e.reduce((function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)?r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1]:r[0]+t+" "+e.join(", ")+" "+r[1]}(j,k,S)):S[0]+k+S[1]}function c(e){return"["+Error.prototype.toString.call(e)+"]"}function u(e,t,r,n,i,o){var s,a,l;if((l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),U(n,i)||(s="["+i+"]"),a||(e.seen.indexOf(l.value)<0?-1<(a=m(r)?f(e,l.value,null):f(e,l.value,r-1)).indexOf("\n")&&(a=o?a.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+a.split("\n").map((function(e){return" "+e})).join("\n")):a=e.stylize("[Circular]","special")),v(s)){if(o&&i.match(/^\d+$/))return a;s=(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),e.stylize(s,"string"))}return s+": "+a}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function m(e){return null===e}function b(e){return"number"==typeof e}function g(e){return"string"==typeof e}function v(e){return void 0===e}function y(e){return j(e)&&"[object RegExp]"===k(e)}function j(e){return"object"==typeof e&&null!==e}function _(e){return j(e)&&"[object Date]"===k(e)}function w(e){return j(e)&&("[object Error]"===k(e)||e instanceof Error)}function x(e){return"function"==typeof e}function k(e){return Object.prototype.toString.call(e)}function U(e,t){return Object.prototype.hasOwnProperty.call(e,t)}r.debuglog=function(e){return v(o)&&(o=t.env.NODE_DEBUG||""),e=e.toUpperCase(),s[e]||(new RegExp("\\b"+e+"\\b","i").test(o)?(t.pid,s[e]=function(){r.format.apply(r,arguments)}):s[e]=function(){}),s[e]},(r.inspect=a).colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=h,r.isBoolean=p,r.isNull=m,r.isNullOrUndefined=function(e){return null==e},r.isNumber=b,r.isString=g,r.isSymbol=function(e){return"symbol"==typeof e},r.isUndefined=v,r.isRegExp=y,r.isObject=j,r.isDate=_,r.isError=w,r.isFunction=x,r.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},r.isBuffer=e("./support/isBuffer"),r.log=function(){},r.inherits=e("inherits"),r._extend=function(e,t){if(!t||!j(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}}).call(this,e("_process"),void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":"/Users/f/pjs/dhive/node_modules/util/support/isBufferBrowser.js",_process:"/Users/f/pjs/dhive/node_modules/process/browser.js",inherits:"/Users/f/pjs/dhive/node_modules/util/node_modules/inherits/inherits_browser.js"}],"/Users/f/pjs/dhive/node_modules/verror/lib/verror.js":[function(e,t,r){var n=e("assert-plus"),i=e("util"),o=e("extsprintf"),s=e("core-util-is").isError,a=o.sprintf;function l(e){var t,r,i,o;if(n.object(e,"args"),n.bool(e.strict,"args.strict"),n.array(e.argv,"args.argv"),0===(t=e.argv).length)r={},i=[];else if(s(t[0]))r={cause:t[0]},i=t.slice(1);else if("object"==typeof t[0]){for(o in r={},t[0])r[o]=t[0][o];i=t.slice(1)}else n.string(t[0],"first argument to VError, SError, or WError constructor must be a string, object, or Error"),r={},i=t;return n.object(r),r.strict||e.strict||(i=i.map((function(e){return null===e?"null":void 0===e?"undefined":e}))),{options:r,shortmessage:0===i.length?"":a.apply(null,i)}}function d(){var e,t,r,i,o,a,f;if(e=Array.prototype.slice.call(arguments,0),!(this instanceof d))return t=Object.create(d.prototype),d.apply(t,arguments),t;if((r=l({argv:e,strict:!1})).options.name&&(n.string(r.options.name,'error\'s "name" must be a string'),this.name=r.options.name),this.jse_shortmsg=r.shortmessage,a=r.shortmessage,(i=r.options.cause)&&(n.ok(s(i),"cause is not an Error"),this.jse_cause=i,r.options.skipCauseMessage||(a+=": "+i.message)),this.jse_info={},r.options.info)for(f in r.options.info)this.jse_info[f]=r.options.info[f];return this.message=a,Error.call(this,a),Error.captureStackTrace&&(o=r.options.constructorOpt||this.constructor,Error.captureStackTrace(this,o)),this}function f(){var e,t,r,n;return e=Array.prototype.slice.call(arguments,0),this instanceof f?(n=(r=l({argv:e,strict:!0})).options,d.call(this,n,"%s",r.shortmessage),this):(t=Object.create(f.prototype),f.apply(t,arguments),t)}function c(e){n.array(e,"list of errors"),n.ok(0<e.length,"must be at least one error"),this.ase_errors=e,d.call(this,{cause:e[0]},"first of %d error%s",e.length,1==e.length?"":"s")}function u(){var e,t,r,n;return e=Array.prototype.slice.call(arguments,0),this instanceof u?((n=(r=l({argv:e,strict:!1})).options).skipCauseMessage=!0,d.call(this,n,"%s",r.shortmessage),this):(t=Object.create(u.prototype),u.apply(t,e),t)}((t.exports=d).VError=d).SError=f,d.WError=u,d.MultiError=c,i.inherits(d,Error),d.prototype.name="VError",d.prototype.toString=function(){var e=this.hasOwnProperty("name")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e+=": "+this.message),e},d.prototype.cause=function(){var e=d.cause(this);return null===e?void 0:e},d.cause=function(e){return n.ok(s(e),"err must be an Error"),s(e.jse_cause)?e.jse_cause:null},d.info=function(e){var t,r,i;if(n.ok(s(e),"err must be an Error"),t=null!==(r=d.cause(e))?d.info(r):{},"object"==typeof e.jse_info&&null!==e.jse_info)for(i in e.jse_info)t[i]=e.jse_info[i];return t},d.findCauseByName=function(e,t){var r;for(n.ok(s(e),"err must be an Error"),n.string(t,"name"),n.ok(0<t.length,"name cannot be empty"),r=e;null!==r;r=d.cause(r))if(n.ok(s(r)),r.name==t)return r;return null},d.hasCauseWithName=function(e,t){return null!==d.findCauseByName(e,t)},d.fullStack=function(e){n.ok(s(e),"err must be an Error");var t=d.cause(e);return t?e.stack+"\ncaused by: "+d.fullStack(t):e.stack},d.errorFromList=function(e){return n.arrayOfObject(e,"errors"),0===e.length?null:(e.forEach((function(e){n.ok(s(e))})),1==e.length?e[0]:new c(e))},d.errorForEach=function(e,t){n.ok(s(e),"err must be an Error"),n.func(t,"func"),e instanceof c?e.errors().forEach((function(e){t(e)})):t(e)},i.inherits(f,d),i.inherits(c,d),c.prototype.name="MultiError",c.prototype.errors=function(){return this.ase_errors.slice(0)},i.inherits(u,d),u.prototype.name="WError",u.prototype.toString=function(){var e=this.hasOwnProperty("name")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(e+=": "+this.message),this.jse_cause&&this.jse_cause.message&&(e+="; caused by "+this.jse_cause.toString()),e},u.prototype.cause=function(e){return s(e)&&(this.jse_cause=e),this.jse_cause}},{"assert-plus":"/Users/f/pjs/dhive/node_modules/assert-plus/assert.js","core-util-is":"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js",extsprintf:"/Users/f/pjs/dhive/node_modules/extsprintf/lib/extsprintf.js",util:"/Users/f/pjs/dhive/node_modules/util/util.js"}],"/Users/f/pjs/dhive/node_modules/vm-browserify/index.js":[function(_dereq_,module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;r<e.length;r++)if(e[r]===t)return r;return-1},Object_keys=function(e){if(Object.keys)return Object.keys(e);var t=[];for(var r in e)t.push(r);return t},forEach=function(e,t){if(e.forEach)return e.forEach(t);for(var r=0;r<e.length;r++)t(e[r],r,e)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function(e,t,r){Object.defineProperty(e,t,{writable:!0,enumerable:!1,configurable:!0,value:r})}}catch(e){return function(e,t,r){e[t]=r}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context))throw new TypeError("needs a 'context' argument.");var t=document.createElement("iframe");t.style||(t.style={}),t.style.display="none",document.body.appendChild(t);var r=t.contentWindow,n=r.eval,i=r.execScript;!n&&i&&(i.call(r,"null"),n=r.eval),forEach(Object_keys(e),(function(t){r[t]=e[t]})),forEach(globals,(function(t){e[t]&&(r[t]=e[t])}));var o=Object_keys(r),s=n.call(r,this.code);return forEach(Object_keys(r),(function(t){(t in e||-1===indexOf(o,t))&&(e[t]=r[t])})),forEach(globals,(function(t){t in e||defineProp(e,t,r[t])})),document.body.removeChild(t),s},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(e){var t=Script.createContext(e),r=this.runInContext(t);return e&&forEach(Object_keys(t),(function(r){e[r]=t[r]})),r},forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var r=Script(t);return r[e].apply(r,[].slice.call(arguments,1))}})),exports.isContext=function(e){return e instanceof Context},exports.createScript=function(e){return exports.Script(e)},exports.createContext=Script.createContext=function(e){var t=new Context;return"object"==typeof e&&forEach(Object_keys(e),(function(r){t[r]=e[r]})),t}},{}],"/Users/f/pjs/dhive/node_modules/whatwg-fetch/dist/fetch.umd.js":[function(e,t,r){var n;n=function(e){"use strict";var t="URLSearchParams"in self,r="Symbol"in self&&"iterator"in Symbol,n="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),i="FormData"in self,o="ArrayBuffer"in self;if(o)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(e){return e&&-1<s.indexOf(Object.prototype.toString.call(e))};function l(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function d(e){return"string"!=typeof e&&(e=String(e)),e}function f(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r&&(t[Symbol.iterator]=function(){return t}),t}function c(e){this.map={},e instanceof c?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function u(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function p(e){var t=new FileReader,r=h(t);return t.readAsArrayBuffer(e),r}function m(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(e){(this._bodyInit=e)?"string"==typeof e?this._bodyText=e:n&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:i&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:t&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():o&&n&&e&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=m(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o&&(ArrayBuffer.prototype.isPrototypeOf(e)||a(e))?this._bodyArrayBuffer=m(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},n&&(this.blob=function(){var e=u(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?u(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(p)}),this.text=function(){var e,t,r,n=u(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,r=h(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},i&&(this.formData=function(){return this.text().then(y)}),this.json=function(){return this.text().then(JSON.parse)},this}c.prototype.append=function(e,t){e=l(e),t=d(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},c.prototype.delete=function(e){delete this.map[l(e)]},c.prototype.get=function(e){return e=l(e),this.has(e)?this.map[e]:null},c.prototype.has=function(e){return this.map.hasOwnProperty(l(e))},c.prototype.set=function(e,t){this.map[l(e)]=d(t)},c.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},c.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),f(e)},c.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),f(e)},c.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),f(e)},r&&(c.prototype[Symbol.iterator]=c.prototype.entries);var g=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function v(e,t){var r,n,i=(t=t||{}).body;if(e instanceof v){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new c(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,i||null==e._bodyInit||(i=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new c(t.headers)),this.method=(n=(r=t.method||this.method||"GET").toUpperCase(),-1<g.indexOf(n)?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function y(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),i=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(i))}})),t}function j(e,t){t=t||{},this.type="default",this.status=void 0===t.status?200:t.status,this.ok=200<=this.status&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new c(t.headers),this.url=t.url||"",this._initBody(e)}v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},b.call(v.prototype),b.call(j.prototype),j.prototype.clone=function(){return new j(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new c(this.headers),url:this.url})},j.error=function(){var e=new j(null,{status:0,statusText:""});return e.type="error",e};var _=[301,302,303,307,308];j.redirect=function(e,t){if(-1===_.indexOf(t))throw new RangeError("Invalid status code");return new j(null,{status:t,headers:{location:e}})},e.DOMException=self.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function w(t,r){return new Promise((function(i,o){var s=new v(t,r);if(s.signal&&s.signal.aborted)return o(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new c,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var i=r.join(":").trim();t.append(n,i)}})),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var n="response"in a?a.response:a.responseText;i(new j(n,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&n&&(a.responseType="blob"),s.headers.forEach((function(e,t){a.setRequestHeader(t,e)})),s.signal&&(s.signal.addEventListener("abort",l),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",l)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=c,self.Request=v,self.Response=j),e.Headers=c,e.Request=v,e.Response=j,e.fetch=w,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof r&&void 0!==t?n(r):"function"==typeof define&&define.amd?define(["exports"],n):n(this.WHATWGFetch={})},{}],"/Users/f/pjs/dhive/src/chain/account.ts":[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("../crypto"),i=function(){function e(t){var r=t.weight_threshold,n=t.account_auths,i=t.key_auths;!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.weight_threshold=r,this.account_auths=n,this.key_auths=i}return function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e,[{key:"from",value:function(t){return t instanceof e?t:"string"==typeof t||t instanceof n.PublicKey?new e({account_auths:[],key_auths:[[t,1]],weight_threshold:1}):new e(t)}}]),e}();r.Authority=i},{"../crypto":"/Users/f/pjs/dhive/src/crypto.ts"}],"/Users/f/pjs/dhive/src/chain/asset.ts":[function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),e}Object.defineProperty(r,"__esModule",{value:!0});var a=e("assert"),l=function(){function e(t,r){i(this,e),this.amount=t,this.symbol=r}return s(e,[{key:"getPrecision",value:function(){switch(this.symbol){case"TESTS":case"TBD":case"HIVE":case"HBD":case"SBD":case"STEEM":return 3;case"VESTS":return 6}}},{key:"steem_symbols",value:function(){switch(this.symbol){case"HIVE":return e.from(this.amount,"STEEM");case"HBD":return e.from(this.amount,"SBD");default:return this}}},{key:"toString",value:function(){return"".concat(this.amount.toFixed(this.getPrecision())," ").concat(this.symbol)}},{key:"add",value:function(t){var r=e.from(t,this.symbol);return a(this.symbol===r.symbol,"can not add with different symbols"),new e(this.amount+r.amount,this.symbol)}},{key:"subtract",value:function(t){var r=e.from(t,this.symbol);return a(this.symbol===r.symbol,"can not subtract with different symbols"),new e(this.amount-r.amount,this.symbol)}},{key:"multiply",value:function(t){var r=e.from(t,this.symbol);return a(this.symbol===r.symbol,"can not multiply with different symbols"),new e(this.amount*r.amount,this.symbol)}},{key:"divide",value:function(t){var r=e.from(t,this.symbol);return a(this.symbol===r.symbol,"can not divide with different symbols"),new e(this.amount/r.amount,this.symbol)}},{key:"toJSON",value:function(){return this.toString()}}],[{key:"fromString",value:function(t,r){var i,o=function(e){if(Array.isArray(e))return e}(i=t.split(" "))||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),2!==r.length);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}return r}}(i)||function(e,t){if(e){if("string"==typeof e)return n(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,2):void 0}}(i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),s=o[0],a=o[1];if(!["HIVE","VESTS","HBD","TESTS","TBD","SBD","STEEM"].includes(a))throw new Error("Invalid asset symbol: ".concat(a));if(r&&a!==r)throw new Error("Invalid asset, expected symbol: ".concat(r," got: ").concat(a));var l=Number.parseFloat(s);if(!Number.isFinite(l))throw new Error("Invalid asset amount: ".concat(s));return new e(l,a)}},{key:"from",value:function(t,r){if(t instanceof e){if(r&&t.symbol!==r)throw new Error("Invalid asset, expected symbol: ".concat(r," got: ").concat(t.symbol));return t}if("number"==typeof t&&Number.isFinite(t))return new e(t,r||"STEEM");if("string"==typeof t)return e.fromString(t,r);throw new Error("Invalid asset '".concat(String(t),"'"))}},{key:"min",value:function(e,t){return a(e.symbol===t.symbol,"can not compare assets with different symbols"),e.amount<t.amount?e:t}},{key:"max",value:function(e,t){return a(e.symbol===t.symbol,"can not compare assets with different symbols"),e.amount>t.amount?e:t}}]),e}();r.Asset=l;var d=function(){function e(t,r){i(this,e),this.base=t,this.quote=r,a(0!==t.amount&&0!==r.amount,"base and quote assets must be non-zero"),a(t.symbol!==r.symbol,"base and quote can not have the same symbol")}return s(e,[{key:"toString",value:function(){return"".concat(this.base,":").concat(this.quote)}},{key:"convert",value:function(e){if(e.symbol===this.base.symbol)return a(0<this.base.amount),new l(e.amount*this.quote.amount/this.base.amount,this.quote.symbol);if(e.symbol===this.quote.symbol)return a(0<this.quote.amount),new l(e.amount*this.base.amount/this.quote.amount,this.base.symbol);throw new Error("Can not convert ".concat(e," with ").concat(this))}}],[{key:"from",value:function(t){return t instanceof e?t:new e(l.from(t.base),l.from(t.quote))}}]),e}();r.Price=d},{assert:"/Users/f/pjs/dhive/node_modules/assert/assert.js"}],"/Users/f/pjs/dhive/src/chain/misc.ts":[function(e,t,r){(function(t){"use strict";function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}Object.defineProperty(r,"__esModule",{value:!0});var i=e("./asset"),o=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.buffer=t}var r,i;return i=[{key:"from",value:function(r){return r instanceof e?r:new e(r instanceof t?r:"string"==typeof r?t.from(r,"hex"):t.from(r))}}],n((r=e).prototype,[{key:"toString",value:function(e){var t=0<arguments.length&&void 0!==e?e:"hex";return this.buffer.toString(t)}},{key:"toJSON",value:function(){return this.toString()}}]),n(r,i),e}();r.HexBuffer=o,r.getVestingSharePrice=function(e){var t=i.Asset.from(e.total_vesting_fund_hive),r=i.Asset.from(e.total_vesting_shares);return 0===t.amount||0===r.amount?new i.Price(new i.Asset(1,"VESTS"),new i.Asset(1,"HIVE")):new i.Price(r,t)},r.getVests=function(e){var t=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],r=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],n=i.Asset.from(e.vesting_shares),o=i.Asset.from(e.delegated_vesting_shares),s=i.Asset.from(e.received_vesting_shares),a=i.Asset.from(e.vesting_withdraw_rate),l=(Number(e.to_withdraw)-Number(e.withdrawn))/1e6,d=Math.min(a.amount,l);return n=n.subtract(d),t&&(n=n.subtract(o)),r&&(n=n.add(s)),n.amount}}).call(this,e("buffer").Buffer)},{"./asset":"/Users/f/pjs/dhive/src/chain/asset.ts",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/src/chain/serializer.ts":[function(e,t,r){(function(t){"use strict";function n(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=o(e))){var t=0,r=function(){};return{s:r,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,i,s=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,i=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw i}}}}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}return r}}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function a(){throw new Error("Void can not be serialized")}function l(e,t){e.writeVString(t)}function d(e,t){e.writeInt16(t)}function f(e,t){e.writeInt64(t)}function c(e,t){e.writeUint16(t)}function u(e,t){e.writeUint32(t)}function h(e,t){e.writeUint64(t)}function p(e,t){e.writeByte(t?1:0)}function m(e){return function(t,r){var n=i(r,2),o=n[0],s=n[1];t.writeVarint32(o),e[o](t,s)}}function b(e,t){var r=E.Asset.from(t).steem_symbols(),n=r.getPrecision();e.writeInt64(Math.round(r.amount*Math.pow(10,n))),e.writeUint8(n);for(var i=0;i<7;i++)e.writeUint8(r.symbol.charCodeAt(i)||0)}function g(e,t){e.writeUint32(Math.floor(new Date(t+"Z").getTime()/1e3))}function v(e,r){null===r||"string"==typeof r&&r.endsWith("1111111111111111111111111111111114T1Anm")?e.append(t.alloc(33,0)):e.append(U.PublicKey.from(r).key)}function y(e){return function(t,r){var n=(r=S.HexBuffer.from(r)).buffer.length;if(e){if(n!==e)throw new Error("Unable to serialize binary. Expected ".concat(e," bytes, got ").concat(n))}else t.writeVarint32(n);t.append(r.buffer)}}function j(e,t){return function(r,o){r.writeVarint32(o.length);var s,a=n(o);try{for(a.s();!(s=a.n()).done;){var l=i(s.value,2),d=l[0],f=l[1];e(r,d),t(r,f)}}catch(e){a.e(e)}finally{a.f()}}}function _(e){return function(t,r){t.writeVarint32(r.length);var i,o=n(r);try{for(o.s();!(i=o.n()).done;){var s=i.value;e(t,s)}}catch(e){o.e(e)}finally{o.f()}}}function w(e){return function(t,r){var o,s=n(e);try{for(s.s();!(o=s.n()).done;){var a=i(o.value,2),l=a[0],d=a[1];try{d(t,r[l])}catch(e){throw e.message="".concat(l,": ").concat(e.message),e}}}catch(e){s.e(e)}finally{s.f()}}}function x(e){return function(t,r){r?(t.writeByte(1),e(t,r)):t.writeByte(0)}}function k(e,t){var r=w(t);return function(t,n){t.writeVarint32(e),r(t,n)}}Object.defineProperty(r,"__esModule",{value:!0});var U=e("../crypto"),E=e("./asset"),S=e("./misc"),A=y(),I=w([["weight_threshold",u],["account_auths",j(l,c)],["key_auths",j(v,c)]]),M=w([["account",l],["weight",c]]),T=w([["base",b],["quote",b]]),B=w([["end_date",g]]),L=w([["previous",y(20)],["timestamp",g],["witness",l],["transaction_merkle_root",y(20)],["extensions",_(a)],["witness_signature",y(65)]]),R=w([["account_creation_fee",b],["maximum_block_size",u],["hbd_interest_rate",c]]),O={};function C(e,t){var r=O[t[0]];if(!r)throw new Error("No serializer for operation: ".concat(t[0]));try{r(e,t[1])}catch(e){throw e.message="".concat(t[0],": ").concat(e.message),e}}O.account_create=k(9,[["fee",b],["creator",l],["new_account_name",l],["owner",I],["active",I],["posting",I],["memo_key",v],["json_metadata",l]]),O.account_create_with_delegation=k(41,[["fee",b],["delegation",b],["creator",l],["new_account_name",l],["owner",I],["active",I],["posting",I],["memo_key",v],["json_metadata",l],["extensions",_(a)]]),O.account_update=k(10,[["account",l],["owner",x(I)],["active",x(I)],["posting",x(I)],["memo_key",v],["json_metadata",l]]),O.account_witness_proxy=k(13,[["account",l],["proxy",l]]),O.account_witness_vote=k(12,[["account",l],["witness",l],["approve",p]]),O.cancel_transfer_from_savings=k(34,[["from",l],["request_id",u]]),O.change_recovery_account=k(26,[["account_to_recover",l],["new_recovery_account",l],["extensions",_(a)]]),O.claim_account=k(22,[["creator",l],["fee",b],["extensions",_(a)]]),O.claim_reward_balance=k(39,[["account",l],["reward_hive",b],["reward_hbd",b],["reward_vests",b]]),O.comment=k(1,[["parent_author",l],["parent_permlink",l],["author",l],["permlink",l],["title",l],["body",l],["json_metadata",l]]),O.comment_options=k(19,[["author",l],["permlink",l],["max_accepted_payout",b],["percent_hbd",c],["allow_votes",p],["allow_curation_rewards",p],["extensions",_(m([w([["beneficiaries",_(M)]])]))]]),O.convert=k(8,[["owner",l],["requestid",u],["amount",b]]),O.create_claimed_account=k(23,[["creator",l],["new_account_name",l],["owner",I],["active",I],["posting",I],["memo_key",v],["json_metadata",l],["extensions",_(a)]]),O.custom=k(15,[["required_auths",_(l)],["id",c],["data",A]]),O.custom_binary=k(35,[["required_owner_auths",_(l)],["required_active_auths",_(l)],["required_posting_auths",_(l)],["required_auths",_(I)],["id",l],["data",A]]),O.custom_json=k(18,[["required_auths",_(l)],["required_posting_auths",_(l)],["id",l],["json",l]]),O.decline_voting_rights=k(36,[["account",l],["decline",p]]),O.delegate_vesting_shares=k(40,[["delegator",l],["delegatee",l],["vesting_shares",b]]),O.delete_comment=k(17,[["author",l],["permlink",l]]),O.escrow_approve=k(31,[["from",l],["to",l],["agent",l],["who",l],["escrow_id",u],["approve",p]]),O.escrow_dispute=k(28,[["from",l],["to",l],["agent",l],["who",l],["escrow_id",u]]),O.escrow_release=k(29,[["from",l],["to",l],["agent",l],["who",l],["receiver",l],["escrow_id",u],["hbd_amount",b],["hive_amount",b]]),O.escrow_transfer=k(27,[["from",l],["to",l],["hbd_amount",b],["hive_amount",b],["escrow_id",u],["agent",l],["fee",b],["json_meta",l],["ratification_deadline",g],["escrow_expiration",g]]),O.feed_publish=k(7,[["publisher",l],["exchange_rate",T]]),O.limit_order_cancel=k(6,[["owner",l],["orderid",u]]),O.limit_order_create=k(5,[["owner",l],["orderid",u],["amount_to_sell",b],["min_to_receive",b],["fill_or_kill",p],["expiration",g]]),O.limit_order_create2=k(21,[["owner",l],["orderid",u],["amount_to_sell",b],["fill_or_kill",p],["exchange_rate",T],["expiration",g]]),O.recover_account=k(25,[["account_to_recover",l],["new_owner_authority",I],["recent_owner_authority",I],["extensions",_(a)]]),O.report_over_production=k(16,[["reporter",l],["first_block",L],["second_block",L]]),O.request_account_recovery=k(24,[["recovery_account",l],["account_to_recover",l],["new_owner_authority",I],["extensions",_(a)]]),O.reset_account=k(37,[["reset_account",l],["account_to_reset",l],["new_owner_authority",I]]),O.set_reset_account=k(38,[["account",l],["current_reset_account",l],["reset_account",l]]),O.set_withdraw_vesting_route=k(20,[["from_account",l],["to_account",l],["percent",c],["auto_vest",p]]),O.transfer=k(2,[["from",l],["to",l],["amount",b],["memo",l]]),O.transfer_from_savings=k(33,[["from",l],["request_id",u],["to",l],["amount",b],["memo",l]]),O.transfer_to_savings=k(32,[["from",l],["to",l],["amount",b],["memo",l]]),O.transfer_to_vesting=k(3,[["from",l],["to",l],["amount",b]]),O.vote=k(0,[["voter",l],["author",l],["permlink",l],["weight",d]]),O.withdraw_vesting=k(4,[["account",l],["vesting_shares",b]]),O.witness_update=k(11,[["owner",l],["url",l],["block_signing_key",v],["props",R],["fee",b]]),O.witness_set_properties=k(42,[["owner",l],["props",j(l,A)],["extensions",_(a)]]),O.account_update2=k(43,[["account",l],["owner",x(I)],["active",x(I)],["posting",x(I)],["memo_key",x(v)],["json_metadata",l],["posting_json_metadata",l],["extensions",_(a)]]),O.create_proposal=k(44,[["creator",l],["receiver",l],["start_date",g],["end_date",g],["daily_pay",b],["subject",l],["permlink",l],["extensions",_(a)]]),O.update_proposal_votes=k(45,[["voter",l],["proposal_ids",_(f)],["approve",p],["extensions",_(a)]]),O.remove_proposal=k(46,[["proposal_owner",l],["proposal_ids",_(f)],["extensions",_(a)]]),O.update_proposal=k(47,[["proposal_id",h],["creator",l],["daily_pay",b],["subject",l],["permlink",l],["extensions",_(m([a,B]))]]),O.collateralized_convert=k(48,[["owner",l],["requestid",u],["amount",b]]),O.recurrent_transfer=k(49,[["from",l],["to",l],["amount",b],["memo",l],["recurrence",c],["executions",c],["extensions",_(a)]]);var P=w([["ref_block_num",c],["ref_block_prefix",u],["expiration",g],["operations",_(C)],["extensions",_(l)]]);r.Types={Array:_,Asset:b,Authority:I,Binary:y,Boolean:p,Date:g,FlatMap:j,Int16:d,Int32:function(e,t){e.writeInt32(t)},Int64:f,Int8:function(e,t){e.writeInt8(t)},Object:w,Operation:C,Optional:x,Price:T,PublicKey:v,StaticVariant:m,String:l,Transaction:P,UInt16:c,UInt32:u,UInt64:h,UInt8:function(e,t){e.writeUint8(t)},Void:a}}).call(this,e("buffer").Buffer)},{"../crypto":"/Users/f/pjs/dhive/src/crypto.ts","./asset":"/Users/f/pjs/dhive/src/chain/asset.ts","./misc":"/Users/f/pjs/dhive/src/chain/misc.ts",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/src/client.ts":[function(e,t,r){(function(t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}Object.defineProperty(r,"__esModule",{value:!0});var o=e("assert"),s=e("verror"),a=e("./version"),l=e("./helpers/blockchain"),d=e("./helpers/broadcast"),f=e("./helpers/database"),c=e("./helpers/hivemind"),u=e("./helpers/rc"),h=e("./utils");r.VERSION=a.default,r.DEFAULT_CHAIN_ID=t.from("beeab0de00000000000000000000000000000000000000000000000000000000","hex"),r.DEFAULT_ADDRESS_PREFIX="STM";var p=function(){function e(n){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),i.rebrandedApi,this.currentAddress=Array.isArray(n)?n[0]:n,this.address=n,this.options=i,this.chainId=i.chainId?t.from(i.chainId,"hex"):r.DEFAULT_CHAIN_ID,o.equal(this.chainId.length,32,"invalid chain id"),this.addressPrefix=i.addressPrefix||r.DEFAULT_ADDRESS_PREFIX,this.timeout=i.timeout||6e4,this.backoff=i.backoff||m,this.failoverThreshold=i.failoverThreshold||3,this.consoleOnFailover=i.consoleOnFailover||!1,this.database=new f.DatabaseAPI(this),this.broadcast=new d.BroadcastAPI(this),this.blockchain=new l.Blockchain(this),this.rc=new u.RCAPI(this),this.hivemind=new c.HivemindAPI(this)}var p,b;return b=[{key:"testnet",value:function(t){var r={};return t&&((r=h.copy(t)).agent=t.agent),r.addressPrefix="STM",r.chainId="beeab0de00000000000000000000000000000000000000000000000000000000",new e("https://testnet.openhive.network",r)}}],i((p=e).prototype,[{key:"call",value:function(e,r,i){var l,d,f,c,u=2<arguments.length&&void 0!==i?i:[];return l=this,f=d=void 0,c=regeneratorRuntime.mark((function i(){var l,d,f,c,p,m,b,g,v,y,j,_,w;return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return l="bridge"===e?{id:0,jsonrpc:"2.0",method:e+"."+r,params:u}:{id:"0",jsonrpc:"2.0",method:"call",params:[e,r,u]},d=JSON.stringify(l,(function(e,r){return r&&"object"===n(r)&&"Buffer"===r.type?t.from(r.data).toString("hex"):r})),f={body:d,cache:"no-cache",headers:{Accept:"application/json, text/plain, */*","Content-Type":"application/json"},method:"POST",mode:"cors"},void 0===("undefined"==typeof self?"undefined":n(self))&&(f.headers={"User-Agent":"dhive/".concat(a.default)}),this.options.agent&&(f.agent=this.options.agent),"network_broadcast_api"===e||r.startsWith("broadcast_transaction")||(c=function(e){return 500*(e+1)}),i.next=8,h.retryingFetch(this.currentAddress,this.address,f,this.timeout,this.failoverThreshold,this.consoleOnFailover,this.backoff,c);case 8:if(p=i.sent,m=p.response,(b=p.currentAddress)!==this.currentAddress&&(this.currentAddress=b),m.error)throw g=function(e){switch(n(e)){case"object":return JSON.stringify(e);default:return String(e)}},v=m.error.data,y=m.error.message,v&&v.stack&&0<v.stack.length&&(j=v.stack[0],_=h.copy(j.data),y=j.format.replace(/\$\{([a-z_]+)\}/gi,(function(e,t){var r=e;return _[t]&&(r=g(_[t]),delete _[t]),r})),0<(w=Object.keys(_).map((function(e){return{key:e,value:g(_[e])}})).map((function(e){return"".concat(e.key,"=").concat(e.value)}))).length&&(y+=" "+w.join(" "))),new s.VError({info:v,name:"RPCError"},y);i.next=18;break;case 18:return o.equal(m.id,l.id,"got invalid response id"),i.abrupt("return",m.result);case 20:case"end":return i.stop()}}),i,this)})),new(f=f||Promise)((function(e,t){function r(e){try{i(c.next(e))}catch(e){t(e)}}function n(e){try{i(c.throw(e))}catch(e){t(e)}}function i(t){var i;t.done?e(t.value):((i=t.value)instanceof f?i:new f((function(e){e(i)}))).then(r,n)}i((c=c.apply(l,d||[])).next())}))}},{key:"updateOperations",value:function(){}}]),i(p,b),e}();r.Client=p;var m=function(e){return Math.min(Math.pow(10*e,2),1e4)}}).call(this,e("buffer").Buffer)},{"./helpers/blockchain":"/Users/f/pjs/dhive/src/helpers/blockchain.ts","./helpers/broadcast":"/Users/f/pjs/dhive/src/helpers/broadcast.ts","./helpers/database":"/Users/f/pjs/dhive/src/helpers/database.ts","./helpers/hivemind":"/Users/f/pjs/dhive/src/helpers/hivemind.ts","./helpers/rc":"/Users/f/pjs/dhive/src/helpers/rc.ts","./utils":"/Users/f/pjs/dhive/src/utils.ts","./version":"/Users/f/pjs/dhive/lib/version.js",assert:"/Users/f/pjs/dhive/node_modules/assert/assert.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",verror:"/Users/f/pjs/dhive/node_modules/verror/lib/verror.js"}],"/Users/f/pjs/dhive/src/crypto.ts":[function(e,t,r){(function(t){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,r){return t&&o(e.prototype,t),r&&o(e,r),e}Object.defineProperty(r,"__esModule",{value:!0});var a=e("assert"),l=e("bs58"),d=e("bytebuffer"),f=e("crypto"),c=e("secp256k1"),u=e("verror"),h=e("./chain/serializer"),p=e("./client"),m=e("./utils");function b(e){return f.createHash("ripemd160").update(e).digest()}function g(e){return f.createHash("sha256").update(e).digest()}function v(e){return g(g(e))}function y(e,r){var n=b(e);return r+l.encode(t.concat([e,n.slice(0,4)]))}function j(e){a.equal(e.readUInt8(0),128,"private key network id mismatch");var r=v(e);return l.encode(t.concat([e,r.slice(0,4)]))}function _(e){var t=l.decode(e);a.deepEqual(t.slice(0,1),r.NETWORK_ID,"private key network id mismatch");var n=t.slice(-4),i=t.slice(0,-4),o=v(i).slice(0,4);return a.deepEqual(o,n,"private key checksum mismatch"),i}function w(e){return!(128&e[0]||0===e[0]&&!(128&e[1])||128&e[32]||0===e[32]&&!(128&e[33]))}r.NETWORK_ID=t.from([128]);var x=function(){function e(t){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:p.DEFAULT_ADDRESS_PREFIX;i(this,e),this.key=t,this.prefix=r,a(c.publicKeyVerify(t),"invalid public key")}return s(e,[{key:"verify",value:function(e,t){return c.verify(e,t.data,this.key)}},{key:"toString",value:function(){return y(this.key,this.prefix)}},{key:"toJSON",value:function(){return this.toString()}},{key:"inspect",value:function(){return"PublicKey: ".concat(this.toString())}}],[{key:"fromString",value:function(t){var r=function(e){var t=e.slice(0,3);a.equal(t.length,3,"public key invalid prefix"),e=e.slice(3);var r=l.decode(e),n=r.slice(-4),i=r.slice(0,-4),o=b(i).slice(0,4);return a.deepEqual(o,n,"public key checksum mismatch"),{key:i,prefix:t}}(t);return new e(r.key,r.prefix)}},{key:"from",value:function(t){return t instanceof e?t:e.fromString(t)}}]),e}();r.PublicKey=x;var k=function(){function e(t){i(this,e),this.key=t,a(c.privateKeyVerify(t),"invalid private key")}return s(e,[{key:"sign",value:function(e){var r,n=0;do{var i={data:g(t.concat([e,t.alloc(1,++n)]))};r=c.sign(e,this.key,i)}while(!w(r.signature));return new U(r.signature,r.recovery)}},{key:"createPublic",value:function(e){return new x(c.publicKeyCreate(this.key),e)}},{key:"toString",value:function(){return j(t.concat([r.NETWORK_ID,this.key]))}},{key:"inspect",value:function(){var e=this.toString();return"PrivateKey: ".concat(e.slice(0,6),"...").concat(e.slice(-6))}}],[{key:"from",value:function(t){return"string"==typeof t?e.fromString(t):new e(t)}},{key:"fromString",value:function(t){return new e(_(t).slice(1))}},{key:"fromSeed",value:function(t){return new e(g(t))}},{key:"fromLogin",value:function(t,r,n){return e.fromSeed(t+(2<arguments.length&&void 0!==n?n:"active")+r)}}]),e}();r.PrivateKey=k;var U=function(){function e(t,r){i(this,e),this.data=t,this.recovery=r,a.equal(t.length,64,"invalid signature")}return s(e,[{key:"recover",value:function(e,t){return new x(c.recover(e,this.data,this.recovery),t)}},{key:"toBuffer",value:function(){var e=t.alloc(65);return e.writeUInt8(this.recovery+31,0),this.data.copy(e,1),e}},{key:"toString",value:function(){return this.toBuffer().toString("hex")}}],[{key:"fromBuffer",value:function(t){a.equal(t.length,65,"invalid signature");var r=t.readUInt8(0)-31;return new e(t.slice(1),r)}},{key:"fromString",value:function(r){return e.fromBuffer(t.from(r,"hex"))}}]),e}();function E(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:p.DEFAULT_CHAIN_ID,n=new d(d.DEFAULT_CAPACITY,d.LITTLE_ENDIAN);try{h.Types.Transaction(n,e)}catch(e){throw new u.VError({cause:e,name:"SerializationError"},"Unable to serialize transaction")}n.flip();var i=t.from(n.toBuffer());return g(t.concat([r,i]))}r.Signature=U,r.cryptoUtils={decodePrivate:_,doubleSha256:v,encodePrivate:j,encodePublic:y,isCanonicalSignature:w,isWif:function(e){try{var r=new t(l.decode(e)),n=r.slice(0,-4),i=r.slice(-4),o=g(n);return o=(o=g(o)).slice(0,4),i.toString()===o.toString()}catch(e){return!1}},ripemd160:b,sha256:g,signTransaction:function(e,t){var r=E(e,2<arguments.length&&void 0!==arguments[2]?arguments[2]:p.DEFAULT_CHAIN_ID),i=m.copy(e);i.signatures||(i.signatures=[]),Array.isArray(t)||(t=[t]);var o,s=function(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e){if(e){if("string"==typeof e)return n(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?n(e,void 0):void 0}}(e))){var t=0,r=function(){};return{s:r,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o,s=!0,a=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw o}}}}(t);try{for(s.s();!(o=s.n()).done;){var a=o.value.sign(r);i.signatures.push(a.toString())}}catch(e){s.e(e)}finally{s.f()}return i},transactionDigest:E}}).call(this,e("buffer").Buffer)},{"./chain/serializer":"/Users/f/pjs/dhive/src/chain/serializer.ts","./client":"/Users/f/pjs/dhive/src/client.ts","./utils":"/Users/f/pjs/dhive/src/utils.ts",assert:"/Users/f/pjs/dhive/node_modules/assert/assert.js",bs58:"/Users/f/pjs/dhive/node_modules/bs58/index.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js",bytebuffer:"/Users/f/pjs/dhive/node_modules/bytebuffer/dist/bytebuffer.js",crypto:"/Users/f/pjs/dhive/node_modules/crypto-browserify/index.js",secp256k1:"/Users/f/pjs/dhive/node_modules/secp256k1/elliptic.js",verror:"/Users/f/pjs/dhive/node_modules/verror/lib/verror.js"}],"/Users/f/pjs/dhive/src/helpers/blockchain.ts":[function(e,t,r){"use strict";function n(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e){if(e){if("string"==typeof e)return i(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,void 0):void 0}}(e))){var t=0,r=function(){};return{s:r,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,o,s=!0,a=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function o(e,t,r,n){return new(r=r||Promise)((function(i,o){function s(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))}function s(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=r.apply(e,t||[]),o=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){i[e]&&(n[e]=function(t){return new Promise((function(r,n){1<o.push([e,t,r,n])||a(e,t)}))})}function a(e,t){try{(r=i[e](t)).value instanceof l?Promise.resolve(r.value.v).then(d,f):c(o[0][2],r)}catch(e){c(o[0][3],e)}var r}function d(e){a("next",e)}function f(e){a("throw",e)}function c(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function a(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,i,(t=e[r](t)).done,t.value)}))}}}var l=function(e){return this instanceof l?(this.v=e,this):new l(e)};Object.defineProperty(r,"__esModule",{value:!0});var d,f=e("./../utils");!function(e){e[e.Irreversible=0]="Irreversible",e[e.Latest=1]="Latest"}(d=r.BlockchainMode||(r.BlockchainMode={}));var c=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.client=t}return function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,[{key:"getCurrentBlockNum",value:function(e){var t=0<arguments.length&&void 0!==e?e:d.Irreversible;return o(this,void 0,void 0,regeneratorRuntime.mark((function e(){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.client.database.getDynamicGlobalProperties();case 2:r=e.sent,e.t0=t,e.next=e.t0===d.Irreversible?6:e.t0===d.Latest?7:8;break;case 6:return e.abrupt("return",r.last_irreversible_block_num);case 7:return e.abrupt("return",r.head_block_number);case 8:case"end":return e.stop()}}),e,this)})))}},{key:"getCurrentBlockHeader",value:function(e){return o(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=this.client.database,t.next=3,this.getCurrentBlockNum(e);case 3:return t.t1=t.sent,t.abrupt("return",t.t0.getBlockHeader.call(t.t0,t.t1));case 5:case"end":return t.stop()}}),t,this)})))}},{key:"getCurrentBlock",value:function(e){return o(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=this.client.database,t.next=3,this.getCurrentBlockNum(e);case 3:return t.t1=t.sent,t.abrupt("return",t.t0.getBlock.call(t.t0,t.t1));case 5:case"end":return t.stop()}}),t,this)})))}},{key:"getBlockNumbers",value:function(e){return s(this,arguments,regeneratorRuntime.mark((function t(){var r,n,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=3,e?"number"==typeof e&&(e={from:e}):e={},t.next=4,l(this.getCurrentBlockNum(e.mode));case 4:if(n=t.sent,void 0!==e.from&&e.from>n)throw new Error("From can't be larger than current block num (".concat(n,")"));t.next=7;break;case 7:i=void 0!==e.from?e.from:n;case 8:case 9:if(i<n)return t.next=12,l(i++);t.next=20;break;case 12:return t.next=14,t.sent;case 14:if(void 0!==e.to&&i>e.to)return t.next=17,l(void 0);t.next=18;break;case 17:return t.abrupt("return",t.sent);case 18:t.next=9;break;case 20:return t.next=22,l(f.sleep(1e3*r));case 22:return t.next=24,l(this.getCurrentBlockNum(e.mode));case 24:n=t.sent,t.next=8;break;case 27:case"end":return t.stop()}}),t,this)})))}},{key:"getBlockNumberStream",value:function(e){return f.iteratorStream(this.getBlockNumbers(e))}},{key:"getBlocks",value:function(e){return s(this,arguments,regeneratorRuntime.mark((function t(){var r,n,i,o,s;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:t.prev=0,i=a(this.getBlockNumbers(e));case 2:return t.next=4,l(i.next());case 4:if((o=t.sent).done){t.next=17;break}return s=o.value,t.t0=l,t.next=10,l(this.client.database.getBlock(s));case 10:return t.t1=t.sent,t.next=13,(0,t.t0)(t.t1);case 13:return t.next=15,t.sent;case 15:t.next=2;break;case 17:t.next=22;break;case 19:t.prev=19,t.t2=t.catch(0),r={error:t.t2};case 22:if(t.prev=22,t.prev=23,o&&!o.done&&(n=i.return))return t.next=27,l(n.call(i));t.next=27;break;case 27:if(t.prev=27,r)throw r.error;t.next=30;break;case 30:return t.finish(27);case 31:return t.finish(22);case 32:case"end":return t.stop()}}),t,this,[[0,19,22,32],[23,,27,31]])})))}},{key:"getBlockStream",value:function(e){return f.iteratorStream(this.getBlocks(e))}},{key:"getOperations",value:function(e){return s(this,arguments,regeneratorRuntime.mark((function t(){var r,i,o,s,d,f,c,u,h;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:t.prev=0,o=a(this.getBlockNumbers(e));case 2:return t.next=4,l(o.next());case 4:if((s=t.sent).done){t.next=31;break}return d=s.value,t.next=9,l(this.client.database.getOperations(d));case 9:f=t.sent,c=n(f),t.prev=11,c.s();case 13:if((u=c.n()).done){t.next=21;break}return h=u.value,t.next=17,l(h);case 17:return t.next=19,t.sent;case 19:t.next=13;break;case 21:t.next=26;break;case 23:t.prev=23,t.t0=t.catch(11),c.e(t.t0);case 26:return t.prev=26,c.f(),t.finish(26);case 29:t.next=2;break;case 31:t.next=36;break;case 33:t.prev=33,t.t1=t.catch(0),r={error:t.t1};case 36:if(t.prev=36,t.prev=37,s&&!s.done&&(i=o.return))return t.next=41,l(i.call(o));t.next=41;break;case 41:if(t.prev=41,r)throw r.error;t.next=44;break;case 44:return t.finish(41);case 45:return t.finish(36);case 46:case"end":return t.stop()}}),t,this,[[0,33,36,46],[11,23,26,29],[37,,41,45]])})))}},{key:"getOperationsStream",value:function(e){return f.iteratorStream(this.getOperations(e))}}]),e}();r.Blockchain=c},{"./../utils":"/Users/f/pjs/dhive/src/utils.ts"}],"/Users/f/pjs/dhive/src/helpers/broadcast.ts":[function(e,t,r){(function(t,n){"use strict";function i(e,t,r,n){return new(r=r||Promise)((function(i,o){function s(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))}Object.defineProperty(r,"__esModule",{value:!0});var o=e("assert"),s=e("../chain/account"),a=e("../chain/asset"),l=e("./../crypto"),d=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.client=t,this.expireTime=6e4}return function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,[{key:"comment",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=["comment",e],r.abrupt("return",this.sendOperations([n],t));case 2:case"end":return r.stop()}}),r,this)})))}},{key:"commentWithOptions",value:function(e,t,r){return i(this,void 0,void 0,regeneratorRuntime.mark((function n(){var i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=[["comment",e],["comment_options",t]],n.abrupt("return",this.sendOperations(i,r));case 2:case"end":return n.stop()}}),n,this)})))}},{key:"vote",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=["vote",e],r.abrupt("return",this.sendOperations([n],t));case 2:case"end":return r.stop()}}),r,this)})))}},{key:"transfer",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=["transfer",e],r.abrupt("return",this.sendOperations([n],t));case 2:case"end":return r.stop()}}),r,this)})))}},{key:"json",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=["custom_json",e],r.abrupt("return",this.sendOperations([n],t));case 2:case"end":return r.stop()}}),r,this)})))}},{key:"createTestAccount",value:function(e,r){return i(this,void 0,void 0,regeneratorRuntime.mark((function n(){var i,d,f,c,u,h,p,m,b,g,v,y,j,_,w,x,k,U,E;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(o(t.hasOwnProperty("it"),"helper to be used only for mocha tests"),i=e.username,d=e.metadata,f=e.creator,c=this.client.addressPrefix,!e.password){n.next=13;break}b=l.PrivateKey.fromLogin(i,e.password,"owner").createPublic(c),u=s.Authority.from(b),g=l.PrivateKey.fromLogin(i,e.password,"active").createPublic(c),h=s.Authority.from(g),v=l.PrivateKey.fromLogin(i,e.password,"posting").createPublic(c),p=s.Authority.from(v),m=l.PrivateKey.fromLogin(i,e.password,"memo").createPublic(c),n.next=21;break;case 13:if(!e.auths){n.next=20;break}u=s.Authority.from(e.auths.owner),h=s.Authority.from(e.auths.active),p=s.Authority.from(e.auths.posting),m=l.PublicKey.from(e.auths.memoKey),n.next=21;break;case 20:throw new Error("Must specify either password or auths");case 21:if(y=e.fee,j=e.delegation,j=a.Asset.from(j||0,"VESTS"),0<(y=a.Asset.from(y||0,"TESTS")).amount)return n.next=27,this.client.database.getChainProperties();n.next=31;break;case 27:if(_=n.sent,w=a.Asset.from(_.account_creation_fee),y.amount!==w.amount)throw new Error("Fee must be exactly "+w.toString());n.next=31;break;case 31:return x=["claim_account",{creator:f,extensions:[],fee:y}],k=["create_claimed_account",{active:h,creator:f,extensions:[],json_metadata:d?JSON.stringify(d):"",memo_key:m,new_account_name:i,owner:u,posting:p}],U=[x,k],0<j.amount&&(E=["delegate_vesting_shares",{delegatee:i,delegator:f,vesting_shares:j}],U.push(E)),n.abrupt("return",this.sendOperations(U,r));case 36:case"end":return n.stop()}}),n,this)})))}},{key:"updateAccount",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=["account_update",e],r.abrupt("return",this.sendOperations([n],t));case 2:case"end":return r.stop()}}),r,this)})))}},{key:"delegateVestingShares",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n=["delegate_vesting_shares",e],r.abrupt("return",this.sendOperations([n],t));case 2:case"end":return r.stop()}}),r,this)})))}},{key:"sendOperations",value:function(e,t){return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var i,s,a,l,d,f;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.client.database.getDynamicGlobalProperties();case 2:return i=r.sent,s=65535&i.head_block_number,a=n.from(i.head_block_id,"hex").readUInt32LE(4),l=new Date(new Date(i.time+"Z").getTime()+this.expireTime).toISOString().slice(0,-5),d={expiration:l,extensions:[],operations:e,ref_block_num:s,ref_block_prefix:a},r.next=10,this.send(this.sign(d,t));case 10:return f=r.sent,o(!1===f.expired,"transaction expired"),r.abrupt("return",f);case 13:case"end":return r.stop()}}),r,this)})))}},{key:"sign",value:function(e,t){return l.cryptoUtils.signTransaction(e,t,this.client.chainId)}},{key:"send",value:function(e){return i(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.call("broadcast_transaction_synchronous",[e]));case 1:case"end":return t.stop()}}),t,this)})))}},{key:"call",value:function(e,t){return this.client.call("condenser_api",e,t)}}]),e}();r.BroadcastAPI=d}).call(this,void 0!==global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer)},{"../chain/account":"/Users/f/pjs/dhive/src/chain/account.ts","../chain/asset":"/Users/f/pjs/dhive/src/chain/asset.ts","./../crypto":"/Users/f/pjs/dhive/src/crypto.ts",assert:"/Users/f/pjs/dhive/node_modules/assert/assert.js",buffer:"/Users/f/pjs/dhive/node_modules/buffer/index.js"}],"/Users/f/pjs/dhive/src/helpers/database.ts":[function(e,t,r){"use strict";function n(e,t,r,n){return new(r=r||Promise)((function(i,o){function s(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))}Object.defineProperty(r,"__esModule",{value:!0});var i=e("../chain/asset"),o=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.client=t}return function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,[{key:"call",value:function(e,t){return this.client.call("condenser_api",e,t)}},{key:"getDynamicGlobalProperties",value:function(){return this.call("get_dynamic_global_properties")}},{key:"getChainProperties",value:function(){return n(this,void 0,void 0,regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.call("get_chain_properties"));case 1:case"end":return e.stop()}}),e,this)})))}},{key:"getState",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.call("get_state",[e]));case 1:case"end":return t.stop()}}),t,this)})))}},{key:"getCurrentMedianHistoryPrice",value:function(){return n(this,void 0,void 0,regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=i.Price,e.next=3,this.call("get_current_median_history_price");case 3:return e.t1=e.sent,e.abrupt("return",e.t0.from.call(e.t0,e.t1));case 5:case"end":return e.stop()}}),e,this)})))}},{key:"getVestingDelegations",value:function(e,t,r){var i=1<arguments.length&&void 0!==t?t:"",o=2<arguments.length&&void 0!==r?r:1e3;return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.call("get_vesting_delegations",[e,i,o]));case 1:case"end":return t.stop()}}),t,this)})))}},{key:"getConfig",value:function(){return this.call("get_config")}},{key:"getBlockHeader",value:function(e){return this.call("get_block_header",[e])}},{key:"getBlock",value:function(e){return this.call("get_block",[e])}},{key:"getOperations",value:function(e,t){var r=1<arguments.length&&void 0!==t&&t;return this.call("get_ops_in_block",[e,r])}},{key:"getDiscussions",value:function(e,t){return this.call("get_discussions_by_".concat(e),[t])}},{key:"getAccounts",value:function(e){return this.call("get_accounts",[e])}},{key:"getTransaction",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.call("get_transaction",[e]));case 1:case"end":return t.stop()}}),t,this)})))}},{key:"getAccountHistory",value:function(e,t,r,n){var i=[e,t,r];if(n&&Array.isArray(n)){if(2!==n.length)throw Error("operation_bitmask should be generated by the helper function");i=i.concat(n)}return this.call("get_account_history",i)}},{key:"verifyAuthority",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.call("verify_authority",[e]));case 1:case"end":return t.stop()}}),t,this)})))}},{key:"getVersion",value:function(){return n(this,void 0,void 0,regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.call("get_version",[]));case 1:case"end":return e.stop()}}),e,this)})))}}]),e}();r.DatabaseAPI=o},{"../chain/asset":"/Users/f/pjs/dhive/src/chain/asset.ts"}],"/Users/f/pjs/dhive/src/helpers/hivemind.ts":[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.client=t}return function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,[{key:"call",value:function(e,t){return this.client.call("bridge",e,t)}},{key:"getRankedPosts",value:function(e){return this.call("get_ranked_posts",e)}},{key:"getAccountPosts",value:function(e){return this.call("get_account_posts",e)}},{key:"getCommunity",value:function(e){return this.call("get_community",e)}},{key:"listAllSubscriptions",value:function(e){return this.call("list_all_subscriptions",e)}},{key:"getAccountNotifications",value:function(e){return this.call("account_notifications",e)}},{key:"listCommunities",value:function(e){return this.call("list_communities",e)}}]),e}();r.HivemindAPI=n},{}],"/Users/f/pjs/dhive/src/helpers/rc.ts":[function(e,t,r){"use strict";function n(e,t,r,n){return new(r=r||Promise)((function(i,o){function s(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))}Object.defineProperty(r,"__esModule",{value:!0});var i=e("../chain/misc"),o=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.client=t}return function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,[{key:"call",value:function(e,t){return this.client.call("rc_api",e,t)}},{key:"findRCAccounts",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.call("find_rc_accounts",{accounts:e});case 2:return t.abrupt("return",t.sent.rc_accounts);case 3:case"end":return t.stop()}}),t,this)})))}},{key:"getResourceParams",value:function(){return n(this,void 0,void 0,regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.call("get_resource_params",{});case 2:return e.abrupt("return",e.sent.resource_params);case 3:case"end":return e.stop()}}),e,this)})))}},{key:"getResourcePool",value:function(){return n(this,void 0,void 0,regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.call("get_resource_pool",{});case 2:return e.abrupt("return",e.sent.resource_pool);case 3:case"end":return e.stop()}}),e,this)})))}},{key:"getRCMana",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.findRCAccounts([e]);case 2:return r=t.sent[0],t.abrupt("return",this.calculateRCMana(r));case 4:case"end":return t.stop()}}),t,this)})))}},{key:"getVPMana",value:function(e){return n(this,void 0,void 0,regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.client.call("condenser_api","get_accounts",[[e]]);case 2:return r=t.sent[0],t.abrupt("return",this.calculateVPMana(r));case 4:case"end":return t.stop()}}),t,this)})))}},{key:"calculateRCMana",value:function(e){return this._calculateManabar(Number(e.max_rc),e.rc_manabar)}},{key:"calculateVPMana",value:function(e){var t=i.getVests(e)*Math.pow(10,6);return this._calculateManabar(t,e.voting_manabar)}},{key:"_calculateManabar",value:function(e,t){var r=t.current_mana,n=t.last_update_time,i=Date.now()/1e3-n;r=Number(r)+i*e/432e3;var o=Math.round(r/e*1e4);return!isFinite(o)||o<0?o=0:1e4<o&&(o=1e4),{current_mana:r,max_mana:e,percentage:o}}}]),e}();r.RCAPI=o},{"../chain/misc":"/Users/f/pjs/dhive/src/chain/misc.ts"}],"/Users/f/pjs/dhive/src/index-browser.ts":[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),e("core-js/features/array/from"),e("core-js/features/map"),e("core-js/features/number"),e("core-js/features/promise"),e("core-js/features/symbol"),e("core-js/features/symbol/async-iterator"),e("regenerator-runtime/runtime"),e("whatwg-fetch"),function(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}(e("./index"))},{"./index":"/Users/f/pjs/dhive/src/index.ts","core-js/features/array/from":"/Users/f/pjs/dhive/node_modules/core-js/features/array/from.js","core-js/features/map":"/Users/f/pjs/dhive/node_modules/core-js/features/map/index.js","core-js/features/number":"/Users/f/pjs/dhive/node_modules/core-js/features/number/index.js","core-js/features/promise":"/Users/f/pjs/dhive/node_modules/core-js/features/promise/index.js","core-js/features/symbol":"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/index.js","core-js/features/symbol/async-iterator":"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/async-iterator.js","regenerator-runtime/runtime":"/Users/f/pjs/dhive/node_modules/regenerator-runtime/runtime.js","whatwg-fetch":"/Users/f/pjs/dhive/node_modules/whatwg-fetch/dist/fetch.umd.js"}],"/Users/f/pjs/dhive/src/index.ts":[function(e,t,r){"use strict";function n(e){for(var t in e)r.hasOwnProperty(t)||(r[t]=e[t])}Object.defineProperty(r,"__esModule",{value:!0});var i=e("./utils");r.utils=i,n(e("./helpers/blockchain")),n(e("./helpers/database")),n(e("./helpers/rc")),n(e("./chain/account")),n(e("./chain/asset")),n(e("./chain/misc")),n(e("./chain/serializer")),n(e("./client")),n(e("./crypto"))},{"./chain/account":"/Users/f/pjs/dhive/src/chain/account.ts","./chain/asset":"/Users/f/pjs/dhive/src/chain/asset.ts","./chain/misc":"/Users/f/pjs/dhive/src/chain/misc.ts","./chain/serializer":"/Users/f/pjs/dhive/src/chain/serializer.ts","./client":"/Users/f/pjs/dhive/src/client.ts","./crypto":"/Users/f/pjs/dhive/src/crypto.ts","./helpers/blockchain":"/Users/f/pjs/dhive/src/helpers/blockchain.ts","./helpers/database":"/Users/f/pjs/dhive/src/helpers/database.ts","./helpers/rc":"/Users/f/pjs/dhive/src/helpers/rc.ts","./utils":"/Users/f/pjs/dhive/src/utils.ts"}],"/Users/f/pjs/dhive/src/utils.ts":[function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function i(e,t,r,n){return new(r=r||Promise)((function(i,o){function s(e){try{l(n.next(e))}catch(e){o(e)}}function a(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))}function o(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,i){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,i,(t=e[r](t)).done,t.value)}))}}}Object.defineProperty(r,"__esModule",{value:!0});var s=e("cross-fetch"),a=e("stream"),l=["timeout","ENOTFOUND","ECONNREFUSED","database lock"];function d(e,t){return new Promise((function(r,n){e.once(t,r)}))}function f(e){return new Promise((function(t){setTimeout(t,e)}))}r.waitForEvent=d,r.sleep=f,r.iteratorStream=function(e){var t=new a.PassThrough({objectMode:!0});return i(this,void 0,void 0,regeneratorRuntime.mark((function r(){var n,i,s,a,l;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:r.prev=0,s=o(e);case 2:return r.next=4,s.next();case 4:if((a=r.sent).done){r.next=12;break}if(l=a.value,t.write(l)){r.next=10;break}return r.next=10,d(t,"drain");case 10:r.next=2;break;case 12:r.next=17;break;case 14:r.prev=14,r.t0=r.catch(0),n={error:r.t0};case 17:if(r.prev=17,r.prev=18,a&&!a.done&&(i=s.return))return r.next=22,i.call(s);r.next=22;break;case 22:if(r.prev=22,n)throw n.error;r.next=25;break;case 25:return r.finish(22);case 26:return r.finish(17);case 27:case"end":return r.stop()}}),r,null,[[0,14,17,27],[18,,22,26]])}))).then((function(){t.end()})).catch((function(e){t.emit("error",e),t.end()})),t},r.copy=function(e){return JSON.parse(JSON.stringify(e))},r.retryingFetch=function(e,t,r,n,o,a,d,u){return i(this,void 0,void 0,regeneratorRuntime.mark((function i(){var h,p,m,b;return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:h=Date.now(),m=p=0;case 3:return i.prev=3,u&&(r.timeout=u(p)),i.next=7,s.default(e,r);case 7:if((b=i.sent).ok){i.next=10;break}throw new Error("HTTP ".concat(b.status,": ").concat(b.statusText));case 10:return i.next=12,b.json();case 12:return i.t0=i.sent,i.t1=e,i.abrupt("return",{response:i.t0,currentAddress:i.t1});case 17:if(i.prev=17,i.t2=i.catch(3),!(0!==n&&Date.now()-h>n)){i.next=39;break}if(i.t2&&i.t2.code||!Array.isArray(t)){i.next=24;break}e=c(e,t,e,a),i.next=39;break;case 24:if(!(0<l.filter((function(e){return i.t2&&i.t2.code&&i.t2.code.includes(e)})).length&&Array.isArray(t)&&1<t.length)){i.next=37;break}if(!(m<o)){i.next=33;break}h=Date.now(),p=-1,0<o&&m++,e=c(e,t,e,a),i.next=35;break;case 33:throw i.t2.message="[".concat(i.t2.code,"] tried ").concat(o," times with ").concat(t.join(",")),i.t2;case 35:i.next=39;break;case 37:throw i.t2;case 39:return i.next=41,f(d(p++));case 41:i.next=3;break;case 42:case"end":return i.stop()}}),i,null,[[3,17]])})))};var c=function(e,t){var r=t.indexOf(e);return t.length===r+1?t[0]:t[r+1]},u=e("bytebuffer"),h=e("./chain/serializer");function p(e,t){var r=new u(u.DEFAULT_CAPACITY,u.LITTLE_ENDIAN);return e(r,t),r.flip(),r.toString("hex")}r.buildWitnessUpdateOp=function(e,t){for(var r={extensions:[],owner:e,props:[]},n=0,i=Object.keys(t);n<i.length;n++){var o=i[n],s=void 0;switch(o){case"key":case"new_signing_key":s=h.Types.PublicKey;break;case"account_subsidy_budget":case"account_subsidy_decay":case"maximum_block_size":s=h.Types.UInt32;break;case"hbd_interest_rate":s=h.Types.UInt16;break;case"url":s=h.Types.String;break;case"hbd_exchange_rate":s=h.Types.Price;break;case"account_creation_fee":s=h.Types.Asset;break;default:throw new Error("Unknown witness prop: ".concat(o))}r.props.push([o,p(s,t[o])])}return r.props.sort((function(e,t){return e[0].localeCompare(t[0])})),["witness_set_properties",r]};var m=e("jsbi");r.operationOrders={vote:0,comment:1,transfer:2,transfer_to_vesting:3,withdraw_vesting:4,limit_order_create:5,limit_order_cancel:6,feed_publish:7,convert:8,account_create:9,account_update:10,witness_update:11,account_witness_vote:12,account_witness_proxy:13,pow:14,custom:15,report_over_production:16,delete_comment:17,custom_json:18,comment_options:19,set_withdraw_vesting_route:20,limit_order_create2:21,claim_account:22,create_claimed_account:23,request_account_recovery:24,recover_account:25,change_recovery_account:26,escrow_transfer:27,escrow_dispute:28,escrow_release:29,pow2:30,escrow_approve:31,transfer_to_savings:32,transfer_from_savings:33,cancel_transfer_from_savings:34,custom_binary:35,decline_voting_rights:36,reset_account:37,set_reset_account:38,claim_reward_balance:39,delegate_vesting_shares:40,account_create_with_delegation:41,witness_set_properties:42,account_update2:43,create_proposal:44,update_proposal_votes:45,remove_proposal:46,update_proposal:47,collateralized_convert:48,recurrent_transfer:49,fill_convert_request:50,author_reward:51,curation_reward:52,comment_reward:53,liquidity_reward:54,interest:55,fill_vesting_withdraw:56,fill_order:57,shutdown_witness:58,fill_transfer_from_savings:59,hardfork:60,comment_payout_update:61,return_vesting_delegation:62,comment_benefactor_reward:63,producer_reward:64,clear_null_account_balance:65,proposal_pay:66,sps_fund:67,hardfork_hive:68,hardfork_hive_restore:69,delayed_voting:70,consolidate_treasury_balance:71,effective_comment_vote:72,ineffective_delete_comment:73,sps_convert:74,expired_account_notification:75,changed_recovery_account:76,transfer_to_vesting_completed:77,pow_reward:78,vesting_shares_split:79,account_created:80,fill_collateralized_convert_request:81,system_warning:82,fill_recurrent_transfer:83,failed_recurrent_transfer:84},r.makeBitMaskFilter=function(e){return e.reduce(b,[m.BigInt(0),m.BigInt(0)]).map((function(e){return m.notEqual(e,m.BigInt(0))?e.toString():null}))};var b=function(e,t){var r,i=function(e){if(Array.isArray(e))return e}(r=e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(r.push(s.value),2!==r.length);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw o}}return r}}(r)||function(e,t){if(e){if("string"==typeof e)return n(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,2):void 0}}(r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),o=i[0],s=i[1];return t<64?[m.bitwiseOr(o,m.leftShift(m.BigInt(1),m.BigInt(t))),s]:[o,m.bitwiseOr(s,m.leftShift(m.BigInt(1),m.BigInt(t-64)))]}},{"./chain/serializer":"/Users/f/pjs/dhive/src/chain/serializer.ts",bytebuffer:"/Users/f/pjs/dhive/node_modules/bytebuffer/dist/bytebuffer.js","cross-fetch":"/Users/f/pjs/dhive/node_modules/cross-fetch/dist/browser-ponyfill.js",jsbi:"/Users/f/pjs/dhive/node_modules/jsbi/dist/jsbi-umd.js",stream:"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js"}]},{},["/Users/f/pjs/dhive/src/index-browser.ts"])("/Users/f/pjs/dhive/src/index-browser.ts")},module.exports=f()}).call(this,__webpack_require__(2))},function(e,t,r){r(9),e.exports=r(3)},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";r.r(t);r(4)},function(e,t,r){var n=r(5);"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};r(7)(n,i);n.locals&&(e.exports=n.locals)},function(e,t,r){(e.exports=r(6)(!1)).push([e.i,"/*!\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:\"\\2014\\A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat,#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",\"Liberation Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=function(e,t){var r=e[1]||"",n=e[3];if(!n)return r;if(t&&"function"==typeof btoa){var i=(s=n,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),o=n.sources.map((function(e){return"/*# sourceURL="+n.sourceRoot+e+" */"}));return[r].concat(o).concat([i]).join("\n")}var s;return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r})).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(n[o]=!0)}for(i=0;i<e.length;i++){var s=e[i];"number"==typeof s[0]&&n[s[0]]||(r&&!s[2]?s[2]=r:r&&(s[2]="("+s[2]+") and ("+r+")"),t.push(s))}},t}},function(e,t,r){var n,i,o={},s=(n=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===i&&(i=n.apply(this,arguments)),i}),a=function(e,t){return t?t.querySelector(e):document.querySelector(e)},l=function(e){var t={};return function(e,r){if("function"==typeof e)return e();if(void 0===t[e]){var n=a.call(this,e,r);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}}(),d=null,f=0,c=[],u=r(8);function h(e,t){for(var r=0;r<e.length;r++){var n=e[r],i=o[n.id];if(i){i.refs++;for(var s=0;s<i.parts.length;s++)i.parts[s](n.parts[s]);for(;s<n.parts.length;s++)i.parts.push(y(n.parts[s],t))}else{var a=[];for(s=0;s<n.parts.length;s++)a.push(y(n.parts[s],t));o[n.id]={id:n.id,refs:1,parts:a}}}}function p(e,t){for(var r=[],n={},i=0;i<e.length;i++){var o=e[i],s=t.base?o[0]+t.base:o[0],a={css:o[1],media:o[2],sourceMap:o[3]};n[s]?n[s].parts.push(a):r.push(n[s]={id:s,parts:[a]})}return r}function m(e,t){var r=l(e.insertInto);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var n=c[c.length-1];if("top"===e.insertAt)n?n.nextSibling?r.insertBefore(t,n.nextSibling):r.appendChild(t):r.insertBefore(t,r.firstChild),c.push(t);else if("bottom"===e.insertAt)r.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var i=l(e.insertAt.before,r);r.insertBefore(t,i)}}function b(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=c.indexOf(e);t>=0&&c.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var n=function(){0;return r.nc}();n&&(e.attrs.nonce=n)}return v(t,e.attrs),m(e,t),t}function v(e,t){Object.keys(t).forEach((function(r){e.setAttribute(r,t[r])}))}function y(e,t){var r,n,i,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var s=f++;r=d||(d=g(t)),n=w.bind(null,r,s,!1),i=w.bind(null,r,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(r=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),m(e,t),t}(t),n=k.bind(null,r,t),i=function(){b(r),r.href&&URL.revokeObjectURL(r.href)}):(r=g(t),n=x.bind(null,r),i=function(){b(r)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var r=p(e,t);return h(r,t),function(e){for(var n=[],i=0;i<r.length;i++){var s=r[i];(a=o[s.id]).refs--,n.push(a)}e&&h(p(e,t),t);for(i=0;i<n.length;i++){var a;if(0===(a=n[i]).refs){for(var l=0;l<a.parts.length;l++)a.parts[l]();delete o[a.id]}}}};var j,_=(j=[],function(e,t){return j[e]=t,j.filter(Boolean).join("\n")});function w(e,t,r,n){var i=r?"":n.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(o,s[t]):e.appendChild(o)}}function x(e,t){var r=t.css,n=t.media;if(n&&e.setAttribute("media",n),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}function k(e,t,r){var n=r.css,i=r.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(n=u(n)),i&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var s=new Blob([n],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(s),a&&URL.revokeObjectURL(a)}},function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var r=t.protocol+"//"+t.host,n=r+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,(function(e,t){var i,o=t.trim().replace(/^"(.*)"$/,(function(e,t){return t})).replace(/^'(.*)'$/,(function(e,t){return t}));return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o)?e:(i=0===o.indexOf("//")?o:0===o.indexOf("/")?r+o:n+o.replace(/^\.\//,""),"url("+JSON.stringify(i)+")")}))}},function(e,t,r){"use strict";r.r(t);var n=r(0);const i={url:"https://testnet.openhive.network",net:{addressPrefix:"TST",chainId:"18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e"}};let o={...i.net};const s=new n.Client(i.url,o);window.submitAcc=async()=>{const e=document.getElementById("username").value,t=await s.database.call("get_accounts",[[e]]);console.log("_account:",t);const r=`Available balance: ${t[0].balance} and ${t[0].hbd_balance} <br/>`;document.getElementById("accBalance").innerHTML=r;var n=Math.floor(1e7*Math.random());document.getElementById("requestID").value=n},window.submitConvert=async()=>{const e=document.getElementById("username").value,t=n.PrivateKey.fromString(document.getElementById("privateKey").value),r=["collateralized_convert",{owner:e,amount:document.getElementById("quantity").value.concat(" TESTS"),requestid:parseInt(document.getElementById("requestID").value)}];s.broadcast.sendOperations([r],t).then((function(e){console.log("included in block: "+e.block_num,"expired: "+e.expired),document.getElementById("convertResultContainer").style.display="flex",document.getElementById("convertResult").className="form-control-plaintext alert alert-success",document.getElementById("convertResult").innerHTML="Success"}),(function(e){console.error(e),document.getElementById("convertResultContainer").style.display="flex",document.getElementById("convertResult").className="form-control-plaintext alert alert-danger",document.getElementById("convertResult").innerHTML=e.jse_shortmsg}))},window.onload=async()=>{const e=i.accounts[0];document.getElementById("username").value=e.address,document.getElementById("privateKey").value=e.privActive}}]); +//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/tutorials/javascript/37_convert_hive_to_hbd/public/bundle.js.map b/tutorials/javascript/37_convert_hive_to_hbd/public/bundle.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ffa42f4291fc017c5a2e4a579af7e69c6504eefd --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/public/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@hiveio/dhive/dist/dhive.js","webpack:///(webpack)/buildin/global.js","webpack:///./public/style.scss","webpack:///./node_modules/bootstrap/dist/css/bootstrap.min.css?08a6","webpack:///./node_modules/bootstrap/dist/css/bootstrap.min.css","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///../configuration.js","webpack:///./public/app.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","define","e","f","require","u","a","Error","code","length","_dereq_","default","asn1","bignum","base","constants","decoders","encoders","inherits","Entity","body","this","_createNamed","named","runInThisContext","entity","_initNamed","_getDecoder","enc","decode","data","options","_getEncoder","encode","reporter","vm","Reporter","Buffer","DecoderBuffer","isBuffer","offset","error","save","restore","res","isEmpty","readUInt8","fail","skip","bytes","_reporterState","raw","slice","EncoderBuffer","Array","isArray","map","item","byteLength","join","out","forEach","write","copy","buffer","Node","assert","tags","methods","concat","parent","state","_baseState","children","tag","args","reverseArgs","choice","optional","any","obj","use","useDecoder","explicit","implicit","contains","_wrap","stateProps","clone","cstate","prop","constructor","method","push","apply","arguments","_init","filter","child","equal","_useArgs","arg","keys","def","val","num","newKey","_decode","input","wrapResult","prevObj","result","present","prevKey","enterKey","_peekTag","isError","_decodeGeneric","_decodeChoice","enterObject","_decodeTag","start","track","path","_getUse","leaveObject","exitKey","leaveKey","_decodeList","test","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeBool","_decodeInt","_use","match","some","node","type","_createEncoderBuffer","_encode","_encodeValue","_skipDefault","content","primitive","_encodeChoice","_encodePrimitive","cls","_encodeComposite","JSON","stringify","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool","_isNumstr","str","_isPrintstr","errors","ReporterError","msg","rethrow","pathLen","index","prev","now","err","inherited","elem","message","stack","partial","captureStackTrace","tagClass","0","1","2","3","tagClassByName","_reverse","4","5","6","7","8","9","10","11","12","13","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","tagByName","der","DERNode","derDecodeTag","buf","oct","tagStr","derDecodeLen","len","j","tree","decodedTag","_skipUntilEnd","decoder","possibleEnd","unused","String","fromCharCode","readUInt16BE","numstr","toString","printstr","values","relative","identifiers","ident","subident","first","second","tmp","year","mon","day","hour","min","sec","Date","UTC","pem","DERDecoder","PEMDecoder","lines","split","label","toUpperCase","re","end","base64","replace","two","header","encodedTag","lenOctets","writeUInt16BE","charCodeAt","id","splice","size","objid","time","date","getFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","numArray","toArray","sign","unshift","dataBuffer","defaultBuffer","DEREncoder","PEMEncoder","process","Stream","util","UUID_REGEXP","_capitalize","charAt","_toss","expected","oper","actual","AssertionError","format","operator","stackStartFunction","caller","_getClass","noop","types","bool","check","func","string","number","isNaN","finite","isFinite","array","stream","regexp","RegExp","uuid","_setExports","ndebug","env","NODE_NDEBUG","k","_process","global","objectAssign","compare","b","x","y","Math","_isBuffer","hasOwn","pSlice","functionsHaveNames","pToString","isView","arrbuf","ArrayBuffer","DataView","ok","regex","getName","isFunction","truncate","inspect","something","rawname","_deepEqual","strict","memos","isDate","getTime","isRegExp","source","multiline","lastIndex","ignoreCase","Float32Array","Float64Array","Uint8Array","actualIndex","indexOf","actualVisitedObjects","isPrimitive","getPrototypeOf","aIsArgs","isArguments","bIsArgs","ka","objectKeys","kb","sort","expectedException","isPrototypeOf","_throws","shouldThrow","block","TypeError","userProvidedMessage","isUnexpectedException","generatedMessage","fn_name","idx","next_line","substring","notEqual","deepEqual","deepStrictEqual","notDeepEqual","notDeepStrictEqual","strictEqual","notStrictEqual","throws","doesNotThrow","ifError","self","window","ctor","superCtor","super_","writable","configurable","TempCtor","fill","formatRegExp","isString","objects","Number","_","isNull","isObject","deprecate","fn","isUndefined","noDeprecation","warned","throwDeprecation","traceDeprecation","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","customInspect","stylizeWithColor","formatValue","styleType","style","styles","recurseTimes","ret","simple","isNumber","hash","visibleKeys","getOwnPropertyNames","formatError","output","braces","toUTCString","formatProperty","pop","reduce","cur","desc","getOwnPropertyDescriptor","set","line","substr","ar","objectToString","debuglog","NODE_DEBUG","pid","bold","italic","underline","inverse","white","grey","black","blue","cyan","green","magenta","red","yellow","special","boolean","undefined","null","isNullOrUndefined","isSymbol","log","origin","add","_Buffer","ALPHABET","BASE_MAP","xc","BASE","LEADER","FACTOR","iFACTOR","decodeUnsafe","alloc","psz","zeroes","b256","carry","it3","it4","vch","allocUnsafe","from","pbegin","pend","b58","it1","it2","repeat","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","arr","Arr","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","len2","encodeChunk","lookup","lenR","lenS","signature","BN","endian","isBN","negative","words","wordSize","parseHex","parseBase","mul","max","left","right","cmp","_initNumber","_initArray","_parseHex","_parseBase","strip","ceil","w","off","limbLen","limbPow","total","mod","word","imuln","_iaddn","pow","dest","_expand","_normSign","zeros","groupSizes","groupBases","smallMulTo","lo","ncarry","rword","maxJ","padding","groupSize","groupBase","isZero","modn","idivn","toNumber","toJSON","toBuffer","toArrayLike","ArrayType","reqLength","littleEndian","q","andln","iushrn","clz32","_countBits","_zeroBits","bitLength","hi","zeroBits","toTwos","width","abs","inotn","iaddn","fromTwos","testn","notn","ineg","isNeg","neg","iuor","ior","or","uor","iuand","iand","and","uand","iuxor","ixor","xor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","sub","comb10MulTo","mid","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","jumboMulTo","FFTM","mulp","mulTo","hncarry","makeRBT","N","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","cos","PI","itwdf","sin","rtwdf_","itwdf_","ie","ro","io","rx","guessLen13b","odd","conjugate","normalize13b","ws","round","convert13b","stub","ph","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","muln","sqr","isqr","iushln","bits","carryMask","newCarry","ishln","hint","extended","h","mask","maskedWords","ishrn","shln","ushln","shrn","ushrn","imaskn","maskn","isubn","addn","subn","iabs","_ishlnsubmul","shift","_wordDiv","bhi","diff","qj","div","divmod","positive","divn","umod","divRound","dm","half","r2","acc","egcd","A","B","C","D","g","isEven","yp","xp","im","isOdd","jm","gcd","_invmp","x1","x2","delta","cmpn","invm","bincn","ucmp","gtn","gt","gten","gte","ltn","lt","lten","lte","eqn","eq","Red","toRed","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","shl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","sqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","imulK","outLen","next","mod3","one","nOne","lpow","z","inv","wnd","current","currentLen","mont","Rand","rand","generate","_rand","getBytes","getByte","crypto","getRandomValues","msCrypto","randomBytes","asUInt32Array","readUInt32BE","scrubVec","v","cryptBlock","M","keySchedule","SUB_MIX","SBOX","nRounds","t0","t1","t2","t3","SUB_MIX0","SUB_MIX1","SUB_MIX2","SUB_MIX3","s0","s1","s2","s3","ksRow","RCON","G","INV_SBOX","INV_SUB_MIX","xi","sx","x4","x8","AES","_key","_reset","blockSize","keySize","keyWords","ksRows","invKeySchedule","ik","ksR","tt","_nRounds","_keySchedule","_invKeySchedule","encryptBlockRaw","encryptBlock","writeUInt32BE","decryptBlock","m1","scrub","aes","Transform","GHASH","incr32","StreamCipher","iv","decrypt","_cipher","ck","_ghash","_finID","ghash","toPad","update","ivBits","tail","writeUIntBE","_prev","_cache","_secCache","_decrypt","_alen","_len","_mode","_authTag","_called","_update","chunk","rump","encrypt","_final","final","getAuthTag","setAuthTag","setAAD","ciphers","deciphers","modes","createCipher","Cipher","createCipheriv","Cipheriv","createDecipher","Decipher","createDecipheriv","Decipheriv","listCiphers","getCiphers","AuthCipher","MODES","ebtk","Splitter","_last","_autopadding","cache","suite","password","config","toLowerCase","thing","flush","last","padded","setAutoPadding","setTo","autoPadding","evp_bytestokey","PADDING","equals","padBuff","writeUInt8","ZEROES","fromArray","_multiply","lsbVi","Vi","Zi","abl","bl","pad","encryptStart","encryptByte","byteParam","shiftIn","getBlock","chunkNum","modeModules","ECB","CBC","CFB","CFB8","CFB1","OFB","CTR","GCM","cipher","aes128","aes192","aes256","DES","aesModes","desModes","keyLen","ivLen","CipherBase","des","instantiate","EDE","modeName","_des","des3","bn","getr","priv","modulus","prime1","prime2","blinds","blinder","publicExponent","unblinder","blinded","c1","c2","qinv","coefficient","exponent1","m2","exponent2","randombytes","sha224WithRSAEncryption","sha256WithRSAEncryption","sha384WithRSAEncryption","sha512WithRSAEncryption","sha256","sha224","sha384","sha512","DSA","ripemd160WithRSA","md5WithRSAEncryption","createHash","verify","algorithms","Sign","algorithm","Writable","_hashType","_hash","_tag","_signType","Verify","createSign","createVerify","_write","done","digest","sig","createHmac","crt","EC","ec","parseKeys","curves","getKey","algo","hlen","hbits","bits2int","obits","makeKey","kv","makeR","hashType","signType","curve","curveId","keyFromPrivate","privateKey","toDER","params","priv_key","H","elliptic","checkValue","pub","pubkey","subjectPrivateKey","pub_key","unpacked","montp","padNum","basex","ieee754","customInspectSymbol","for","createBuffer","RangeError","setPrototypeOf","encodingOrOffset","encoding","isEncoding","fromArrayLike","isInstance","fromArrayBuffer","SharedArrayBuffer","valueOf","checked","numberIsNaN","toPrimitive","assertSize","byteOffset","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","swap","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","hexWrite","remaining","strLen","parsed","parseInt","utf8Write","blitBuffer","asciiWrite","byteArray","latin1Write","base64Write","ucs2Write","units","base64Slice","utf8Slice","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","SlowBuffer","INSPECT_MAX_BYTES","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","species","poolSize","allocUnsafeSlow","list","pos","swap16","swap32","swap64","toLocaleString","hexSlice","asciiSlice","latin1Slice","utf16leSlice","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","_arr","hexSliceLookupTable","checkOffset","ext","checkInt","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","subarray","readUIntLE","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUInt16LE","writeUInt32LE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","INVALID_BASE64_RE","Infinity","leadSurrogate","src","dst","table","i16","factory","Long","ByteBuffer","capacity","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","EMPTY_BUFFER","view","markedOffset","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","__isByteBuffer__","stringFromCharCode","stringSource","stringDestination","cs","ps","ieee754_read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","ieee754_write","rt","floor","LN2","accessor","allocate","buffers","isByteBuffer","wrap","bi","bb","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","writeBitSet","writeVarint32","writeByte","readBitSet","readVarint32","readByte","readBytes","writeBytes","append","capacity0","resize","writeUint8","capacity1","readUint8","writeInt16","capacity2","writeShort","readInt16","readShort","writeUint16","capacity3","writeUInt16","readUint16","readUInt16","writeInt32","capacity4","writeInt","readInt32","readInt","writeUint32","capacity5","writeUInt32","readUint32","readUInt32","writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","readLong","writeUint64","capacity7","writeUInt64","readUint64","readUInt64","writeFloat32","capacity8","readFloat32","readFloat","writeFloat64","capacity9","readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","zigZagEncode32","zigZagDecode32","capacity10","writeVarint32ZigZag","truncated","readVarint32ZigZag","MAX_VARINT64_BYTES","calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","unsigned","toSigned","shiftLeft","shiftRight","toUnsigned","zigZagDecode64","ONE","negate","writeVarint64","capacity11","writeVarint64ZigZag","readVarint64","fromBits","readVarint64ZigZag","writeCString","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","readCString","sd","decodeUTF8toUTF16","writeIString","capacity13","readIString","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","capacity14","writeString","calculateUTF8Chars","calculateUTF8Bytes","calculateString","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","capacity15","readVString","capacity16","appendTo","clear","compact","begin","copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","flip","mark","order","LE","BE","bigEndian","prepend","prependTo","printDebug","toDebug","reset","reverse","forceCopy","toArrayBuffer","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","btoa","atob","chars","charCode","columns","hex","asc","ch","rs","ho","hm","hl","MAX_CODEPOINT","encodeUTF8","UTF16toUTF8","calculateCodePoint","calculateUTF8","amd","dcodeIO","long","StringDecoder","hashMode","_finalOrDigest","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","_transform","_flush","fin","string_decoder","Map","Promise","WrappedWellKnownSymbolModule","it","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","Constructor","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","toLength","createProperty","getIteratorMethod","arrayLike","argument_1","argument_2","step","iterator","O","argumentsLength","mapfn","mapping","iteratorMethod","createMethod","IS_INCLUDES","$this","el","fromIndex","toIndexedObject","toAbsoluteIndex","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","that","specificCreate","IndexedObject","boundFunction","arraySpeciesCreate","every","find","findIndex","fails","V8_VERSION","SPECIES","METHOD_NAME","Boolean","originalArray","anObject","ENTRIES","returnMethod","return","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","exec","SKIP_CLOSING","ITERATION_SUPPORT","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","callee","aFunction","wasDeleted","collection","remover","delete","allDeleted","iterate","mapFn","nextItem","redefineAll","anInstance","defineIterator","setSpecies","DESCRIPTORS","fastKey","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","previous","getInternalState","entry","getEntry","removed","iterable","has","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","$","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","fixMethod","KEY","nativeMethod","NativePrototype","IS_WEAK","NativeConstructor","exported","entries","REQUIRED","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","forced","ownKeys","getOwnPropertyDescriptorModule","F","returnThis","IteratorPrototype","createPropertyDescriptor","Iterators","IteratorConstructor","NAME","bitmap","propertyKey","createIteratorConstructor","createNonEnumerableProperty","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","Iterable","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","CurrentIteratorPrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","wrappedWellKnownSymbolModule","document","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","userAgent","getBuiltIn","version","versions","v8","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","isExtensible","preventExtensions","variable","namespace","classof","getIterator","globalThis","Function","console","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","setMetadata","METADATA","objectID","weakData","hiddenKeys","uid","FREEZING","meta","getWeakData","onFreeze","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","feature","detection","normalize","POLYFILL","NATIVE","replacement","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","stop","PrototypeOfArrayIteratorPrototype","arrayIterator","updateFn","insertFn","head","notify","toggle","promise","then","macrotask","IS_IOS","MutationObserver","WebKitMutationObserver","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","domain","exit","enter","nextTick","createTextNode","observe","characterData","resolve","task","getOwnPropertySymbols","PromiseCapability","reject","$$resolve","$$reject","globalIsFinite","whitespaces","$parseFloat","parseFloat","trimmedString","$parseInt","radix","S","EmptyConstructor","scriptTag","activeXDocument","defineProperties","enumBugKeys","html","documentCreateElement","IE_PROTO","NullProtoObject","ActiveXObject","iframeDocument","iframe","close","temp","parentWindow","display","appendChild","contentWindow","open","Properties","IE8_DOM_DEFINE","nativeDefineProperty","P","Attributes","propertyIsEnumerableModule","nativeGetOwnPropertyDescriptor","nativeGetOwnPropertyNames","windowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","nativePropertyIsEnumerable","NASHORN_BUG","V","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","newPromiseCapability","promiseCapability","enforceInternalState","TEMPLATE","unsafe","TAG","shared","copyright","defaultConstructor","CONVERT_TO_STRING","requireObjectCoercible","position","toInteger","codeAt","count","ltrim","rtrim","whitespace","run","queue","runner","listener","event","post","postMessage","location","protocol","host","defer","channel","port","setImmediate","clearImmediate","MessageChannel","Dispatch","counter","port2","port1","onmessage","addEventListener","importScripts","onreadystatechange","removeChild","setTimeout","integer","argument","PREFERRED_STRING","postfix","random","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","isConcatSpreadable","spreadable","IS_CONCAT_SPREADABLE","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","E","addToUnscopables","Arguments","collectionStrong","init","argument_0","third","maxCode","digits","NativeNumber","NumberPrototype","BROKEN_CLASSOF","NumberWrapper","EPSILON","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","thisNumberValue","nativeToFixed","toFixed","fractionDigits","multiply","divide","dataToString","fractDigits","nativeToPrecision","toPrecision","precision","newPromiseCapabilityModule","perform","allSettled","capability","promiseResolve","alreadyCalled","status","reason","NativePromise","speciesConstructor","real","finally","onFinally","isThenable","isReject","notified","chain","reactions","microtask","exited","reaction","handler","rejection","onHandleUnhandled","onUnhandled","dispatchEvent","DISPATCH_EVENT","createEvent","initEvent","hostReportErrors","unwrap","internalReject","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","all","catch","isUnhandled","emit","internalResolve","executor","onFulfilled","onRejected","fetch","$promiseResolve","race","point","NativeSymbol","description","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","symbol","AllSymbols","nativeObjectCreate","$Symbol","$defineProperties","properties","$getOwnPropertySymbols","$forEach","$propertyIsEnumerable","$defineProperty","$getOwnPropertyDescriptor","ObjectPrototypeSymbols","HIDDEN","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","getOwnPropertyNamesExternal","defineWellKnownSymbol","TO_PRIMITIVE","$stringify","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","keyFor","sym","useSetter","useSimple","replacer","space","$replacer","getInternalAggregateErrorState","$AggregateError","errorsArray","AggregateError","collectionDeleteAll","deleteAll","getMapIterator","newMap","findKey","groupBy","keyDerivative","element","derivedKey","sameValueZero","searchElement","keyBy","keyOf","mapKeys","mapValues","merge","of","noInitial","accumulator","updateOrInsert","callback","isPresentInMap","upsert","valid","R","mathNum","SyntaxError","alreadyResolved","alreadyRejected","try","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","ECDH","aliases","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1","curveType","formatReturnValue","p256","secp256r1","secp192r1","p384","p521","generateKeys","genKeyPair","getPublicKey","computeSecret","other","inenc","keyFromPublic","getPublic","getPrivate","getX","getPrivateKey","setPublicKey","_importPublic","setPrivateKey","_priv","_importPrivate","MD5","RIPEMD160","sha","Base","Hash","alg","ripemd160","Legacy","md5","ZEROS","Hmac","blocksize","_alg","ipad","_ipad","opad","_opad","root","__self__","DOMException","support_searchParams","support_iterable","support_blob","Blob","support_formData","support_arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","Headers","headers","consumed","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","Body","_initBody","_bodyInit","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","arrayBuffer","text","readAsText","formData","json","parse","oldValue","thisArg","Request","upcased","url","credentials","signal","referrer","form","decodeURIComponent","Response","bodyInit","statusText","response","redirectStatuses","redirect","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","readyState","removeEventListener","send","polyfill","rng","pseudoRandomBytes","prng","algos","algoKeys","hashes","getHashes","pbkdf2","pbkdf2Sync","dh","DiffieHellmanGroup","createDiffieHellmanGroup","getDiffieHellman","createDiffieHellman","DiffieHellman","createECDH","publicEncrypt","privateEncrypt","publicDecrypt","privateDecrypt","rf","randomFill","randomFillSync","createCredentials","DH_CHECK_P_NOT_SAFE_PRIME","DH_CHECK_P_NOT_PRIME","DH_UNABLE_TO_CHECK_GENERATOR","DH_NOT_SUITABLE_GENERATOR","NPN_ENABLED","ALPN_ENABLED","RSA_PKCS1_PADDING","RSA_SSLV23_PADDING","RSA_NO_PADDING","RSA_PKCS1_OAEP_PADDING","RSA_X931_PADDING","RSA_PKCS1_PSS_PADDING","POINT_CONVERSION_COMPRESSED","POINT_CONVERSION_UNCOMPRESSED","POINT_CONVERSION_HYBRID","randomfill","utils","CBCState","_cbcInit","_cbcState","inp","inOff","outOff","superProto","bufferOff","_updateDecrypt","_updateEncrypt","_buffer","_flushBuffer","inputOff","outputOff","_finalEncrypt","_finalDecrypt","_pad","_unpad","DESState","_desState","deriveKeys","shiftTable","kL","kR","pc1","r28shl","pc2","ip","_encrypt","lStart","rStart","keyL","keyR","expand","substitute","rip","EDEState","k1","k2","k3","_edeState","inL","inR","outL","outR","pc2table","sTable","permuteTable","padSplit","group","generatePrime","DH","ENCODINGS","binary","gen","generator","genc","millerRabin","TWENTYFOUR","ELEVEN","TEN","THREE","SEVEN","_pub","primeCache","malleable","setGenerator","__prime","_primeLen","_primeCode","rem","simpleSieve","fermatTest","__gen","_gen","secret","getPrime","front","getGenerator","findPrime","TWO","FIVE","FOUR","_getPrimes","n2","modp1","modp2","modp5","modp14","modp15","modp16","modp17","modp18","eddsa","brorand","getNAF","getJSF","BaseCurve","conf","zero","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","BasePoint","precomputed","validate","_fixedNafMul","doubles","_getDoubles","naf","I","repr","nafW","jpoint","mixedAdd","points","toP","_wnafMul","nafPoints","_getNAFPoints","dblp","_wnafMulAdd","defW","coeffs","jacobianResult","wndWidth","comb","toJ","jsf","ja","jb","decodePoint","pointFromX","encodeCompressed","getY","precompute","power","beta","_getBeta","_hasDoubles","dbl","EdwardsCurve","twisted","mOneA","dd","oneC","Point","zOne","_mulA","_mulC","rhs","lhs","y2","pointFromY","isInfinity","fromJSON","_extDbl","nx","ny","nt","nz","_projDbl","_extAdd","_projAdd","mulAdd","jmulAdd","zi","eqXToP","short","edwards","MontCurve","i4","a24","aa","diffAdd","da","cb","jumlAdd","ShortCurve","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","isRed","inf","JPoint","lambda","betas","_getEndoRoots","lambdas","basis","vec","_getEndoBasis","ntinv","prevR","aprxSqrt","y1","len1","_endoSplit","v1","v2","p1","p2","q1","q2","ax","_endoWnafMulAdd","npoints","ncoeffs","pre","endoMul","obj2point","ys1","dyinv","_precompute","zinv","zinv2","ay","pz2","z2","u1","u2","h2","h3","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","c8","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","ee","yyu4","kbase","z3","pz3","zs","PresetCurve","defineCurve","HmacDRBG","KeyPair","Signature","nh","keyPair","fromPrivate","fromPublic","drbg","pers","persEnc","entropy","hmacStrength","entropyEnc","nonce","ns2","_truncateToN","truncOnly","bkey","ns1","iter","kp","kpX","recoveryParam","canonical","sinv","recoverPubKey","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Q","Qprime","privEnc","pubEnc","derive","_importDER","Position","place","getLength","initial","octetLen","rmPadding","constructLength","octets","slen","backHalf","parseBytes","EDDSA","pointClass","encodingLength","keyFromSecret","hashInt","messagePrefix","Rencoded","encodePoint","s_","pubBytes","makeSignature","SG","intFromLE","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","cachedProperty","_secret","_pubBytes","privBytes","getSecret","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","minAssert","minUtils","zero2","d1","d2","m8","m14","m24","computer","main","files","scripts","jscs","jshint","lint","unit","repository","keywords","author","license","bugs","homepage","devDependencies","brfs","coveralls","grunt","istanbul","mocha","dependencies","objectCreate","context","EventEmitter","_events","_eventsCount","_maxListeners","hasDefineProperty","defaultMaxListeners","$getMaxListeners","_addListener","events","existing","newListener","emitter","onceWrapper","fired","removeListener","wrapFn","_onceWrap","wrapped","_listeners","evlistener","arrayClone","listenerCount","setMaxListeners","getMaxListeners","argument_3","er","doError","isFn","listeners","arg1","arg2","arg3","on","addListener","prependListener","once","prependOnceListener","originalListener","removeAllListeners","rawListeners","eventNames","Reflect","salt","keyBits","used","keyStart","ivStart","mod_assert","mod_util","jsSprintf","ofmt","flags","conversion","convposn","curconv","fmt","argn","posn","jsError","doPad","dumpException","fmtstr","jsFprintf","chr","ex","cause","cex","sprintf","printf","stdout","fprintf","HashBase","_block","_blockSize","_blockOffset","_length","_finalized","_digest","ripemd","hmac","sha1","BlockHash","pending","pendingTotal","outSize","padLength","_delta8","_delta32","join32","inner","outer","rotl32","sum32","sum32_3","sum32_4","K","Kh","Ah","Bh","Ch","Dh","Eh","T","rh","sh","toHex32","split32","shaCommon","sum32_5","ft_1","sha1_K","SHA1","W","SHA256","SHA224","ch32","maj32","s0_256","s1_256","g0_256","g1_256","sha256_K","T1","T2","SHA512","SHA384","rotr64_hi","rotr64_lo","shr64_hi","shr64_lo","sum64","sum64_hi","sum64_lo","sum64_4_hi","sum64_4_lo","sum64_5_hi","sum64_5_lo","sha512_K","ch64_hi","xh","xl","yh","yl","zh","ch64_lo","zl","maj64_hi","maj64_lo","s0_512_hi","s0_512_lo","s1_512_lo","g0_512_hi","g0_512_lo","g1_512_lo","_prepareBlock","c0_hi","c0_lo","c1_hi","c1_lo","c2_hi","c2_lo","c3_hi","c3_lo","ah","al","bh","cl","dl","eh","fh","fl","gh","gl","hh","c4_hi","c4_lo","T1_hi","T1_lo","T2_hi","T2_lo","rotr32","p32","isSurrogatePair","htonl","zero8","predResist","minEntropy","_reseed","reseedInterval","nonceEnc","seed","_hmac","kmac","reseed","addEnc","construct","Proxy","ReferenceError","__kMaxLength","__toStringBasePowerOfTwo","__toStringGeneric","__clz32","__digit","__imul","__setDigit","__halfDigit","__setHalfDigit","__unsignedDigit","__zero","__oneDigit","__fromDouble","__fromString","__toPrimitive","BigInt","__decideRounding","__kBitConversionInts","__kBitConversionDouble","__copy","__absoluteSubOne","__trim","__absoluteAddOne","unaryMinus","__kMaxLengthBits","__initializeDigits","__clzmsd","__multiplyAccumulate","__absoluteCompare","__absoluteDivSmall","__absoluteDivLarge","__absoluteModSmall","__absoluteAdd","__absoluteSub","__rightShiftByAbsolute","__leftShiftByAbsolute","__compareToBigInt","__absoluteAnd","__absoluteOr","__absoluteAndNot","__absoluteXor","__truncateToNBits","__truncateAndSubFromPowerOfTwo","__toNumeric","__isBigInt","__compare","EQ","__equalToNumber","__isWhitespace","__kMaxBitsPerChar","__kBitsPerCharTableMultiplier","__kBitsPerCharTableShift","__fillFromParts","__inplaceMultiplyAdd","__kConversionChars","exponentiate","quotient","remainder","__unequalSign","__absoluteGreater","__absoluteLess","__compareToDouble","__comparisonResultToBool","__compareToNumber","__setDigitGrow","__halfDigitLength","__clz16","__specialLeftShift","__internalMultiplyAdd","__inplaceSub","__inplaceAdd","__inplaceRightShift","__toShiftAmount","__rightShiftByMaximum","__kBitConversionBuffer","Int32Array","JSBI","isLong","__isLong__","INT_CACHE","UINT_CACHE","fromInt","cachedObj","UZERO","ZERO","TWO_PWR_64_DBL","MAX_UNSIGNED_VALUE","TWO_PWR_63_DBL","MIN_VALUE","MAX_VALUE","TWO_PWR_32_DBL","lowBits","highBits","pow_dbl","radixToPower","fromValue","TWO_PWR_24","UONE","NEG_ONE","LongPrototype","isNegative","radixLong","rem1","remDiv","getHighBits","getHighBitsUnsigned","getLowBits","getLowBitsUnsigned","getNumBitsAbs","isPositive","notEquals","neq","lessThan","comp","lessThanOrEqual","greaterThan","greaterThanOrEqual","thisNeg","otherNeg","not","addend","a48","a32","a16","a00","b48","b32","b16","c48","c32","c16","c00","subtract","subtrahend","multiplier","b00","divisor","approx","shru","shr","log2","approxRes","approxRem","modulo","numBits","le","toBytesLE","toBytesBE","ARRAY16","_a","_b","_c","_d","rotl","fnF","fnG","fnH","fnI","MillerRabin","_randbelow","min_bytes","_randrange","rone","n1","rn1","getDivisor","propIsEnumerable","assign","test1","test2","test3","letter","symbols","to","certificate","RSAPrivateKey","seq","int","RSAPublicKey","PublicKey","AlgorithmIdentifier","bitstr","null_","PrivateKeyInfo","octstr","PrivateKey","EncryptedPrivateKeyInfo","EncryptedPrivateKey","DSAPrivateKey","DSAparam","ECPrivateKey","ECParameters","namedCurve","asn","Time","utcTime","utctime","generalTime","gentime","AttributeTypeValue","SubjectPublicKeyInfo","RelativeDistinguishedName","setof","RDNSequence","seqof","Name","rdnSequence","Validity","Extension","TBSCertificate","X509Certificate","findProc","startRegex","fullRegex","evp","okey","decrypted","cipherText","cipherKey","match2","aesid","fixProc","compat","passphrase","subtype","ndata","stripped","tbsCertificate","subjectPublicKeyInfo","subjectPublicKey","kde","kdeparams","iters","keylen","parameters","ZERO_BUF","checkParameters","defaultEncoding","sync","subtle","toBrowser","checks","browserPbkdf2","iterations","importKey","deriveBits","browser","prom","resp","MAX_ALLOC","checkBuffer","sizes","rmd160","saltLen","ipad1","ipad2","DK","block1","destPos","hLen","U","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","Item","title","argv","binding","cwd","chdir","umask","i2ops","mgf","withPublic","zBuffer","iHash","maskedSeed","maskedDb","db","dif","publicKey","paddedMsg","hLen2","dblen","generated","oldBrowser","safeBuffer","kBufferMaxLength","kMaxUint32","assertOffset","actualFill","ourBuf","uint","pna","Duplex","Readable","readable","allowHalfOpen","onend","_writableState","ended","onEndNT","highWaterMark","_readableState","destroyed","_destroy","PassThrough","EElistenerCount","ReadableState","OurUint8Array","debugUtil","debug","BufferList","destroyImpl","kProxyEvents","isDuplex","objectMode","readableObjectMode","hwm","readableHwm","readableHighWaterMark","defaultHwm","pipes","pipesCount","flowing","endEmitted","reading","needReadable","emittedReadable","readableListening","resumeScheduled","awaitDrain","readingMore","_read","destroy","readableAddChunk","addToFront","skipChunkCheck","emitReadable","addChunk","maybeReadMore","howMuchToRead","emitReadable_","flow","maybeReadMore_","nReadingNextTick","resume_","fromList","hasStrings","nb","endReadable","endReadableNT","xs","_undestroy","undestroy","isPaused","setEncoding","nOrig","doRead","pipe","pipeOpts","endFn","stderr","unpipe","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","ondata","cleanedUp","needDrain","increasedAwaitDrain","pause","resume","dests","ev","_this","paused","_fromList","isarray","_transformState","afterTransform","ts","transforming","writecb","writechunk","needTransform","writeencoding","prefinish","_this2","err2","CorkedRequest","finish","corkReq","pendingcb","corkedRequestsFree","asyncWrite","WritableState","realHasInstance","internalUtil","nop","writableObjectMode","writableHwm","writableHighWaterMark","finalCalled","ending","finished","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","writelen","finishMaybe","errorEmitted","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","doWrite","holder","allBuffers","isBuf","callFinal","need","getBuffer","hasInstance","newChunk","cork","uncork","setDefaultEncoding","timers","custom","emitErrorNT","readableDestroyed","writableDestroyed","copyProps","SafeBuffer","nenc","retried","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","lastChar","utf8CheckByte","byte","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","doneResult","displayName","isGeneratorFunction","genFun","awrap","async","skipTempReset","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","zr","sl","sr","hr","_e","fn1","fn2","fn3","fn4","fn5","br","cr","dr","tl","tr","isBufferLength","isBufferLength2","length1","length2","isLengthGTZero","isNumberInInterval","bip66","EC_PRIVKEY_EXPORT_DER_COMPRESSED","EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED","privateKeyExport","compressed","privateKeyImport","lenb","signatureExport","sigObj","posR","posS","signatureImport","signatureImportLax","lenbyte","rindex","sindex","rvalue","svalue","messages","ecparams","loadPublicKey","xBuffer","yBuffer","x3","privateKeyVerify","EC_PRIVATE_KEY_EXPORT_DER_FAIL","privateKeyNegate","privateKeyModInverse","EC_PRIVATE_KEY_RANGE_INVALID","privateKeyTweakAdd","tweak","EC_PRIVATE_KEY_TWEAK_ADD_FAIL","privateKeyTweakMul","EC_PRIVATE_KEY_TWEAK_MUL_FAIL","publicKeyCreate","EC_PUBLIC_KEY_CREATE_FAIL","publicKeyConvert","pair","EC_PUBLIC_KEY_PARSE_FAIL","publicKeyVerify","publicKeyTweakAdd","EC_PUBLIC_KEY_TWEAK_ADD_FAIL","publicKeyTweakMul","EC_PUBLIC_KEY_TWEAK_MUL_FAIL","publicKeyCombine","publicKeys","pairs","EC_PUBLIC_KEY_COMBINE_FAIL","signatureNormalize","ECDSA_SIGNATURE_PARSE_FAIL","noncefn","getNonce","ECDSA_SIGN_FAIL","recovery","sigr","sigs","recover","ECDSA_RECOVER_FAIL","ecdh","ecdhUnsafe","scalar","ECDH_FAIL","initCompressedValue","defaultValue","COMPRESSED_TYPE_INVALID","EC_PRIVATE_KEY_TYPE_INVALID","EC_PRIVATE_KEY_LENGTH_INVALID","EC_PRIVATE_KEY_IMPORT_DER_FAIL","TWEAK_TYPE_INVALID","TWEAK_LENGTH_INVALID","EC_PUBLIC_KEY_TYPE_INVALID","EC_PUBLIC_KEY_LENGTH_INVALID","EC_PUBLIC_KEYS_TYPE_INVALID","EC_PUBLIC_KEYS_LENGTH_INVALID","ECDSA_SIGNATURE_TYPE_INVALID","ECDSA_SIGNATURE_LENGTH_INVALID","ECDSA_SIGNATURE_PARSE_DER_FAIL","MSG32_TYPE_INVALID","MSG32_LENGTH_INVALID","OPTIONS_TYPE_INVALID","OPTIONS_DATA_TYPE_INVALID","OPTIONS_DATA_LENGTH_INVALID","OPTIONS_NONCEFN_TYPE_INVALID","RECOVERY_ID_TYPE_INVALID","RECOVERY_ID_VALUE_INVALID","ECDSA_SIGNATURE_SERIALIZE_DER_FAIL","finalSize","_finalSize","accum","assigned","Algorithm","Sha","_w","ft","Sha1","rotl5","rotl30","Sha256","Sha224","_f","_g","_h","maj","sigma0","sigma1","gamma0","Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","Sha512","Gamma0","Gamma0l","Gamma1","Gamma1l","getCarry","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kil","chh","chl","t1l","t1h","t2l","t2h","EE","_isStdio","didOnEnd","cleanup","immediateIds","nextImmediateId","Timeout","clearFn","_id","_clearFn","setInterval","clearInterval","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","localStorage","mod_assertplus","mod_extsprintf","mod_isError","parseConstructorArguments","sprintf_args","shortmessage","VError","jse_shortmsg","jse_cause","skipCauseMessage","jse_info","constructorOpt","SError","MultiError","ase_errors","WError","rv","findCauseByName","hasCauseWithName","fullStack","errorFromList","arrayOfObject","errorForEach","extsprintf","Object_keys","defineProp","globals","Script","runInContext","win","wEval","eval","wExecScript","execScript","winKeys","runInNewContext","createContext","isContext","createScript","WHATWGFetch","crypto_1","Authority","_ref","weight_threshold","account_auths","key_auths","props","_defineProperties","_arrayLikeToArray","arr2","_classCallCheck","_createClass","protoProps","staticProps","Asset","amount","getPrecision","factor","expectedSymbol","_string$split2","_n","_s","_i","minLen","amountString","Price","quote","asset","asset_1","HexBuffer","getVestingSharePrice","totalVestingFund","total_vesting_fund_hive","totalVestingShares","total_vesting_shares","getVests","account","subtract_delegated","add_received","vests","vesting_shares","vests_delegated","delegated_vesting_shares","vests_received","received_vesting_shares","withdraw_rate","vesting_withdraw_rate","already_withdrawn","to_withdraw","withdrawn","withdraw_vests","_createForOfIteratorHelper","_unsupportedIterableToArray","_e2","normalCompletion","didErr","_e3","_slicedToArray","VoidSerializer","StringSerializer","Int16Serializer","Int64Serializer","UInt16Serializer","UInt32Serializer","UInt64Serializer","BooleanSerializer","StaticVariantSerializer","itemSerializers","_data","AssetSerializer","steem_symbols","DateSerializer","PublicKeySerializer","endsWith","BinarySerializer","misc_1","FlatMapSerializer","keySerializer","valueSerializer","_step","_iterator","_step$value","ArraySerializer","itemSerializer","_step2","_iterator2","ObjectSerializer","keySerializers","_step3","_iterator3","_step3$value","serializer","OptionalSerializer","OperationDataSerializer","operationId","definitions","objectSerializer","VariableBinarySerializer","AuthoritySerializer","BeneficiarySerializer","PriceSerializer","ProposalUpdateSerializer","SignedBlockHeaderSerializer","ChainPropertiesSerializer","OperationSerializers","OperationSerializer","operation","account_create","account_create_with_delegation","account_update","account_witness_proxy","account_witness_vote","cancel_transfer_from_savings","change_recovery_account","claim_account","claim_reward_balance","comment","comment_options","convert","create_claimed_account","custom_binary","custom_json","decline_voting_rights","delegate_vesting_shares","delete_comment","escrow_approve","escrow_dispute","escrow_release","escrow_transfer","feed_publish","limit_order_cancel","limit_order_create","limit_order_create2","recover_account","report_over_production","request_account_recovery","reset_account","set_reset_account","set_withdraw_vesting_route","transfer","transfer_from_savings","transfer_to_savings","transfer_to_vesting","vote","withdraw_vesting","witness_update","witness_set_properties","account_update2","create_proposal","update_proposal_votes","remove_proposal","update_proposal","collateralized_convert","recurrent_transfer","TransactionSerializer","Types","Binary","FlatMap","Int16","Int32","Int64","Int8","Operation","Optional","StaticVariant","Transaction","UInt16","UInt32","UInt64","UInt8","Void","_typeof","verror_1","version_1","blockchain_1","broadcast_1","database_1","hivemind_1","rc_1","utils_1","DEFAULT_CHAIN_ID","DEFAULT_ADDRESS_PREFIX","Client","address","rebrandedApi","currentAddress","chainId","addressPrefix","backoff","defaultBackoff","failoverThreshold","consoleOnFailover","database","DatabaseAPI","broadcast","BroadcastAPI","blockchain","Blockchain","rc","RCAPI","hivemind","HivemindAPI","agent","api","_arguments","_callee","fetchTimeout","_yield$utils_1$retryi","top","topData","unformattedData","_context","jsonrpc","Accept","startsWith","tries","retryingFetch","fulfilled","throw","verror","bs58","serializer_1","client_1","doubleSha256","encodePublic","prefix","checksum","encodePrivate","decodePrivate","encodedKey","NETWORK_ID","checksumVerify","isCanonicalSignature","wif","_decodePublic","attempts","username","fromSeed","fromBuffer","transactionDigest","transaction","transactionData","cryptoUtils","isWif","privWif","bufWif","privKey","newChecksum","signTransaction","signedTransaction","signatures","bytebuffer","__awaiter","__asyncGenerator","verb","fulfill","settle","__asyncValues","__values","BlockchainMode","Irreversible","Latest","client","getDynamicGlobalProperties","last_irreversible_block_num","head_block_number","_callee2","_context2","getCurrentBlockNum","getBlockHeader","_callee3","_context3","getBlockNumbers_1","interval","_context4","sleep","iteratorStream","getBlockNumbers","getBlocks_1","e_1","_context5","getBlocks","getOperations_1","e_2","operations","_context6","getOperations","account_1","expireTime","_comment","op","sendOperations","ops","_vote","_callee4","_callee5","_callee6","creator","owner","posting","memo_key","ownerKey","activeKey","postingKey","fee","delegation","chainProps","creationFee","claim_op","create_op","delegate_op","fromLogin","createPublic","auths","memoKey","getChainProperties","account_creation_fee","extensions","json_metadata","new_account_name","delegatee","delegator","_callee7","_context7","_callee8","_context8","_callee9","ref_block_num","ref_block_prefix","expiration","tx","_context9","head_block_id","toISOString","expired","_callee10","_context10","blockNum","onlyVirtual","by","query","usernames","txId","operation_bitmask","stx","accounts","rc_accounts","resource_params","resource_pool","rc_account","findRCAccounts","calculateRCMana","calculateVPMana","_calculateManabar","max_rc","rc_manabar","max_mana","voting_manabar","current_mana","last_update_time","percentage","__export","cross_fetch_1","stream_1","timeoutErrors","waitForEvent","eventName","ms","iterator_1","iterator_1_1","allAddresses","failover","fe","urls","serialize","buildWitnessUpdateOp","_Object$keys","localeCompare","operationOrders","pow2","fill_convert_request","author_reward","curation_reward","comment_reward","liquidity_reward","interest","fill_vesting_withdraw","fill_order","shutdown_witness","fill_transfer_from_savings","hardfork","comment_payout_update","return_vesting_delegation","comment_benefactor_reward","producer_reward","clear_null_account_balance","proposal_pay","sps_fund","hardfork_hive","hardfork_hive_restore","delayed_voting","consolidate_treasury_balance","effective_comment_vote","ineffective_delete_comment","sps_convert","expired_account_notification","changed_recovery_account","transfer_to_vesting_completed","pow_reward","vesting_shares_split","account_created","fill_collateralized_convert_request","system_warning","fill_recurrent_transfer","failed_recurrent_transfer","makeBitMaskFilter","allowedOperations","redFunction","allowedOperation","_ref2","bitwiseOr","leftShift","jsbi","locals","useSourceMap","cssMapping","sourceMapping","sourceMap","unescape","encodeURIComponent","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","alreadyImportedModules","memo","stylesInDom","isOldIE","getTarget","querySelector","getElement","styleTarget","HTMLIFrameElement","contentDocument","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","domStyle","refs","addStyle","listToStyles","newStyles","part","css","media","insertStyleElement","insertInto","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","firstChild","before","removeStyleElement","parentNode","createStyleElement","attrs","addAttrs","setAttribute","remove","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","link","rel","createLinkElement","updateLink","href","applyToTag","newObj","DEBUG","newList","mayRemove","textStore","replaceText","styleSheet","cssText","cssNode","childNodes","autoFixUrls","convertToAbsoluteUrls","oldSrc","baseUrl","currentDir","pathname","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","PublicTestnetHive","net","submitAcc","accSearch","getElementById","_account","balance","hbd_balance","innerHTML","submitConvert","requestid","block_num","className","privActive"],"mappings":"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G,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAA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,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,kEAAkE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,sEAAsEN,IAAI,CAACz7C,IAAI,EAAE+7C,OAAO,CAAC,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,mEAAmE,CAAC,mEAAmE,oEAAoE,CAAC,kEAAkE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,iEAAiE,oEAAoE,CAAC,mEAAmE,oEAAoE,CAAC,mEAAmE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AAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI2pF,EAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI1oF,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG2oF,EAAG,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GA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AI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI8yF,EAAmC5vG,EAAO8c,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAA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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","!function(f){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=f():\"function\"==typeof define&&define.amd?define([],f):(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).dhive=f()}(function(){var define,module,exports;return function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){return o(e[i][1][r]||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}({\"/Users/f/pjs/dhive/lib/version.js\":[function(_dereq_,module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.default=\"0.14.16\"},{}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js\":[function(_dereq_,module,exports){var asn1=exports;asn1.bignum=_dereq_(\"bn.js\"),asn1.define=_dereq_(\"./asn1/api\").define,asn1.base=_dereq_(\"./asn1/base\"),asn1.constants=_dereq_(\"./asn1/constants\"),asn1.decoders=_dereq_(\"./asn1/decoders\"),asn1.encoders=_dereq_(\"./asn1/encoders\")},{\"./asn1/api\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/api.js\",\"./asn1/base\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js\",\"./asn1/constants\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/index.js\",\"./asn1/decoders\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/index.js\",\"./asn1/encoders\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/index.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/api.js\":[function(_dereq_,module,exports){var asn1=_dereq_(\"../asn1\"),inherits=_dereq_(\"inherits\");function Entity(name,body){this.name=name,this.body=body,this.decoders={},this.encoders={}}exports.define=function(name,body){return new Entity(name,body)},Entity.prototype._createNamed=function(base){var named;try{named=_dereq_(\"vm\").runInThisContext(\"(function \"+this.name+\"(entity) {\\n this._initNamed(entity);\\n})\")}catch(e){named=function(entity){this._initNamed(entity)}}return inherits(named,base),named.prototype._initNamed=function(entity){base.call(this,entity)},new named(this)},Entity.prototype._getDecoder=function(enc){return enc=enc||\"der\",this.decoders.hasOwnProperty(enc)||(this.decoders[enc]=this._createNamed(asn1.decoders[enc])),this.decoders[enc]},Entity.prototype.decode=function(data,enc,options){return this._getDecoder(enc).decode(data,options)},Entity.prototype._getEncoder=function(enc){return enc=enc||\"der\",this.encoders.hasOwnProperty(enc)||(this.encoders[enc]=this._createNamed(asn1.encoders[enc])),this.encoders[enc]},Entity.prototype.encode=function(data,enc,reporter){return this._getEncoder(enc).encode(data,reporter)}},{\"../asn1\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",vm:\"/Users/f/pjs/dhive/node_modules/vm-browserify/index.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/buffer.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Reporter=_dereq_(\"../base\").Reporter,Buffer=_dereq_(\"buffer\").Buffer;function DecoderBuffer(base,options){Reporter.call(this,options),Buffer.isBuffer(base)?(this.base=base,this.offset=0,this.length=base.length):this.error(\"Input not Buffer\")}inherits(DecoderBuffer,Reporter),(exports.DecoderBuffer=DecoderBuffer).prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}},DecoderBuffer.prototype.restore=function(save){var res=new DecoderBuffer(this.base);return res.offset=save.offset,res.length=this.offset,this.offset=save.offset,Reporter.prototype.restore.call(this,save.reporter),res},DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length},DecoderBuffer.prototype.readUInt8=function(fail){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(fail||\"DecoderBuffer overrun\")},DecoderBuffer.prototype.skip=function(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||\"DecoderBuffer overrun\");var res=new DecoderBuffer(this.base);return res._reporterState=this._reporterState,res.offset=this.offset,res.length=this.offset+bytes,this.offset+=bytes,res},DecoderBuffer.prototype.raw=function(save){return this.base.slice(save?save.offset:this.offset,this.length)},(exports.EncoderBuffer=function EncoderBuffer(value,reporter){if(Array.isArray(value))this.length=0,this.value=value.map(function(item){return item instanceof EncoderBuffer||(item=new EncoderBuffer(item,reporter)),this.length+=item.length,item},this);else if(\"number\"==typeof value){if(!(0<=value&&value<=255))return reporter.error(\"non-byte EncoderBuffer value\");this.value=value,this.length=1}else if(\"string\"==typeof value)this.value=value,this.length=Buffer.byteLength(value);else{if(!Buffer.isBuffer(value))return reporter.error(\"Unsupported type: \"+typeof value);this.value=value,this.length=value.length}}).prototype.join=function(out,offset){return out=out||new Buffer(this.length),offset=offset||0,0===this.length||(Array.isArray(this.value)?this.value.forEach(function(item){item.join(out,offset),offset+=item.length}):(\"number\"==typeof this.value?out[offset]=this.value:\"string\"==typeof this.value?out.write(this.value,offset):Buffer.isBuffer(this.value)&&this.value.copy(out,offset),offset+=this.length)),out}},{\"../base\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js\":[function(_dereq_,module,exports){var base=exports;base.Reporter=_dereq_(\"./reporter\").Reporter,base.DecoderBuffer=_dereq_(\"./buffer\").DecoderBuffer,base.EncoderBuffer=_dereq_(\"./buffer\").EncoderBuffer,base.Node=_dereq_(\"./node\")},{\"./buffer\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/buffer.js\",\"./node\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/node.js\",\"./reporter\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/reporter.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/node.js\":[function(_dereq_,module,exports){var Reporter=_dereq_(\"../base\").Reporter,EncoderBuffer=_dereq_(\"../base\").EncoderBuffer,DecoderBuffer=_dereq_(\"../base\").DecoderBuffer,assert=_dereq_(\"minimalistic-assert\"),tags=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],methods=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(tags);function Node(enc,parent){var state={};(this._baseState=state).enc=enc,state.parent=parent||null,state.children=null,state.tag=null,state.args=null,state.reverseArgs=null,state.choice=null,state.optional=!1,state.any=!1,state.obj=!1,state.use=null,state.useDecoder=null,state.key=null,state.default=null,state.explicit=null,state.implicit=null,state.contains=null,state.parent||(state.children=[],this._wrap())}module.exports=Node;var stateProps=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function(){var state=this._baseState,cstate={};stateProps.forEach(function(prop){cstate[prop]=state[prop]});var res=new this.constructor(cstate.parent);return res._baseState=cstate,res},Node.prototype._wrap=function(){var state=this._baseState;methods.forEach(function(method){this[method]=function(){var clone=new this.constructor(this);return state.children.push(clone),clone[method].apply(clone,arguments)}},this)},Node.prototype._init=function(body){var state=this._baseState;assert(null===state.parent),body.call(this),state.children=state.children.filter(function(child){return child._baseState.parent===this},this),assert.equal(state.children.length,1,\"Root node can have only one child\")},Node.prototype._useArgs=function(args){var state=this._baseState,children=args.filter(function(arg){return arg instanceof this.constructor},this);args=args.filter(function(arg){return!(arg instanceof this.constructor)},this),0!==children.length&&(assert(null===state.children),(state.children=children).forEach(function(child){child._baseState.parent=this},this)),0!==args.length&&(assert(null===state.args),state.args=args,state.reverseArgs=args.map(function(arg){if(\"object\"!=typeof arg||arg.constructor!==Object)return arg;var res={};return Object.keys(arg).forEach(function(key){key==(0|key)&&(key|=0);var value=arg[key];res[value]=key}),res}))},[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"].forEach(function(method){Node.prototype[method]=function(){var state=this._baseState;throw new Error(method+\" not implemented for encoding: \"+state.enc)}}),tags.forEach(function(tag){Node.prototype[tag]=function(){var state=this._baseState,args=Array.prototype.slice.call(arguments);return assert(null===state.tag),state.tag=tag,this._useArgs(args),this}}),Node.prototype.use=function(item){assert(item);var state=this._baseState;return assert(null===state.use),state.use=item,this},Node.prototype.optional=function(){return this._baseState.optional=!0,this},Node.prototype.def=function(val){var state=this._baseState;return assert(null===state.default),state.default=val,state.optional=!0,this},Node.prototype.explicit=function(num){var state=this._baseState;return assert(null===state.explicit&&null===state.implicit),state.explicit=num,this},Node.prototype.implicit=function(num){var state=this._baseState;return assert(null===state.explicit&&null===state.implicit),state.implicit=num,this},Node.prototype.obj=function(){var state=this._baseState,args=Array.prototype.slice.call(arguments);return state.obj=!0,0!==args.length&&this._useArgs(args),this},Node.prototype.key=function(newKey){var state=this._baseState;return assert(null===state.key),state.key=newKey,this},Node.prototype.any=function(){return this._baseState.any=!0,this},Node.prototype.choice=function(obj){var state=this._baseState;return assert(null===state.choice),state.choice=obj,this._useArgs(Object.keys(obj).map(function(key){return obj[key]})),this},Node.prototype.contains=function(item){var state=this._baseState;return assert(null===state.use),state.contains=item,this},Node.prototype._decode=function(input,options){var state=this._baseState;if(null===state.parent)return input.wrapResult(state.children[0]._decode(input,options));var prevObj,result=state.default,present=!0,prevKey=null;if(null!==state.key&&(prevKey=input.enterKey(state.key)),state.optional){var tag=null;if(null!==state.explicit?tag=state.explicit:null!==state.implicit?tag=state.implicit:null!==state.tag&&(tag=state.tag),null!==tag||state.any){if(present=this._peekTag(input,tag,state.any),input.isError(present))return present}else{var save=input.save();try{null===state.choice?this._decodeGeneric(state.tag,input,options):this._decodeChoice(input,options),present=!0}catch(e){present=!1}input.restore(save)}}if(state.obj&&present&&(prevObj=input.enterObject()),present){if(null!==state.explicit){var explicit=this._decodeTag(input,state.explicit);if(input.isError(explicit))return explicit;input=explicit}var start=input.offset;if(null===state.use&&null===state.choice){state.any&&(save=input.save());var body=this._decodeTag(input,null!==state.implicit?state.implicit:state.tag,state.any);if(input.isError(body))return body;state.any?result=input.raw(save):input=body}if(options&&options.track&&null!==state.tag&&options.track(input.path(),start,input.length,\"tagged\"),options&&options.track&&null!==state.tag&&options.track(input.path(),input.offset,input.length,\"content\"),result=state.any?result:null===state.choice?this._decodeGeneric(state.tag,input,options):this._decodeChoice(input,options),input.isError(result))return result;if(state.any||null!==state.choice||null===state.children||state.children.forEach(function(child){child._decode(input,options)}),state.contains&&(\"octstr\"===state.tag||\"bitstr\"===state.tag)){var data=new DecoderBuffer(result);result=this._getUse(state.contains,input._reporterState.obj)._decode(data,options)}}return state.obj&&present&&(result=input.leaveObject(prevObj)),null===state.key||null===result&&!0!==present?null!==prevKey&&input.exitKey(prevKey):input.leaveKey(prevKey,state.key,result),result},Node.prototype._decodeGeneric=function(tag,input,options){var state=this._baseState;return\"seq\"===tag||\"set\"===tag?null:\"seqof\"===tag||\"setof\"===tag?this._decodeList(input,tag,state.args[0],options):/str$/.test(tag)?this._decodeStr(input,tag,options):\"objid\"===tag&&state.args?this._decodeObjid(input,state.args[0],state.args[1],options):\"objid\"===tag?this._decodeObjid(input,null,null,options):\"gentime\"===tag||\"utctime\"===tag?this._decodeTime(input,tag,options):\"null_\"===tag?this._decodeNull(input,options):\"bool\"===tag?this._decodeBool(input,options):\"objDesc\"===tag?this._decodeStr(input,tag,options):\"int\"===tag||\"enum\"===tag?this._decodeInt(input,state.args&&state.args[0],options):null!==state.use?this._getUse(state.use,input._reporterState.obj)._decode(input,options):input.error(\"unknown tag: \"+tag)},Node.prototype._getUse=function(entity,obj){var state=this._baseState;return state.useDecoder=this._use(entity,obj),assert(null===state.useDecoder._baseState.parent),state.useDecoder=state.useDecoder._baseState.children[0],state.implicit!==state.useDecoder._baseState.implicit&&(state.useDecoder=state.useDecoder.clone(),state.useDecoder._baseState.implicit=state.implicit),state.useDecoder},Node.prototype._decodeChoice=function(input,options){var state=this._baseState,result=null,match=!1;return Object.keys(state.choice).some(function(key){var save=input.save(),node=state.choice[key];try{var value=node._decode(input,options);if(input.isError(value))return!1;result={type:key,value:value},match=!0}catch(e){return input.restore(save),!1}return!0},this),match?result:input.error(\"Choice not matched\")},Node.prototype._createEncoderBuffer=function(data){return new EncoderBuffer(data,this.reporter)},Node.prototype._encode=function(data,reporter,parent){var state=this._baseState;if(null===state.default||state.default!==data){var result=this._encodeValue(data,reporter,parent);if(void 0!==result&&!this._skipDefault(result,reporter,parent))return result}},Node.prototype._encodeValue=function(data,reporter,parent){var state=this._baseState;if(null===state.parent)return state.children[0]._encode(data,reporter||new Reporter);var result=null;if(this.reporter=reporter,state.optional&&void 0===data){if(null===state.default)return;data=state.default}var content=null,primitive=!1;if(state.any)result=this._createEncoderBuffer(data);else if(state.choice)result=this._encodeChoice(data,reporter);else if(state.contains)content=this._getUse(state.contains,parent)._encode(data,reporter),primitive=!0;else if(state.children)content=state.children.map(function(child){if(\"null_\"===child._baseState.tag)return child._encode(null,reporter,data);if(null===child._baseState.key)return reporter.error(\"Child should have a key\");var prevKey=reporter.enterKey(child._baseState.key);if(\"object\"!=typeof data)return reporter.error(\"Child expected, but input is not object\");var res=child._encode(data[child._baseState.key],reporter,data);return reporter.leaveKey(prevKey),res},this).filter(function(child){return child}),content=this._createEncoderBuffer(content);else if(\"seqof\"===state.tag||\"setof\"===state.tag){if(!state.args||1!==state.args.length)return reporter.error(\"Too many args for : \"+state.tag);if(!Array.isArray(data))return reporter.error(\"seqof/setof, but data is not Array\");var child=this.clone();child._baseState.implicit=null,content=this._createEncoderBuffer(data.map(function(item){var state=this._baseState;return this._getUse(state.args[0],data)._encode(item,reporter)},child))}else null!==state.use?result=this._getUse(state.use,parent)._encode(data,reporter):(content=this._encodePrimitive(state.tag,data),primitive=!0);if(!state.any&&null===state.choice){var tag=null!==state.implicit?state.implicit:state.tag,cls=null===state.implicit?\"universal\":\"context\";null===tag?null===state.use&&reporter.error(\"Tag could be omitted only for .use()\"):null===state.use&&(result=this._encodeComposite(tag,primitive,cls,content))}return null!==state.explicit&&(result=this._encodeComposite(state.explicit,!1,\"context\",result)),result},Node.prototype._encodeChoice=function(data,reporter){var state=this._baseState,node=state.choice[data.type];return node||assert(!1,data.type+\" not found in \"+JSON.stringify(Object.keys(state.choice))),node._encode(data.value,reporter)},Node.prototype._encodePrimitive=function(tag,data){var state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);if(\"objid\"===tag&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);if(\"objid\"===tag)return this._encodeObjid(data,null,null);if(\"gentime\"===tag||\"utctime\"===tag)return this._encodeTime(data,tag);if(\"null_\"===tag)return this._encodeNull();if(\"int\"===tag||\"enum\"===tag)return this._encodeInt(data,state.args&&state.reverseArgs[0]);if(\"bool\"===tag)return this._encodeBool(data);if(\"objDesc\"===tag)return this._encodeStr(data,tag);throw new Error(\"Unsupported tag: \"+tag)},Node.prototype._isNumstr=function(str){return/^[0-9 ]*$/.test(str)},Node.prototype._isPrintstr=function(str){return/^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(str)}},{\"../base\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/index.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/base/reporter.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\");function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]}}function ReporterError(path,msg){this.path=path,this.rethrow(msg)}(exports.Reporter=Reporter).prototype.isError=function(obj){return obj instanceof ReporterError},Reporter.prototype.save=function(){var state=this._reporterState;return{obj:state.obj,pathLen:state.path.length}},Reporter.prototype.restore=function(data){var state=this._reporterState;state.obj=data.obj,state.path=state.path.slice(0,data.pathLen)},Reporter.prototype.enterKey=function(key){return this._reporterState.path.push(key)},Reporter.prototype.exitKey=function(index){var state=this._reporterState;state.path=state.path.slice(0,index-1)},Reporter.prototype.leaveKey=function(index,key,value){var state=this._reporterState;this.exitKey(index),null!==state.obj&&(state.obj[key]=value)},Reporter.prototype.path=function(){return this._reporterState.path.join(\"/\")},Reporter.prototype.enterObject=function(){var state=this._reporterState,prev=state.obj;return state.obj={},prev},Reporter.prototype.leaveObject=function(prev){var state=this._reporterState,now=state.obj;return state.obj=prev,now},Reporter.prototype.error=function(msg){var err,state=this._reporterState,inherited=msg instanceof ReporterError;if(err=inherited?msg:new ReporterError(state.path.map(function(elem){return\"[\"+JSON.stringify(elem)+\"]\"}).join(\"\"),msg.message||msg,msg.stack),!state.options.partial)throw err;return inherited||state.errors.push(err),err},Reporter.prototype.wrapResult=function(result){var state=this._reporterState;return state.options.partial?{result:this.isError(result)?null:result,errors:state.errors}:result},inherits(ReporterError,Error),ReporterError.prototype.rethrow=function(msg){if(this.message=msg+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace&&Error.captureStackTrace(this,ReporterError),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}},{inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/der.js\":[function(_dereq_,module,exports){var constants=_dereq_(\"../constants\");exports.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"},exports.tagClassByName=constants._reverse(exports.tagClass),exports.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"},exports.tagByName=constants._reverse(exports.tag)},{\"../constants\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/index.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/index.js\":[function(_dereq_,module,exports){var constants=exports;constants._reverse=function(map){var res={};return Object.keys(map).forEach(function(key){(0|key)==key&&(key|=0);var value=map[key];res[value]=key}),res},constants.der=_dereq_(\"./der\")},{\"./der\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/constants/der.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/der.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),asn1=_dereq_(\"../../asn1\"),base=asn1.base,bignum=asn1.bignum,der=asn1.constants.der;function DERNode(parent){base.Node.call(this,\"der\",parent)}function derDecodeTag(buf,fail){var tag=buf.readUInt8(fail);if(buf.isError(tag))return tag;var cls=der.tagClass[tag>>6],primitive=0==(32&tag);if(31==(31&tag)){var oct=tag;for(tag=0;128==(128&oct);){if(oct=buf.readUInt8(fail),buf.isError(oct))return oct;tag<<=7,tag|=127&oct}}else tag&=31;return{cls:cls,primitive:primitive,tag:tag,tagStr:der.tag[tag]}}function derDecodeLen(buf,primitive,fail){var len=buf.readUInt8(fail);if(buf.isError(len))return len;if(!primitive&&128===len)return null;if(0==(128&len))return len;var num=127&len;if(4<num)return buf.error(\"length octect is too long\");for(var i=len=0;i<num;i++){len<<=8;var j=buf.readUInt8(fail);if(buf.isError(j))return j;len|=j}return len}(module.exports=function(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}).prototype.decode=function(data,options){return data instanceof base.DecoderBuffer||(data=new base.DecoderBuffer(data,options)),this.tree._decode(data,options)},inherits(DERNode,base.Node),DERNode.prototype._peekTag=function(buffer,tag,any){if(buffer.isEmpty())return!1;var state=buffer.save(),decodedTag=derDecodeTag(buffer,'Failed to peek tag: \"'+tag+'\"');return buffer.isError(decodedTag)?decodedTag:(buffer.restore(state),decodedTag.tag===tag||decodedTag.tagStr===tag||decodedTag.tagStr+\"of\"===tag||any)},DERNode.prototype._decodeTag=function(buffer,tag,any){var decodedTag=derDecodeTag(buffer,'Failed to decode tag of \"'+tag+'\"');if(buffer.isError(decodedTag))return decodedTag;var len=derDecodeLen(buffer,decodedTag.primitive,'Failed to get length of \"'+tag+'\"');if(buffer.isError(len))return len;if(!any&&decodedTag.tag!==tag&&decodedTag.tagStr!==tag&&decodedTag.tagStr+\"of\"!==tag)return buffer.error('Failed to match tag: \"'+tag+'\"');if(decodedTag.primitive||null!==len)return buffer.skip(len,'Failed to match body of: \"'+tag+'\"');var state=buffer.save(),res=this._skipUntilEnd(buffer,'Failed to skip indefinite length body: \"'+this.tag+'\"');return buffer.isError(res)?res:(len=buffer.offset-state.offset,buffer.restore(state),buffer.skip(len,'Failed to match body of: \"'+tag+'\"'))},DERNode.prototype._skipUntilEnd=function(buffer,fail){for(;;){var tag=derDecodeTag(buffer,fail);if(buffer.isError(tag))return tag;var res,len=derDecodeLen(buffer,tag.primitive,fail);if(buffer.isError(len))return len;if(res=tag.primitive||null!==len?buffer.skip(len):this._skipUntilEnd(buffer,fail),buffer.isError(res))return res;if(\"end\"===tag.tagStr)break}},DERNode.prototype._decodeList=function(buffer,tag,decoder,options){for(var result=[];!buffer.isEmpty();){var possibleEnd=this._peekTag(buffer,\"end\");if(buffer.isError(possibleEnd))return possibleEnd;var res=decoder.decode(buffer,\"der\",options);if(buffer.isError(res)&&possibleEnd)break;result.push(res)}return result},DERNode.prototype._decodeStr=function(buffer,tag){if(\"bitstr\"===tag){var unused=buffer.readUInt8();return buffer.isError(unused)?unused:{unused:unused,data:buffer.raw()}}if(\"bmpstr\"===tag){var raw=buffer.raw();if(raw.length%2==1)return buffer.error(\"Decoding of string type: bmpstr length mismatch\");for(var str=\"\",i=0;i<raw.length/2;i++)str+=String.fromCharCode(raw.readUInt16BE(2*i));return str}if(\"numstr\"===tag){var numstr=buffer.raw().toString(\"ascii\");return this._isNumstr(numstr)?numstr:buffer.error(\"Decoding of string type: numstr unsupported characters\")}if(\"octstr\"===tag)return buffer.raw();if(\"objDesc\"===tag)return buffer.raw();if(\"printstr\"!==tag)return/str$/.test(tag)?buffer.raw().toString():buffer.error(\"Decoding of string type: \"+tag+\" unsupported\");var printstr=buffer.raw().toString(\"ascii\");return this._isPrintstr(printstr)?printstr:buffer.error(\"Decoding of string type: printstr unsupported characters\")},DERNode.prototype._decodeObjid=function(buffer,values,relative){for(var result,identifiers=[],ident=0;!buffer.isEmpty();){var subident=buffer.readUInt8();ident<<=7,ident|=127&subident,0==(128&subident)&&(identifiers.push(ident),ident=0)}128&subident&&identifiers.push(ident);var first=identifiers[0]/40|0,second=identifiers[0]%40;if(result=relative?identifiers:[first,second].concat(identifiers.slice(1)),values){var tmp=values[result.join(\" \")];void 0===tmp&&(tmp=values[result.join(\".\")]),void 0!==tmp&&(result=tmp)}return result},DERNode.prototype._decodeTime=function(buffer,tag){var str=buffer.raw().toString();if(\"gentime\"===tag)var year=0|str.slice(0,4),mon=0|str.slice(4,6),day=0|str.slice(6,8),hour=0|str.slice(8,10),min=0|str.slice(10,12),sec=0|str.slice(12,14);else{if(\"utctime\"!==tag)return buffer.error(\"Decoding \"+tag+\" time is not supported yet\");year=0|str.slice(0,2),mon=0|str.slice(2,4),day=0|str.slice(4,6),hour=0|str.slice(6,8),min=0|str.slice(8,10),sec=0|str.slice(10,12),year=year<70?2e3+year:1900+year}return Date.UTC(year,mon-1,day,hour,min,sec,0)},DERNode.prototype._decodeNull=function(){return null},DERNode.prototype._decodeBool=function(buffer){var res=buffer.readUInt8();return buffer.isError(res)?res:0!==res},DERNode.prototype._decodeInt=function(buffer,values){var raw=buffer.raw(),res=new bignum(raw);return values&&(res=values[res.toString(10)]||res),res},DERNode.prototype._use=function(entity,obj){return\"function\"==typeof entity&&(entity=entity(obj)),entity._getDecoder(\"der\").tree}},{\"../../asn1\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/index.js\":[function(_dereq_,module,exports){var decoders=exports;decoders.der=_dereq_(\"./der\"),decoders.pem=_dereq_(\"./pem\")},{\"./der\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/der.js\",\"./pem\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/pem.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/pem.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Buffer=_dereq_(\"buffer\").Buffer,DERDecoder=_dereq_(\"./der\");function PEMDecoder(entity){DERDecoder.call(this,entity),this.enc=\"pem\"}inherits(PEMDecoder,DERDecoder),(module.exports=PEMDecoder).prototype.decode=function(data,options){for(var lines=data.toString().split(/[\\r\\n]+/g),label=options.label.toUpperCase(),re=/^-----(BEGIN|END) ([^-]+)-----$/,start=-1,end=-1,i=0;i<lines.length;i++){var match=lines[i].match(re);if(null!==match&&match[2]===label){if(-1!==start){if(\"END\"!==match[1])break;end=i;break}if(\"BEGIN\"!==match[1])break;start=i}}if(-1===start||-1===end)throw new Error(\"PEM section not found for: \"+label);var base64=lines.slice(start+1,end).join(\"\");base64.replace(/[^a-z0-9\\+\\/=]+/gi,\"\");var input=new Buffer(base64,\"base64\");return DERDecoder.prototype.decode.call(this,input,options)}},{\"./der\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/decoders/der.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/der.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Buffer=_dereq_(\"buffer\").Buffer,asn1=_dereq_(\"../../asn1\"),base=asn1.base,der=asn1.constants.der;function DERNode(parent){base.Node.call(this,\"der\",parent)}function two(num){return num<10?\"0\"+num:num}(module.exports=function(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}).prototype.encode=function(data,reporter){return this.tree._encode(data,reporter).join()},inherits(DERNode,base.Node),DERNode.prototype._encodeComposite=function(tag,primitive,cls,content){var header,encodedTag=function(tag,primitive,cls,reporter){var res;if(\"seqof\"===tag?tag=\"seq\":\"setof\"===tag&&(tag=\"set\"),der.tagByName.hasOwnProperty(tag))res=der.tagByName[tag];else{if(\"number\"!=typeof tag||(0|tag)!==tag)return reporter.error(\"Unknown tag: \"+tag);res=tag}return 31<=res?reporter.error(\"Multi-octet tag encoding unsupported\"):(primitive||(res|=32),res|der.tagClassByName[cls||\"universal\"]<<6)}(tag,primitive,cls,this.reporter);if(content.length<128)return(header=new Buffer(2))[0]=encodedTag,header[1]=content.length,this._createEncoderBuffer([header,content]);for(var lenOctets=1,i=content.length;256<=i;i>>=8)lenOctets++;(header=new Buffer(2+lenOctets))[0]=encodedTag,header[1]=128|lenOctets,i=1+lenOctets;for(var j=content.length;0<j;i--,j>>=8)header[i]=255&j;return this._createEncoderBuffer([header,content])},DERNode.prototype._encodeStr=function(str,tag){if(\"bitstr\"===tag)return this._createEncoderBuffer([0|str.unused,str.data]);if(\"bmpstr\"!==tag)return\"numstr\"===tag?this._isNumstr(str)?this._createEncoderBuffer(str):this.reporter.error(\"Encoding of string type: numstr supports only digits and space\"):\"printstr\"===tag?this._isPrintstr(str)?this._createEncoderBuffer(str):this.reporter.error(\"Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark\"):/str$/.test(tag)||\"objDesc\"===tag?this._createEncoderBuffer(str):this.reporter.error(\"Encoding of string type: \"+tag+\" unsupported\");for(var buf=new Buffer(2*str.length),i=0;i<str.length;i++)buf.writeUInt16BE(str.charCodeAt(i),2*i);return this._createEncoderBuffer(buf)},DERNode.prototype._encodeObjid=function(id,values,relative){if(\"string\"==typeof id){if(!values)return this.reporter.error(\"string objid given, but no values map found\");if(!values.hasOwnProperty(id))return this.reporter.error(\"objid not found in values map\");id=values[id].split(/[\\s\\.]+/g);for(var i=0;i<id.length;i++)id[i]|=0}else if(Array.isArray(id))for(id=id.slice(),i=0;i<id.length;i++)id[i]|=0;if(!Array.isArray(id))return this.reporter.error(\"objid() should be either array or string, got: \"+JSON.stringify(id));if(!relative){if(40<=id[1])return this.reporter.error(\"Second objid identifier OOB\");id.splice(0,2,40*id[0]+id[1])}var size=0;for(i=0;i<id.length;i++){var ident=id[i];for(size++;128<=ident;ident>>=7)size++}var objid=new Buffer(size),offset=objid.length-1;for(i=id.length-1;0<=i;i--)for(ident=id[i],objid[offset--]=127&ident;0<(ident>>=7);)objid[offset--]=128|127&ident;return this._createEncoderBuffer(objid)},DERNode.prototype._encodeTime=function(time,tag){var str,date=new Date(time);return\"gentime\"===tag?str=[two(date.getFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):\"utctime\"===tag?str=[two(date.getFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+tag+\" time is not supported yet\"),this._encodeStr(str,\"octstr\")},DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},DERNode.prototype._encodeInt=function(num,values){if(\"string\"==typeof num){if(!values)return this.reporter.error(\"String int or enum given, but no values map\");if(!values.hasOwnProperty(num))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(num));num=values[num]}if(\"number\"!=typeof num&&!Buffer.isBuffer(num)){var numArray=num.toArray();!num.sign&&128&numArray[0]&&numArray.unshift(0),num=new Buffer(numArray)}if(Buffer.isBuffer(num)){var size=num.length;0===num.length&&size++;var out=new Buffer(size);return num.copy(out),0===num.length&&(out[0]=0),this._createEncoderBuffer(out)}if(num<128)return this._createEncoderBuffer(num);if(num<256)return this._createEncoderBuffer([0,num]);size=1;for(var i=num;256<=i;i>>=8)size++;for(i=(out=new Array(size)).length-1;0<=i;i--)out[i]=255&num,num>>=8;return 128&out[0]&&out.unshift(0),this._createEncoderBuffer(new Buffer(out))},DERNode.prototype._encodeBool=function(value){return this._createEncoderBuffer(value?255:0)},DERNode.prototype._use=function(entity,obj){return\"function\"==typeof entity&&(entity=entity(obj)),entity._getEncoder(\"der\").tree},DERNode.prototype._skipDefault=function(dataBuffer,reporter,parent){var i,state=this._baseState;if(null===state.default)return!1;var data=dataBuffer.join();if(void 0===state.defaultBuffer&&(state.defaultBuffer=this._encodeValue(state.default,reporter,parent).join()),data.length!==state.defaultBuffer.length)return!1;for(i=0;i<data.length;i++)if(data[i]!==state.defaultBuffer[i])return!1;return!0}},{\"../../asn1\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/index.js\":[function(_dereq_,module,exports){var encoders=exports;encoders.der=_dereq_(\"./der\"),encoders.pem=_dereq_(\"./pem\")},{\"./der\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/der.js\",\"./pem\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/pem.js\"}],\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/pem.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),DEREncoder=_dereq_(\"./der\");function PEMEncoder(entity){DEREncoder.call(this,entity),this.enc=\"pem\"}inherits(PEMEncoder,DEREncoder),(module.exports=PEMEncoder).prototype.encode=function(data,options){for(var p=DEREncoder.prototype.encode.call(this,data).toString(\"base64\"),out=[\"-----BEGIN \"+options.label+\"-----\"],i=0;i<p.length;i+=64)out.push(p.slice(i,i+64));return out.push(\"-----END \"+options.label+\"-----\"),out.join(\"\\n\")}},{\"./der\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1/encoders/der.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/assert-plus/assert.js\":[function(_dereq_,module,exports){(function(Buffer,process){var assert=_dereq_(\"assert\"),Stream=_dereq_(\"stream\").Stream,util=_dereq_(\"util\"),UUID_REGEXP=/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;function _capitalize(str){return str.charAt(0).toUpperCase()+str.slice(1)}function _toss(name,expected,oper,arg,actual){throw new assert.AssertionError({message:util.format(\"%s (%s) is required\",name,expected),actual:void 0===actual?typeof arg:actual(arg),expected:expected,operator:oper||\"===\",stackStartFunction:_toss.caller})}function _getClass(arg){return Object.prototype.toString.call(arg).slice(8,-1)}function noop(){}var types={bool:{check:function(arg){return\"boolean\"==typeof arg}},func:{check:function(arg){return\"function\"==typeof arg}},string:{check:function(arg){return\"string\"==typeof arg}},object:{check:function(arg){return\"object\"==typeof arg&&null!==arg}},number:{check:function(arg){return\"number\"==typeof arg&&!isNaN(arg)}},finite:{check:function(arg){return\"number\"==typeof arg&&!isNaN(arg)&&isFinite(arg)}},buffer:{check:function(arg){return Buffer.isBuffer(arg)},operator:\"Buffer.isBuffer\"},array:{check:function(arg){return Array.isArray(arg)},operator:\"Array.isArray\"},stream:{check:function(arg){return arg instanceof Stream},operator:\"instanceof\",actual:_getClass},date:{check:function(arg){return arg instanceof Date},operator:\"instanceof\",actual:_getClass},regexp:{check:function(arg){return arg instanceof RegExp},operator:\"instanceof\",actual:_getClass},uuid:{check:function(arg){return\"string\"==typeof arg&&UUID_REGEXP.test(arg)},operator:\"isUUID\"}};module.exports=function _setExports(ndebug){var out,keys=Object.keys(types);return out=process.env.NODE_NDEBUG?noop:function(arg,msg){arg||_toss(msg,\"true\",arg)},keys.forEach(function(k){if(ndebug)out[k]=noop;else{var type=types[k];out[k]=function(arg,msg){type.check(arg)||_toss(msg,k,type.operator,arg,type.actual)}}}),keys.forEach(function(k){var name=\"optional\"+_capitalize(k);if(ndebug)out[name]=noop;else{var type=types[k];out[name]=function(arg,msg){null!=arg&&(type.check(arg)||_toss(msg,k,type.operator,arg,type.actual))}}}),keys.forEach(function(k){var name=\"arrayOf\"+_capitalize(k);if(ndebug)out[name]=noop;else{var type=types[k],expected=\"[\"+k+\"]\";out[name]=function(arg,msg){var i;for(Array.isArray(arg)||_toss(msg,expected,type.operator,arg,type.actual),i=0;i<arg.length;i++)type.check(arg[i])||_toss(msg,expected,type.operator,arg,type.actual)}}}),keys.forEach(function(k){var name=\"optionalArrayOf\"+_capitalize(k);if(ndebug)out[name]=noop;else{var type=types[k],expected=\"[\"+k+\"]\";out[name]=function(arg,msg){var i;if(null!=arg)for(Array.isArray(arg)||_toss(msg,expected,type.operator,arg,type.actual),i=0;i<arg.length;i++)type.check(arg[i])||_toss(msg,expected,type.operator,arg,type.actual)}}}),Object.keys(assert).forEach(function(k){out[k]=\"AssertionError\"!==k&&ndebug?noop:assert[k]}),out._setExports=_setExports,out}(process.env.NODE_NDEBUG)}).call(this,{isBuffer:_dereq_(\"../is-buffer/index.js\")},_dereq_(\"_process\"))},{\"../is-buffer/index.js\":\"/Users/f/pjs/dhive/node_modules/is-buffer/index.js\",_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",assert:\"/Users/f/pjs/dhive/node_modules/assert/assert.js\",stream:\"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js\",util:\"/Users/f/pjs/dhive/node_modules/util/util.js\"}],\"/Users/f/pjs/dhive/node_modules/assert/assert.js\":[function(_dereq_,module,exports){(function(global){\"use strict\";var objectAssign=_dereq_(\"object-assign\");function compare(a,b){if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i<len;++i)if(a[i]!==b[i]){x=a[i],y=b[i];break}return x<y?-1:y<x?1:0}function isBuffer(b){return global.Buffer&&\"function\"==typeof global.Buffer.isBuffer?global.Buffer.isBuffer(b):!(null==b||!b._isBuffer)}var util=_dereq_(\"util/\"),hasOwn=Object.prototype.hasOwnProperty,pSlice=Array.prototype.slice,functionsHaveNames=\"foo\"===function(){}.name;function pToString(obj){return Object.prototype.toString.call(obj)}function isView(arrbuf){if(!isBuffer(arrbuf)&&\"function\"==typeof global.ArrayBuffer){if(\"function\"==typeof ArrayBuffer.isView)return ArrayBuffer.isView(arrbuf);if(arrbuf)return arrbuf instanceof DataView||arrbuf.buffer&&arrbuf.buffer instanceof ArrayBuffer}}var assert=module.exports=ok,regex=/\\s*function\\s+([^\\(\\s]*)\\s*/;function getName(func){if(util.isFunction(func)){if(functionsHaveNames)return func.name;var match=func.toString().match(regex);return match&&match[1]}}function truncate(s,n){return\"string\"!=typeof s||s.length<n?s:s.slice(0,n)}function inspect(something){if(functionsHaveNames||!util.isFunction(something))return util.inspect(something);var rawname=getName(something);return\"[Function\"+(rawname?\": \"+rawname:\"\")+\"]\"}function fail(actual,expected,message,operator,stackStartFunction){throw new assert.AssertionError({message:message,actual:actual,expected:expected,operator:operator,stackStartFunction:stackStartFunction})}function ok(value,message){value||fail(value,!0,message,\"==\",assert.ok)}function _deepEqual(actual,expected,strict,memos){if(actual===expected)return!0;if(isBuffer(actual)&&isBuffer(expected))return 0===compare(actual,expected);if(util.isDate(actual)&&util.isDate(expected))return actual.getTime()===expected.getTime();if(util.isRegExp(actual)&&util.isRegExp(expected))return actual.source===expected.source&&actual.global===expected.global&&actual.multiline===expected.multiline&&actual.lastIndex===expected.lastIndex&&actual.ignoreCase===expected.ignoreCase;if(null!==actual&&\"object\"==typeof actual||null!==expected&&\"object\"==typeof expected){if(isView(actual)&&isView(expected)&&pToString(actual)===pToString(expected)&&!(actual instanceof Float32Array||actual instanceof Float64Array))return 0===compare(new Uint8Array(actual.buffer),new Uint8Array(expected.buffer));if(isBuffer(actual)!==isBuffer(expected))return!1;var actualIndex=(memos=memos||{actual:[],expected:[]}).actual.indexOf(actual);return-1!==actualIndex&&actualIndex===memos.expected.indexOf(expected)||(memos.actual.push(actual),memos.expected.push(expected),function(a,b,strict,actualVisitedObjects){if(null==a||null==b)return!1;if(util.isPrimitive(a)||util.isPrimitive(b))return a===b;if(strict&&Object.getPrototypeOf(a)!==Object.getPrototypeOf(b))return!1;var aIsArgs=isArguments(a),bIsArgs=isArguments(b);if(aIsArgs&&!bIsArgs||!aIsArgs&&bIsArgs)return!1;if(aIsArgs)return _deepEqual(a=pSlice.call(a),b=pSlice.call(b),strict);var key,i,ka=objectKeys(a),kb=objectKeys(b);if(ka.length!==kb.length)return!1;for(ka.sort(),kb.sort(),i=ka.length-1;0<=i;i--)if(ka[i]!==kb[i])return!1;for(i=ka.length-1;0<=i;i--)if(!_deepEqual(a[key=ka[i]],b[key],strict,actualVisitedObjects))return!1;return!0}(actual,expected,strict,memos))}return strict?actual===expected:actual==expected}function isArguments(object){return\"[object Arguments]\"==Object.prototype.toString.call(object)}function expectedException(actual,expected){if(actual&&expected){if(\"[object RegExp]\"==Object.prototype.toString.call(expected))return expected.test(actual);try{if(actual instanceof expected)return 1}catch(e){}if(!Error.isPrototypeOf(expected))return!0===expected.call({},actual)}}function _throws(shouldThrow,block,expected,message){var actual;if(\"function\"!=typeof block)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof expected&&(message=expected,expected=null),actual=function(block){var error;try{block()}catch(e){error=e}return error}(block),message=(expected&&expected.name?\" (\"+expected.name+\").\":\".\")+(message?\" \"+message:\".\"),shouldThrow&&!actual&&fail(actual,expected,\"Missing expected exception\"+message);var userProvidedMessage=\"string\"==typeof message,isUnexpectedException=!shouldThrow&&actual&&!expected;if((!shouldThrow&&util.isError(actual)&&userProvidedMessage&&expectedException(actual,expected)||isUnexpectedException)&&fail(actual,expected,\"Got unwanted exception\"+message),shouldThrow&&actual&&expected&&!expectedException(actual,expected)||!shouldThrow&&actual)throw actual}assert.AssertionError=function(options){this.name=\"AssertionError\",this.actual=options.actual,this.expected=options.expected,this.operator=options.operator,options.message?(this.message=options.message,this.generatedMessage=!1):(this.message=truncate(inspect(this.actual),128)+\" \"+this.operator+\" \"+truncate(inspect(this.expected),128),this.generatedMessage=!0);var stackStartFunction=options.stackStartFunction||fail;if(Error.captureStackTrace)Error.captureStackTrace(this,stackStartFunction);else{var err=new Error;if(err.stack){var out=err.stack,fn_name=getName(stackStartFunction),idx=out.indexOf(\"\\n\"+fn_name);if(0<=idx){var next_line=out.indexOf(\"\\n\",idx+1);out=out.substring(next_line+1)}this.stack=out}}},util.inherits(assert.AssertionError,Error),assert.fail=fail,assert.ok=ok,assert.equal=function(actual,expected,message){actual!=expected&&fail(actual,expected,message,\"==\",assert.equal)},assert.notEqual=function(actual,expected,message){actual==expected&&fail(actual,expected,message,\"!=\",assert.notEqual)},assert.deepEqual=function(actual,expected,message){_deepEqual(actual,expected,!1)||fail(actual,expected,message,\"deepEqual\",assert.deepEqual)},assert.deepStrictEqual=function(actual,expected,message){_deepEqual(actual,expected,!0)||fail(actual,expected,message,\"deepStrictEqual\",assert.deepStrictEqual)},assert.notDeepEqual=function(actual,expected,message){_deepEqual(actual,expected,!1)&&fail(actual,expected,message,\"notDeepEqual\",assert.notDeepEqual)},assert.notDeepStrictEqual=function notDeepStrictEqual(actual,expected,message){_deepEqual(actual,expected,!0)&&fail(actual,expected,message,\"notDeepStrictEqual\",notDeepStrictEqual)},assert.strictEqual=function(actual,expected,message){actual!==expected&&fail(actual,expected,message,\"===\",assert.strictEqual)},assert.notStrictEqual=function(actual,expected,message){actual===expected&&fail(actual,expected,message,\"!==\",assert.notStrictEqual)},assert.throws=function(block,error,message){_throws(!0,block,error,message)},assert.doesNotThrow=function(block,error,message){_throws(!1,block,error,message)},assert.ifError=function(err){if(err)throw err},assert.strict=objectAssign(function strict(value,message){value||fail(value,!0,message,\"==\",strict)},assert,{equal:assert.strictEqual,deepEqual:assert.deepStrictEqual,notEqual:assert.notStrictEqual,notDeepEqual:assert.notDeepStrictEqual}),assert.strict.strict=assert.strict;var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)hasOwn.call(obj,key)&&keys.push(key);return keys}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"object-assign\":\"/Users/f/pjs/dhive/node_modules/object-assign/index.js\",\"util/\":\"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/util.js\"}],\"/Users/f/pjs/dhive/node_modules/assert/node_modules/inherits/inherits_browser.js\":[function(_dereq_,module,exports){\"function\"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){function TempCtor(){}ctor.super_=superCtor,TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},{}],\"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/support/isBufferBrowser.js\":[function(_dereq_,module,exports){module.exports=function(arg){return arg&&\"object\"==typeof arg&&\"function\"==typeof arg.copy&&\"function\"==typeof arg.fill&&\"function\"==typeof arg.readUInt8}},{}],\"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/util.js\":[function(_dereq_,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){for(var objects=[],i=0;i<arguments.length;i++)objects.push(inspect(arguments[i]));return objects.join(\" \")}i=1;for(var args=arguments,len=args.length,str=String(f).replace(formatRegExp,function(x){if(\"%%\"===x)return\"%\";if(len<=i)return x;switch(x){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x}}),x=args[i];i<len;x=args[++i])isNull(x)||!isObject(x)?str+=\" \"+x:str+=\" \"+inspect(x);return str},exports.deprecate=function(fn,msg){if(isUndefined(global.process))return function(){return exports.deprecate(fn,msg).apply(this,arguments)};if(!0===process.noDeprecation)return fn;var warned=!1;return function(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation,warned=!0}return fn.apply(this,arguments)}};var debugEnviron,debugs={};function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return 3<=arguments.length&&(ctx.depth=arguments[2]),4<=arguments.length&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];return style?\"\u001b[\"+inspect.colors[style][0]+\"m\"+str+\"\u001b[\"+inspect.colors[style][1]+\"m\":str}function stylizeNoColor(str,styleType){return str}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=function(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}return isNumber(value)?ctx.stylize(\"\"+value,\"number\"):isBoolean(value)?ctx.stylize(\"\"+value,\"boolean\"):isNull(value)?ctx.stylize(\"null\",\"null\"):void 0}(ctx,value);if(primitive)return primitive;var hash,keys=Object.keys(value),visibleKeys=(hash={},keys.forEach(function(val,idx){hash[val]=!0}),hash);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(0<=keys.indexOf(\"message\")||0<=keys.indexOf(\"description\")))return formatError(value);if(0===keys.length){if(isFunction(value)){var name=value.name?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var output,base=\"\",array=!1,braces=[\"{\",\"}\"];return isArray(value)&&(array=!0,braces=[\"[\",\"]\"]),isFunction(value)&&(base=\" [Function\"+(value.name?\": \"+value.name:\"\")+\"]\"),isRegExp(value)&&(base=\" \"+RegExp.prototype.toString.call(value)),isDate(value)&&(base=\" \"+Date.prototype.toUTCString.call(value)),isError(value)&&(base=\" \"+formatError(value)),0!==keys.length||array&&0!=value.length?recurseTimes<0?isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\"):ctx.stylize(\"[Object]\",\"special\"):(ctx.seen.push(value),output=array?function(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i<l;++i)hasOwnProperty(value,String(i))?output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0)):output.push(\"\");return keys.forEach(function(key){key.match(/^\\d+$/)||output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}(ctx,value,recurseTimes,visibleKeys,keys):keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)}),ctx.seen.pop(),function(output,base,braces){return 60<output.reduce(function(prev,cur){return cur.indexOf(\"\\n\"),prev+cur.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)?braces[0]+(\"\"===base?\"\":base+\"\\n \")+\" \"+output.join(\",\\n \")+\" \"+braces[1]:braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}(output,base,braces)):braces[0]+base+braces[1]}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if((desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]}).get?str=desc.set?ctx.stylize(\"[Getter/Setter]\",\"special\"):ctx.stylize(\"[Getter]\",\"special\"):desc.set&&(str=ctx.stylize(\"[Setter]\",\"special\")),hasOwnProperty(visibleKeys,key)||(name=\"[\"+key+\"]\"),str||(ctx.seen.indexOf(desc.value)<0?-1<(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1)).indexOf(\"\\n\")&&(str=array?str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\").substr(2):\"\\n\"+str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\")):str=ctx.stylize(\"[Circular]\",\"special\")),isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;name=(name=JSON.stringify(\"\"+key)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(name=name.substr(1,name.length-2),ctx.stylize(name,\"name\")):(name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),ctx.stylize(name,\"string\"))}return name+\": \"+str}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return\"boolean\"==typeof arg}function isNull(arg){return null===arg}function isNumber(arg){return\"number\"==typeof arg}function isString(arg){return\"string\"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&\"[object RegExp]\"===objectToString(re)}function isObject(arg){return\"object\"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&\"[object Date]\"===objectToString(d)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(arg){return\"function\"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}exports.debuglog=function(set){return isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||\"\"),set=set.toUpperCase(),debugs[set]||(new RegExp(\"\\\\b\"+set+\"\\\\b\",\"i\").test(debugEnviron)?(process.pid,debugs[set]=function(){exports.format.apply(exports,arguments)}):debugs[set]=function(){}),debugs[set]},(exports.inspect=inspect).colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=function(arg){return null==arg},exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=function(arg){return\"symbol\"==typeof arg},exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=function(arg){return null===arg||\"boolean\"==typeof arg||\"number\"==typeof arg||\"string\"==typeof arg||\"symbol\"==typeof arg||void 0===arg},exports.isBuffer=_dereq_(\"./support/isBuffer\"),exports.log=function(){},exports.inherits=_dereq_(\"inherits\"),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin}}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":\"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/support/isBufferBrowser.js\",_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",inherits:\"/Users/f/pjs/dhive/node_modules/assert/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/base-x/src/index.js\":[function(_dereq_,module,exports){\"use strict\";var _Buffer=_dereq_(\"safe-buffer\").Buffer;module.exports=function(ALPHABET){if(255<=ALPHABET.length)throw new TypeError(\"Alphabet too long\");for(var BASE_MAP=new Uint8Array(256),j=0;j<BASE_MAP.length;j++)BASE_MAP[j]=255;for(var i=0;i<ALPHABET.length;i++){var x=ALPHABET.charAt(i),xc=x.charCodeAt(0);if(255!==BASE_MAP[xc])throw new TypeError(x+\" is ambiguous\");BASE_MAP[xc]=i}var BASE=ALPHABET.length,LEADER=ALPHABET.charAt(0),FACTOR=Math.log(BASE)/Math.log(256),iFACTOR=Math.log(256)/Math.log(BASE);function decodeUnsafe(source){if(\"string\"!=typeof source)throw new TypeError(\"Expected String\");if(0===source.length)return _Buffer.alloc(0);var psz=0;if(\" \"!==source[psz]){for(var zeroes=0,length=0;source[psz]===LEADER;)zeroes++,psz++;for(var size=(source.length-psz)*FACTOR+1>>>0,b256=new Uint8Array(size);source[psz];){var carry=BASE_MAP[source.charCodeAt(psz)];if(255===carry)return;for(var i=0,it3=size-1;(0!==carry||i<length)&&-1!==it3;it3--,i++)carry+=BASE*b256[it3]>>>0,b256[it3]=carry%256>>>0,carry=carry/256>>>0;if(0!==carry)throw new Error(\"Non-zero carry\");length=i,psz++}if(\" \"!==source[psz]){for(var it4=size-length;it4!==size&&0===b256[it4];)it4++;var vch=_Buffer.allocUnsafe(zeroes+(size-it4));vch.fill(0,0,zeroes);for(var j=zeroes;it4!==size;)vch[j++]=b256[it4++];return vch}}}return{encode:function(source){if((Array.isArray(source)||source instanceof Uint8Array)&&(source=_Buffer.from(source)),!_Buffer.isBuffer(source))throw new TypeError(\"Expected Buffer\");if(0===source.length)return\"\";for(var zeroes=0,length=0,pbegin=0,pend=source.length;pbegin!==pend&&0===source[pbegin];)pbegin++,zeroes++;for(var size=(pend-pbegin)*iFACTOR+1>>>0,b58=new Uint8Array(size);pbegin!==pend;){for(var carry=source[pbegin],i=0,it1=size-1;(0!==carry||i<length)&&-1!==it1;it1--,i++)carry+=256*b58[it1]>>>0,b58[it1]=carry%BASE>>>0,carry=carry/BASE>>>0;if(0!==carry)throw new Error(\"Non-zero carry\");length=i,pbegin++}for(var it2=size-length;it2!==size&&0===b58[it2];)it2++;for(var str=LEADER.repeat(zeroes);it2<size;++it2)str+=ALPHABET.charAt(b58[it2]);return str},decodeUnsafe:decodeUnsafe,decode:function(string){var buffer=decodeUnsafe(string);if(buffer)return buffer;throw new Error(\"Non-base\"+BASE+\" character\")}}}},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/base64-js/index.js\":[function(_dereq_,module,exports){\"use strict\";exports.byteLength=function(b64){var lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1];return 3*(validLen+placeHoldersLen)/4-placeHoldersLen},exports.toByteArray=function(b64){var tmp,i,lens=getLens(b64),validLen=lens[0],placeHoldersLen=lens[1],arr=new Arr(function(validLen,placeHoldersLen){return 3*(validLen+placeHoldersLen)/4-placeHoldersLen}(validLen,placeHoldersLen)),curByte=0,len=0<placeHoldersLen?validLen-4:validLen;for(i=0;i<len;i+=4)tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)],arr[curByte++]=tmp>>16&255,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp;return 2===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4,arr[curByte++]=255&tmp),1===placeHoldersLen&&(tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2,arr[curByte++]=tmp>>8&255,arr[curByte++]=255&tmp),arr},exports.fromByteArray=function(uint8){for(var tmp,len=uint8.length,extraBytes=len%3,parts=[],i=0,len2=len-extraBytes;i<len2;i+=16383)parts.push(encodeChunk(uint8,i,len2<i+16383?len2:i+16383));return 1==extraBytes?(tmp=uint8[len-1],parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+\"==\")):2==extraBytes&&(tmp=(uint8[len-2]<<8)+uint8[len-1],parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+\"=\")),parts.join(\"\")};for(var lookup=[],revLookup=[],Arr=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,code=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(b64){var len=b64.length;if(0<len%4)throw new Error(\"Invalid string. Length must be a multiple of 4\");var validLen=b64.indexOf(\"=\");return-1===validLen&&(validLen=len),[validLen,validLen===len?0:4-validLen%4]}function encodeChunk(uint8,start,end){for(var tmp,output=[],i=start;i<end;i+=3)tmp=(uint8[i]<<16&16711680)+(uint8[i+1]<<8&65280)+(255&uint8[i+2]),output.push(lookup[tmp>>18&63]+lookup[tmp>>12&63]+lookup[tmp>>6&63]+lookup[63&tmp]);return output.join(\"\")}revLookup[\"-\".charCodeAt(0)]=62,revLookup[\"_\".charCodeAt(0)]=63},{}],\"/Users/f/pjs/dhive/node_modules/bip66/index.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer;module.exports={check:function(buffer){if(buffer.length<8)return!1;if(72<buffer.length)return!1;if(48!==buffer[0])return!1;if(buffer[1]!==buffer.length-2)return!1;if(2!==buffer[2])return!1;var lenR=buffer[3];if(0===lenR)return!1;if(5+lenR>=buffer.length)return!1;if(2!==buffer[4+lenR])return!1;var lenS=buffer[5+lenR];return!(0===lenS||6+lenR+lenS!==buffer.length||128&buffer[4]||1<lenR&&0===buffer[4]&&!(128&buffer[5])||128&buffer[lenR+6]||1<lenS&&0===buffer[lenR+6]&&!(128&buffer[lenR+7]))},decode:function(buffer){if(buffer.length<8)throw new Error(\"DER sequence length is too short\");if(72<buffer.length)throw new Error(\"DER sequence length is too long\");if(48!==buffer[0])throw new Error(\"Expected DER sequence\");if(buffer[1]!==buffer.length-2)throw new Error(\"DER sequence length is invalid\");if(2!==buffer[2])throw new Error(\"Expected DER integer\");var lenR=buffer[3];if(0===lenR)throw new Error(\"R length is zero\");if(5+lenR>=buffer.length)throw new Error(\"R length is too long\");if(2!==buffer[4+lenR])throw new Error(\"Expected DER integer (2)\");var lenS=buffer[5+lenR];if(0===lenS)throw new Error(\"S length is zero\");if(6+lenR+lenS!==buffer.length)throw new Error(\"S length is invalid\");if(128&buffer[4])throw new Error(\"R value is negative\");if(1<lenR&&0===buffer[4]&&!(128&buffer[5]))throw new Error(\"R value excessively padded\");if(128&buffer[lenR+6])throw new Error(\"S value is negative\");if(1<lenS&&0===buffer[lenR+6]&&!(128&buffer[lenR+7]))throw new Error(\"S value excessively padded\");return{r:buffer.slice(4,4+lenR),s:buffer.slice(6+lenR)}},encode:function(r,s){var lenR=r.length,lenS=s.length;if(0===lenR)throw new Error(\"R length is zero\");if(0===lenS)throw new Error(\"S length is zero\");if(33<lenR)throw new Error(\"R length is too long\");if(33<lenS)throw new Error(\"S length is too long\");if(128&r[0])throw new Error(\"R value is negative\");if(128&s[0])throw new Error(\"S value is negative\");if(1<lenR&&0===r[0]&&!(128&r[1]))throw new Error(\"R value excessively padded\");if(1<lenS&&0===s[0]&&!(128&s[1]))throw new Error(\"S value excessively padded\");var signature=Buffer.allocUnsafe(6+lenR+lenS);return signature[0]=48,signature[1]=signature.length-2,signature[2]=2,signature[3]=r.length,r.copy(signature,4),signature[4+lenR]=2,signature[5+lenR]=s.length,s.copy(signature,6+lenR),signature}}},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\":[function(_dereq_,module,exports){!function(module,exports){\"use strict\";function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){function TempCtor(){}ctor.super_=superCtor,TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,(this.red=null)!==number&&(\"le\"!==base&&\"be\"!==base||(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}var Buffer;\"object\"==typeof module?module.exports=BN:exports.BN=BN,(BN.BN=BN).wordSize=26;try{Buffer=_dereq_(\"buffer\").Buffer}catch(e){}function parseHex(str,start,end){for(var r=0,len=Math.min(str.length,end),i=start;i<len;i++){var c=str.charCodeAt(i)-48;r<<=4,r|=49<=c&&c<=54?c-49+10:17<=c&&c<=22?c-17+10:15&c}return r}function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i<len;i++){var c=str.charCodeAt(i)-48;r*=mul,r+=49<=c?c-49+10:17<=c?c-17+10:c}return r}BN.isBN=function(num){return num instanceof BN||null!==num&&\"object\"==typeof num&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return 0<left.cmp(right)?left:right},BN.min=function(left,right){return left.cmp(right)<0?left:right},BN.prototype._init=function(number,base,endian){if(\"number\"==typeof number)return this._initNumber(number,base,endian);if(\"object\"==typeof number)return this._initArray(number,base,endian);\"hex\"===base&&(base=16),assert(base===(0|base)&&2<=base&&base<=36);var start=0;\"-\"===(number=number.toString().replace(/\\s+/g,\"\"))[0]&&start++,16===base?this._parseHex(number,start):this._parseBase(number,base,start),\"-\"===number[0]&&(this.negative=1),this.strip(),\"le\"===endian&&this._initArray(this.toArray(),base,endian)},BN.prototype._initNumber=function(number,base,endian){number<0&&(this.negative=1,number=-number),number<67108864?(this.words=[67108863&number],this.length=1):number<4503599627370496?(this.words=[67108863&number,number/67108864&67108863],this.length=2):(assert(number<9007199254740992),this.words=[67108863&number,number/67108864&67108863,1],this.length=3),\"le\"===endian&&this._initArray(this.toArray(),base,endian)},BN.prototype._initArray=function(number,base,endian){if(assert(\"number\"==typeof number.length),number.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(number.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;if(\"be\"===endian)for(i=number.length-1,j=0;0<=i;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,26<=(off+=24)&&(off-=26,j++);else if(\"le\"===endian)for(j=i=0;i<number.length;i+=3)w=number[i]|number[i+1]<<8|number[i+2]<<16,this.words[j]|=w<<off&67108863,this.words[j+1]=w>>>26-off&67108863,26<=(off+=24)&&(off-=26,j++);return this.strip()},BN.prototype._parseHex=function(number,start){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var j,w,off=0;for(i=number.length-6,j=0;start<=i;i-=6)w=parseHex(number,i,i+6),this.words[j]|=w<<off&67108863,this.words[j+1]|=w>>>26-off&4194303,26<=(off+=24)&&(off-=26,j++);i+6!==start&&(w=parseHex(number,start,i+6),this.words[j]|=w<<off&67108863,this.words[j+1]|=w>>>26-off&4194303),this.strip()},BN.prototype._parseBase=function(number,base,start){this.words=[0];for(var limbLen=0,limbPow=this.length=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i<end;i+=limbLen)word=parseBase(number,i,i+limbLen,base),this.imuln(limbPow),this.words[0]+word<67108864?this.words[0]+=word:this._iaddn(word);if(0!=mod){var pow=1;for(word=parseBase(number,i,number.length,base),i=0;i<mod;i++)pow*=base;this.imuln(pow),this.words[0]+word<67108864?this.words[0]+=word:this._iaddn(word)}},BN.prototype.copy=function(dest){dest.words=new Array(this.length);for(var i=0;i<this.length;i++)dest.words[i]=this.words[i];dest.length=this.length,dest.negative=this.negative,dest.red=this.red},BN.prototype.clone=function(){var r=new BN(null);return this.copy(r),r},BN.prototype._expand=function(size){for(;this.length<size;)this.words[this.length++]=0;return this},BN.prototype.strip=function(){for(;1<this.length&&0===this.words[this.length-1];)this.length--;return this._normSign()},BN.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function smallMulTo(self,num,out){out.negative=num.negative^self.negative;var len=self.length+num.length|0;len=(out.length=len)-1|0;var a=0|self.words[0],b=0|num.words[0],r=a*b,lo=67108863&r,carry=r/67108864|0;out.words[0]=lo;for(var k=1;k<len;k++){for(var ncarry=carry>>>26,rword=67108863&carry,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self.length+1);j<=maxJ;j++){var i=k-j|0;ncarry+=(r=(a=0|self.words[i])*(b=0|num.words[j])+rword)/67108864|0,rword=67108863&r}out.words[k]=0|rword,carry=0|ncarry}return 0!==carry?out.words[k]=0|carry:out.length--,out.strip()}BN.prototype.toString=function(base,padding){var out;if(padding=0|padding||1,16===(base=base||10)||\"hex\"===base){out=\"\";for(var off=0,carry=0,i=0;i<this.length;i++){var w=this.words[i],word=(16777215&(w<<off|carry)).toString(16);out=0!=(carry=w>>>24-off&16777215)||i!==this.length-1?zeros[6-word.length]+word+out:word+out,26<=(off+=2)&&(off-=26,i--)}for(0!==carry&&(out=carry.toString(16)+out);out.length%padding!=0;)out=\"0\"+out;return 0!==this.negative&&(out=\"-\"+out),out}if(base===(0|base)&&2<=base&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);out=(c=c.idivn(groupBase)).isZero()?r+out:zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!=0;)out=\"0\"+out;return 0!==this.negative&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return 2===this.length?ret+=67108864*this.words[1]:3===this.length&&1===this.words[2]?ret+=4503599627370496+67108864*this.words[1]:2<this.length&&assert(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(void 0!==Buffer),this.toArrayLike(Buffer,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(0<reqLength,\"Requested array length <= 0\"),this.strip();var b,i,littleEndian=\"le\"===endian,res=new ArrayType(reqLength),q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i<reqLength;i++)res[i]=0}else{for(i=0;i<reqLength-byteLength;i++)res[i]=0;for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[reqLength-i-1]=b}return res},Math.clz32?BN.prototype._countBits=function(w){return 32-Math.clz32(w)}:BN.prototype._countBits=function(w){var t=w,r=0;return 4096<=t&&(r+=13,t>>>=13),64<=t&&(r+=7,t>>>=7),8<=t&&(r+=4,t>>>=4),2<=t&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(0===w)return 26;var t=w,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return 26*(this.length-1)+hi},BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;i<this.length;i++){var b=this._zeroBits(this.words[i]);if(r+=b,26!==b)break}return r},BN.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function(width){return 0!==this.negative?this.abs().inotn(width).iaddn(1):this.clone()},BN.prototype.fromTwos=function(width){return this.testn(width-1)?this.notn(width).iaddn(1).ineg():this.clone()},BN.prototype.isNeg=function(){return 0!==this.negative},BN.prototype.neg=function(){return this.clone().ineg()},BN.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},BN.prototype.iuor=function(num){for(;this.length<num.length;)this.words[this.length++]=0;for(var i=0;i<num.length;i++)this.words[i]=this.words[i]|num.words[i];return this.strip()},BN.prototype.ior=function(num){return assert(0==(this.negative|num.negative)),this.iuor(num)},BN.prototype.or=function(num){return this.length>num.length?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;b=this.length>num.length?num:this;for(var i=0;i<b.length;i++)this.words[i]=this.words[i]&num.words[i];return this.length=b.length,this.strip()},BN.prototype.iand=function(num){return assert(0==(this.negative|num.negative)),this.iuand(num)},BN.prototype.and=function(num){return this.length>num.length?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;b=this.length>num.length?(a=this,num):(a=num,this);for(var i=0;i<b.length;i++)this.words[i]=a.words[i]^b.words[i];if(this!==a)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=a.length,this.strip()},BN.prototype.ixor=function(num){return assert(0==(this.negative|num.negative)),this.iuxor(num)},BN.prototype.xor=function(num){return this.length>num.length?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(\"number\"==typeof width&&0<=width);var bytesNeeded=0|Math.ceil(width/26),bitsLeft=width%26;this._expand(bytesNeeded),0<bitsLeft&&bytesNeeded--;for(var i=0;i<bytesNeeded;i++)this.words[i]=67108863&~this.words[i];return 0<bitsLeft&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(\"number\"==typeof bit&&0<=bit);var off=bit/26|0,wbit=bit%26;return this._expand(1+off),this.words[off]=val?this.words[off]|1<<wbit:this.words[off]&~(1<<wbit),this.strip()},BN.prototype.iadd=function(num){var r,a,b;if(0!==this.negative&&0===num.negative)return this.negative=0,r=this.isub(num),this.negative^=1,this._normSign();if(0===this.negative&&0!==num.negative)return num.negative=0,r=this.isub(num),num.negative=1,r._normSign();b=this.length>num.length?(a=this,num):(a=num,this);for(var carry=0,i=0;i<b.length;i++)r=(0|a.words[i])+(0|b.words[i])+carry,this.words[i]=67108863&r,carry=r>>>26;for(;0!==carry&&i<a.length;i++)r=(0|a.words[i])+carry,this.words[i]=67108863&r,carry=r>>>26;if(this.length=a.length,0!==carry)this.words[this.length]=carry,this.length++;else if(a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this},BN.prototype.add=function(num){var res;return 0!==num.negative&&0===this.negative?(num.negative=0,res=this.sub(num),num.negative^=1,res):0===num.negative&&0!==this.negative?(this.negative=0,res=num.sub(this),this.negative=1,res):this.length>num.length?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(0!==num.negative){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var a,b,cmp=this.cmp(num);if(0===cmp)return this.negative=0,this.length=1,this.words[0]=0,this;b=0<cmp?(a=this,num):(a=num,this);for(var carry=0,i=0;i<b.length;i++)carry=(r=(0|a.words[i])-(0|b.words[i])+carry)>>26,this.words[i]=67108863&r;for(;0!==carry&&i<a.length;i++)carry=(r=(0|a.words[i])+carry)>>26,this.words[i]=67108863&r;if(0===carry&&i<a.length&&a!==this)for(;i<a.length;i++)this.words[i]=a.words[i];return this.length=Math.max(this.length,i),a!==this&&(this.negative=1),this.strip()},BN.prototype.sub=function(num){return this.clone().isub(num)};var comb10MulTo=function(self,num,out){var lo,mid,hi,a=self.words,b=num.words,o=out.words,c=0,a0=0|a[0],al0=8191&a0,ah0=a0>>>13,a1=0|a[1],al1=8191&a1,ah1=a1>>>13,a2=0|a[2],al2=8191&a2,ah2=a2>>>13,a3=0|a[3],al3=8191&a3,ah3=a3>>>13,a4=0|a[4],al4=8191&a4,ah4=a4>>>13,a5=0|a[5],al5=8191&a5,ah5=a5>>>13,a6=0|a[6],al6=8191&a6,ah6=a6>>>13,a7=0|a[7],al7=8191&a7,ah7=a7>>>13,a8=0|a[8],al8=8191&a8,ah8=a8>>>13,a9=0|a[9],al9=8191&a9,ah9=a9>>>13,b0=0|b[0],bl0=8191&b0,bh0=b0>>>13,b1=0|b[1],bl1=8191&b1,bh1=b1>>>13,b2=0|b[2],bl2=8191&b2,bh2=b2>>>13,b3=0|b[3],bl3=8191&b3,bh3=b3>>>13,b4=0|b[4],bl4=8191&b4,bh4=b4>>>13,b5=0|b[5],bl5=8191&b5,bh5=b5>>>13,b6=0|b[6],bl6=8191&b6,bh6=b6>>>13,b7=0|b[7],bl7=8191&b7,bh7=b7>>>13,b8=0|b[8],bl8=8191&b8,bh8=b8>>>13,b9=0|b[9],bl9=8191&b9,bh9=b9>>>13;out.negative=self.negative^num.negative,out.length=19;var w0=(c+(lo=Math.imul(al0,bl0))|0)+((8191&(mid=(mid=Math.imul(al0,bh0))+Math.imul(ah0,bl0)|0))<<13)|0;c=((hi=Math.imul(ah0,bh0))+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=(mid=Math.imul(al1,bh0))+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0);var w1=(c+(lo=lo+Math.imul(al0,bl1)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh1)|0)+Math.imul(ah0,bl1)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh1)|0)+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=(mid=Math.imul(al2,bh0))+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=(mid=mid+Math.imul(al1,bh1)|0)+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0;var w2=(c+(lo=lo+Math.imul(al0,bl2)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh2)|0)+Math.imul(ah0,bl2)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh2)|0)+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=(mid=Math.imul(al3,bh0))+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=(mid=mid+Math.imul(al2,bh1)|0)+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=(mid=mid+Math.imul(al1,bh2)|0)+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0;var w3=(c+(lo=lo+Math.imul(al0,bl3)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh3)|0)+Math.imul(ah0,bl3)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh3)|0)+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=(mid=Math.imul(al4,bh0))+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=(mid=mid+Math.imul(al3,bh1)|0)+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=(mid=mid+Math.imul(al2,bh2)|0)+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=(mid=mid+Math.imul(al1,bh3)|0)+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0;var w4=(c+(lo=lo+Math.imul(al0,bl4)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh4)|0)+Math.imul(ah0,bl4)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh4)|0)+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=(mid=Math.imul(al5,bh0))+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=(mid=mid+Math.imul(al4,bh1)|0)+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=(mid=mid+Math.imul(al3,bh2)|0)+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=(mid=mid+Math.imul(al2,bh3)|0)+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=(mid=mid+Math.imul(al1,bh4)|0)+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0;var w5=(c+(lo=lo+Math.imul(al0,bl5)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh5)|0)+Math.imul(ah0,bl5)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh5)|0)+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=(mid=Math.imul(al6,bh0))+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=(mid=mid+Math.imul(al5,bh1)|0)+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=(mid=mid+Math.imul(al4,bh2)|0)+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=(mid=mid+Math.imul(al3,bh3)|0)+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=(mid=mid+Math.imul(al2,bh4)|0)+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=(mid=mid+Math.imul(al1,bh5)|0)+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0;var w6=(c+(lo=lo+Math.imul(al0,bl6)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh6)|0)+Math.imul(ah0,bl6)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh6)|0)+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=(mid=Math.imul(al7,bh0))+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=(mid=mid+Math.imul(al6,bh1)|0)+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=(mid=mid+Math.imul(al5,bh2)|0)+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=(mid=mid+Math.imul(al4,bh3)|0)+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=(mid=mid+Math.imul(al3,bh4)|0)+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=(mid=mid+Math.imul(al2,bh5)|0)+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=(mid=mid+Math.imul(al1,bh6)|0)+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0;var w7=(c+(lo=lo+Math.imul(al0,bl7)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh7)|0)+Math.imul(ah0,bl7)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh7)|0)+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=(mid=Math.imul(al8,bh0))+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=(mid=mid+Math.imul(al7,bh1)|0)+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=(mid=mid+Math.imul(al6,bh2)|0)+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=(mid=mid+Math.imul(al5,bh3)|0)+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=(mid=mid+Math.imul(al4,bh4)|0)+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=(mid=mid+Math.imul(al3,bh5)|0)+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=(mid=mid+Math.imul(al2,bh6)|0)+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=(mid=mid+Math.imul(al1,bh7)|0)+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0;var w8=(c+(lo=lo+Math.imul(al0,bl8)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh8)|0)+Math.imul(ah0,bl8)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh8)|0)+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=(mid=Math.imul(al9,bh0))+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=(mid=mid+Math.imul(al8,bh1)|0)+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=(mid=mid+Math.imul(al7,bh2)|0)+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=(mid=mid+Math.imul(al6,bh3)|0)+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=(mid=mid+Math.imul(al5,bh4)|0)+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=(mid=mid+Math.imul(al4,bh5)|0)+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=(mid=mid+Math.imul(al3,bh6)|0)+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=(mid=mid+Math.imul(al2,bh7)|0)+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=(mid=mid+Math.imul(al1,bh8)|0)+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0;var w9=(c+(lo=lo+Math.imul(al0,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al0,bh9)|0)+Math.imul(ah0,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah0,bh9)|0)+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=(mid=Math.imul(al9,bh1))+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=(mid=mid+Math.imul(al8,bh2)|0)+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=(mid=mid+Math.imul(al7,bh3)|0)+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=(mid=mid+Math.imul(al6,bh4)|0)+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=(mid=mid+Math.imul(al5,bh5)|0)+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=(mid=mid+Math.imul(al4,bh6)|0)+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=(mid=mid+Math.imul(al3,bh7)|0)+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=(mid=mid+Math.imul(al2,bh8)|0)+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0;var w10=(c+(lo=lo+Math.imul(al1,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al1,bh9)|0)+Math.imul(ah1,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah1,bh9)|0)+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=(mid=Math.imul(al9,bh2))+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=(mid=mid+Math.imul(al8,bh3)|0)+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=(mid=mid+Math.imul(al7,bh4)|0)+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=(mid=mid+Math.imul(al6,bh5)|0)+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=(mid=mid+Math.imul(al5,bh6)|0)+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=(mid=mid+Math.imul(al4,bh7)|0)+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=(mid=mid+Math.imul(al3,bh8)|0)+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0;var w11=(c+(lo=lo+Math.imul(al2,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al2,bh9)|0)+Math.imul(ah2,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah2,bh9)|0)+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=(mid=Math.imul(al9,bh3))+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=(mid=mid+Math.imul(al8,bh4)|0)+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=(mid=mid+Math.imul(al7,bh5)|0)+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=(mid=mid+Math.imul(al6,bh6)|0)+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=(mid=mid+Math.imul(al5,bh7)|0)+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=(mid=mid+Math.imul(al4,bh8)|0)+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0;var w12=(c+(lo=lo+Math.imul(al3,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al3,bh9)|0)+Math.imul(ah3,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah3,bh9)|0)+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=(mid=Math.imul(al9,bh4))+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=(mid=mid+Math.imul(al8,bh5)|0)+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=(mid=mid+Math.imul(al7,bh6)|0)+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=(mid=mid+Math.imul(al6,bh7)|0)+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=(mid=mid+Math.imul(al5,bh8)|0)+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0;var w13=(c+(lo=lo+Math.imul(al4,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al4,bh9)|0)+Math.imul(ah4,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah4,bh9)|0)+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=(mid=Math.imul(al9,bh5))+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=(mid=mid+Math.imul(al8,bh6)|0)+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=(mid=mid+Math.imul(al7,bh7)|0)+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=(mid=mid+Math.imul(al6,bh8)|0)+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0;var w14=(c+(lo=lo+Math.imul(al5,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al5,bh9)|0)+Math.imul(ah5,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah5,bh9)|0)+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=(mid=Math.imul(al9,bh6))+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=(mid=mid+Math.imul(al8,bh7)|0)+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=(mid=mid+Math.imul(al7,bh8)|0)+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0;var w15=(c+(lo=lo+Math.imul(al6,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al6,bh9)|0)+Math.imul(ah6,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah6,bh9)|0)+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=(mid=Math.imul(al9,bh7))+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=(mid=mid+Math.imul(al8,bh8)|0)+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0;var w16=(c+(lo=lo+Math.imul(al7,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al7,bh9)|0)+Math.imul(ah7,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah7,bh9)|0)+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=(mid=Math.imul(al9,bh8))+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8);var w17=(c+(lo=lo+Math.imul(al8,bl9)|0)|0)+((8191&(mid=(mid=mid+Math.imul(al8,bh9)|0)+Math.imul(ah8,bl9)|0))<<13)|0;c=((hi=hi+Math.imul(ah8,bh9)|0)+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863;var w18=(c+(lo=Math.imul(al9,bl9))|0)+((8191&(mid=(mid=Math.imul(al9,bh9))+Math.imul(ah9,bl9)|0))<<13)|0;return c=((hi=Math.imul(ah9,bh9))+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,0!==c&&(o[19]=c,out.length++),out};function jumboMulTo(self,num,out){return(new FFTM).mulp(self,num,out)}function FFTM(x,y){this.x=x,this.y=y}Math.imul||(comb10MulTo=smallMulTo),BN.prototype.mulTo=function(num,out){var len=this.length+num.length;return(10===this.length&&10===num.length?comb10MulTo:len<63?smallMulTo:len<1024?function(self,num,out){out.negative=num.negative^self.negative,out.length=self.length+num.length;for(var carry=0,hncarry=0,k=0;k<out.length-1;k++){var ncarry=hncarry;hncarry=0;for(var rword=67108863&carry,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self.length+1);j<=maxJ;j++){var i=k-j,r=(0|self.words[i])*(0|num.words[j]),lo=67108863&r;rword=67108863&(lo=lo+rword|0),hncarry+=(ncarry=(ncarry=ncarry+(r/67108864|0)|0)+(lo>>>26)|0)>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return 0!==carry?out.words[k]=carry:out.length--,out.strip()}:jumboMulTo)(this,num,out)},FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i<N;i++)t[i]=this.revBin(i,l,N);return t},FFTM.prototype.revBin=function(x,l,N){if(0===x||x===N-1)return x;for(var rb=0,i=0;i<l;i++)rb|=(1&x)<<l-i-1,x>>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i<N;i++)rtws[i]=rws[rbt[i]],itws[i]=iws[rbt[i]]},FFTM.prototype.transform=function(rws,iws,rtws,itws,N,rbt){this.permute(rbt,rws,iws,rtws,itws,N);for(var s=1;s<N;s<<=1)for(var l=s<<1,rtwdf=Math.cos(2*Math.PI/l),itwdf=Math.sin(2*Math.PI/l),p=0;p<N;p+=l)for(var rtwdf_=rtwdf,itwdf_=itwdf,j=0;j<s;j++){var re=rtws[p+j],ie=itws[p+j],ro=rtws[p+j+s],io=itws[p+j+s],rx=rtwdf_*ro-itwdf_*io;io=rtwdf_*io+itwdf_*ro,ro=rx,rtws[p+j]=re+ro,itws[p+j]=ie+io,rtws[p+j+s]=re-ro,itws[p+j+s]=ie-io,j!==l&&(rx=rtwdf*rtwdf_-itwdf*itwdf_,itwdf_=rtwdf*itwdf_+itwdf*rtwdf_,rtwdf_=rx)}},FFTM.prototype.guessLen13b=function(n,m){var N=1|Math.max(m,n),odd=1&N,i=0;for(N=N/2|0;N;N>>>=1)i++;return 1<<i+1+odd},FFTM.prototype.conjugate=function(rws,iws,N){if(!(N<=1))for(var i=0;i<N/2;i++){var t=rws[i];rws[i]=rws[N-i-1],rws[N-i-1]=t,t=iws[i],iws[i]=-iws[N-i-1],iws[N-i-1]=-t}},FFTM.prototype.normalize13b=function(ws,N){for(var carry=0,i=0;i<N/2;i++){var w=8192*Math.round(ws[2*i+1]/N)+Math.round(ws[2*i]/N)+carry;ws[i]=67108863&w,carry=w<67108864?0:w/67108864|0}return ws},FFTM.prototype.convert13b=function(ws,len,rws,N){for(var carry=0,i=0;i<len;i++)carry+=0|ws[i],rws[2*i]=8191&carry,carry>>>=13,rws[2*i+1]=8191&carry,carry>>>=13;for(i=2*len;i<N;++i)rws[i]=0;assert(0===carry),assert(0==(-8192&carry))},FFTM.prototype.stub=function(N){for(var ph=new Array(N),i=0;i<N;i++)ph[i]=0;return ph},FFTM.prototype.mulp=function(x,y,out){var N=2*this.guessLen13b(x.length,y.length),rbt=this.makeRBT(N),_=this.stub(N),rws=new Array(N),rwst=new Array(N),iwst=new Array(N),nrws=new Array(N),nrwst=new Array(N),niwst=new Array(N),rmws=out.words;rmws.length=N,this.convert13b(x.words,x.length,rws,N),this.convert13b(y.words,y.length,nrws,N),this.transform(rws,_,rwst,iwst,N,rbt),this.transform(nrws,_,nrwst,niwst,N,rbt);for(var i=0;i<N;i++){var rx=rwst[i]*nrwst[i]-iwst[i]*niwst[i];iwst[i]=rwst[i]*niwst[i]+iwst[i]*nrwst[i],rwst[i]=rx}return this.conjugate(rwst,iwst,N),this.transform(rwst,iwst,rmws,_,N,rbt),this.conjugate(rmws,_,N),this.normalize13b(rmws,N),out.negative=x.negative^y.negative,out.length=x.length+y.length,out.strip()},BN.prototype.mul=function(num){var out=new BN(null);return out.words=new Array(this.length+num.length),this.mulTo(num,out)},BN.prototype.mulf=function(num){var out=new BN(null);return out.words=new Array(this.length+num.length),jumboMulTo(this,num,out)},BN.prototype.imul=function(num){return this.clone().mulTo(num,this)},BN.prototype.imuln=function(num){assert(\"number\"==typeof num),assert(num<67108864);for(var carry=0,i=0;i<this.length;i++){var w=(0|this.words[i])*num,lo=(67108863&w)+(67108863&carry);carry>>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=67108863&lo}return 0!==carry&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=function(num){for(var w=new Array(num.bitLength()),bit=0;bit<w.length;bit++){var off=bit/26|0,wbit=bit%26;w[bit]=(num.words[off]&1<<wbit)>>>wbit}return w}(num);if(0===w.length)return new BN(1);for(var res=this,i=0;i<w.length&&0===w[i];i++,res=res.sqr());if(++i<w.length)for(var q=res.sqr();i<w.length;i++,q=q.sqr())0!==w[i]&&(res=res.mul(q));return res},BN.prototype.iushln=function(bits){assert(\"number\"==typeof bits&&0<=bits);var i,r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r;if(0!=r){var carry=0;for(i=0;i<this.length;i++){var newCarry=this.words[i]&carryMask,c=(0|this.words[i])-newCarry<<r;this.words[i]=c|carry,carry=newCarry>>>26-r}carry&&(this.words[i]=carry,this.length++)}if(0!=s){for(i=this.length-1;0<=i;i--)this.words[i+s]=this.words[i];for(i=0;i<s;i++)this.words[i]=0;this.length+=s}return this.strip()},BN.prototype.ishln=function(bits){return assert(0===this.negative),this.iushln(bits)},BN.prototype.iushrn=function(bits,hint,extended){var h;assert(\"number\"==typeof bits&&0<=bits),h=hint?(hint-hint%26)/26:0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<<r,maskedWords=extended;if(h-=s,h=Math.max(0,h),maskedWords){for(var i=0;i<s;i++)maskedWords.words[i]=this.words[i];maskedWords.length=s}if(0!==s)if(this.length>s)for(this.length-=s,i=0;i<this.length;i++)this.words[i]=this.words[i+s];else this.words[0]=0,this.length=1;var carry=0;for(i=this.length-1;0<=i&&(0!==carry||h<=i);i--){var word=0|this.words[i];this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&0!==carry&&(maskedWords.words[maskedWords.length++]=carry),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(0===this.negative),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(\"number\"==typeof bit&&0<=bit);var r=bit%26,s=(bit-r)/26,q=1<<r;return!(this.length<=s||!(this.words[s]&q))},BN.prototype.imaskn=function(bits){assert(\"number\"==typeof bits&&0<=bits);var r=bits%26,s=(bits-r)/26;if(assert(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(0!=r&&s++,this.length=Math.min(s,this.length),0!=r){var mask=67108863^67108863>>>r<<r;this.words[this.length-1]&=mask}return this.strip()},BN.prototype.maskn=function(bits){return this.clone().imaskn(bits)},BN.prototype.iaddn=function(num){return assert(\"number\"==typeof num),assert(num<67108864),num<0?this.isubn(-num):0!==this.negative?(1===this.length&&(0|this.words[0])<num?(this.words[0]=num-(0|this.words[0]),this.negative=0):(this.negative=0,this.isubn(num),this.negative=1),this):this._iaddn(num)},BN.prototype._iaddn=function(num){this.words[0]+=num;for(var i=0;i<this.length&&67108864<=this.words[i];i++)this.words[i]-=67108864,i===this.length-1?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(\"number\"==typeof num),assert(num<67108864),num<0)return this.iaddn(-num);if(0!==this.negative)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i<this.length&&this.words[i]<0;i++)this.words[i]+=67108864,--this.words[i+1];return this.strip()},BN.prototype.addn=function(num){return this.clone().iaddn(num)},BN.prototype.subn=function(num){return this.clone().isubn(num)},BN.prototype.iabs=function(){return this.negative=0,this},BN.prototype.abs=function(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function(num,mul,shift){var i,w,len=num.length+shift;this._expand(len);var carry=0;for(i=0;i<num.length;i++){w=(0|this.words[i+shift])+carry;var right=(0|num.words[i])*mul;carry=((w-=67108863&right)>>26)-(right/67108864|0),this.words[i+shift]=67108863&w}for(;i<this.length-shift;i++)carry=(w=(0|this.words[i+shift])+carry)>>26,this.words[i+shift]=67108863&w;if(0===carry)return this.strip();for(assert(-1===carry),i=carry=0;i<this.length;i++)carry=(w=-(0|this.words[i])+carry)>>26,this.words[i]=67108863&w;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=(this.length,num.length),a=this.clone(),b=num,bhi=0|b.words[b.length-1];0!=(shift=26-this._countBits(bhi))&&(b=b.ushln(shift),a.iushln(shift),bhi=0|b.words[b.length-1]);var q,m=a.length-b.length;if(\"mod\"!==mode){(q=new BN(null)).length=1+m,q.words=new Array(q.length);for(var i=0;i<q.length;i++)q.words[i]=0}var diff=a.clone()._ishlnsubmul(b,1,m);0===diff.negative&&(a=diff,q&&(q.words[m]=1));for(var j=m-1;0<=j;j--){var qj=67108864*(0|a.words[b.length+j])+(0|a.words[b.length+j-1]);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);0!==a.negative;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),\"div\"!==mode&&0!=shift&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){return assert(!num.isZero()),this.isZero()?{div:new BN(0),mod:new BN(0)}:0!==this.negative&&0===num.negative?(res=this.neg().divmod(num,mode),\"mod\"!==mode&&(div=res.div.neg()),\"div\"!==mode&&(mod=res.mod.neg(),positive&&0!==mod.negative&&mod.iadd(num)),{div:div,mod:mod}):0===this.negative&&0!==num.negative?(res=this.divmod(num.neg(),mode),\"mod\"!==mode&&(div=res.div.neg()),{div:div,mod:res.mod}):0!=(this.negative&num.negative)?(res=this.neg().divmod(num.neg(),mode),\"div\"!==mode&&(mod=res.mod.neg(),positive&&0!==mod.negative&&mod.isub(num)),{div:res.div,mod:mod}):num.length>this.length||this.cmp(num)<0?{div:new BN(0),mod:this}:1===num.length?\"div\"===mode?{div:this.divn(num.words[0]),mod:null}:\"mod\"===mode?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode);var div,mod,res},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=0!==dm.div.negative?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||1===r2&&0===cmp?dm.div:0!==dm.div.negative?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;0<=i;i--)acc=(p*acc+(0|this.words[i]))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;0<=i;i--){var w=(0|this.words[i])+67108864*carry;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(0===p.negative),assert(!p.isZero());var x=this,y=p.clone();x=0!==x.negative?x.umod(p):x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;0==(x.words[0]&im)&&i<26;++i,im<<=1);if(0<i)for(x.iushrn(i);0<i--;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;0==(y.words[0]&jm)&&j<26;++j,jm<<=1);if(0<j)for(y.iushrn(j);0<j--;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);0<=x.cmp(y)?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(0===p.negative),assert(!p.isZero());var a=this,b=p.clone();a=0!==a.negative?a.umod(p):a.clone();for(var res,x1=new BN(1),x2=new BN(0),delta=b.clone();0<a.cmpn(1)&&0<b.cmpn(1);){for(var i=0,im=1;0==(a.words[0]&im)&&i<26;++i,im<<=1);if(0<i)for(a.iushrn(i);0<i--;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;0==(b.words[0]&jm)&&j<26;++j,jm<<=1);if(0<j)for(b.iushrn(j);0<j--;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);0<=a.cmp(b)?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}return(res=0===a.cmpn(1)?x1:x2).cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0;for(var shift=b.negative=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);for(;;){for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(0===r||0===b.cmpn(1))break;a.isub(b)}return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return 0==(1&this.words[0])},BN.prototype.isOdd=function(){return 1==(1&this.words[0])},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(\"number\"==typeof bit);var r=bit%26,s=(bit-r)/26,q=1<<r;if(this.length<=s)return this._expand(1+s),this.words[s]|=q,this;for(var carry=q,i=s;0!==carry&&i<this.length;i++){var w=0|this.words[i];carry=(w+=carry)>>>26,w&=67108863,this.words[i]=w}return 0!==carry&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},BN.prototype.cmpn=function(num){var res,negative=num<0;if(0!==this.negative&&!negative)return-1;if(0===this.negative&&negative)return 1;if(this.strip(),1<this.length)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=0|this.words[0];res=w===num?0:w<num?-1:1}return 0!==this.negative?0|-res:res},BN.prototype.cmp=function(num){if(0!==this.negative&&0===num.negative)return-1;if(0===this.negative&&0!==num.negative)return 1;var res=this.ucmp(num);return 0!==this.negative?0|-res:res},BN.prototype.ucmp=function(num){if(this.length>num.length)return 1;if(this.length<num.length)return-1;for(var res=0,i=this.length-1;0<=i;i--){var a=0|this.words[i],b=0|num.words[i];if(a!=b){a<b?res=-1:b<a&&(res=1);break}}return res},BN.prototype.gtn=function(num){return 1===this.cmpn(num)},BN.prototype.gt=function(num){return 1===this.cmp(num)},BN.prototype.gten=function(num){return 0<=this.cmpn(num)},BN.prototype.gte=function(num){return 0<=this.cmp(num)},BN.prototype.ltn=function(num){return-1===this.cmpn(num)},BN.prototype.lt=function(num){return-1===this.cmp(num)},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return 0===this.cmpn(num)},BN.prototype.eq=function(num){return 0===this.cmp(num)},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(0===this.negative,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function Red(m){if(\"string\"==typeof m){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){for(var rlen,r=num;this.split(r,this.tmp),(rlen=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength())>this.n;);var cmp=rlen<this.n?-1:r.ucmp(this.p);return 0===cmp?(r.words[0]=0,r.length=1):0<cmp?r.isub(this.p):r.strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)},inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var outLen=Math.min(input.length,9),i=0;i<outLen;i++)output.words[i]=input.words[i];if(output.length=outLen,input.length<=9)return input.words[0]=0,void(input.length=1);var prev=input.words[9];for(output.words[output.length++]=4194303&prev,i=10;i<input.length;i++){var next=0|input.words[i];input.words[i-10]=(4194303&next)<<4|prev>>>22,prev=next}prev>>>=22,0===(input.words[i-10]=prev)&&10<input.length?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i<num.length;i++){var w=0|num.words[i];lo+=977*w,num.words[i]=67108863&lo,lo=64*w+(lo/67108864|0)}return 0===num.words[num.length-1]&&(num.length--,0===num.words[num.length-1]&&num.length--),num},inherits(P224,MPrime),inherits(P192,MPrime),inherits(P25519,MPrime),P25519.prototype.imulK=function(num){for(var carry=0,i=0;i<num.length;i++){var hi=19*(0|num.words[i])+carry,lo=67108863&hi;hi>>>=26,num.words[i]=lo,carry=hi}return 0!==carry&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime;if(\"k256\"===name)prime=new K256;else if(\"p224\"===name)prime=new P224;else if(\"p192\"===name)prime=new P192;else{if(\"p25519\"!==name)throw new Error(\"Unknown prime \"+name);prime=new P25519}return primes[name]=prime},Red.prototype._verify1=function(a){assert(0===a.negative,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert(0==(a.negative|b.negative),\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return 0<=res.cmp(this.m)&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return 0<=res.cmp(this.m)&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2==1),3===mod3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&0===q.andln(1);)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);0!==this.pow(z,lpow).cmp(nOne);)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;0!==t.cmp(one);){for(var tmp=t,i=0;0!==tmp.cmp(one);i++)tmp=tmp.redSqr();assert(i<m);var b=this.pow(c,new BN(1).iushln(m-i-1));r=r.redMul(b),c=b.redSqr(),t=t.redMul(c),m=i}return r},Red.prototype.invm=function(a){var inv=a._invmp(this.m);return 0!==inv.negative?(inv.negative=0,this.imod(inv).redNeg()):this.imod(inv)},Red.prototype.pow=function(a,num){if(num.isZero())return new BN(1).toRed(this);if(0===num.cmpn(1))return a.clone();var wnd=new Array(16);wnd[0]=new BN(1).toRed(this),wnd[1]=a;for(var i=2;i<wnd.length;i++)wnd[i]=this.mul(wnd[i-1],a);var res=wnd[0],current=0,currentLen=0,start=num.bitLength()%26;for(0===start&&(start=26),i=num.length-1;0<=i;i--){for(var word=num.words[i],j=start-1;0<=j;j--){var bit=word>>j&1;res!==wnd[0]&&(res=this.sqr(res)),0!=bit||0!==current?(current<<=1,current|=bit,(4==++currentLen||0===i&&0===j)&&(res=this.mul(res,wnd[current]),current=currentLen=0)):currentLen=0}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)},inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return 0<=u.cmp(this.m)?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return 0<=u.cmp(this.m)?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){return this.imod(a._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===module||module,this)},{buffer:\"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js\"}],\"/Users/f/pjs/dhive/node_modules/brorand/index.js\":[function(_dereq_,module,exports){var r;function Rand(rand){this.rand=rand}if(module.exports=function(len){return(r=r||new Rand(null)).generate(len)},(module.exports.Rand=Rand).prototype.generate=function(len){return this._rand(len)},Rand.prototype._rand=function(n){if(this.rand.getBytes)return this.rand.getBytes(n);for(var res=new Uint8Array(n),i=0;i<res.length;i++)res[i]=this.rand.getByte();return res},\"object\"==typeof self)self.crypto&&self.crypto.getRandomValues?Rand.prototype._rand=function(n){var arr=new Uint8Array(n);return self.crypto.getRandomValues(arr),arr}:self.msCrypto&&self.msCrypto.getRandomValues?Rand.prototype._rand=function(n){var arr=new Uint8Array(n);return self.msCrypto.getRandomValues(arr),arr}:\"object\"==typeof window&&(Rand.prototype._rand=function(){throw new Error(\"Not implemented yet\")});else try{var crypto=_dereq_(\"crypto\");if(\"function\"!=typeof crypto.randomBytes)throw new Error(\"Not supported\");Rand.prototype._rand=function(n){return crypto.randomBytes(n)}}catch(e){}},{crypto:\"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js\"}],\"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js\":[function(_dereq_,module,exports){},{}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer;function asUInt32Array(buf){Buffer.isBuffer(buf)||(buf=Buffer.from(buf));for(var len=buf.length/4|0,out=new Array(len),i=0;i<len;i++)out[i]=buf.readUInt32BE(4*i);return out}function scrubVec(v){for(;0<v.length;v++)v[0]=0}function cryptBlock(M,keySchedule,SUB_MIX,SBOX,nRounds){for(var t0,t1,t2,t3,SUB_MIX0=SUB_MIX[0],SUB_MIX1=SUB_MIX[1],SUB_MIX2=SUB_MIX[2],SUB_MIX3=SUB_MIX[3],s0=M[0]^keySchedule[0],s1=M[1]^keySchedule[1],s2=M[2]^keySchedule[2],s3=M[3]^keySchedule[3],ksRow=4,round=1;round<nRounds;round++)t0=SUB_MIX0[s0>>>24]^SUB_MIX1[s1>>>16&255]^SUB_MIX2[s2>>>8&255]^SUB_MIX3[255&s3]^keySchedule[ksRow++],t1=SUB_MIX0[s1>>>24]^SUB_MIX1[s2>>>16&255]^SUB_MIX2[s3>>>8&255]^SUB_MIX3[255&s0]^keySchedule[ksRow++],t2=SUB_MIX0[s2>>>24]^SUB_MIX1[s3>>>16&255]^SUB_MIX2[s0>>>8&255]^SUB_MIX3[255&s1]^keySchedule[ksRow++],t3=SUB_MIX0[s3>>>24]^SUB_MIX1[s0>>>16&255]^SUB_MIX2[s1>>>8&255]^SUB_MIX3[255&s2]^keySchedule[ksRow++],s0=t0,s1=t1,s2=t2,s3=t3;return t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[255&s3])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[255&s0])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[255&s1])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[255&s2])^keySchedule[ksRow++],[t0>>>=0,t1>>>=0,t2>>>=0,t3>>>=0]}var RCON=[0,1,2,4,8,16,32,64,128,27,54],G=function(){for(var d=new Array(256),j=0;j<256;j++)d[j]=j<128?j<<1:j<<1^283;for(var SBOX=[],INV_SBOX=[],SUB_MIX=[[],[],[],[]],INV_SUB_MIX=[[],[],[],[]],x=0,xi=0,i=0;i<256;++i){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^255&sx^99;var x2=d[INV_SBOX[SBOX[x]=sx]=x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;SUB_MIX[0][x]=t<<24|t>>>8,SUB_MIX[1][x]=t<<16|t>>>16,SUB_MIX[2][x]=t<<8|t>>>24,SUB_MIX[3][x]=t,t=16843009*x8^65537*x4^257*x2^16843008*x,INV_SUB_MIX[0][sx]=t<<24|t>>>8,INV_SUB_MIX[1][sx]=t<<16|t>>>16,INV_SUB_MIX[2][sx]=t<<8|t>>>24,INV_SUB_MIX[3][sx]=t,0===x?x=xi=1:(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]])}return{SBOX:SBOX,INV_SBOX:INV_SBOX,SUB_MIX:SUB_MIX,INV_SUB_MIX:INV_SUB_MIX}}();function AES(key){this._key=asUInt32Array(key),this._reset()}AES.blockSize=16,AES.keySize=32,AES.prototype.blockSize=AES.blockSize,AES.prototype.keySize=AES.keySize,AES.prototype._reset=function(){for(var keyWords=this._key,keySize=keyWords.length,nRounds=keySize+6,ksRows=4*(nRounds+1),keySchedule=[],k=0;k<keySize;k++)keySchedule[k]=keyWords[k];for(k=keySize;k<ksRows;k++){var t=keySchedule[k-1];k%keySize==0?(t=t<<8|t>>>24,t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[255&t],t^=RCON[k/keySize|0]<<24):6<keySize&&k%keySize==4&&(t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[255&t]),keySchedule[k]=keySchedule[k-keySize]^t}for(var invKeySchedule=[],ik=0;ik<ksRows;ik++){var ksR=ksRows-ik,tt=keySchedule[ksR-(ik%4?0:4)];invKeySchedule[ik]=ik<4||ksR<=4?tt:G.INV_SUB_MIX[0][G.SBOX[tt>>>24]]^G.INV_SUB_MIX[1][G.SBOX[tt>>>16&255]]^G.INV_SUB_MIX[2][G.SBOX[tt>>>8&255]]^G.INV_SUB_MIX[3][G.SBOX[255&tt]]}this._nRounds=nRounds,this._keySchedule=keySchedule,this._invKeySchedule=invKeySchedule},AES.prototype.encryptBlockRaw=function(M){return cryptBlock(M=asUInt32Array(M),this._keySchedule,G.SUB_MIX,G.SBOX,this._nRounds)},AES.prototype.encryptBlock=function(M){var out=this.encryptBlockRaw(M),buf=Buffer.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[1],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[3],12),buf},AES.prototype.decryptBlock=function(M){var m1=(M=asUInt32Array(M))[1];M[1]=M[3],M[3]=m1;var out=cryptBlock(M,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds),buf=Buffer.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[3],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[1],12),buf},AES.prototype.scrub=function(){scrubVec(this._keySchedule),scrubVec(this._invKeySchedule),scrubVec(this._key)},module.exports.AES=AES},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/authCipher.js\":[function(_dereq_,module,exports){var aes=_dereq_(\"./aes\"),Buffer=_dereq_(\"safe-buffer\").Buffer,Transform=_dereq_(\"cipher-base\"),inherits=_dereq_(\"inherits\"),GHASH=_dereq_(\"./ghash\"),xor=_dereq_(\"buffer-xor\"),incr32=_dereq_(\"./incr32\");function StreamCipher(mode,key,iv,decrypt){Transform.call(this);var h=Buffer.alloc(4,0);this._cipher=new aes.AES(key);var ck=this._cipher.encryptBlock(h);this._ghash=new GHASH(ck),iv=function(self,iv,ck){if(12===iv.length)return self._finID=Buffer.concat([iv,Buffer.from([0,0,0,1])]),Buffer.concat([iv,Buffer.from([0,0,0,2])]);var ghash=new GHASH(ck),len=iv.length,toPad=len%16;ghash.update(iv),toPad&&(toPad=16-toPad,ghash.update(Buffer.alloc(toPad,0))),ghash.update(Buffer.alloc(8,0));var ivBits=8*len,tail=Buffer.alloc(8);tail.writeUIntBE(ivBits,0,8),ghash.update(tail),self._finID=ghash.state;var out=Buffer.from(self._finID);return incr32(out),out}(this,iv,ck),this._prev=Buffer.from(iv),this._cache=Buffer.allocUnsafe(0),this._secCache=Buffer.allocUnsafe(0),this._decrypt=decrypt,this._alen=0,this._len=0,this._mode=mode,this._authTag=null,this._called=!1}inherits(StreamCipher,Transform),StreamCipher.prototype._update=function(chunk){if(!this._called&&this._alen){var rump=16-this._alen%16;rump<16&&(rump=Buffer.alloc(rump,0),this._ghash.update(rump))}this._called=!0;var out=this._mode.encrypt(this,chunk);return this._decrypt?this._ghash.update(chunk):this._ghash.update(out),this._len+=chunk.length,out},StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error(\"Unsupported state or unable to authenticate data\");var tag=xor(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(a,b){var out=0;a.length!==b.length&&out++;for(var len=Math.min(a.length,b.length),i=0;i<len;++i)out+=a[i]^b[i];return out}(tag,this._authTag))throw new Error(\"Unsupported state or unable to authenticate data\");this._authTag=tag,this._cipher.scrub()},StreamCipher.prototype.getAuthTag=function(){if(this._decrypt||!Buffer.isBuffer(this._authTag))throw new Error(\"Attempting to get auth tag in unsupported state\");return this._authTag},StreamCipher.prototype.setAuthTag=function(tag){if(!this._decrypt)throw new Error(\"Attempting to set auth tag in unsupported state\");this._authTag=tag},StreamCipher.prototype.setAAD=function(buf){if(this._called)throw new Error(\"Attempting to set AAD in unsupported state\");this._ghash.update(buf),this._alen+=buf.length},module.exports=StreamCipher},{\"./aes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js\",\"./ghash\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/ghash.js\",\"./incr32\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/incr32.js\",\"buffer-xor\":\"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js\",\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js\":[function(_dereq_,module,exports){var ciphers=_dereq_(\"./encrypter\"),deciphers=_dereq_(\"./decrypter\"),modes=_dereq_(\"./modes/list.json\");exports.createCipher=exports.Cipher=ciphers.createCipher,exports.createCipheriv=exports.Cipheriv=ciphers.createCipheriv,exports.createDecipher=exports.Decipher=deciphers.createDecipher,exports.createDecipheriv=exports.Decipheriv=deciphers.createDecipheriv,exports.listCiphers=exports.getCiphers=function(){return Object.keys(modes)}},{\"./decrypter\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/decrypter.js\",\"./encrypter\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/encrypter.js\",\"./modes/list.json\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/list.json\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/decrypter.js\":[function(_dereq_,module,exports){var AuthCipher=_dereq_(\"./authCipher\"),Buffer=_dereq_(\"safe-buffer\").Buffer,MODES=_dereq_(\"./modes\"),StreamCipher=_dereq_(\"./streamCipher\"),Transform=_dereq_(\"cipher-base\"),aes=_dereq_(\"./aes\"),ebtk=_dereq_(\"evp_bytestokey\");function Decipher(mode,key,iv){Transform.call(this),this._cache=new Splitter,this._last=void 0,this._cipher=new aes.AES(key),this._prev=Buffer.from(iv),this._mode=mode,this._autopadding=!0}function Splitter(){this.cache=Buffer.allocUnsafe(0)}function createDecipheriv(suite,password,iv){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof iv&&(iv=Buffer.from(iv)),\"GCM\"!==config.mode&&iv.length!==config.iv)throw new TypeError(\"invalid iv length \"+iv.length);if(\"string\"==typeof password&&(password=Buffer.from(password)),password.length!==config.key/8)throw new TypeError(\"invalid key length \"+password.length);return\"stream\"===config.type?new StreamCipher(config.module,password,iv,!0):\"auth\"===config.type?new AuthCipher(config.module,password,iv,!0):new Decipher(config.module,password,iv)}_dereq_(\"inherits\")(Decipher,Transform),Decipher.prototype._update=function(data){var chunk,thing;this._cache.add(data);for(var out=[];chunk=this._cache.get(this._autopadding);)thing=this._mode.decrypt(this,chunk),out.push(thing);return Buffer.concat(out)},Decipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding)return function(last){var padded=last[15];if(padded<1||16<padded)throw new Error(\"unable to decrypt data\");for(var i=-1;++i<padded;)if(last[i+(16-padded)]!==padded)throw new Error(\"unable to decrypt data\");if(16!==padded)return last.slice(0,16-padded)}(this._mode.decrypt(this,chunk));if(chunk)throw new Error(\"data not multiple of block length\")},Decipher.prototype.setAutoPadding=function(setTo){return this._autopadding=!!setTo,this},Splitter.prototype.add=function(data){this.cache=Buffer.concat([this.cache,data])},Splitter.prototype.get=function(autoPadding){var out;if(autoPadding){if(16<this.cache.length)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out}else if(16<=this.cache.length)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out;return null},Splitter.prototype.flush=function(){if(this.cache.length)return this.cache},exports.createDecipher=function(suite,password){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError(\"invalid suite type\");var keys=ebtk(password,!1,config.key,config.iv);return createDecipheriv(suite,keys.key,keys.iv)},exports.createDecipheriv=createDecipheriv},{\"./aes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js\",\"./authCipher\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/authCipher.js\",\"./modes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js\",\"./streamCipher\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/streamCipher.js\",\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",evp_bytestokey:\"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/encrypter.js\":[function(_dereq_,module,exports){var MODES=_dereq_(\"./modes\"),AuthCipher=_dereq_(\"./authCipher\"),Buffer=_dereq_(\"safe-buffer\").Buffer,StreamCipher=_dereq_(\"./streamCipher\"),Transform=_dereq_(\"cipher-base\"),aes=_dereq_(\"./aes\"),ebtk=_dereq_(\"evp_bytestokey\");function Cipher(mode,key,iv){Transform.call(this),this._cache=new Splitter,this._cipher=new aes.AES(key),this._prev=Buffer.from(iv),this._mode=mode,this._autopadding=!0}_dereq_(\"inherits\")(Cipher,Transform),Cipher.prototype._update=function(data){var chunk,thing;this._cache.add(data);for(var out=[];chunk=this._cache.get();)thing=this._mode.encrypt(this,chunk),out.push(thing);return Buffer.concat(out)};var PADDING=Buffer.alloc(16,16);function Splitter(){this.cache=Buffer.allocUnsafe(0)}function createCipheriv(suite,password,iv){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError(\"invalid suite type\");if(\"string\"==typeof password&&(password=Buffer.from(password)),password.length!==config.key/8)throw new TypeError(\"invalid key length \"+password.length);if(\"string\"==typeof iv&&(iv=Buffer.from(iv)),\"GCM\"!==config.mode&&iv.length!==config.iv)throw new TypeError(\"invalid iv length \"+iv.length);return new(\"stream\"===config.type?StreamCipher:\"auth\"===config.type?AuthCipher:Cipher)(config.module,password,iv)}Cipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding)return chunk=this._mode.encrypt(this,chunk),this._cipher.scrub(),chunk;if(!chunk.equals(PADDING))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},Cipher.prototype.setAutoPadding=function(setTo){return this._autopadding=!!setTo,this},Splitter.prototype.add=function(data){this.cache=Buffer.concat([this.cache,data])},Splitter.prototype.get=function(){if(15<this.cache.length){var out=this.cache.slice(0,16);return this.cache=this.cache.slice(16),out}return null},Splitter.prototype.flush=function(){for(var len=16-this.cache.length,padBuff=Buffer.allocUnsafe(len),i=-1;++i<len;)padBuff.writeUInt8(len,i);return Buffer.concat([this.cache,padBuff])},exports.createCipheriv=createCipheriv,exports.createCipher=function(suite,password){var config=MODES[suite.toLowerCase()];if(!config)throw new TypeError(\"invalid suite type\");var keys=ebtk(password,!1,config.key,config.iv);return createCipheriv(suite,keys.key,keys.iv)}},{\"./aes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js\",\"./authCipher\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/authCipher.js\",\"./modes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js\",\"./streamCipher\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/streamCipher.js\",\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",evp_bytestokey:\"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/ghash.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer,ZEROES=Buffer.alloc(16,0);function fromArray(out){var buf=Buffer.allocUnsafe(16);return buf.writeUInt32BE(out[0]>>>0,0),buf.writeUInt32BE(out[1]>>>0,4),buf.writeUInt32BE(out[2]>>>0,8),buf.writeUInt32BE(out[3]>>>0,12),buf}function GHASH(key){this.h=key,this.state=Buffer.alloc(16,0),this.cache=Buffer.allocUnsafe(0)}GHASH.prototype.ghash=function(block){for(var i=-1;++i<block.length;)this.state[i]^=block[i];this._multiply()},GHASH.prototype._multiply=function(){for(var buf,j,lsbVi,Vi=[(buf=this.h).readUInt32BE(0),buf.readUInt32BE(4),buf.readUInt32BE(8),buf.readUInt32BE(12)],Zi=[0,0,0,0],i=-1;++i<128;){for(0!=(this.state[~~(i/8)]&1<<7-i%8)&&(Zi[0]^=Vi[0],Zi[1]^=Vi[1],Zi[2]^=Vi[2],Zi[3]^=Vi[3]),lsbVi=0!=(1&Vi[3]),j=3;0<j;j--)Vi[j]=Vi[j]>>>1|(1&Vi[j-1])<<31;Vi[0]=Vi[0]>>>1,lsbVi&&(Vi[0]=Vi[0]^225<<24)}this.state=fromArray(Zi)},GHASH.prototype.update=function(buf){var chunk;for(this.cache=Buffer.concat([this.cache,buf]);16<=this.cache.length;)chunk=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(chunk)},GHASH.prototype.final=function(abl,bl){return this.cache.length&&this.ghash(Buffer.concat([this.cache,ZEROES],16)),this.ghash(fromArray([0,abl,0,bl])),this.state},module.exports=GHASH},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/incr32.js\":[function(_dereq_,module,exports){module.exports=function(iv){for(var item,len=iv.length;len--;){if(255!==(item=iv.readUInt8(len))){item++,iv.writeUInt8(item,len);break}iv.writeUInt8(0,len)}}},{}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cbc.js\":[function(_dereq_,module,exports){var xor=_dereq_(\"buffer-xor\");exports.encrypt=function(self,block){var data=xor(block,self._prev);return self._prev=self._cipher.encryptBlock(data),self._prev},exports.decrypt=function(self,block){var pad=self._prev;self._prev=block;var out=self._cipher.decryptBlock(block);return xor(out,pad)}},{\"buffer-xor\":\"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer,xor=_dereq_(\"buffer-xor\");function encryptStart(self,data,decrypt){var len=data.length,out=xor(data,self._cache);return self._cache=self._cache.slice(len),self._prev=Buffer.concat([self._prev,decrypt?data:out]),out}exports.encrypt=function(self,data,decrypt){for(var len,out=Buffer.allocUnsafe(0);data.length;){if(0===self._cache.length&&(self._cache=self._cipher.encryptBlock(self._prev),self._prev=Buffer.allocUnsafe(0)),!(self._cache.length<=data.length)){out=Buffer.concat([out,encryptStart(self,data,decrypt)]);break}len=self._cache.length,out=Buffer.concat([out,encryptStart(self,data.slice(0,len),decrypt)]),data=data.slice(len)}return out}},{\"buffer-xor\":\"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb1.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer;function encryptByte(self,byteParam,decrypt){for(var bit,value,i=-1,out=0;++i<8;)bit=byteParam&1<<7-i?128:0,out+=(128&(value=self._cipher.encryptBlock(self._prev)[0]^bit))>>i%8,self._prev=shiftIn(self._prev,decrypt?bit:value);return out}function shiftIn(buffer,value){var len=buffer.length,i=-1,out=Buffer.allocUnsafe(buffer.length);for(buffer=Buffer.concat([buffer,Buffer.from([value])]);++i<len;)out[i]=buffer[i]<<1|buffer[i+1]>>7;return out}exports.encrypt=function(self,chunk,decrypt){for(var len=chunk.length,out=Buffer.allocUnsafe(len),i=-1;++i<len;)out[i]=encryptByte(self,chunk[i],decrypt);return out}},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb8.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer;function encryptByte(self,byteParam,decrypt){var out=self._cipher.encryptBlock(self._prev)[0]^byteParam;return self._prev=Buffer.concat([self._prev.slice(1),Buffer.from([decrypt?byteParam:out])]),out}exports.encrypt=function(self,chunk,decrypt){for(var len=chunk.length,out=Buffer.allocUnsafe(len),i=-1;++i<len;)out[i]=encryptByte(self,chunk[i],decrypt);return out}},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ctr.js\":[function(_dereq_,module,exports){var xor=_dereq_(\"buffer-xor\"),Buffer=_dereq_(\"safe-buffer\").Buffer,incr32=_dereq_(\"../incr32\");function getBlock(self){var out=self._cipher.encryptBlockRaw(self._prev);return incr32(self._prev),out}exports.encrypt=function(self,chunk){var chunkNum=Math.ceil(chunk.length/16),start=self._cache.length;self._cache=Buffer.concat([self._cache,Buffer.allocUnsafe(16*chunkNum)]);for(var i=0;i<chunkNum;i++){var out=getBlock(self),offset=start+16*i;self._cache.writeUInt32BE(out[0],offset+0),self._cache.writeUInt32BE(out[1],offset+4),self._cache.writeUInt32BE(out[2],offset+8),self._cache.writeUInt32BE(out[3],offset+12)}var pad=self._cache.slice(0,chunk.length);return self._cache=self._cache.slice(chunk.length),xor(chunk,pad)}},{\"../incr32\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/incr32.js\",\"buffer-xor\":\"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ecb.js\":[function(_dereq_,module,exports){exports.encrypt=function(self,block){return self._cipher.encryptBlock(block)},exports.decrypt=function(self,block){return self._cipher.decryptBlock(block)}},{}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js\":[function(_dereq_,module,exports){var modeModules={ECB:_dereq_(\"./ecb\"),CBC:_dereq_(\"./cbc\"),CFB:_dereq_(\"./cfb\"),CFB8:_dereq_(\"./cfb8\"),CFB1:_dereq_(\"./cfb1\"),OFB:_dereq_(\"./ofb\"),CTR:_dereq_(\"./ctr\"),GCM:_dereq_(\"./ctr\")},modes=_dereq_(\"./list.json\");for(var key in modes)modes[key].module=modeModules[modes[key].mode];module.exports=modes},{\"./cbc\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cbc.js\",\"./cfb\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb.js\",\"./cfb1\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb1.js\",\"./cfb8\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/cfb8.js\",\"./ctr\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ctr.js\",\"./ecb\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ecb.js\",\"./list.json\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/list.json\",\"./ofb\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ofb.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/list.json\":[function(_dereq_,module,exports){module.exports={\"aes-128-ecb\":{cipher:\"AES\",key:128,iv:0,mode:\"ECB\",type:\"block\"},\"aes-192-ecb\":{cipher:\"AES\",key:192,iv:0,mode:\"ECB\",type:\"block\"},\"aes-256-ecb\":{cipher:\"AES\",key:256,iv:0,mode:\"ECB\",type:\"block\"},\"aes-128-cbc\":{cipher:\"AES\",key:128,iv:16,mode:\"CBC\",type:\"block\"},\"aes-192-cbc\":{cipher:\"AES\",key:192,iv:16,mode:\"CBC\",type:\"block\"},\"aes-256-cbc\":{cipher:\"AES\",key:256,iv:16,mode:\"CBC\",type:\"block\"},aes128:{cipher:\"AES\",key:128,iv:16,mode:\"CBC\",type:\"block\"},aes192:{cipher:\"AES\",key:192,iv:16,mode:\"CBC\",type:\"block\"},aes256:{cipher:\"AES\",key:256,iv:16,mode:\"CBC\",type:\"block\"},\"aes-128-cfb\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-192-cfb\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-256-cfb\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB\",type:\"stream\"},\"aes-128-cfb8\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-192-cfb8\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-256-cfb8\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB8\",type:\"stream\"},\"aes-128-cfb1\":{cipher:\"AES\",key:128,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-192-cfb1\":{cipher:\"AES\",key:192,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-256-cfb1\":{cipher:\"AES\",key:256,iv:16,mode:\"CFB1\",type:\"stream\"},\"aes-128-ofb\":{cipher:\"AES\",key:128,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-192-ofb\":{cipher:\"AES\",key:192,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-256-ofb\":{cipher:\"AES\",key:256,iv:16,mode:\"OFB\",type:\"stream\"},\"aes-128-ctr\":{cipher:\"AES\",key:128,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-192-ctr\":{cipher:\"AES\",key:192,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-256-ctr\":{cipher:\"AES\",key:256,iv:16,mode:\"CTR\",type:\"stream\"},\"aes-128-gcm\":{cipher:\"AES\",key:128,iv:12,mode:\"GCM\",type:\"auth\"},\"aes-192-gcm\":{cipher:\"AES\",key:192,iv:12,mode:\"GCM\",type:\"auth\"},\"aes-256-gcm\":{cipher:\"AES\",key:256,iv:12,mode:\"GCM\",type:\"auth\"}}},{}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/ofb.js\":[function(_dereq_,module,exports){(function(Buffer){var xor=_dereq_(\"buffer-xor\");function getBlock(self){return self._prev=self._cipher.encryptBlock(self._prev),self._prev}exports.encrypt=function(self,chunk){for(;self._cache.length<chunk.length;)self._cache=Buffer.concat([self._cache,getBlock(self)]);var pad=self._cache.slice(0,chunk.length);return self._cache=self._cache.slice(chunk.length),xor(chunk,pad)}}).call(this,_dereq_(\"buffer\").Buffer)},{buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",\"buffer-xor\":\"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-aes/streamCipher.js\":[function(_dereq_,module,exports){var aes=_dereq_(\"./aes\"),Buffer=_dereq_(\"safe-buffer\").Buffer,Transform=_dereq_(\"cipher-base\");function StreamCipher(mode,key,iv,decrypt){Transform.call(this),this._cipher=new aes.AES(key),this._prev=Buffer.from(iv),this._cache=Buffer.allocUnsafe(0),this._secCache=Buffer.allocUnsafe(0),this._decrypt=decrypt,this._mode=mode}_dereq_(\"inherits\")(StreamCipher,Transform),StreamCipher.prototype._update=function(chunk){return this._mode.encrypt(this,chunk,this._decrypt)},StreamCipher.prototype._final=function(){this._cipher.scrub()},module.exports=StreamCipher},{\"./aes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/aes.js\",\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-cipher/browser.js\":[function(_dereq_,module,exports){var DES=_dereq_(\"browserify-des\"),aes=_dereq_(\"browserify-aes/browser\"),aesModes=_dereq_(\"browserify-aes/modes\"),desModes=_dereq_(\"browserify-des/modes\"),ebtk=_dereq_(\"evp_bytestokey\");function createCipheriv(suite,key,iv){if(suite=suite.toLowerCase(),aesModes[suite])return aes.createCipheriv(suite,key,iv);if(desModes[suite])return new DES({key:key,iv:iv,mode:suite});throw new TypeError(\"invalid suite type\")}function createDecipheriv(suite,key,iv){if(suite=suite.toLowerCase(),aesModes[suite])return aes.createDecipheriv(suite,key,iv);if(desModes[suite])return new DES({key:key,iv:iv,mode:suite,decrypt:!0});throw new TypeError(\"invalid suite type\")}exports.createCipher=exports.Cipher=function(suite,password){var keyLen,ivLen;if(suite=suite.toLowerCase(),aesModes[suite])keyLen=aesModes[suite].key,ivLen=aesModes[suite].iv;else{if(!desModes[suite])throw new TypeError(\"invalid suite type\");keyLen=8*desModes[suite].key,ivLen=desModes[suite].iv}var keys=ebtk(password,!1,keyLen,ivLen);return createCipheriv(suite,keys.key,keys.iv)},exports.createCipheriv=exports.Cipheriv=createCipheriv,exports.createDecipher=exports.Decipher=function(suite,password){var keyLen,ivLen;if(suite=suite.toLowerCase(),aesModes[suite])keyLen=aesModes[suite].key,ivLen=aesModes[suite].iv;else{if(!desModes[suite])throw new TypeError(\"invalid suite type\");keyLen=8*desModes[suite].key,ivLen=desModes[suite].iv}var keys=ebtk(password,!1,keyLen,ivLen);return createDecipheriv(suite,keys.key,keys.iv)},exports.createDecipheriv=exports.Decipheriv=createDecipheriv,exports.listCiphers=exports.getCiphers=function(){return Object.keys(desModes).concat(aes.getCiphers())}},{\"browserify-aes/browser\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js\",\"browserify-aes/modes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/modes/index.js\",\"browserify-des\":\"/Users/f/pjs/dhive/node_modules/browserify-des/index.js\",\"browserify-des/modes\":\"/Users/f/pjs/dhive/node_modules/browserify-des/modes.js\",evp_bytestokey:\"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-des/index.js\":[function(_dereq_,module,exports){var CipherBase=_dereq_(\"cipher-base\"),des=_dereq_(\"des.js\"),inherits=_dereq_(\"inherits\"),Buffer=_dereq_(\"safe-buffer\").Buffer,modes={\"des-ede3-cbc\":des.CBC.instantiate(des.EDE),\"des-ede3\":des.EDE,\"des-ede-cbc\":des.CBC.instantiate(des.EDE),\"des-ede\":des.EDE,\"des-cbc\":des.CBC.instantiate(des.DES),\"des-ecb\":des.DES};function DES(opts){CipherBase.call(this);var type,modeName=opts.mode.toLowerCase(),mode=modes[modeName];type=opts.decrypt?\"decrypt\":\"encrypt\";var key=opts.key;Buffer.isBuffer(key)||(key=Buffer.from(key)),\"des-ede\"!==modeName&&\"des-ede-cbc\"!==modeName||(key=Buffer.concat([key,key.slice(0,8)]));var iv=opts.iv;Buffer.isBuffer(iv)||(iv=Buffer.from(iv)),this._des=mode.create({key:key,iv:iv,type:type})}modes.des=modes[\"des-cbc\"],modes.des3=modes[\"des-ede3-cbc\"],inherits(module.exports=DES,CipherBase),DES.prototype._update=function(data){return Buffer.from(this._des.update(data))},DES.prototype._final=function(){return Buffer.from(this._des.final())}},{\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",\"des.js\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-des/modes.js\":[function(_dereq_,module,exports){exports[\"des-ecb\"]={key:8,iv:0},exports[\"des-cbc\"]=exports.des={key:8,iv:8},exports[\"des-ede3-cbc\"]=exports.des3={key:24,iv:8},exports[\"des-ede3\"]={key:24,iv:0},exports[\"des-ede-cbc\"]={key:16,iv:8},exports[\"des-ede\"]={key:16,iv:0}},{}],\"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js\":[function(_dereq_,module,exports){(function(Buffer){var bn=_dereq_(\"bn.js\"),randomBytes=_dereq_(\"randombytes\");function getr(priv){for(var len=priv.modulus.byteLength(),r=new bn(randomBytes(len));0<=r.cmp(priv.modulus)||!r.umod(priv.prime1)||!r.umod(priv.prime2);)r=new bn(randomBytes(len));return r}(module.exports=function(msg,priv){var blinds=function(priv){var r=getr(priv);return{blinder:r.toRed(bn.mont(priv.modulus)).redPow(new bn(priv.publicExponent)).fromRed(),unblinder:r.invm(priv.modulus)}}(priv),len=priv.modulus.byteLength(),blinded=(bn.mont(priv.modulus),new bn(msg).mul(blinds.blinder).umod(priv.modulus)),c1=blinded.toRed(bn.mont(priv.prime1)),c2=blinded.toRed(bn.mont(priv.prime2)),qinv=priv.coefficient,p=priv.prime1,q=priv.prime2,m1=c1.redPow(priv.exponent1),m2=c2.redPow(priv.exponent2);m1=m1.fromRed(),m2=m2.fromRed();var h=m1.isub(m2).imul(qinv).umod(p);return h.imul(q),m2.iadd(h),new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(!1,len))}).getr=getr}).call(this,_dereq_(\"buffer\").Buffer)},{\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",randombytes:\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-sign/algos.js\":[function(_dereq_,module,exports){module.exports=_dereq_(\"./browser/algorithms.json\")},{\"./browser/algorithms.json\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/algorithms.json\"}],\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/algorithms.json\":[function(_dereq_,module,exports){module.exports={sha224WithRSAEncryption:{sign:\"rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{sign:\"ecdsa/rsa\",hash:\"sha224\",id:\"302d300d06096086480165030402040500041c\"},sha256WithRSAEncryption:{sign:\"rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{sign:\"ecdsa/rsa\",hash:\"sha256\",id:\"3031300d060960864801650304020105000420\"},sha384WithRSAEncryption:{sign:\"rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{sign:\"ecdsa/rsa\",hash:\"sha384\",id:\"3041300d060960864801650304020205000430\"},sha512WithRSAEncryption:{sign:\"rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{sign:\"ecdsa/rsa\",hash:\"sha512\",id:\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{sign:\"rsa\",hash:\"sha1\",id:\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{sign:\"ecdsa\",hash:\"sha1\",id:\"\"},sha256:{sign:\"ecdsa\",hash:\"sha256\",id:\"\"},sha224:{sign:\"ecdsa\",hash:\"sha224\",id:\"\"},sha384:{sign:\"ecdsa\",hash:\"sha384\",id:\"\"},sha512:{sign:\"ecdsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-SHA1\":{sign:\"dsa\",hash:\"sha1\",id:\"\"},DSA:{sign:\"dsa\",hash:\"sha1\",id:\"\"},\"DSA-WITH-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-SHA224\":{sign:\"dsa\",hash:\"sha224\",id:\"\"},\"DSA-WITH-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-SHA256\":{sign:\"dsa\",hash:\"sha256\",id:\"\"},\"DSA-WITH-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-SHA384\":{sign:\"dsa\",hash:\"sha384\",id:\"\"},\"DSA-WITH-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-SHA512\":{sign:\"dsa\",hash:\"sha512\",id:\"\"},\"DSA-RIPEMD160\":{sign:\"dsa\",hash:\"rmd160\",id:\"\"},ripemd160WithRSA:{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{sign:\"rsa\",hash:\"rmd160\",id:\"3021300906052b2403020105000414\"},md5WithRSAEncryption:{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{sign:\"rsa\",hash:\"md5\",id:\"3020300c06082a864886f70d020505000410\"}}},{}],\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/curves.json\":[function(_dereq_,module,exports){module.exports={\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}},{}],\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/index.js\":[function(_dereq_,module,exports){(function(Buffer){var createHash=_dereq_(\"create-hash\"),stream=_dereq_(\"stream\"),inherits=_dereq_(\"inherits\"),sign=_dereq_(\"./sign\"),verify=_dereq_(\"./verify\"),algorithms=_dereq_(\"./algorithms.json\");function Sign(algorithm){stream.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hashType=data.hash,this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}function Verify(algorithm){stream.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}function createSign(algorithm){return new Sign(algorithm)}function createVerify(algorithm){return new Verify(algorithm)}Object.keys(algorithms).forEach(function(key){algorithms[key].id=new Buffer(algorithms[key].id,\"hex\"),algorithms[key.toLowerCase()]=algorithms[key]}),inherits(Sign,stream.Writable),Sign.prototype._write=function(data,_,done){this._hash.update(data),done()},Sign.prototype.update=function(data,enc){return\"string\"==typeof data&&(data=new Buffer(data,enc)),this._hash.update(data),this},Sign.prototype.sign=function(key,enc){this.end();var hash=this._hash.digest(),sig=sign(hash,key,this._hashType,this._signType,this._tag);return enc?sig.toString(enc):sig},inherits(Verify,stream.Writable),Verify.prototype._write=function(data,_,done){this._hash.update(data),done()},Verify.prototype.update=function(data,enc){return\"string\"==typeof data&&(data=new Buffer(data,enc)),this._hash.update(data),this},Verify.prototype.verify=function(key,sig,enc){\"string\"==typeof sig&&(sig=new Buffer(sig,enc)),this.end();var hash=this._hash.digest();return verify(sig,hash,key,this._signType,this._tag)},module.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./algorithms.json\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/algorithms.json\",\"./sign\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/sign.js\",\"./verify\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/verify.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",\"create-hash\":\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",stream:\"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/sign.js\":[function(_dereq_,module,exports){(function(Buffer){var createHmac=_dereq_(\"create-hmac\"),crt=_dereq_(\"browserify-rsa\"),EC=_dereq_(\"elliptic\").ec,BN=_dereq_(\"bn.js\"),parseKeys=_dereq_(\"parse-asn1\"),curves=_dereq_(\"./curves.json\");function getKey(x,q,hash,algo){if((x=new Buffer(x.toArray())).length<q.byteLength()){var zeros=new Buffer(q.byteLength()-x.length);zeros.fill(0),x=Buffer.concat([zeros,x])}var hlen=hash.length,hbits=function(bits,q){bits=(bits=bits2int(bits,q)).mod(q);var out=new Buffer(bits.toArray());if(out.length<q.byteLength()){var zeros=new Buffer(q.byteLength()-out.length);zeros.fill(0),out=Buffer.concat([zeros,out])}return out}(hash,q),v=new Buffer(hlen);v.fill(1);var k=new Buffer(hlen);return k.fill(0),k=createHmac(algo,k).update(v).update(new Buffer([0])).update(x).update(hbits).digest(),v=createHmac(algo,k).update(v).digest(),{k:k=createHmac(algo,k).update(v).update(new Buffer([1])).update(x).update(hbits).digest(),v:v=createHmac(algo,k).update(v).digest()}}function bits2int(obits,q){var bits=new BN(obits),shift=(obits.length<<3)-q.bitLength();return 0<shift&&bits.ishrn(shift),bits}function makeKey(q,kv,algo){var t,k;do{for(t=new Buffer(0);8*t.length<q.bitLength();)kv.v=createHmac(algo,kv.k).update(kv.v).digest(),t=Buffer.concat([t,kv.v]);k=bits2int(t,q),kv.k=createHmac(algo,kv.k).update(kv.v).update(new Buffer([0])).digest(),kv.v=createHmac(algo,kv.k).update(kv.v).digest()}while(-1!==k.cmp(q));return k}function makeR(g,k,p,q){return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)}module.exports=function(hash,key,hashType,signType,tag){var priv=parseKeys(key);if(priv.curve){if(\"ecdsa\"!==signType&&\"ecdsa/rsa\"!==signType)throw new Error(\"wrong private key type\");return function(hash,priv){var curveId=curves[priv.curve.join(\".\")];if(!curveId)throw new Error(\"unknown curve \"+priv.curve.join(\".\"));var out=new EC(curveId).keyFromPrivate(priv.privateKey).sign(hash);return new Buffer(out.toDER())}(hash,priv)}if(\"dsa\"===priv.type){if(\"dsa\"!==signType)throw new Error(\"wrong private key type\");return function(hash,priv,algo){for(var k,x=priv.params.priv_key,p=priv.params.p,q=priv.params.q,g=priv.params.g,r=new BN(0),H=bits2int(hash,q).mod(q),s=!1,kv=getKey(x,q,hash,algo);!1===s;)r=makeR(g,k=makeKey(q,kv,algo),p,q),0===(s=k.invm(q).imul(H.add(x.mul(r))).mod(q)).cmpn(0)&&(s=!1,r=new BN(0));return function(r,s){r=r.toArray(),s=s.toArray(),128&r[0]&&(r=[0].concat(r)),128&s[0]&&(s=[0].concat(s));var res=[48,r.length+s.length+4,2,r.length];return res=res.concat(r,[2,s.length],s),new Buffer(res)}(r,s)}(hash,priv,hashType)}if(\"rsa\"!==signType&&\"ecdsa/rsa\"!==signType)throw new Error(\"wrong private key type\");hash=Buffer.concat([tag,hash]);for(var len=priv.modulus.byteLength(),pad=[0,1];hash.length+pad.length+1<len;)pad.push(255);pad.push(0);for(var i=-1;++i<hash.length;)pad.push(hash[i]);return crt(pad,priv)},module.exports.getKey=getKey,module.exports.makeKey=makeKey}).call(this,_dereq_(\"buffer\").Buffer)},{\"./curves.json\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/curves.json\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"browserify-rsa\":\"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",\"create-hmac\":\"/Users/f/pjs/dhive/node_modules/create-hmac/browser.js\",elliptic:\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js\",\"parse-asn1\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js\"}],\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/verify.js\":[function(_dereq_,module,exports){(function(Buffer){var BN=_dereq_(\"bn.js\"),EC=_dereq_(\"elliptic\").ec,parseKeys=_dereq_(\"parse-asn1\"),curves=_dereq_(\"./curves.json\");function checkValue(b,q){if(b.cmpn(0)<=0)throw new Error(\"invalid sig\");if(b.cmp(q)>=q)throw new Error(\"invalid sig\")}module.exports=function(sig,hash,key,signType,tag){var pub=parseKeys(key);if(\"ec\"===pub.type){if(\"ecdsa\"!==signType&&\"ecdsa/rsa\"!==signType)throw new Error(\"wrong public key type\");return function(sig,hash,pub){var curveId=curves[pub.data.algorithm.curve.join(\".\")];if(!curveId)throw new Error(\"unknown curve \"+pub.data.algorithm.curve.join(\".\"));var curve=new EC(curveId),pubkey=pub.data.subjectPrivateKey.data;return curve.verify(hash,sig,pubkey)}(sig,hash,pub)}if(\"dsa\"===pub.type){if(\"dsa\"!==signType)throw new Error(\"wrong public key type\");return function(sig,hash,pub){var p=pub.data.p,q=pub.data.q,g=pub.data.g,y=pub.data.pub_key,unpacked=parseKeys.signature.decode(sig,\"der\"),s=unpacked.s,r=unpacked.r;checkValue(s,q),checkValue(r,q);var montp=BN.mont(p),w=s.invm(q);return 0===g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q).cmp(r)}(sig,hash,pub)}if(\"rsa\"!==signType&&\"ecdsa/rsa\"!==signType)throw new Error(\"wrong public key type\");hash=Buffer.concat([tag,hash]);for(var len=pub.modulus.byteLength(),pad=[1],padNum=0;hash.length+pad.length+2<len;)pad.push(255),padNum++;pad.push(0);for(var i=-1;++i<hash.length;)pad.push(hash[i]);pad=new Buffer(pad);var red=BN.mont(pub.modulus);sig=(sig=new BN(sig).toRed(red)).redPow(new BN(pub.publicExponent)),sig=new Buffer(sig.fromRed().toArray());var out=padNum<8?1:0;for(len=Math.min(sig.length,pad.length),sig.length!==pad.length&&(out=1),i=-1;++i<len;)out|=sig[i]^pad[i];return 0===out}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./curves.json\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/curves.json\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",elliptic:\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js\",\"parse-asn1\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js\"}],\"/Users/f/pjs/dhive/node_modules/bs58/index.js\":[function(_dereq_,module,exports){var basex=_dereq_(\"base-x\");module.exports=basex(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\")},{\"base-x\":\"/Users/f/pjs/dhive/node_modules/base-x/src/index.js\"}],\"/Users/f/pjs/dhive/node_modules/buffer-xor/index.js\":[function(_dereq_,module,exports){(function(Buffer){module.exports=function(a,b){for(var length=Math.min(a.length,b.length),buffer=new Buffer(length),i=0;i<length;++i)buffer[i]=a[i]^b[i];return buffer}}).call(this,_dereq_(\"buffer\").Buffer)},{buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/buffer/index.js\":[function(_dereq_,module,exports){(function(Buffer){\"use strict\";var base64=_dereq_(\"base64-js\"),ieee754=_dereq_(\"ieee754\"),customInspectSymbol=\"function\"==typeof Symbol&&\"function\"==typeof Symbol.for?Symbol.for(\"nodejs.util.inspect.custom\"):null;exports.Buffer=Buffer,exports.SlowBuffer=function(length){return+length!=length&&(length=0),Buffer.alloc(+length)},exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function createBuffer(length){if(K_MAX_LENGTH<length)throw new RangeError('The value \"'+length+'\" is invalid for option \"size\"');var buf=new Uint8Array(length);return Object.setPrototypeOf(buf,Buffer.prototype),buf}function Buffer(arg,encodingOrOffset,length){if(\"number\"!=typeof arg)return from(arg,encodingOrOffset,length);if(\"string\"==typeof encodingOrOffset)throw new TypeError('The \"string\" argument must be of type string. Received type number');return allocUnsafe(arg)}function from(value,encodingOrOffset,length){if(\"string\"==typeof value)return function(string,encoding){if(\"string\"==typeof encoding&&\"\"!==encoding||(encoding=\"utf8\"),!Buffer.isEncoding(encoding))throw new TypeError(\"Unknown encoding: \"+encoding);var length=0|byteLength(string,encoding),buf=createBuffer(length),actual=buf.write(string,encoding);return actual!==length&&(buf=buf.slice(0,actual)),buf}(value,encodingOrOffset);if(ArrayBuffer.isView(value))return fromArrayLike(value);if(null==value)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value);if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer))return fromArrayBuffer(value,encodingOrOffset,length);if(\"undefined\"!=typeof SharedArrayBuffer&&(isInstance(value,SharedArrayBuffer)||value&&isInstance(value.buffer,SharedArrayBuffer)))return fromArrayBuffer(value,encodingOrOffset,length);if(\"number\"==typeof value)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var valueOf=value.valueOf&&value.valueOf();if(null!=valueOf&&valueOf!==value)return Buffer.from(valueOf,encodingOrOffset,length);var b=function(obj){if(Buffer.isBuffer(obj)){var len=0|checked(obj.length),buf=createBuffer(len);return 0===buf.length||obj.copy(buf,0,0,len),buf}return void 0!==obj.length?\"number\"!=typeof obj.length||numberIsNaN(obj.length)?createBuffer(0):fromArrayLike(obj):\"Buffer\"===obj.type&&Array.isArray(obj.data)?fromArrayLike(obj.data):void 0}(value);if(b)return b;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof value[Symbol.toPrimitive])return Buffer.from(value[Symbol.toPrimitive](\"string\"),encodingOrOffset,length);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value)}function assertSize(size){if(\"number\"!=typeof size)throw new TypeError('\"size\" argument must be of type number');if(size<0)throw new RangeError('The value \"'+size+'\" is invalid for option \"size\"')}function allocUnsafe(size){return assertSize(size),createBuffer(size<0?0:0|checked(size))}function fromArrayLike(array){for(var length=array.length<0?0:0|checked(array.length),buf=createBuffer(length),i=0;i<length;i+=1)buf[i]=255&array[i];return buf}function fromArrayBuffer(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset)throw new RangeError('\"offset\" is outside of buffer bounds');if(array.byteLength<byteOffset+(length||0))throw new RangeError('\"length\" is outside of buffer bounds');var buf;return buf=void 0===byteOffset&&void 0===length?new Uint8Array(array):void 0===length?new Uint8Array(array,byteOffset):new Uint8Array(array,byteOffset,length),Object.setPrototypeOf(buf,Buffer.prototype),buf}function checked(length){if(K_MAX_LENGTH<=length)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+K_MAX_LENGTH.toString(16)+\" bytes\");return 0|length}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer))return string.byteLength;if(\"string\"!=typeof string)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof string);var len=string.length,mustMatch=2<arguments.length&&!0===arguments[2];if(!mustMatch&&0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case\"ascii\":case\"latin1\":case\"binary\":return len;case\"utf8\":case\"utf-8\":return utf8ToBytes(string).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*len;case\"hex\":return len>>>1;case\"base64\":return base64ToBytes(string).length;default:if(loweredCase)return mustMatch?-1:utf8ToBytes(string).length;encoding=(\"\"+encoding).toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if(\"string\"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):2147483647<byteOffset?byteOffset=2147483647:byteOffset<-2147483648&&(byteOffset=-2147483648),numberIsNaN(byteOffset=+byteOffset)&&(byteOffset=dir?0:buffer.length-1),byteOffset<0&&(byteOffset=buffer.length+byteOffset),byteOffset>=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if(\"string\"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if(\"number\"==typeof val)return val&=255,\"function\"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError(\"val must be string, number or Buffer\")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var i,indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&(\"ucs2\"===(encoding=String(encoding).toLowerCase())||\"ucs-2\"===encoding||\"utf16le\"===encoding||\"utf-16le\"===encoding)){if(arr.length<2||val.length<2)return-1;arrLength/=indexSize=2,valLength/=2,byteOffset/=2}function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++)if(read(arr,i)===read(val,-1===foundIndex?0:i-foundIndex)){if(-1===foundIndex&&(foundIndex=i),i-foundIndex+1===valLength)return foundIndex*indexSize}else-1!==foundIndex&&(i-=i-foundIndex),foundIndex=-1}else for(arrLength<byteOffset+valLength&&(byteOffset=arrLength-valLength),i=byteOffset;0<=i;i--){for(var found=!0,j=0;j<valLength;j++)if(read(arr,i+j)!==read(val,j)){found=!1;break}if(found)return i}return-1}function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;(!length||remaining<(length=Number(length)))&&(length=remaining);var strLen=string.length;strLen/2<length&&(length=strLen/2);for(var i=0;i<length;++i){var parsed=parseInt(string.substr(2*i,2),16);if(numberIsNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(function(str){for(var byteArray=[],i=0;i<str.length;++i)byteArray.push(255&str.charCodeAt(i));return byteArray}(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(function(str,units){for(var c,hi,lo,byteArray=[],i=0;i<str.length&&!((units-=2)<0);++i)hi=(c=str.charCodeAt(i))>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i<end;){var secondByte,thirdByte,fourthByte,tempCodePoint,firstByte=buf[i],codePoint=null,bytesPerSequence=239<firstByte?4:223<firstByte?3:191<firstByte?2:1;if(i+bytesPerSequence<=end)switch(bytesPerSequence){case 1:firstByte<128&&(codePoint=firstByte);break;case 2:128==(192&(secondByte=buf[i+1]))&&127<(tempCodePoint=(31&firstByte)<<6|63&secondByte)&&(codePoint=tempCodePoint);break;case 3:secondByte=buf[i+1],thirdByte=buf[i+2],128==(192&secondByte)&&128==(192&thirdByte)&&2047<(tempCodePoint=(15&firstByte)<<12|(63&secondByte)<<6|63&thirdByte)&&(tempCodePoint<55296||57343<tempCodePoint)&&(codePoint=tempCodePoint);break;case 4:secondByte=buf[i+1],thirdByte=buf[i+2],fourthByte=buf[i+3],128==(192&secondByte)&&128==(192&thirdByte)&&128==(192&fourthByte)&&65535<(tempCodePoint=(15&firstByte)<<18|(63&secondByte)<<12|(63&thirdByte)<<6|63&fourthByte)&&tempCodePoint<1114112&&(codePoint=tempCodePoint)}null===codePoint?(codePoint=65533,bytesPerSequence=1):65535<codePoint&&(codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return function(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);for(var res=\"\",i=0;i<len;)res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH));return res}(res)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=function(){try{var arr=new Uint8Array(1),proto={foo:function(){return 42}};return Object.setPrototypeOf(proto,Uint8Array.prototype),Object.setPrototypeOf(arr,proto),42===arr.foo()}catch(e){return!1}}(),Object.defineProperty(Buffer.prototype,\"parent\",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,\"offset\",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)},Object.setPrototypeOf(Buffer.prototype,Uint8Array.prototype),Object.setPrototypeOf(Buffer,Uint8Array),Buffer.alloc=function(size,fill,encoding){return function(size,fill,encoding){return assertSize(size),size<=0||void 0===fill?createBuffer(size):\"string\"==typeof encoding?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}(size,fill,encoding)},Buffer.allocUnsafe=function(size){return allocUnsafe(size)},Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)},Buffer.isBuffer=function(b){return null!=b&&!0===b._isBuffer&&b!==Buffer.prototype},Buffer.compare=function(a,b){if(isInstance(a,Uint8Array)&&(a=Buffer.from(a,a.offset,a.byteLength)),isInstance(b,Uint8Array)&&(b=Buffer.from(b,b.offset,b.byteLength)),!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i<len;++i)if(a[i]!==b[i]){x=a[i],y=b[i];break}return x<y?-1:y<x?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},Buffer.concat=function(list,length){if(!Array.isArray(list))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===list.length)return Buffer.alloc(0);var i;if(void 0===length)for(i=length=0;i<list.length;++i)length+=list[i].length;var buffer=Buffer.allocUnsafe(length),pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(isInstance(buf,Uint8Array)&&(buf=Buffer.from(buf)),!Buffer.isBuffer(buf))throw new TypeError('\"list\" argument must be an Array of Buffers');buf.copy(buffer,pos),pos+=buf.length}return buffer},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var len=this.length;if(len%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var i=0;i<len;i+=2)swap(this,i,i+1);return this},Buffer.prototype.swap32=function(){var len=this.length;if(len%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var i=0;i<len;i+=4)swap(this,i,i+3),swap(this,i+1,i+2);return this},Buffer.prototype.swap64=function(){var len=this.length;if(len%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var i=0;i<len;i+=8)swap(this,i,i+7),swap(this,i+1,i+6),swap(this,i+2,i+5),swap(this,i+3,i+4);return this},Buffer.prototype.toLocaleString=Buffer.prototype.toString=function(){var length=this.length;return 0===length?\"\":0===arguments.length?utf8Slice(this,0,length):function(encoding,start,end){var loweredCase=!1;if((void 0===start||start<0)&&(start=0),start>this.length)return\"\";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return\"\";if((end>>>=0)<=(start>>>=0))return\"\";for(encoding=encoding||\"utf8\";;)switch(encoding){case\"hex\":return hexSlice(this,start,end);case\"utf8\":case\"utf-8\":return utf8Slice(this,start,end);case\"ascii\":return asciiSlice(this,start,end);case\"latin1\":case\"binary\":return latin1Slice(this,start,end);case\"base64\":return base64Slice(this,start,end);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError(\"Unknown encoding: \"+encoding);encoding=(encoding+\"\").toLowerCase(),loweredCase=!0}}.apply(this,arguments)},Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError(\"Argument must be a Buffer\");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str=\"\",max=exports.INSPECT_MAX_BYTES;return str=this.toString(\"hex\",0,max).replace(/(.{2})/g,\"$1 \").trim(),this.length>max&&(str+=\" ... \"),\"<Buffer \"+str+\">\"},customInspectSymbol&&(Buffer.prototype[customInspectSymbol]=Buffer.prototype.inspect),Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)&&(target=Buffer.from(target,target.offset,target.byteLength)),!Buffer.isBuffer(target))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof target);if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError(\"out of range index\");if(thisEnd<=thisStart&&end<=start)return 0;if(thisEnd<=thisStart)return-1;if(end<=start)return 1;if(this===target)return 0;for(var x=(thisEnd>>>=0)-(thisStart>>>=0),y=(end>>>=0)-(start>>>=0),len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;i<len;++i)if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i],y=targetCopy[i];break}return x<y?-1:y<x?1:0},Buffer.prototype.includes=function(val,byteOffset,encoding){return-1!==this.indexOf(val,byteOffset,encoding)},Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)},Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)},Buffer.prototype.write=function(string,offset,length,encoding){if(void 0===offset)encoding=\"utf8\",length=this.length,offset=0;else if(void 0===length&&\"string\"==typeof offset)encoding=offset,length=this.length,offset=0;else{if(!isFinite(offset))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");offset>>>=0,isFinite(length)?(length>>>=0,void 0===encoding&&(encoding=\"utf8\")):(encoding=length,length=void 0)}var remaining=this.length-offset;if((void 0===length||remaining<length)&&(length=remaining),0<string.length&&(length<0||offset<0)||offset>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");encoding=encoding||\"utf8\";for(var loweredCase=!1;;)switch(encoding){case\"hex\":return hexWrite(this,string,offset,length);case\"utf8\":case\"utf-8\":return utf8Write(this,string,offset,length);case\"ascii\":return asciiWrite(this,string,offset,length);case\"latin1\":case\"binary\":return latin1Write(this,string,offset,length);case\"base64\":return base64Write(this,string,offset,length);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError(\"Unknown encoding: \"+encoding);encoding=(\"\"+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function asciiSlice(buf,start,end){var ret=\"\";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(127&buf[i]);return ret}function latin1Slice(buf,start,end){var ret=\"\";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||start<0)&&(start=0),(!end||end<0||len<end)&&(end=len);for(var out=\"\",i=start;i<end;++i)out+=hexSliceLookupTable[buf[i]];return out}function utf16leSlice(buf,start,end){for(var bytes=buf.slice(start,end),res=\"\",i=0;i<bytes.length;i+=2)res+=String.fromCharCode(bytes[i]+256*bytes[i+1]);return res}function checkOffset(offset,ext,length){if(offset%1!=0||offset<0)throw new RangeError(\"offset is not uint\");if(length<offset+ext)throw new RangeError(\"Trying to access beyond buffer length\")}function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(max<value||value<min)throw new RangeError('\"value\" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError(\"Index out of range\")}function checkIEEE754(buf,value,offset,ext){if(offset+ext>buf.length)throw new RangeError(\"Index out of range\");if(offset<0)throw new RangeError(\"Index out of range\")}function writeFloat(buf,value,offset,littleEndian,noAssert){return value=+value,offset>>>=0,noAssert||checkIEEE754(buf,0,offset,4),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return value=+value,offset>>>=0,noAssert||checkIEEE754(buf,0,offset,8),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}Buffer.prototype.slice=function(start,end){var len=this.length;(start=~~start)<0?(start+=len)<0&&(start=0):len<start&&(start=len),(end=void 0===end?len:~~end)<0?(end+=len)<0&&(end=0):len<end&&(end=len),end<start&&(end=start);var newBuf=this.subarray(start,end);return Object.setPrototypeOf(newBuf,Buffer.prototype),newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val},Buffer.prototype.readUIntBE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset+--byteLength],mul=1;0<byteLength&&(mul*=256);)val+=this[offset+--byteLength]*mul;return val},Buffer.prototype.readUInt8=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,1,this.length),this[offset]},Buffer.prototype.readUInt16LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,2,this.length),this[offset]|this[offset+1]<<8},Buffer.prototype.readUInt16BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,2,this.length),this[offset]<<8|this[offset+1]},Buffer.prototype.readUInt32LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+16777216*this[offset+3]},Buffer.prototype.readUInt32BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),16777216*this[offset]+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])},Buffer.prototype.readIntLE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return(mul*=128)<=val&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readIntBE=function(offset,byteLength,noAssert){offset>>>=0,byteLength>>>=0,noAssert||checkOffset(offset,byteLength,this.length);for(var i=byteLength,mul=1,val=this[offset+--i];0<i&&(mul*=256);)val+=this[offset+--i]*mul;return(mul*=128)<=val&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readInt8=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,1,this.length),128&this[offset]?-1*(255-this[offset]+1):this[offset]},Buffer.prototype.readInt16LE=function(offset,noAssert){offset>>>=0,noAssert||checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt16BE=function(offset,noAssert){offset>>>=0,noAssert||checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt32LE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24},Buffer.prototype.readInt32BE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]},Buffer.prototype.readFloatLE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!0,23,4)},Buffer.prototype.readFloatBE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!1,23,4)},Buffer.prototype.readDoubleLE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!0,52,8)},Buffer.prototype.readDoubleBE=function(offset,noAssert){return offset>>>=0,noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!1,52,8)},Buffer.prototype.writeUIntLE=function(value,offset,byteLength,noAssert){value=+value,offset>>>=0,byteLength>>>=0,noAssert||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength)-1,0);var mul=1,i=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUIntBE=function(value,offset,byteLength,noAssert){value=+value,offset>>>=0,byteLength>>>=0,noAssert||checkInt(this,value,offset,byteLength,Math.pow(2,8*byteLength)-1,0);var i=byteLength-1,mul=1;for(this[offset+i]=255&value;0<=--i&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUInt8=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,1,255,0),this[offset]=255&value,offset+1},Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,65535,0),this[offset]=255&value,this[offset+1]=value>>>8,offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,65535,0),this[offset]=value>>>8,this[offset+1]=255&value,offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,4294967295,0),this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value,offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,4294967295,0),this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value,offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset>>>=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i-1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset>>>=0,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;0<=--i&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,1,127,-128),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,32767,-32768),this[offset]=255&value,this[offset+1]=value>>>8,offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,2,32767,-32768),this[offset]=value>>>8,this[offset+1]=255&value,offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24,offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset>>>=0,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value,offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError(\"argument should be a Buffer\");if(start=start||0,end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart=targetStart||0,0<end&&end<start&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(targetStart<0)throw new RangeError(\"targetStart out of bounds\");if(start<0||start>=this.length)throw new RangeError(\"Index out of range\");if(end<0)throw new RangeError(\"sourceEnd out of bounds\");end>this.length&&(end=this.length),target.length-targetStart<end-start&&(end=target.length-targetStart+start);var len=end-start;if(this===target&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(targetStart,start,end);else if(this===target&&start<targetStart&&targetStart<end)for(var i=len-1;0<=i;--i)target[i+targetStart]=this[i+start];else Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart);return len},Buffer.prototype.fill=function(val,start,end,encoding){if(\"string\"==typeof val){if(\"string\"==typeof start?(encoding=start,start=0,end=this.length):\"string\"==typeof end&&(encoding=end,end=this.length),void 0!==encoding&&\"string\"!=typeof encoding)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof encoding&&!Buffer.isEncoding(encoding))throw new TypeError(\"Unknown encoding: \"+encoding);if(1===val.length){var code=val.charCodeAt(0);(\"utf8\"===encoding&&code<128||\"latin1\"===encoding)&&(val=code)}}else\"number\"==typeof val?val&=255:\"boolean\"==typeof val&&(val=Number(val));if(start<0||this.length<start||this.length<end)throw new RangeError(\"Out of range index\");if(end<=start)return this;var i;if(start>>>=0,end=void 0===end?this.length:end>>>0,\"number\"==typeof(val=val||0))for(i=start;i<end;++i)this[i]=val;else{var bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding),len=bytes.length;if(0===len)throw new TypeError('The value \"'+val+'\" is invalid for argument \"value\"');for(i=0;i<end-start;++i)this[i+start]=bytes[i%len]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(string,units){var codePoint;units=units||Infinity;for(var length=string.length,leadSurrogate=null,bytes=[],i=0;i<length;++i){if(55295<(codePoint=string.charCodeAt(i))&&codePoint<57344){if(!leadSurrogate){if(56319<codePoint){-1<(units-=3)&&bytes.push(239,191,189);continue}if(i+1===length){-1<(units-=3)&&bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){-1<(units-=3)&&bytes.push(239,191,189),leadSurrogate=codePoint;continue}codePoint=65536+(leadSurrogate-55296<<10|codePoint-56320)}else leadSurrogate&&-1<(units-=3)&&bytes.push(239,191,189);if(leadSurrogate=null,codePoint<128){if(--units<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error(\"Invalid code point\");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function base64ToBytes(str){return base64.toByteArray(function(str){if((str=(str=str.split(\"=\")[0]).trim().replace(INVALID_BASE64_RE,\"\")).length<2)return\"\";for(;str.length%4!=0;)str+=\"=\";return str}(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length&&!(i+offset>=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}function isInstance(obj,type){return obj instanceof type||null!=obj&&null!=obj.constructor&&null!=obj.constructor.name&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!=obj}var hexSliceLookupTable=function(){for(var table=new Array(256),i=0;i<16;++i)for(var i16=16*i,j=0;j<16;++j)table[i16+j]=\"0123456789abcdef\"[i]+\"0123456789abcdef\"[j];return table}()}).call(this,_dereq_(\"buffer\").Buffer)},{\"base64-js\":\"/Users/f/pjs/dhive/node_modules/base64-js/index.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",ieee754:\"/Users/f/pjs/dhive/node_modules/ieee754/index.js\"}],\"/Users/f/pjs/dhive/node_modules/bytebuffer/dist/bytebuffer.js\":[function(_dereq_,module,exports){var factory;factory=function(Long){\"use strict\";var ByteBuffer=function(capacity,littleEndian,noAssert){if(void 0===capacity&&(capacity=ByteBuffer.DEFAULT_CAPACITY),void 0===littleEndian&&(littleEndian=ByteBuffer.DEFAULT_ENDIAN),void 0===noAssert&&(noAssert=ByteBuffer.DEFAULT_NOASSERT),!noAssert){if((capacity|=0)<0)throw RangeError(\"Illegal capacity\");littleEndian=!!littleEndian,noAssert=!!noAssert}this.buffer=0===capacity?EMPTY_BUFFER:new ArrayBuffer(capacity),this.view=0===capacity?null:new Uint8Array(this.buffer),this.offset=0,this.markedOffset=-1,this.limit=capacity,this.littleEndian=littleEndian,this.noAssert=noAssert};ByteBuffer.VERSION=\"5.0.1\",ByteBuffer.LITTLE_ENDIAN=!0,ByteBuffer.BIG_ENDIAN=!1,ByteBuffer.DEFAULT_CAPACITY=16,ByteBuffer.DEFAULT_ENDIAN=ByteBuffer.BIG_ENDIAN,ByteBuffer.DEFAULT_NOASSERT=!1,ByteBuffer.Long=Long||null;var ByteBufferPrototype=ByteBuffer.prototype;ByteBufferPrototype.__isByteBuffer__,Object.defineProperty(ByteBufferPrototype,\"__isByteBuffer__\",{value:!0,enumerable:!1,configurable:!1});var EMPTY_BUFFER=new ArrayBuffer(0),stringFromCharCode=String.fromCharCode;function stringSource(s){var i=0;return function(){return i<s.length?s.charCodeAt(i++):null}}function stringDestination(){var cs=[],ps=[];return function(){if(0===arguments.length)return ps.join(\"\")+stringFromCharCode.apply(String,cs);1024<cs.length+arguments.length&&(ps.push(stringFromCharCode.apply(String,cs)),cs.length=0),Array.prototype.push.apply(cs,arguments)}}function ieee754_read(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;0<nBits;e=256*e+buffer[offset+i],i+=d,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;0<nBits;m=256*m+buffer[offset+i],i+=d,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:Infinity*(s?-1:1);m+=Math.pow(2,mLen),e-=eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)}function ieee754_write(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||Infinity===value?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),2<=(value+=1<=e+eBias?rt/c:rt*Math.pow(2,1-eBias))*c&&(e++,c/=2),eMax<=e+eBias?(m=0,e=eMax):1<=e+eBias?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));8<=mLen;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;0<eLen;buffer[offset+i]=255&e,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=128*s}ByteBuffer.accessor=function(){return Uint8Array},ByteBuffer.allocate=function(capacity,littleEndian,noAssert){return new ByteBuffer(capacity,littleEndian,noAssert)},ByteBuffer.concat=function(buffers,encoding,littleEndian,noAssert){\"boolean\"!=typeof encoding&&\"string\"==typeof encoding||(noAssert=littleEndian,littleEndian=encoding,encoding=void 0);for(var length,capacity=0,i=0,k=buffers.length;i<k;++i)ByteBuffer.isByteBuffer(buffers[i])||(buffers[i]=ByteBuffer.wrap(buffers[i],encoding)),0<(length=buffers[i].limit-buffers[i].offset)&&(capacity+=length);if(0===capacity)return new ByteBuffer(0,littleEndian,noAssert);var bi,bb=new ByteBuffer(capacity,littleEndian,noAssert);for(i=0;i<k;)(length=(bi=buffers[i++]).limit-bi.offset)<=0||(bb.view.set(bi.view.subarray(bi.offset,bi.limit),bb.offset),bb.offset+=length);return bb.limit=bb.offset,bb.offset=0,bb},ByteBuffer.isByteBuffer=function(bb){return!0===(bb&&bb.__isByteBuffer__)},ByteBuffer.type=function(){return ArrayBuffer},ByteBuffer.wrap=function(buffer,encoding,littleEndian,noAssert){if(\"string\"!=typeof encoding&&(noAssert=littleEndian,littleEndian=encoding,encoding=void 0),\"string\"==typeof buffer)switch(void 0===encoding&&(encoding=\"utf8\"),encoding){case\"base64\":return ByteBuffer.fromBase64(buffer,littleEndian);case\"hex\":return ByteBuffer.fromHex(buffer,littleEndian);case\"binary\":return ByteBuffer.fromBinary(buffer,littleEndian);case\"utf8\":return ByteBuffer.fromUTF8(buffer,littleEndian);case\"debug\":return ByteBuffer.fromDebug(buffer,littleEndian);default:throw Error(\"Unsupported encoding: \"+encoding)}if(null===buffer||\"object\"!=typeof buffer)throw TypeError(\"Illegal buffer\");var bb;if(ByteBuffer.isByteBuffer(buffer))return(bb=ByteBufferPrototype.clone.call(buffer)).markedOffset=-1,bb;if(buffer instanceof Uint8Array)bb=new ByteBuffer(0,littleEndian,noAssert),0<buffer.length&&(bb.buffer=buffer.buffer,bb.offset=buffer.byteOffset,bb.limit=buffer.byteOffset+buffer.byteLength,bb.view=new Uint8Array(buffer.buffer));else if(buffer instanceof ArrayBuffer)bb=new ByteBuffer(0,littleEndian,noAssert),0<buffer.byteLength&&(bb.buffer=buffer,bb.offset=0,bb.limit=buffer.byteLength,bb.view=0<buffer.byteLength?new Uint8Array(buffer):null);else{if(\"[object Array]\"!==Object.prototype.toString.call(buffer))throw TypeError(\"Illegal buffer\");(bb=new ByteBuffer(buffer.length,littleEndian,noAssert)).limit=buffer.length;for(var i=0;i<buffer.length;++i)bb.view[i]=buffer[i]}return bb},ByteBufferPrototype.writeBitSet=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(!(value instanceof Array))throw TypeError(\"Illegal BitSet: Not an array\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}var k,start=offset,bits=value.length,bytes=bits>>3,bit=0;for(offset+=this.writeVarint32(bits,offset);bytes--;)k=1&!!value[bit++]|(1&!!value[bit++])<<1|(1&!!value[bit++])<<2|(1&!!value[bit++])<<3|(1&!!value[bit++])<<4|(1&!!value[bit++])<<5|(1&!!value[bit++])<<6|(1&!!value[bit++])<<7,this.writeByte(k,offset++);if(bit<bits){var m=0;for(k=0;bit<bits;)k|=(1&!!value[bit++])<<m++;this.writeByte(k,offset++)}return relative?(this.offset=offset,this):offset-start},ByteBufferPrototype.readBitSet=function(offset){var relative=void 0===offset;relative&&(offset=this.offset);var k,ret=this.readVarint32(offset),bits=ret.value,bytes=bits>>3,bit=0,value=[];for(offset+=ret.length;bytes--;)k=this.readByte(offset++),value[bit++]=!!(1&k),value[bit++]=!!(2&k),value[bit++]=!!(4&k),value[bit++]=!!(8&k),value[bit++]=!!(16&k),value[bit++]=!!(32&k),value[bit++]=!!(64&k),value[bit++]=!!(128&k);if(bit<bits){var m=0;for(k=this.readByte(offset++);bit<bits;)value[bit++]=!!(k>>m++&1)}return relative&&(this.offset=offset),value},ByteBufferPrototype.readBytes=function(length,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+length>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+length+\") <= \"+this.buffer.byteLength)}var slice=this.slice(offset,offset+length);return relative&&(this.offset+=length),slice},ByteBufferPrototype.writeBytes=ByteBufferPrototype.append,ByteBufferPrototype.writeInt8=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value|=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=1;var capacity0=this.buffer.byteLength;return capacity0<offset&&this.resize((capacity0*=2)>offset?capacity0:offset),--offset,this.view[offset]=value,relative&&(this.offset+=1),this},ByteBufferPrototype.writeByte=ByteBufferPrototype.writeInt8,ByteBufferPrototype.readInt8=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+1>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+1) <= \"+this.buffer.byteLength)}var value=this.view[offset];return 128==(128&value)&&(value=-(255-value+1)),relative&&(this.offset+=1),value},ByteBufferPrototype.readByte=ByteBufferPrototype.readInt8,ByteBufferPrototype.writeUint8=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value>>>=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=1;var capacity1=this.buffer.byteLength;return capacity1<offset&&this.resize((capacity1*=2)>offset?capacity1:offset),--offset,this.view[offset]=value,relative&&(this.offset+=1),this},ByteBufferPrototype.writeUInt8=ByteBufferPrototype.writeUint8,ByteBufferPrototype.readUint8=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+1>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+1) <= \"+this.buffer.byteLength)}var value=this.view[offset];return relative&&(this.offset+=1),value},ByteBufferPrototype.readUInt8=ByteBufferPrototype.readUint8,ByteBufferPrototype.writeInt16=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value|=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=2;var capacity2=this.buffer.byteLength;return capacity2<offset&&this.resize((capacity2*=2)>offset?capacity2:offset),offset-=2,this.littleEndian?(this.view[offset+1]=(65280&value)>>>8,this.view[offset]=255&value):(this.view[offset]=(65280&value)>>>8,this.view[offset+1]=255&value),relative&&(this.offset+=2),this},ByteBufferPrototype.writeShort=ByteBufferPrototype.writeInt16,ByteBufferPrototype.readInt16=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+2>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+2) <= \"+this.buffer.byteLength)}var value=0;return this.littleEndian?(value=this.view[offset],value|=this.view[offset+1]<<8):(value=this.view[offset]<<8,value|=this.view[offset+1]),32768==(32768&value)&&(value=-(65535-value+1)),relative&&(this.offset+=2),value},ByteBufferPrototype.readShort=ByteBufferPrototype.readInt16,ByteBufferPrototype.writeUint16=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value>>>=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=2;var capacity3=this.buffer.byteLength;return capacity3<offset&&this.resize((capacity3*=2)>offset?capacity3:offset),offset-=2,this.littleEndian?(this.view[offset+1]=(65280&value)>>>8,this.view[offset]=255&value):(this.view[offset]=(65280&value)>>>8,this.view[offset+1]=255&value),relative&&(this.offset+=2),this},ByteBufferPrototype.writeUInt16=ByteBufferPrototype.writeUint16,ByteBufferPrototype.readUint16=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+2>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+2) <= \"+this.buffer.byteLength)}var value=0;return this.littleEndian?(value=this.view[offset],value|=this.view[offset+1]<<8):(value=this.view[offset]<<8,value|=this.view[offset+1]),relative&&(this.offset+=2),value},ByteBufferPrototype.readUInt16=ByteBufferPrototype.readUint16,ByteBufferPrototype.writeInt32=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value|=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=4;var capacity4=this.buffer.byteLength;return capacity4<offset&&this.resize((capacity4*=2)>offset?capacity4:offset),offset-=4,this.littleEndian?(this.view[offset+3]=value>>>24&255,this.view[offset+2]=value>>>16&255,this.view[offset+1]=value>>>8&255,this.view[offset]=255&value):(this.view[offset]=value>>>24&255,this.view[offset+1]=value>>>16&255,this.view[offset+2]=value>>>8&255,this.view[offset+3]=255&value),relative&&(this.offset+=4),this},ByteBufferPrototype.writeInt=ByteBufferPrototype.writeInt32,ByteBufferPrototype.readInt32=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+4>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+4) <= \"+this.buffer.byteLength)}var value=0;return this.littleEndian?(value=this.view[offset+2]<<16,value|=this.view[offset+1]<<8,value|=this.view[offset],value+=this.view[offset+3]<<24>>>0):(value=this.view[offset+1]<<16,value|=this.view[offset+2]<<8,value|=this.view[offset+3],value+=this.view[offset]<<24>>>0),value|=0,relative&&(this.offset+=4),value},ByteBufferPrototype.readInt=ByteBufferPrototype.readInt32,ByteBufferPrototype.writeUint32=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value>>>=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=4;var capacity5=this.buffer.byteLength;return capacity5<offset&&this.resize((capacity5*=2)>offset?capacity5:offset),offset-=4,this.littleEndian?(this.view[offset+3]=value>>>24&255,this.view[offset+2]=value>>>16&255,this.view[offset+1]=value>>>8&255,this.view[offset]=255&value):(this.view[offset]=value>>>24&255,this.view[offset+1]=value>>>16&255,this.view[offset+2]=value>>>8&255,this.view[offset+3]=255&value),relative&&(this.offset+=4),this},ByteBufferPrototype.writeUInt32=ByteBufferPrototype.writeUint32,ByteBufferPrototype.readUint32=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+4>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+4) <= \"+this.buffer.byteLength)}var value=0;return this.littleEndian?(value=this.view[offset+2]<<16,value|=this.view[offset+1]<<8,value|=this.view[offset],value+=this.view[offset+3]<<24>>>0):(value=this.view[offset+1]<<16,value|=this.view[offset+2]<<8,value|=this.view[offset+3],value+=this.view[offset]<<24>>>0),relative&&(this.offset+=4),value},ByteBufferPrototype.readUInt32=ByteBufferPrototype.readUint32,Long&&(ByteBufferPrototype.writeInt64=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"==typeof value)value=Long.fromNumber(value);else if(\"string\"==typeof value)value=Long.fromString(value);else if(!(value&&value instanceof Long))throw TypeError(\"Illegal value: \"+value+\" (not an integer or Long)\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}\"number\"==typeof value?value=Long.fromNumber(value):\"string\"==typeof value&&(value=Long.fromString(value)),offset+=8;var capacity6=this.buffer.byteLength;capacity6<offset&&this.resize((capacity6*=2)>offset?capacity6:offset),offset-=8;var lo=value.low,hi=value.high;return this.littleEndian?(this.view[offset+3]=lo>>>24&255,this.view[offset+2]=lo>>>16&255,this.view[offset+1]=lo>>>8&255,this.view[offset]=255&lo,offset+=4,this.view[offset+3]=hi>>>24&255,this.view[offset+2]=hi>>>16&255,this.view[offset+1]=hi>>>8&255,this.view[offset]=255&hi):(this.view[offset]=hi>>>24&255,this.view[offset+1]=hi>>>16&255,this.view[offset+2]=hi>>>8&255,this.view[offset+3]=255&hi,offset+=4,this.view[offset]=lo>>>24&255,this.view[offset+1]=lo>>>16&255,this.view[offset+2]=lo>>>8&255,this.view[offset+3]=255&lo),relative&&(this.offset+=8),this},ByteBufferPrototype.writeLong=ByteBufferPrototype.writeInt64,ByteBufferPrototype.readInt64=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+8>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+8) <= \"+this.buffer.byteLength)}var lo=0,hi=0;this.littleEndian?(lo=this.view[offset+2]<<16,lo|=this.view[offset+1]<<8,lo|=this.view[offset],lo+=this.view[offset+3]<<24>>>0,offset+=4,hi=this.view[offset+2]<<16,hi|=this.view[offset+1]<<8,hi|=this.view[offset],hi+=this.view[offset+3]<<24>>>0):(hi=this.view[offset+1]<<16,hi|=this.view[offset+2]<<8,hi|=this.view[offset+3],hi+=this.view[offset]<<24>>>0,offset+=4,lo=this.view[offset+1]<<16,lo|=this.view[offset+2]<<8,lo|=this.view[offset+3],lo+=this.view[offset]<<24>>>0);var value=new Long(lo,hi,!1);return relative&&(this.offset+=8),value},ByteBufferPrototype.readLong=ByteBufferPrototype.readInt64,ByteBufferPrototype.writeUint64=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"==typeof value)value=Long.fromNumber(value);else if(\"string\"==typeof value)value=Long.fromString(value);else if(!(value&&value instanceof Long))throw TypeError(\"Illegal value: \"+value+\" (not an integer or Long)\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}\"number\"==typeof value?value=Long.fromNumber(value):\"string\"==typeof value&&(value=Long.fromString(value)),offset+=8;var capacity7=this.buffer.byteLength;capacity7<offset&&this.resize((capacity7*=2)>offset?capacity7:offset),offset-=8;var lo=value.low,hi=value.high;return this.littleEndian?(this.view[offset+3]=lo>>>24&255,this.view[offset+2]=lo>>>16&255,this.view[offset+1]=lo>>>8&255,this.view[offset]=255&lo,offset+=4,this.view[offset+3]=hi>>>24&255,this.view[offset+2]=hi>>>16&255,this.view[offset+1]=hi>>>8&255,this.view[offset]=255&hi):(this.view[offset]=hi>>>24&255,this.view[offset+1]=hi>>>16&255,this.view[offset+2]=hi>>>8&255,this.view[offset+3]=255&hi,offset+=4,this.view[offset]=lo>>>24&255,this.view[offset+1]=lo>>>16&255,this.view[offset+2]=lo>>>8&255,this.view[offset+3]=255&lo),relative&&(this.offset+=8),this},ByteBufferPrototype.writeUInt64=ByteBufferPrototype.writeUint64,ByteBufferPrototype.readUint64=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+8>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+8) <= \"+this.buffer.byteLength)}var lo=0,hi=0;this.littleEndian?(lo=this.view[offset+2]<<16,lo|=this.view[offset+1]<<8,lo|=this.view[offset],lo+=this.view[offset+3]<<24>>>0,offset+=4,hi=this.view[offset+2]<<16,hi|=this.view[offset+1]<<8,hi|=this.view[offset],hi+=this.view[offset+3]<<24>>>0):(hi=this.view[offset+1]<<16,hi|=this.view[offset+2]<<8,hi|=this.view[offset+3],hi+=this.view[offset]<<24>>>0,offset+=4,lo=this.view[offset+1]<<16,lo|=this.view[offset+2]<<8,lo|=this.view[offset+3],lo+=this.view[offset]<<24>>>0);var value=new Long(lo,hi,!0);return relative&&(this.offset+=8),value},ByteBufferPrototype.readUInt64=ByteBufferPrototype.readUint64),ByteBufferPrototype.writeFloat32=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value)throw TypeError(\"Illegal value: \"+value+\" (not a number)\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=4;var capacity8=this.buffer.byteLength;return capacity8<offset&&this.resize((capacity8*=2)>offset?capacity8:offset),offset-=4,ieee754_write(this.view,value,offset,this.littleEndian,23,4),relative&&(this.offset+=4),this},ByteBufferPrototype.writeFloat=ByteBufferPrototype.writeFloat32,ByteBufferPrototype.readFloat32=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+4>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+4) <= \"+this.buffer.byteLength)}var value=ieee754_read(this.view,offset,this.littleEndian,23,4);return relative&&(this.offset+=4),value},ByteBufferPrototype.readFloat=ByteBufferPrototype.readFloat32,ByteBufferPrototype.writeFloat64=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value)throw TypeError(\"Illegal value: \"+value+\" (not a number)\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}offset+=8;var capacity9=this.buffer.byteLength;return capacity9<offset&&this.resize((capacity9*=2)>offset?capacity9:offset),offset-=8,ieee754_write(this.view,value,offset,this.littleEndian,52,8),relative&&(this.offset+=8),this},ByteBufferPrototype.writeDouble=ByteBufferPrototype.writeFloat64,ByteBufferPrototype.readFloat64=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+8>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+8) <= \"+this.buffer.byteLength)}var value=ieee754_read(this.view,offset,this.littleEndian,52,8);return relative&&(this.offset+=8),value},ByteBufferPrototype.readDouble=ByteBufferPrototype.readFloat64,ByteBuffer.MAX_VARINT32_BYTES=5,ByteBuffer.calculateVarint32=function(value){return(value>>>=0)<128?1:value<16384?2:value<1<<21?3:value<1<<28?4:5},ByteBuffer.zigZagEncode32=function(n){return((n|=0)<<1^n>>31)>>>0},ByteBuffer.zigZagDecode32=function(n){return n>>>1^-(1&n)|0},ByteBufferPrototype.writeVarint32=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value|=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}var b,size=ByteBuffer.calculateVarint32(value);offset+=size;var capacity10=this.buffer.byteLength;for(capacity10<offset&&this.resize((capacity10*=2)>offset?capacity10:offset),offset-=size,value>>>=0;128<=value;)b=127&value|128,this.view[offset++]=b,value>>>=7;return this.view[offset++]=value,relative?(this.offset=offset,this):size},ByteBufferPrototype.writeVarint32ZigZag=function(value,offset){return this.writeVarint32(ByteBuffer.zigZagEncode32(value),offset)},ByteBufferPrototype.readVarint32=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+1>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+1) <= \"+this.buffer.byteLength)}var b,c=0,value=0;do{if(!this.noAssert&&offset>this.limit){var err=Error(\"Truncated\");throw err.truncated=!0,err}b=this.view[offset++],c<5&&(value|=(127&b)<<7*c),++c}while(0!=(128&b));return value|=0,relative?(this.offset=offset,value):{value:value,length:c}},ByteBufferPrototype.readVarint32ZigZag=function(offset){var val=this.readVarint32(offset);return\"object\"==typeof val?val.value=ByteBuffer.zigZagDecode32(val.value):val=ByteBuffer.zigZagDecode32(val),val},Long&&(ByteBuffer.MAX_VARINT64_BYTES=10,ByteBuffer.calculateVarint64=function(value){\"number\"==typeof value?value=Long.fromNumber(value):\"string\"==typeof value&&(value=Long.fromString(value));var part0=value.toInt()>>>0,part1=value.shiftRightUnsigned(28).toInt()>>>0,part2=value.shiftRightUnsigned(56).toInt()>>>0;return 0==part2?0==part1?part0<16384?part0<128?1:2:part0<1<<21?3:4:part1<16384?part1<128?5:6:part1<1<<21?7:8:part2<128?9:10},ByteBuffer.zigZagEncode64=function(value){return\"number\"==typeof value?value=Long.fromNumber(value,!1):\"string\"==typeof value?value=Long.fromString(value,!1):!1!==value.unsigned&&(value=value.toSigned()),value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned()},ByteBuffer.zigZagDecode64=function(value){return\"number\"==typeof value?value=Long.fromNumber(value,!1):\"string\"==typeof value?value=Long.fromString(value,!1):!1!==value.unsigned&&(value=value.toSigned()),value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned()},ByteBufferPrototype.writeVarint64=function(value,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"==typeof value)value=Long.fromNumber(value);else if(\"string\"==typeof value)value=Long.fromString(value);else if(!(value&&value instanceof Long))throw TypeError(\"Illegal value: \"+value+\" (not an integer or Long)\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}\"number\"==typeof value?value=Long.fromNumber(value,!1):\"string\"==typeof value?value=Long.fromString(value,!1):!1!==value.unsigned&&(value=value.toSigned());var size=ByteBuffer.calculateVarint64(value),part0=value.toInt()>>>0,part1=value.shiftRightUnsigned(28).toInt()>>>0,part2=value.shiftRightUnsigned(56).toInt()>>>0;offset+=size;var capacity11=this.buffer.byteLength;switch(capacity11<offset&&this.resize((capacity11*=2)>offset?capacity11:offset),offset-=size,size){case 10:this.view[offset+9]=part2>>>7&1;case 9:this.view[offset+8]=9!==size?128|part2:127&part2;case 8:this.view[offset+7]=8!==size?part1>>>21|128:part1>>>21&127;case 7:this.view[offset+6]=7!==size?part1>>>14|128:part1>>>14&127;case 6:this.view[offset+5]=6!==size?part1>>>7|128:part1>>>7&127;case 5:this.view[offset+4]=5!==size?128|part1:127&part1;case 4:this.view[offset+3]=4!==size?part0>>>21|128:part0>>>21&127;case 3:this.view[offset+2]=3!==size?part0>>>14|128:part0>>>14&127;case 2:this.view[offset+1]=2!==size?part0>>>7|128:part0>>>7&127;case 1:this.view[offset]=1!==size?128|part0:127&part0}return relative?(this.offset+=size,this):size},ByteBufferPrototype.writeVarint64ZigZag=function(value,offset){return this.writeVarint64(ByteBuffer.zigZagEncode64(value),offset)},ByteBufferPrototype.readVarint64=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+1>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+1) <= \"+this.buffer.byteLength)}var start=offset,part0=0,part1=0,part2=0,b=0;if(part0=127&(b=this.view[offset++]),128&b&&(part0|=(127&(b=this.view[offset++]))<<7,(128&b||this.noAssert&&void 0===b)&&(part0|=(127&(b=this.view[offset++]))<<14,(128&b||this.noAssert&&void 0===b)&&(part0|=(127&(b=this.view[offset++]))<<21,(128&b||this.noAssert&&void 0===b)&&(part1=127&(b=this.view[offset++]),(128&b||this.noAssert&&void 0===b)&&(part1|=(127&(b=this.view[offset++]))<<7,(128&b||this.noAssert&&void 0===b)&&(part1|=(127&(b=this.view[offset++]))<<14,(128&b||this.noAssert&&void 0===b)&&(part1|=(127&(b=this.view[offset++]))<<21,(128&b||this.noAssert&&void 0===b)&&(part2=127&(b=this.view[offset++]),(128&b||this.noAssert&&void 0===b)&&(part2|=(127&(b=this.view[offset++]))<<7,128&b||this.noAssert&&void 0===b))))))))))throw Error(\"Buffer overrun\");var value=Long.fromBits(part0|part1<<28,part1>>>4|part2<<24,!1);return relative?(this.offset=offset,value):{value:value,length:offset-start}},ByteBufferPrototype.readVarint64ZigZag=function(offset){var val=this.readVarint64(offset);return val&&val.value instanceof Long?val.value=ByteBuffer.zigZagDecode64(val.value):val=ByteBuffer.zigZagDecode64(val),val}),ByteBufferPrototype.writeCString=function(str,offset){var relative=void 0===offset;relative&&(offset=this.offset);var i,k=str.length;if(!this.noAssert){if(\"string\"!=typeof str)throw TypeError(\"Illegal str: Not a string\");for(i=0;i<k;++i)if(0===str.charCodeAt(i))throw RangeError(\"Illegal str: Contains NULL-characters\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}k=utfx.calculateUTF16asUTF8(stringSource(str))[1],offset+=k+1;var capacity12=this.buffer.byteLength;return capacity12<offset&&this.resize((capacity12*=2)>offset?capacity12:offset),offset-=k+1,utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view[offset++]=b}.bind(this)),this.view[offset++]=0,relative?(this.offset=offset,this):k},ByteBufferPrototype.readCString=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+1>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+1) <= \"+this.buffer.byteLength)}var sd,start=offset,b=-1;return utfx.decodeUTF8toUTF16(function(){if(0===b)return null;if(offset>=this.limit)throw RangeError(\"Illegal range: Truncated data, \"+offset+\" < \"+this.limit);return 0===(b=this.view[offset++])?null:b}.bind(this),sd=stringDestination(),!0),relative?(this.offset=offset,sd()):{string:sd(),length:offset-start}},ByteBufferPrototype.writeIString=function(str,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"string\"!=typeof str)throw TypeError(\"Illegal str: Not a string\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}var k,start=offset;k=utfx.calculateUTF16asUTF8(stringSource(str),this.noAssert)[1],offset+=4+k;var capacity13=this.buffer.byteLength;if(capacity13<offset&&this.resize((capacity13*=2)>offset?capacity13:offset),offset-=4+k,this.littleEndian?(this.view[offset+3]=k>>>24&255,this.view[offset+2]=k>>>16&255,this.view[offset+1]=k>>>8&255,this.view[offset]=255&k):(this.view[offset]=k>>>24&255,this.view[offset+1]=k>>>16&255,this.view[offset+2]=k>>>8&255,this.view[offset+3]=255&k),offset+=4,utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view[offset++]=b}.bind(this)),offset!==start+4+k)throw RangeError(\"Illegal range: Truncated data, \"+offset+\" == \"+(offset+4+k));return relative?(this.offset=offset,this):offset-start},ByteBufferPrototype.readIString=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+4>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+4) <= \"+this.buffer.byteLength)}var start=offset,len=this.readUint32(offset),str=this.readUTF8String(len,ByteBuffer.METRICS_BYTES,offset+=4);return offset+=str.length,relative?(this.offset=offset,str.string):{string:str.string,length:offset-start}},ByteBuffer.METRICS_CHARS=\"c\",ByteBuffer.METRICS_BYTES=\"b\",ByteBufferPrototype.writeUTF8String=function(str,offset){var k,relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}var start=offset;k=utfx.calculateUTF16asUTF8(stringSource(str))[1],offset+=k;var capacity14=this.buffer.byteLength;return capacity14<offset&&this.resize((capacity14*=2)>offset?capacity14:offset),offset-=k,utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view[offset++]=b}.bind(this)),relative?(this.offset=offset,this):offset-start},ByteBufferPrototype.writeString=ByteBufferPrototype.writeUTF8String,ByteBuffer.calculateUTF8Chars=function(str){return utfx.calculateUTF16asUTF8(stringSource(str))[0]},ByteBuffer.calculateUTF8Bytes=function(str){return utfx.calculateUTF16asUTF8(stringSource(str))[1]},ByteBuffer.calculateString=ByteBuffer.calculateUTF8Bytes,ByteBufferPrototype.readUTF8String=function(length,metrics,offset){\"number\"==typeof metrics&&(offset=metrics,metrics=void 0);var relative=void 0===offset;if(relative&&(offset=this.offset),void 0===metrics&&(metrics=ByteBuffer.METRICS_CHARS),!this.noAssert){if(\"number\"!=typeof length||length%1!=0)throw TypeError(\"Illegal length: \"+length+\" (not an integer)\");if(length|=0,\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}var sd,i=0,start=offset;if(metrics===ByteBuffer.METRICS_CHARS){if(sd=stringDestination(),utfx.decodeUTF8(function(){return i<length&&offset<this.limit?this.view[offset++]:null}.bind(this),function(cp){++i,utfx.UTF8toUTF16(cp,sd)}),i!==length)throw RangeError(\"Illegal range: Truncated data, \"+i+\" == \"+length);return relative?(this.offset=offset,sd()):{string:sd(),length:offset-start}}if(metrics!==ByteBuffer.METRICS_BYTES)throw TypeError(\"Unsupported metrics: \"+metrics);if(!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+length>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+\"+length+\") <= \"+this.buffer.byteLength)}var k=offset+length;if(utfx.decodeUTF8toUTF16(function(){return offset<k?this.view[offset++]:null}.bind(this),sd=stringDestination(),this.noAssert),offset!==k)throw RangeError(\"Illegal range: Truncated data, \"+offset+\" == \"+k);return relative?(this.offset=offset,sd()):{string:sd(),length:offset-start}},ByteBufferPrototype.readString=ByteBufferPrototype.readUTF8String,ByteBufferPrototype.writeVString=function(str,offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"string\"!=typeof str)throw TypeError(\"Illegal str: Not a string\");if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}var k,l,start=offset;k=utfx.calculateUTF16asUTF8(stringSource(str),this.noAssert)[1],l=ByteBuffer.calculateVarint32(k),offset+=l+k;var capacity15=this.buffer.byteLength;if(capacity15<offset&&this.resize((capacity15*=2)>offset?capacity15:offset),offset-=l+k,offset+=this.writeVarint32(k,offset),utfx.encodeUTF16toUTF8(stringSource(str),function(b){this.view[offset++]=b}.bind(this)),offset!==start+k+l)throw RangeError(\"Illegal range: Truncated data, \"+offset+\" == \"+(offset+k+l));return relative?(this.offset=offset,this):offset-start},ByteBufferPrototype.readVString=function(offset){var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+1>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+1) <= \"+this.buffer.byteLength)}var start=offset,len=this.readVarint32(offset),str=this.readUTF8String(len.value,ByteBuffer.METRICS_BYTES,offset+=len.length);return offset+=str.length,relative?(this.offset=offset,str.string):{string:str.string,length:offset-start}},ByteBufferPrototype.append=function(source,encoding,offset){\"number\"!=typeof encoding&&\"string\"==typeof encoding||(offset=encoding,encoding=void 0);var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}source instanceof ByteBuffer||(source=ByteBuffer.wrap(source,encoding));var length=source.limit-source.offset;if(length<=0)return this;offset+=length;var capacity16=this.buffer.byteLength;return capacity16<offset&&this.resize((capacity16*=2)>offset?capacity16:offset),offset-=length,this.view.set(source.view.subarray(source.offset,source.limit),offset),source.offset+=length,relative&&(this.offset+=length),this},ByteBufferPrototype.appendTo=function(target,offset){return target.append(this,offset),this},ByteBufferPrototype.assert=function(assert){return this.noAssert=!assert,this},ByteBufferPrototype.capacity=function(){return this.buffer.byteLength},ByteBufferPrototype.clear=function(){return this.offset=0,this.limit=this.buffer.byteLength,this.markedOffset=-1,this},ByteBufferPrototype.clone=function(copy){var bb=new ByteBuffer(0,this.littleEndian,this.noAssert);return copy?(bb.buffer=new ArrayBuffer(this.buffer.byteLength),bb.view=new Uint8Array(bb.buffer)):(bb.buffer=this.buffer,bb.view=this.view),bb.offset=this.offset,bb.markedOffset=this.markedOffset,bb.limit=this.limit,bb},ByteBufferPrototype.compact=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),!this.noAssert){if(\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}if(0===begin&&end===this.buffer.byteLength)return this;var len=end-begin;if(0==len)return this.buffer=EMPTY_BUFFER,this.view=null,0<=this.markedOffset&&(this.markedOffset-=begin),this.offset=0,this.limit=0,this;var buffer=new ArrayBuffer(len),view=new Uint8Array(buffer);return view.set(this.view.subarray(begin,end)),this.buffer=buffer,this.view=view,0<=this.markedOffset&&(this.markedOffset-=begin),this.offset=0,this.limit=len,this},ByteBufferPrototype.copy=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),!this.noAssert){if(\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}if(begin===end)return new ByteBuffer(0,this.littleEndian,this.noAssert);var capacity=end-begin,bb=new ByteBuffer(capacity,this.littleEndian,this.noAssert);return bb.offset=0,bb.limit=capacity,0<=bb.markedOffset&&(bb.markedOffset-=begin),this.copyTo(bb,0,begin,end),bb},ByteBufferPrototype.copyTo=function(target,targetOffset,sourceOffset,sourceLimit){var relative,targetRelative;if(!this.noAssert&&!ByteBuffer.isByteBuffer(target))throw TypeError(\"Illegal target: Not a ByteBuffer\");if(targetOffset=(targetRelative=void 0===targetOffset)?target.offset:0|targetOffset,sourceOffset=(relative=void 0===sourceOffset)?this.offset:0|sourceOffset,sourceLimit=void 0===sourceLimit?this.limit:0|sourceLimit,targetOffset<0||targetOffset>target.buffer.byteLength)throw RangeError(\"Illegal target range: 0 <= \"+targetOffset+\" <= \"+target.buffer.byteLength);if(sourceOffset<0||sourceLimit>this.buffer.byteLength)throw RangeError(\"Illegal source range: 0 <= \"+sourceOffset+\" <= \"+this.buffer.byteLength);var len=sourceLimit-sourceOffset;return 0==len?target:(target.ensureCapacity(targetOffset+len),target.view.set(this.view.subarray(sourceOffset,sourceLimit),targetOffset),relative&&(this.offset+=len),targetRelative&&(target.offset+=len),this)},ByteBufferPrototype.ensureCapacity=function(capacity){var current=this.buffer.byteLength;return current<capacity?this.resize((current*=2)>capacity?current:capacity):this},ByteBufferPrototype.fill=function(value,begin,end){var relative=void 0===begin;if(relative&&(begin=this.offset),\"string\"==typeof value&&0<value.length&&(value=value.charCodeAt(0)),void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),!this.noAssert){if(\"number\"!=typeof value||value%1!=0)throw TypeError(\"Illegal value: \"+value+\" (not an integer)\");if(value|=0,\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}if(end<=begin)return this;for(;begin<end;)this.view[begin++]=value;return relative&&(this.offset=begin),this},ByteBufferPrototype.flip=function(){return this.limit=this.offset,this.offset=0,this},ByteBufferPrototype.mark=function(offset){if(offset=void 0===offset?this.offset:offset,!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}return this.markedOffset=offset,this},ByteBufferPrototype.order=function(littleEndian){if(!this.noAssert&&\"boolean\"!=typeof littleEndian)throw TypeError(\"Illegal littleEndian: Not a boolean\");return this.littleEndian=!!littleEndian,this},ByteBufferPrototype.LE=function(littleEndian){return this.littleEndian=void 0===littleEndian||!!littleEndian,this},ByteBufferPrototype.BE=function(bigEndian){return this.littleEndian=void 0!==bigEndian&&!bigEndian,this},ByteBufferPrototype.prepend=function(source,encoding,offset){\"number\"!=typeof encoding&&\"string\"==typeof encoding||(offset=encoding,encoding=void 0);var relative=void 0===offset;if(relative&&(offset=this.offset),!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: \"+offset+\" (not an integer)\");if((offset>>>=0)<0||offset+0>this.buffer.byteLength)throw RangeError(\"Illegal offset: 0 <= \"+offset+\" (+0) <= \"+this.buffer.byteLength)}source instanceof ByteBuffer||(source=ByteBuffer.wrap(source,encoding));var len=source.limit-source.offset;if(len<=0)return this;var diff=len-offset;if(0<diff){var buffer=new ArrayBuffer(this.buffer.byteLength+diff),view=new Uint8Array(buffer);view.set(this.view.subarray(offset,this.buffer.byteLength),len),this.buffer=buffer,this.view=view,this.offset+=diff,0<=this.markedOffset&&(this.markedOffset+=diff),this.limit+=diff,offset+=diff}else new Uint8Array(this.buffer);return this.view.set(source.view.subarray(source.offset,source.limit),offset-len),source.offset=source.limit,relative&&(this.offset-=len),this},ByteBufferPrototype.prependTo=function(target,offset){return target.prepend(this,offset),this},ByteBufferPrototype.printDebug=function(out){\"function\"!=typeof out&&(out=void 0),out(this.toString()+\"\\n-------------------------------------------------------------------\\n\"+this.toDebug(!0))},ByteBufferPrototype.remaining=function(){return this.limit-this.offset},ByteBufferPrototype.reset=function(){return 0<=this.markedOffset?(this.offset=this.markedOffset,this.markedOffset=-1):this.offset=0,this},ByteBufferPrototype.resize=function(capacity){if(!this.noAssert){if(\"number\"!=typeof capacity||capacity%1!=0)throw TypeError(\"Illegal capacity: \"+capacity+\" (not an integer)\");if((capacity|=0)<0)throw RangeError(\"Illegal capacity: 0 <= \"+capacity)}if(this.buffer.byteLength<capacity){var buffer=new ArrayBuffer(capacity),view=new Uint8Array(buffer);view.set(this.view),this.buffer=buffer,this.view=view}return this},ByteBufferPrototype.reverse=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),!this.noAssert){if(\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}return begin===end||Array.prototype.reverse.call(this.view.subarray(begin,end)),this},ByteBufferPrototype.skip=function(length){if(!this.noAssert){if(\"number\"!=typeof length||length%1!=0)throw TypeError(\"Illegal length: \"+length+\" (not an integer)\");length|=0}var offset=this.offset+length;if(!this.noAssert&&(offset<0||offset>this.buffer.byteLength))throw RangeError(\"Illegal length: 0 <= \"+this.offset+\" + \"+length+\" <= \"+this.buffer.byteLength);return this.offset=offset,this},ByteBufferPrototype.slice=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),!this.noAssert){if(\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}var bb=this.clone();return bb.offset=begin,bb.limit=end,bb},ByteBufferPrototype.toBuffer=function(forceCopy){var offset=this.offset,limit=this.limit;if(!this.noAssert){if(\"number\"!=typeof offset||offset%1!=0)throw TypeError(\"Illegal offset: Not an integer\");if(offset>>>=0,\"number\"!=typeof limit||limit%1!=0)throw TypeError(\"Illegal limit: Not an integer\");if(limit>>>=0,offset<0||limit<offset||limit>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+offset+\" <= \"+limit+\" <= \"+this.buffer.byteLength)}if(!forceCopy&&0===offset&&limit===this.buffer.byteLength)return this.buffer;if(offset===limit)return EMPTY_BUFFER;var buffer=new ArrayBuffer(limit-offset);return new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset,limit),0),buffer},ByteBufferPrototype.toArrayBuffer=ByteBufferPrototype.toBuffer,ByteBufferPrototype.toString=function(encoding,begin,end){if(void 0===encoding)return\"ByteBufferAB(offset=\"+this.offset+\",markedOffset=\"+this.markedOffset+\",limit=\"+this.limit+\",capacity=\"+this.capacity()+\")\";switch(\"number\"==typeof encoding&&(end=begin=encoding=\"utf8\"),encoding){case\"utf8\":return this.toUTF8(begin,end);case\"base64\":return this.toBase64(begin,end);case\"hex\":return this.toHex(begin,end);case\"binary\":return this.toBinary(begin,end);case\"debug\":return this.toDebug();case\"columns\":return this.toColumns();default:throw Error(\"Unsupported encoding: \"+encoding)}};var lxiv=function(){for(var lxiv={},aout=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],ain=[],i=0,k=aout.length;i<k;++i)ain[aout[i]]=i;return lxiv.encode=function(src,dst){for(var b,t;null!==(b=src());)dst(aout[b>>2&63]),t=(3&b)<<4,null!==(b=src())?(dst(aout[63&((t|=b>>4&15)|b>>4&15)]),t=(15&b)<<2,null!==(b=src())?(dst(aout[63&(t|b>>6&3)]),dst(aout[63&b])):(dst(aout[63&t]),dst(61))):(dst(aout[63&t]),dst(61),dst(61))},lxiv.decode=function(src,dst){var c,t1,t2;function fail(c){throw Error(\"Illegal character code: \"+c)}for(;null!==(c=src());)if(void 0===(t1=ain[c])&&fail(c),null!==(c=src())&&(void 0===(t2=ain[c])&&fail(c),dst(t1<<2>>>0|(48&t2)>>4),null!==(c=src()))){if(void 0===(t1=ain[c])){if(61===c)break;fail(c)}if(dst((15&t2)<<4>>>0|(60&t1)>>2),null!==(c=src())){if(void 0===(t2=ain[c])){if(61===c)break;fail(c)}dst((3&t1)<<6>>>0|t2)}}},lxiv.test=function(str){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str)},lxiv}();ByteBufferPrototype.toBase64=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),end|=0,(begin|=0)<0||end>this.capacity||end<begin)throw RangeError(\"begin, end\");var sd;return lxiv.encode(function(){return begin<end?this.view[begin++]:null}.bind(this),sd=stringDestination()),sd()},ByteBuffer.fromBase64=function(str,littleEndian){if(\"string\"!=typeof str)throw TypeError(\"str\");var bb=new ByteBuffer(str.length/4*3,littleEndian),i=0;return lxiv.decode(stringSource(str),function(b){bb.view[i++]=b}),bb.limit=i,bb},ByteBuffer.btoa=function(str){return ByteBuffer.fromBinary(str).toBase64()},ByteBuffer.atob=function(b64){return ByteBuffer.fromBase64(b64).toBinary()},ByteBufferPrototype.toBinary=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),end|=0,(begin|=0)<0||end>this.capacity()||end<begin)throw RangeError(\"begin, end\");if(begin===end)return\"\";for(var chars=[],parts=[];begin<end;)chars.push(this.view[begin++]),1024<=chars.length&&(parts.push(String.fromCharCode.apply(String,chars)),chars=[]);return parts.join(\"\")+String.fromCharCode.apply(String,chars)},ByteBuffer.fromBinary=function(str,littleEndian){if(\"string\"!=typeof str)throw TypeError(\"str\");for(var charCode,i=0,k=str.length,bb=new ByteBuffer(k,littleEndian);i<k;){if(255<(charCode=str.charCodeAt(i)))throw RangeError(\"illegal char code: \"+charCode);bb.view[i++]=charCode}return bb.limit=k,bb},ByteBufferPrototype.toDebug=function(columns){for(var b,i=-1,k=this.buffer.byteLength,hex=\"\",asc=\"\",out=\"\";i<k;){if(-1!==i&&(hex+=(b=this.view[i])<16?\"0\"+b.toString(16).toUpperCase():b.toString(16).toUpperCase(),columns&&(asc+=32<b&&b<127?String.fromCharCode(b):\".\")),++i,columns&&0<i&&i%16==0&&i!==k){for(;hex.length<51;)hex+=\" \";out+=hex+asc+\"\\n\",hex=asc=\"\"}i===this.offset&&i===this.limit?hex+=i===this.markedOffset?\"!\":\"|\":i===this.offset?hex+=i===this.markedOffset?\"[\":\"<\":i===this.limit?hex+=i===this.markedOffset?\"]\":\">\":hex+=i===this.markedOffset?\"'\":columns||0!==i&&i!==k?\" \":\"\"}if(columns&&\" \"!==hex){for(;hex.length<51;)hex+=\" \";out+=hex+asc+\"\\n\"}return columns?out:hex},ByteBuffer.fromDebug=function(str,littleEndian,noAssert){for(var ch,b,k=str.length,bb=new ByteBuffer((k+1)/3|0,littleEndian,noAssert),i=0,j=0,rs=!1,ho=!1,hm=!1,hl=!1,fail=!1;i<k;){switch(ch=str.charAt(i++)){case\"!\":if(!noAssert){if(ho||hm||hl){fail=!0;break}ho=hm=hl=!0}bb.offset=bb.markedOffset=bb.limit=j,rs=!1;break;case\"|\":if(!noAssert){if(ho||hl){fail=!0;break}ho=hl=!0}bb.offset=bb.limit=j,rs=!1;break;case\"[\":if(!noAssert){if(ho||hm){fail=!0;break}ho=hm=!0}bb.offset=bb.markedOffset=j,rs=!1;break;case\"<\":if(!noAssert){if(ho){fail=!0;break}ho=!0}bb.offset=j,rs=!1;break;case\"]\":if(!noAssert){if(hl||hm){fail=!0;break}hl=hm=!0}bb.limit=bb.markedOffset=j,rs=!1;break;case\">\":if(!noAssert){if(hl){fail=!0;break}hl=!0}bb.limit=j,rs=!1;break;case\"'\":if(!noAssert){if(hm){fail=!0;break}hm=!0}bb.markedOffset=j,rs=!1;break;case\" \":rs=!1;break;default:if(!noAssert&&rs){fail=!0;break}if(b=parseInt(ch+str.charAt(i++),16),!noAssert&&(isNaN(b)||b<0||255<b))throw TypeError(\"Illegal str: Not a debug encoded string\");bb.view[j++]=b,rs=!0}if(fail)throw TypeError(\"Illegal str: Invalid symbol at \"+i)}if(!noAssert){if(!ho||!hl)throw TypeError(\"Illegal str: Missing offset or limit\");if(j<bb.buffer.byteLength)throw TypeError(\"Illegal str: Not a debug encoded string (is it hex?) \"+j+\" < \"+k)}return bb},ByteBufferPrototype.toHex=function(begin,end){if(begin=void 0===begin?this.offset:begin,end=void 0===end?this.limit:end,!this.noAssert){if(\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}for(var b,out=new Array(end-begin);begin<end;)(b=this.view[begin++])<16?out.push(\"0\",b.toString(16)):out.push(b.toString(16));return out.join(\"\")},ByteBuffer.fromHex=function(str,littleEndian,noAssert){if(!noAssert){if(\"string\"!=typeof str)throw TypeError(\"Illegal str: Not a string\");if(str.length%2!=0)throw TypeError(\"Illegal str: Length not a multiple of 2\")}for(var b,k=str.length,bb=new ByteBuffer(k/2|0,littleEndian),i=0,j=0;i<k;i+=2){if(b=parseInt(str.substring(i,i+2),16),!noAssert&&(!isFinite(b)||b<0||255<b))throw TypeError(\"Illegal str: Contains non-hex characters\");bb.view[j++]=b}return bb.limit=j,bb};var utfx=function(){var utfx={MAX_CODEPOINT:1114111,encodeUTF8:function(src,dst){var cp=null;for(\"number\"==typeof src&&(cp=src,src=function(){return null});null!==cp||null!==(cp=src());)cp<128?dst(127&cp):(cp<2048?dst(cp>>6&31|192):(cp<65536?dst(cp>>12&15|224):(dst(cp>>18&7|240),dst(cp>>12&63|128)),dst(cp>>6&63|128)),dst(63&cp|128)),cp=null},decodeUTF8:function(src,dst){for(var a,b,c,d,fail=function(b){b=b.slice(0,b.indexOf(null));var err=Error(b.toString());throw err.name=\"TruncatedError\",err.bytes=b,err};null!==(a=src());)if(0==(128&a))dst(a);else if(192==(224&a))null===(b=src())&&fail([a,b]),dst((31&a)<<6|63&b);else if(224==(240&a))null!==(b=src())&&null!==(c=src())||fail([a,b,c]),dst((15&a)<<12|(63&b)<<6|63&c);else{if(240!=(248&a))throw RangeError(\"Illegal starting byte: \"+a);null!==(b=src())&&null!==(c=src())&&null!==(d=src())||fail([a,b,c,d]),dst((7&a)<<18|(63&b)<<12|(63&c)<<6|63&d)}},UTF16toUTF8:function(src,dst){for(var c1,c2=null;null!==(c1=null!==c2?c2:src());)55296<=c1&&c1<=57343&&null!==(c2=src())&&56320<=c2&&c2<=57343?(dst(1024*(c1-55296)+c2-56320+65536),c2=null):dst(c1);null!==c2&&dst(c2)},UTF8toUTF16:function(src,dst){var cp=null;for(\"number\"==typeof src&&(cp=src,src=function(){return null});null!==cp||null!==(cp=src());)cp<=65535?dst(cp):(dst(55296+((cp-=65536)>>10)),dst(cp%1024+56320)),cp=null},encodeUTF16toUTF8:function(src,dst){utfx.UTF16toUTF8(src,function(cp){utfx.encodeUTF8(cp,dst)})},decodeUTF8toUTF16:function(src,dst){utfx.decodeUTF8(src,function(cp){utfx.UTF8toUTF16(cp,dst)})},calculateCodePoint:function(cp){return cp<128?1:cp<2048?2:cp<65536?3:4},calculateUTF8:function(src){for(var cp,l=0;null!==(cp=src());)l+=cp<128?1:cp<2048?2:cp<65536?3:4;return l},calculateUTF16asUTF8:function(src){var n=0,l=0;return utfx.UTF16toUTF8(src,function(cp){++n,l+=cp<128?1:cp<2048?2:cp<65536?3:4}),[n,l]}};return utfx}();return ByteBufferPrototype.toUTF8=function(begin,end){if(void 0===begin&&(begin=this.offset),void 0===end&&(end=this.limit),!this.noAssert){if(\"number\"!=typeof begin||begin%1!=0)throw TypeError(\"Illegal begin: Not an integer\");if(begin>>>=0,\"number\"!=typeof end||end%1!=0)throw TypeError(\"Illegal end: Not an integer\");if(end>>>=0,begin<0||end<begin||end>this.buffer.byteLength)throw RangeError(\"Illegal range: 0 <= \"+begin+\" <= \"+end+\" <= \"+this.buffer.byteLength)}var sd;try{utfx.decodeUTF8toUTF16(function(){return begin<end?this.view[begin++]:null}.bind(this),sd=stringDestination())}catch(e){if(begin!==end)throw RangeError(\"Illegal range: Truncated data, \"+begin+\" != \"+end)}return sd()},ByteBuffer.fromUTF8=function(str,littleEndian,noAssert){if(!noAssert&&\"string\"!=typeof str)throw TypeError(\"Illegal str: Not a string\");var bb=new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str),!0)[1],littleEndian,noAssert),i=0;return utfx.encodeUTF16toUTF8(stringSource(str),function(b){bb.view[i++]=b}),bb.limit=i,bb},ByteBuffer},\"function\"==typeof define&&define.amd?define([\"long\"],factory):\"function\"==typeof _dereq_&&\"object\"==typeof module&&module&&module.exports?module.exports=function(){var Long;try{Long=_dereq_(\"long\")}catch(e){}return factory(Long)}():(this.dcodeIO=this.dcodeIO||{}).ByteBuffer=factory(this.dcodeIO.Long)},{long:\"/Users/f/pjs/dhive/node_modules/long/dist/long.js\"}],\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer,Transform=_dereq_(\"stream\").Transform,StringDecoder=_dereq_(\"string_decoder\").StringDecoder;function CipherBase(hashMode){Transform.call(this),this.hashMode=\"string\"==typeof hashMode,this.hashMode?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}_dereq_(\"inherits\")(CipherBase,Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){\"string\"==typeof data&&(data=Buffer.from(data,inputEnc));var outData=this._update(data);return this.hashMode?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")},CipherBase.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")},CipherBase.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final())}catch(e){err=e}done(err)},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer.alloc(0);return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),this._encoding=enc),this._encoding!==enc)throw new Error(\"can't switch encodings\");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out},module.exports=CipherBase},{inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\",stream:\"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js\",string_decoder:\"/Users/f/pjs/dhive/node_modules/string_decoder/lib/string_decoder.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/es/array/from.js\":[function(_dereq_,module,exports){_dereq_(\"../../modules/es.string.iterator\"),_dereq_(\"../../modules/es.array.from\");var path=_dereq_(\"../../internals/path\");module.exports=path.Array.from},{\"../../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\",\"../../modules/es.array.from\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.from.js\",\"../../modules/es.string.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/es/map/index.js\":[function(_dereq_,module,exports){_dereq_(\"../../modules/es.map\"),_dereq_(\"../../modules/es.object.to-string\"),_dereq_(\"../../modules/es.string.iterator\"),_dereq_(\"../../modules/web.dom-collections.iterator\");var path=_dereq_(\"../../internals/path\");module.exports=path.Map},{\"../../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\",\"../../modules/es.map\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.map.js\",\"../../modules/es.object.to-string\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js\",\"../../modules/es.string.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js\",\"../../modules/web.dom-collections.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/web.dom-collections.iterator.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/es/number/index.js\":[function(_dereq_,module,exports){_dereq_(\"../../modules/es.number.constructor\"),_dereq_(\"../../modules/es.number.epsilon\"),_dereq_(\"../../modules/es.number.is-finite\"),_dereq_(\"../../modules/es.number.is-integer\"),_dereq_(\"../../modules/es.number.is-nan\"),_dereq_(\"../../modules/es.number.is-safe-integer\"),_dereq_(\"../../modules/es.number.max-safe-integer\"),_dereq_(\"../../modules/es.number.min-safe-integer\"),_dereq_(\"../../modules/es.number.parse-float\"),_dereq_(\"../../modules/es.number.parse-int\"),_dereq_(\"../../modules/es.number.to-fixed\"),_dereq_(\"../../modules/es.number.to-precision\");var path=_dereq_(\"../../internals/path\");module.exports=path.Number},{\"../../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\",\"../../modules/es.number.constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.constructor.js\",\"../../modules/es.number.epsilon\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.epsilon.js\",\"../../modules/es.number.is-finite\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-finite.js\",\"../../modules/es.number.is-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-integer.js\",\"../../modules/es.number.is-nan\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-nan.js\",\"../../modules/es.number.is-safe-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-safe-integer.js\",\"../../modules/es.number.max-safe-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.max-safe-integer.js\",\"../../modules/es.number.min-safe-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.min-safe-integer.js\",\"../../modules/es.number.parse-float\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-float.js\",\"../../modules/es.number.parse-int\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-int.js\",\"../../modules/es.number.to-fixed\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-fixed.js\",\"../../modules/es.number.to-precision\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-precision.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/es/promise/index.js\":[function(_dereq_,module,exports){_dereq_(\"../../modules/es.object.to-string\"),_dereq_(\"../../modules/es.string.iterator\"),_dereq_(\"../../modules/web.dom-collections.iterator\"),_dereq_(\"../../modules/es.promise\"),_dereq_(\"../../modules/es.promise.all-settled\"),_dereq_(\"../../modules/es.promise.finally\");var path=_dereq_(\"../../internals/path\");module.exports=path.Promise},{\"../../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\",\"../../modules/es.object.to-string\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js\",\"../../modules/es.promise\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.js\",\"../../modules/es.promise.all-settled\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.all-settled.js\",\"../../modules/es.promise.finally\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.finally.js\",\"../../modules/es.string.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js\",\"../../modules/web.dom-collections.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/web.dom-collections.iterator.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/async-iterator.js\":[function(_dereq_,module,exports){_dereq_(\"../../modules/es.symbol.async-iterator\");var WrappedWellKnownSymbolModule=_dereq_(\"../../internals/well-known-symbol-wrapped\");module.exports=WrappedWellKnownSymbolModule.f(\"asyncIterator\")},{\"../../internals/well-known-symbol-wrapped\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js\",\"../../modules/es.symbol.async-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.async-iterator.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/index.js\":[function(_dereq_,module,exports){_dereq_(\"../../modules/es.array.concat\"),_dereq_(\"../../modules/es.object.to-string\"),_dereq_(\"../../modules/es.symbol\"),_dereq_(\"../../modules/es.symbol.async-iterator\"),_dereq_(\"../../modules/es.symbol.description\"),_dereq_(\"../../modules/es.symbol.has-instance\"),_dereq_(\"../../modules/es.symbol.is-concat-spreadable\"),_dereq_(\"../../modules/es.symbol.iterator\"),_dereq_(\"../../modules/es.symbol.match\"),_dereq_(\"../../modules/es.symbol.match-all\"),_dereq_(\"../../modules/es.symbol.replace\"),_dereq_(\"../../modules/es.symbol.search\"),_dereq_(\"../../modules/es.symbol.species\"),_dereq_(\"../../modules/es.symbol.split\"),_dereq_(\"../../modules/es.symbol.to-primitive\"),_dereq_(\"../../modules/es.symbol.to-string-tag\"),_dereq_(\"../../modules/es.symbol.unscopables\"),_dereq_(\"../../modules/es.math.to-string-tag\"),_dereq_(\"../../modules/es.json.to-string-tag\");var path=_dereq_(\"../../internals/path\");module.exports=path.Symbol},{\"../../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\",\"../../modules/es.array.concat\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.concat.js\",\"../../modules/es.json.to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.json.to-string-tag.js\",\"../../modules/es.math.to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.math.to-string-tag.js\",\"../../modules/es.object.to-string\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js\",\"../../modules/es.symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.js\",\"../../modules/es.symbol.async-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.async-iterator.js\",\"../../modules/es.symbol.description\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.description.js\",\"../../modules/es.symbol.has-instance\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.has-instance.js\",\"../../modules/es.symbol.is-concat-spreadable\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js\",\"../../modules/es.symbol.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.iterator.js\",\"../../modules/es.symbol.match\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match.js\",\"../../modules/es.symbol.match-all\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match-all.js\",\"../../modules/es.symbol.replace\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.replace.js\",\"../../modules/es.symbol.search\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.search.js\",\"../../modules/es.symbol.species\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.species.js\",\"../../modules/es.symbol.split\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.split.js\",\"../../modules/es.symbol.to-primitive\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-primitive.js\",\"../../modules/es.symbol.to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-string-tag.js\",\"../../modules/es.symbol.unscopables\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.unscopables.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/features/array/from.js\":[function(_dereq_,module,exports){var parent=_dereq_(\"../../es/array/from\");module.exports=parent},{\"../../es/array/from\":\"/Users/f/pjs/dhive/node_modules/core-js/es/array/from.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/features/map/index.js\":[function(_dereq_,module,exports){var parent=_dereq_(\"../../es/map\");_dereq_(\"../../modules/esnext.map.from\"),_dereq_(\"../../modules/esnext.map.of\"),_dereq_(\"../../modules/esnext.map.delete-all\"),_dereq_(\"../../modules/esnext.map.every\"),_dereq_(\"../../modules/esnext.map.filter\"),_dereq_(\"../../modules/esnext.map.find\"),_dereq_(\"../../modules/esnext.map.find-key\"),_dereq_(\"../../modules/esnext.map.group-by\"),_dereq_(\"../../modules/esnext.map.includes\"),_dereq_(\"../../modules/esnext.map.key-by\"),_dereq_(\"../../modules/esnext.map.key-of\"),_dereq_(\"../../modules/esnext.map.map-keys\"),_dereq_(\"../../modules/esnext.map.map-values\"),_dereq_(\"../../modules/esnext.map.merge\"),_dereq_(\"../../modules/esnext.map.reduce\"),_dereq_(\"../../modules/esnext.map.some\"),_dereq_(\"../../modules/esnext.map.update\"),_dereq_(\"../../modules/esnext.map.upsert\"),_dereq_(\"../../modules/esnext.map.update-or-insert\"),module.exports=parent},{\"../../es/map\":\"/Users/f/pjs/dhive/node_modules/core-js/es/map/index.js\",\"../../modules/esnext.map.delete-all\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.delete-all.js\",\"../../modules/esnext.map.every\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.every.js\",\"../../modules/esnext.map.filter\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.filter.js\",\"../../modules/esnext.map.find\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find.js\",\"../../modules/esnext.map.find-key\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find-key.js\",\"../../modules/esnext.map.from\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.from.js\",\"../../modules/esnext.map.group-by\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.group-by.js\",\"../../modules/esnext.map.includes\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.includes.js\",\"../../modules/esnext.map.key-by\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-by.js\",\"../../modules/esnext.map.key-of\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-of.js\",\"../../modules/esnext.map.map-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-keys.js\",\"../../modules/esnext.map.map-values\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-values.js\",\"../../modules/esnext.map.merge\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.merge.js\",\"../../modules/esnext.map.of\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.of.js\",\"../../modules/esnext.map.reduce\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.reduce.js\",\"../../modules/esnext.map.some\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.some.js\",\"../../modules/esnext.map.update\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update.js\",\"../../modules/esnext.map.update-or-insert\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update-or-insert.js\",\"../../modules/esnext.map.upsert\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.upsert.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/features/number/index.js\":[function(_dereq_,module,exports){var parent=_dereq_(\"../../es/number\");module.exports=parent,_dereq_(\"../../modules/esnext.number.from-string\")},{\"../../es/number\":\"/Users/f/pjs/dhive/node_modules/core-js/es/number/index.js\",\"../../modules/esnext.number.from-string\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.number.from-string.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/features/promise/index.js\":[function(_dereq_,module,exports){var parent=_dereq_(\"../../es/promise\");_dereq_(\"../../modules/esnext.aggregate-error\"),_dereq_(\"../../modules/esnext.promise.all-settled\"),_dereq_(\"../../modules/esnext.promise.try\"),_dereq_(\"../../modules/esnext.promise.any\"),module.exports=parent},{\"../../es/promise\":\"/Users/f/pjs/dhive/node_modules/core-js/es/promise/index.js\",\"../../modules/esnext.aggregate-error\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.aggregate-error.js\",\"../../modules/esnext.promise.all-settled\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.all-settled.js\",\"../../modules/esnext.promise.any\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.any.js\",\"../../modules/esnext.promise.try\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.try.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/async-iterator.js\":[function(_dereq_,module,exports){var parent=_dereq_(\"../../es/symbol/async-iterator\");module.exports=parent},{\"../../es/symbol/async-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/async-iterator.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/index.js\":[function(_dereq_,module,exports){var parent=_dereq_(\"../../es/symbol\");_dereq_(\"../../modules/esnext.symbol.async-dispose\"),_dereq_(\"../../modules/esnext.symbol.dispose\"),_dereq_(\"../../modules/esnext.symbol.observable\"),_dereq_(\"../../modules/esnext.symbol.pattern-match\"),_dereq_(\"../../modules/esnext.symbol.replace-all\"),module.exports=parent},{\"../../es/symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/es/symbol/index.js\",\"../../modules/esnext.symbol.async-dispose\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.async-dispose.js\",\"../../modules/esnext.symbol.dispose\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.dispose.js\",\"../../modules/esnext.symbol.observable\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.observable.js\",\"../../modules/esnext.symbol.pattern-match\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.pattern-match.js\",\"../../modules/esnext.symbol.replace-all\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.replace-all.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\":[function(_dereq_,module,exports){module.exports=function(it){if(\"function\"!=typeof it)throw TypeError(String(it)+\" is not a function\");return it}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-possible-prototype.js\":[function(_dereq_,module,exports){var isObject=_dereq_(\"../internals/is-object\");module.exports=function(it){if(!isObject(it)&&null!==it)throw TypeError(\"Can't set \"+String(it)+\" as a prototype\");return it}},{\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/add-to-unscopables.js\":[function(_dereq_,module,exports){var wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),create=_dereq_(\"../internals/object-create\"),definePropertyModule=_dereq_(\"../internals/object-define-property\"),UNSCOPABLES=wellKnownSymbol(\"unscopables\"),ArrayPrototype=Array.prototype;null==ArrayPrototype[UNSCOPABLES]&&definePropertyModule.f(ArrayPrototype,UNSCOPABLES,{configurable:!0,value:create(null)}),module.exports=function(key){ArrayPrototype[UNSCOPABLES][key]=!0}},{\"../internals/object-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js\":[function(_dereq_,module,exports){module.exports=function(it,Constructor,name){if(!(it instanceof Constructor))throw TypeError(\"Incorrect \"+(name?name+\" \":\"\")+\"invocation\");return it}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\":[function(_dereq_,module,exports){var isObject=_dereq_(\"../internals/is-object\");module.exports=function(it){if(!isObject(it))throw TypeError(String(it)+\" is not an object\");return it}},{\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-from.js\":[function(_dereq_,module,exports){\"use strict\";var bind=_dereq_(\"../internals/function-bind-context\"),toObject=_dereq_(\"../internals/to-object\"),callWithSafeIterationClosing=_dereq_(\"../internals/call-with-safe-iteration-closing\"),isArrayIteratorMethod=_dereq_(\"../internals/is-array-iterator-method\"),toLength=_dereq_(\"../internals/to-length\"),createProperty=_dereq_(\"../internals/create-property\"),getIteratorMethod=_dereq_(\"../internals/get-iterator-method\");module.exports=function(arrayLike,argument_1,argument_2){var length,result,step,iterator,next,value,O=toObject(arrayLike),C=\"function\"==typeof this?this:Array,argumentsLength=arguments.length,mapfn=1<argumentsLength?argument_1:void 0,mapping=void 0!==mapfn,iteratorMethod=getIteratorMethod(O),index=0;if(mapping&&(mapfn=bind(mapfn,2<argumentsLength?argument_2:void 0,2)),null==iteratorMethod||C==Array&&isArrayIteratorMethod(iteratorMethod))for(result=new C(length=toLength(O.length));index<length;index++)value=mapping?mapfn(O[index],index):O[index],createProperty(result,index,value);else for(next=(iterator=iteratorMethod.call(O)).next,result=new C;!(step=next.call(iterator)).done;index++)value=mapping?callWithSafeIterationClosing(iterator,mapfn,[step.value,index],!0):step.value,createProperty(result,index,value);return result.length=index,result}},{\"../internals/call-with-safe-iteration-closing\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/call-with-safe-iteration-closing.js\",\"../internals/create-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-iterator-method\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js\",\"../internals/is-array-iterator-method\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array-iterator-method.js\",\"../internals/to-length\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js\",\"../internals/to-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-includes.js\":[function(_dereq_,module,exports){function createMethod(IS_INCLUDES){return function($this,el,fromIndex){var value,O=toIndexedObject($this),length=toLength(O.length),index=toAbsoluteIndex(fromIndex,length);if(IS_INCLUDES&&el!=el){for(;index<length;)if((value=O[index++])!=value)return!0}else for(;index<length;index++)if((IS_INCLUDES||index in O)&&O[index]===el)return IS_INCLUDES||index||0;return!IS_INCLUDES&&-1}}var toIndexedObject=_dereq_(\"../internals/to-indexed-object\"),toLength=_dereq_(\"../internals/to-length\"),toAbsoluteIndex=_dereq_(\"../internals/to-absolute-index\");module.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},{\"../internals/to-absolute-index\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-absolute-index.js\",\"../internals/to-indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\",\"../internals/to-length\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-iteration.js\":[function(_dereq_,module,exports){function createMethod(TYPE){var IS_MAP=1==TYPE,IS_FILTER=2==TYPE,IS_SOME=3==TYPE,IS_EVERY=4==TYPE,IS_FIND_INDEX=6==TYPE,NO_HOLES=5==TYPE||IS_FIND_INDEX;return function($this,callbackfn,that,specificCreate){for(var value,result,O=toObject($this),self=IndexedObject(O),boundFunction=bind(callbackfn,that,3),length=toLength(self.length),index=0,create=specificCreate||arraySpeciesCreate,target=IS_MAP?create($this,length):IS_FILTER?create($this,0):void 0;index<length;index++)if((NO_HOLES||index in self)&&(result=boundFunction(value=self[index],index,O),TYPE))if(IS_MAP)target[index]=result;else if(result)switch(TYPE){case 3:return!0;case 5:return value;case 6:return index;case 2:push.call(target,value)}else if(IS_EVERY)return!1;return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:target}}var bind=_dereq_(\"../internals/function-bind-context\"),IndexedObject=_dereq_(\"../internals/indexed-object\"),toObject=_dereq_(\"../internals/to-object\"),toLength=_dereq_(\"../internals/to-length\"),arraySpeciesCreate=_dereq_(\"../internals/array-species-create\"),push=[].push;module.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6)}},{\"../internals/array-species-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-species-create.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/indexed-object.js\",\"../internals/to-length\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js\",\"../internals/to-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-method-has-species-support.js\":[function(_dereq_,module,exports){var fails=_dereq_(\"../internals/fails\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),V8_VERSION=_dereq_(\"../internals/engine-v8-version\"),SPECIES=wellKnownSymbol(\"species\");module.exports=function(METHOD_NAME){return 51<=V8_VERSION||!fails(function(){var array=[];return(array.constructor={})[SPECIES]=function(){return{foo:1}},1!==array[METHOD_NAME](Boolean).foo})}},{\"../internals/engine-v8-version\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-species-create.js\":[function(_dereq_,module,exports){var isObject=_dereq_(\"../internals/is-object\"),isArray=_dereq_(\"../internals/is-array\"),SPECIES=_dereq_(\"../internals/well-known-symbol\")(\"species\");module.exports=function(originalArray,length){var C;return isArray(originalArray)&&(\"function\"==typeof(C=originalArray.constructor)&&(C===Array||isArray(C.prototype))||isObject(C)&&null===(C=C[SPECIES]))&&(C=void 0),new(void 0===C?Array:C)(0===length?0:length)}},{\"../internals/is-array\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/call-with-safe-iteration-closing.js\":[function(_dereq_,module,exports){var anObject=_dereq_(\"../internals/an-object\");module.exports=function(iterator,fn,value,ENTRIES){try{return ENTRIES?fn(anObject(value)[0],value[1]):fn(value)}catch(error){var returnMethod=iterator.return;throw void 0!==returnMethod&&anObject(returnMethod.call(iterator)),error}}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js\":[function(_dereq_,module,exports){var ITERATOR=_dereq_(\"../internals/well-known-symbol\")(\"iterator\"),SAFE_CLOSING=!1;try{var called=0,iteratorWithReturn={next:function(){return{done:!!called++}},return:function(){SAFE_CLOSING=!0}};iteratorWithReturn[ITERATOR]=function(){return this},Array.from(iteratorWithReturn,function(){throw 2})}catch(error){}module.exports=function(exec,SKIP_CLOSING){if(!SKIP_CLOSING&&!SAFE_CLOSING)return!1;var ITERATION_SUPPORT=!1;try{var object={};object[ITERATOR]=function(){return{next:function(){return{done:ITERATION_SUPPORT=!0}}}},exec(object)}catch(error){}return ITERATION_SUPPORT}},{\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\":[function(_dereq_,module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof.js\":[function(_dereq_,module,exports){var TO_STRING_TAG_SUPPORT=_dereq_(\"../internals/to-string-tag-support\"),classofRaw=_dereq_(\"../internals/classof-raw\"),TO_STRING_TAG=_dereq_(\"../internals/well-known-symbol\")(\"toStringTag\"),CORRECT_ARGUMENTS=\"Arguments\"==classofRaw(function(){return arguments}());module.exports=TO_STRING_TAG_SUPPORT?classofRaw:function(it){var O,tag,result;return void 0===it?\"Undefined\":null===it?\"Null\":\"string\"==typeof(tag=function(it,key){try{return it[key]}catch(error){}}(O=Object(it),TO_STRING_TAG))?tag:CORRECT_ARGUMENTS?classofRaw(O):\"Object\"==(result=classofRaw(O))&&\"function\"==typeof O.callee?\"Arguments\":result}},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\",\"../internals/to-string-tag-support\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-delete-all.js\":[function(_dereq_,module,exports){\"use strict\";var anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\");module.exports=function(){for(var wasDeleted,collection=anObject(this),remover=aFunction(collection.delete),allDeleted=!0,k=0,len=arguments.length;k<len;k++)wasDeleted=remover.call(collection,arguments[k]),allDeleted=allDeleted&&wasDeleted;return!!allDeleted}},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-from.js\":[function(_dereq_,module,exports){\"use strict\";var aFunction=_dereq_(\"../internals/a-function\"),bind=_dereq_(\"../internals/function-bind-context\"),iterate=_dereq_(\"../internals/iterate\");module.exports=function(source,argument_1,argument_2){var mapping,A,n,boundFunction,length=arguments.length,mapFn=1<length?argument_1:void 0;return aFunction(this),(mapping=void 0!==mapFn)&&aFunction(mapFn),null==source?new this:(A=[],mapping?(n=0,boundFunction=bind(mapFn,2<length?argument_2:void 0,2),iterate(source,function(nextItem){A.push(boundFunction(nextItem,n++))})):iterate(source,A.push,A),new this(A))}},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-of.js\":[function(_dereq_,module,exports){\"use strict\";module.exports=function(){for(var length=arguments.length,A=new Array(length);length--;)A[length]=arguments[length];return new this(A)}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-strong.js\":[function(_dereq_,module,exports){\"use strict\";var defineProperty=_dereq_(\"../internals/object-define-property\").f,create=_dereq_(\"../internals/object-create\"),redefineAll=_dereq_(\"../internals/redefine-all\"),bind=_dereq_(\"../internals/function-bind-context\"),anInstance=_dereq_(\"../internals/an-instance\"),iterate=_dereq_(\"../internals/iterate\"),defineIterator=_dereq_(\"../internals/define-iterator\"),setSpecies=_dereq_(\"../internals/set-species\"),DESCRIPTORS=_dereq_(\"../internals/descriptors\"),fastKey=_dereq_(\"../internals/internal-metadata\").fastKey,InternalStateModule=_dereq_(\"../internals/internal-state\"),setInternalState=InternalStateModule.set,internalStateGetterFor=InternalStateModule.getterFor;module.exports={getConstructor:function(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER){function define(that,key,value){var previous,index,state=getInternalState(that),entry=getEntry(that,key);return entry?entry.value=value:(state.last=entry={index:index=fastKey(key,!0),key:key,value:value,previous:previous=state.last,next:void 0,removed:!1},state.first||(state.first=entry),previous&&(previous.next=entry),DESCRIPTORS?state.size++:that.size++,\"F\"!==index&&(state.index[index]=entry)),that}function getEntry(that,key){var entry,state=getInternalState(that),index=fastKey(key);if(\"F\"!==index)return state.index[index];for(entry=state.first;entry;entry=entry.next)if(entry.key==key)return entry}var C=wrapper(function(that,iterable){anInstance(that,C,CONSTRUCTOR_NAME),setInternalState(that,{type:CONSTRUCTOR_NAME,index:create(null),first:void 0,last:void 0,size:0}),DESCRIPTORS||(that.size=0),null!=iterable&&iterate(iterable,that[ADDER],that,IS_MAP)}),getInternalState=internalStateGetterFor(CONSTRUCTOR_NAME);return redefineAll(C.prototype,{clear:function(){for(var state=getInternalState(this),data=state.index,entry=state.first;entry;)entry.removed=!0,entry.previous&&(entry.previous=entry.previous.next=void 0),delete data[entry.index],entry=entry.next;state.first=state.last=void 0,DESCRIPTORS?state.size=0:this.size=0},delete:function(key){var state=getInternalState(this),entry=getEntry(this,key);if(entry){var next=entry.next,prev=entry.previous;delete state.index[entry.index],entry.removed=!0,prev&&(prev.next=next),next&&(next.previous=prev),state.first==entry&&(state.first=next),state.last==entry&&(state.last=prev),DESCRIPTORS?state.size--:this.size--}return!!entry},forEach:function(callbackfn,argument_1){for(var entry,state=getInternalState(this),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3);entry=entry?entry.next:state.first;)for(boundFunction(entry.value,entry.key,this);entry&&entry.removed;)entry=entry.previous},has:function(key){return!!getEntry(this,key)}}),redefineAll(C.prototype,IS_MAP?{get:function(key){var entry=getEntry(this,key);return entry&&entry.value},set:function(key,value){return define(this,0===key?0:key,value)}}:{add:function(value){return define(this,value=0===value?0:value,value)}}),DESCRIPTORS&&defineProperty(C.prototype,\"size\",{get:function(){return getInternalState(this).size}}),C},setStrong:function(C,CONSTRUCTOR_NAME,IS_MAP){var ITERATOR_NAME=CONSTRUCTOR_NAME+\" Iterator\",getInternalCollectionState=internalStateGetterFor(CONSTRUCTOR_NAME),getInternalIteratorState=internalStateGetterFor(ITERATOR_NAME);defineIterator(C,CONSTRUCTOR_NAME,function(iterated,kind){setInternalState(this,{type:ITERATOR_NAME,target:iterated,state:getInternalCollectionState(iterated),kind:kind,last:void 0})},function(){for(var state=getInternalIteratorState(this),kind=state.kind,entry=state.last;entry&&entry.removed;)entry=entry.previous;return state.target&&(state.last=entry=entry?entry.next:state.state.first)?\"keys\"==kind?{value:entry.key,done:!1}:\"values\"==kind?{value:entry.value,done:!1}:{value:[entry.key,entry.value],done:!1}:{value:state.target=void 0,done:!0}},IS_MAP?\"entries\":\"values\",!IS_MAP,!0),setSpecies(CONSTRUCTOR_NAME)}}},{\"../internals/an-instance\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js\",\"../internals/define-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/internal-metadata\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-metadata.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/object-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/redefine-all\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine-all.js\",\"../internals/set-species\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-species.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),global=_dereq_(\"../internals/global\"),isForced=_dereq_(\"../internals/is-forced\"),redefine=_dereq_(\"../internals/redefine\"),InternalMetadataModule=_dereq_(\"../internals/internal-metadata\"),iterate=_dereq_(\"../internals/iterate\"),anInstance=_dereq_(\"../internals/an-instance\"),isObject=_dereq_(\"../internals/is-object\"),fails=_dereq_(\"../internals/fails\"),checkCorrectnessOfIteration=_dereq_(\"../internals/check-correctness-of-iteration\"),setToStringTag=_dereq_(\"../internals/set-to-string-tag\"),inheritIfRequired=_dereq_(\"../internals/inherit-if-required\");module.exports=function(CONSTRUCTOR_NAME,wrapper,common){function fixMethod(KEY){var nativeMethod=NativePrototype[KEY];redefine(NativePrototype,KEY,\"add\"==KEY?function(value){return nativeMethod.call(this,0===value?0:value),this}:\"delete\"==KEY?function(key){return!(IS_WEAK&&!isObject(key))&&nativeMethod.call(this,0===key?0:key)}:\"get\"==KEY?function(key){return IS_WEAK&&!isObject(key)?void 0:nativeMethod.call(this,0===key?0:key)}:\"has\"==KEY?function(key){return!(IS_WEAK&&!isObject(key))&&nativeMethod.call(this,0===key?0:key)}:function(key,value){return nativeMethod.call(this,0===key?0:key,value),this})}var IS_MAP=-1!==CONSTRUCTOR_NAME.indexOf(\"Map\"),IS_WEAK=-1!==CONSTRUCTOR_NAME.indexOf(\"Weak\"),ADDER=IS_MAP?\"set\":\"add\",NativeConstructor=global[CONSTRUCTOR_NAME],NativePrototype=NativeConstructor&&NativeConstructor.prototype,Constructor=NativeConstructor,exported={};if(isForced(CONSTRUCTOR_NAME,\"function\"!=typeof NativeConstructor||!(IS_WEAK||NativePrototype.forEach&&!fails(function(){(new NativeConstructor).entries().next()}))))Constructor=common.getConstructor(wrapper,CONSTRUCTOR_NAME,IS_MAP,ADDER),InternalMetadataModule.REQUIRED=!0;else if(isForced(CONSTRUCTOR_NAME,!0)){var instance=new Constructor,HASNT_CHAINING=instance[ADDER](IS_WEAK?{}:-0,1)!=instance,THROWS_ON_PRIMITIVES=fails(function(){instance.has(1)}),ACCEPT_ITERABLES=checkCorrectnessOfIteration(function(iterable){new NativeConstructor(iterable)}),BUGGY_ZERO=!IS_WEAK&&fails(function(){for(var $instance=new NativeConstructor,index=5;index--;)$instance[ADDER](index,index);return!$instance.has(-0)});ACCEPT_ITERABLES||(((Constructor=wrapper(function(dummy,iterable){anInstance(dummy,Constructor,CONSTRUCTOR_NAME);var that=inheritIfRequired(new NativeConstructor,dummy,Constructor);return null!=iterable&&iterate(iterable,that[ADDER],that,IS_MAP),that})).prototype=NativePrototype).constructor=Constructor),(THROWS_ON_PRIMITIVES||BUGGY_ZERO)&&(fixMethod(\"delete\"),fixMethod(\"has\"),IS_MAP&&fixMethod(\"get\")),(BUGGY_ZERO||HASNT_CHAINING)&&fixMethod(ADDER),IS_WEAK&&NativePrototype.clear&&delete NativePrototype.clear}return exported[CONSTRUCTOR_NAME]=Constructor,$({global:!0,forced:Constructor!=NativeConstructor},exported),setToStringTag(Constructor,CONSTRUCTOR_NAME),IS_WEAK||common.setStrong(Constructor,CONSTRUCTOR_NAME,IS_MAP),Constructor}},{\"../internals/an-instance\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js\",\"../internals/check-correctness-of-iteration\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/inherit-if-required\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/inherit-if-required.js\",\"../internals/internal-metadata\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-metadata.js\",\"../internals/is-forced\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/copy-constructor-properties.js\":[function(_dereq_,module,exports){var has=_dereq_(\"../internals/has\"),ownKeys=_dereq_(\"../internals/own-keys\"),getOwnPropertyDescriptorModule=_dereq_(\"../internals/object-get-own-property-descriptor\"),definePropertyModule=_dereq_(\"../internals/object-define-property\");module.exports=function(target,source){for(var keys=ownKeys(source),defineProperty=definePropertyModule.f,getOwnPropertyDescriptor=getOwnPropertyDescriptorModule.f,i=0;i<keys.length;i++){var key=keys[i];has(target,key)||defineProperty(target,key,getOwnPropertyDescriptor(source,key))}}},{\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/object-get-own-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js\",\"../internals/own-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/own-keys.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/correct-prototype-getter.js\":[function(_dereq_,module,exports){var fails=_dereq_(\"../internals/fails\");module.exports=!fails(function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype})},{\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-iterator-constructor.js\":[function(_dereq_,module,exports){\"use strict\";function returnThis(){return this}var IteratorPrototype=_dereq_(\"../internals/iterators-core\").IteratorPrototype,create=_dereq_(\"../internals/object-create\"),createPropertyDescriptor=_dereq_(\"../internals/create-property-descriptor\"),setToStringTag=_dereq_(\"../internals/set-to-string-tag\"),Iterators=_dereq_(\"../internals/iterators\");module.exports=function(IteratorConstructor,NAME,next){var TO_STRING_TAG=NAME+\" Iterator\";return IteratorConstructor.prototype=create(IteratorPrototype,{next:createPropertyDescriptor(1,next)}),setToStringTag(IteratorConstructor,TO_STRING_TAG,!1,!0),Iterators[TO_STRING_TAG]=returnThis,IteratorConstructor}},{\"../internals/create-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\",\"../internals/iterators\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js\",\"../internals/iterators-core\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators-core.js\",\"../internals/object-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\",\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\":[function(_dereq_,module,exports){var DESCRIPTORS=_dereq_(\"../internals/descriptors\"),definePropertyModule=_dereq_(\"../internals/object-define-property\"),createPropertyDescriptor=_dereq_(\"../internals/create-property-descriptor\");module.exports=DESCRIPTORS?function(object,key,value){return definePropertyModule.f(object,key,createPropertyDescriptor(1,value))}:function(object,key,value){return object[key]=value,object}},{\"../internals/create-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\":[function(_dereq_,module,exports){module.exports=function(bitmap,value){return{enumerable:!(1&bitmap),configurable:!(2&bitmap),writable:!(4&bitmap),value:value}}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property.js\":[function(_dereq_,module,exports){\"use strict\";var toPrimitive=_dereq_(\"../internals/to-primitive\"),definePropertyModule=_dereq_(\"../internals/object-define-property\"),createPropertyDescriptor=_dereq_(\"../internals/create-property-descriptor\");module.exports=function(object,key,value){var propertyKey=toPrimitive(key);propertyKey in object?definePropertyModule.f(object,propertyKey,createPropertyDescriptor(0,value)):object[propertyKey]=value}},{\"../internals/create-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/to-primitive\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js\":[function(_dereq_,module,exports){\"use strict\";function returnThis(){return this}var $=_dereq_(\"../internals/export\"),createIteratorConstructor=_dereq_(\"../internals/create-iterator-constructor\"),getPrototypeOf=_dereq_(\"../internals/object-get-prototype-of\"),setPrototypeOf=_dereq_(\"../internals/object-set-prototype-of\"),setToStringTag=_dereq_(\"../internals/set-to-string-tag\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),redefine=_dereq_(\"../internals/redefine\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),IS_PURE=_dereq_(\"../internals/is-pure\"),Iterators=_dereq_(\"../internals/iterators\"),IteratorsCore=_dereq_(\"../internals/iterators-core\"),IteratorPrototype=IteratorsCore.IteratorPrototype,BUGGY_SAFARI_ITERATORS=IteratorsCore.BUGGY_SAFARI_ITERATORS,ITERATOR=wellKnownSymbol(\"iterator\");module.exports=function(Iterable,NAME,IteratorConstructor,next,DEFAULT,IS_SET,FORCED){function getIterationMethod(KIND){if(KIND===DEFAULT&&defaultIterator)return defaultIterator;if(!BUGGY_SAFARI_ITERATORS&&KIND in IterablePrototype)return IterablePrototype[KIND];switch(KIND){case\"keys\":case\"values\":case\"entries\":return function(){return new IteratorConstructor(this,KIND)}}return function(){return new IteratorConstructor(this)}}createIteratorConstructor(IteratorConstructor,NAME,next);var CurrentIteratorPrototype,methods,KEY,TO_STRING_TAG=NAME+\" Iterator\",INCORRECT_VALUES_NAME=!1,IterablePrototype=Iterable.prototype,nativeIterator=IterablePrototype[ITERATOR]||IterablePrototype[\"@@iterator\"]||DEFAULT&&IterablePrototype[DEFAULT],defaultIterator=!BUGGY_SAFARI_ITERATORS&&nativeIterator||getIterationMethod(DEFAULT),anyNativeIterator=\"Array\"==NAME&&IterablePrototype.entries||nativeIterator;if(anyNativeIterator&&(CurrentIteratorPrototype=getPrototypeOf(anyNativeIterator.call(new Iterable)),IteratorPrototype!==Object.prototype&&CurrentIteratorPrototype.next&&(IS_PURE||getPrototypeOf(CurrentIteratorPrototype)===IteratorPrototype||(setPrototypeOf?setPrototypeOf(CurrentIteratorPrototype,IteratorPrototype):\"function\"!=typeof CurrentIteratorPrototype[ITERATOR]&&createNonEnumerableProperty(CurrentIteratorPrototype,ITERATOR,returnThis)),setToStringTag(CurrentIteratorPrototype,TO_STRING_TAG,!0,!0),IS_PURE&&(Iterators[TO_STRING_TAG]=returnThis))),\"values\"==DEFAULT&&nativeIterator&&\"values\"!==nativeIterator.name&&(INCORRECT_VALUES_NAME=!0,defaultIterator=function(){return nativeIterator.call(this)}),IS_PURE&&!FORCED||IterablePrototype[ITERATOR]===defaultIterator||createNonEnumerableProperty(IterablePrototype,ITERATOR,defaultIterator),Iterators[NAME]=defaultIterator,DEFAULT)if(methods={values:getIterationMethod(\"values\"),keys:IS_SET?defaultIterator:getIterationMethod(\"keys\"),entries:getIterationMethod(\"entries\")},FORCED)for(KEY in methods)!BUGGY_SAFARI_ITERATORS&&!INCORRECT_VALUES_NAME&&KEY in IterablePrototype||redefine(IterablePrototype,KEY,methods[KEY]);else $({target:NAME,proto:!0,forced:BUGGY_SAFARI_ITERATORS||INCORRECT_VALUES_NAME},methods);return methods}},{\"../internals/create-iterator-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-iterator-constructor.js\",\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterators\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js\",\"../internals/iterators-core\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators-core.js\",\"../internals/object-get-prototype-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js\",\"../internals/object-set-prototype-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\":[function(_dereq_,module,exports){var path=_dereq_(\"../internals/path\"),has=_dereq_(\"../internals/has\"),wrappedWellKnownSymbolModule=_dereq_(\"../internals/well-known-symbol-wrapped\"),defineProperty=_dereq_(\"../internals/object-define-property\").f;module.exports=function(NAME){var Symbol=path.Symbol||(path.Symbol={});has(Symbol,NAME)||defineProperty(Symbol,NAME,{value:wrappedWellKnownSymbolModule.f(NAME)})}},{\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\",\"../internals/well-known-symbol-wrapped\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\":[function(_dereq_,module,exports){var fails=_dereq_(\"../internals/fails\");module.exports=!fails(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},{\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),isObject=_dereq_(\"../internals/is-object\"),document=global.document,EXISTS=isObject(document)&&isObject(document.createElement);module.exports=function(it){return EXISTS?document.createElement(it):{}}},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/dom-iterables.js\":[function(_dereq_,module,exports){module.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-is-ios.js\":[function(_dereq_,module,exports){var userAgent=_dereq_(\"../internals/engine-user-agent\");module.exports=/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)},{\"../internals/engine-user-agent\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-user-agent.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-user-agent.js\":[function(_dereq_,module,exports){var getBuiltIn=_dereq_(\"../internals/get-built-in\");module.exports=getBuiltIn(\"navigator\",\"userAgent\")||\"\"},{\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js\":[function(_dereq_,module,exports){var match,version,global=_dereq_(\"../internals/global\"),userAgent=_dereq_(\"../internals/engine-user-agent\"),process=global.process,versions=process&&process.versions,v8=versions&&versions.v8;v8?version=(match=v8.split(\".\"))[0]+match[1]:userAgent&&(!(match=userAgent.match(/Edge\\/(\\d+)/))||74<=match[1])&&(match=userAgent.match(/Chrome\\/(\\d+)/))&&(version=match[1]),module.exports=version&&+version},{\"../internals/engine-user-agent\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-user-agent.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js\":[function(_dereq_,module,exports){module.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),getOwnPropertyDescriptor=_dereq_(\"../internals/object-get-own-property-descriptor\").f,createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),redefine=_dereq_(\"../internals/redefine\"),setGlobal=_dereq_(\"../internals/set-global\"),copyConstructorProperties=_dereq_(\"../internals/copy-constructor-properties\"),isForced=_dereq_(\"../internals/is-forced\");module.exports=function(options,source){var target,key,targetProperty,sourceProperty,descriptor,TARGET=options.target,GLOBAL=options.global,STATIC=options.stat;if(target=GLOBAL?global:STATIC?global[TARGET]||setGlobal(TARGET,{}):(global[TARGET]||{}).prototype)for(key in source){if(sourceProperty=source[key],targetProperty=options.noTargetGet?(descriptor=getOwnPropertyDescriptor(target,key))&&descriptor.value:target[key],!isForced(GLOBAL?key:TARGET+(STATIC?\".\":\"#\")+key,options.forced)&&void 0!==targetProperty){if(typeof sourceProperty==typeof targetProperty)continue;copyConstructorProperties(sourceProperty,targetProperty)}(options.sham||targetProperty&&targetProperty.sham)&&createNonEnumerableProperty(sourceProperty,\"sham\",!0),redefine(target,key,sourceProperty,options)}}},{\"../internals/copy-constructor-properties\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/copy-constructor-properties.js\",\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/is-forced\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js\",\"../internals/object-get-own-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/set-global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\":[function(_dereq_,module,exports){module.exports=function(exec){try{return!!exec()}catch(error){return!0}}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/freezing.js\":[function(_dereq_,module,exports){var fails=_dereq_(\"../internals/fails\");module.exports=!fails(function(){return Object.isExtensible(Object.preventExtensions({}))})},{\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\":[function(_dereq_,module,exports){var aFunction=_dereq_(\"../internals/a-function\");module.exports=function(fn,that,length){if(aFunction(fn),void 0===that)return fn;switch(length){case 0:return function(){return fn.call(that)};case 1:return function(a){return fn.call(that,a)};case 2:return function(a,b){return fn.call(that,a,b)};case 3:return function(a,b,c){return fn.call(that,a,b,c)}}return function(){return fn.apply(that,arguments)}}},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\":[function(_dereq_,module,exports){function aFunction(variable){return\"function\"==typeof variable?variable:void 0}var path=_dereq_(\"../internals/path\"),global=_dereq_(\"../internals/global\");module.exports=function(namespace,method){return arguments.length<2?aFunction(path[namespace])||aFunction(global[namespace]):path[namespace]&&path[namespace][method]||global[namespace]&&global[namespace][method]}},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/path\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js\":[function(_dereq_,module,exports){var classof=_dereq_(\"../internals/classof\"),Iterators=_dereq_(\"../internals/iterators\"),ITERATOR=_dereq_(\"../internals/well-known-symbol\")(\"iterator\");module.exports=function(it){if(null!=it)return it[ITERATOR]||it[\"@@iterator\"]||Iterators[classof(it)]}},{\"../internals/classof\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof.js\",\"../internals/iterators\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator.js\":[function(_dereq_,module,exports){var anObject=_dereq_(\"../internals/an-object\"),getIteratorMethod=_dereq_(\"../internals/get-iterator-method\");module.exports=function(it){var iteratorMethod=getIteratorMethod(it);if(\"function\"!=typeof iteratorMethod)throw TypeError(String(it)+\" is not iterable\");return anObject(iteratorMethod.call(it))}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/get-iterator-method\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\":[function(_dereq_,module,exports){var IS_PURE=_dereq_(\"../internals/is-pure\"),getIterator=_dereq_(\"../internals/get-iterator\");module.exports=IS_PURE?getIterator:function(it){return Map.prototype.entries.call(it)}},{\"../internals/get-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\":[function(_dereq_,module,exports){(function(global){function check(it){return it&&it.Math==Math&&it}module.exports=check(\"object\"==typeof globalThis&&globalThis)||check(\"object\"==typeof window&&window)||check(\"object\"==typeof self&&self)||check(\"object\"==typeof global&&global)||Function(\"return this\")()}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\":[function(_dereq_,module,exports){var hasOwnProperty={}.hasOwnProperty;module.exports=function(it,key){return hasOwnProperty.call(it,key)}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\":[function(_dereq_,module,exports){module.exports={}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/host-report-errors.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\");module.exports=function(a,b){var console=global.console;console&&console.error&&(1===arguments.length?console.error(a):console.error(a,b))}},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/html.js\":[function(_dereq_,module,exports){var getBuiltIn=_dereq_(\"../internals/get-built-in\");module.exports=getBuiltIn(\"document\",\"documentElement\")},{\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/ie8-dom-define.js\":[function(_dereq_,module,exports){var DESCRIPTORS=_dereq_(\"../internals/descriptors\"),fails=_dereq_(\"../internals/fails\"),createElement=_dereq_(\"../internals/document-create-element\");module.exports=!DESCRIPTORS&&!fails(function(){return 7!=Object.defineProperty(createElement(\"div\"),\"a\",{get:function(){return 7}}).a})},{\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/document-create-element\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/indexed-object.js\":[function(_dereq_,module,exports){var fails=_dereq_(\"../internals/fails\"),classof=_dereq_(\"../internals/classof-raw\"),split=\"\".split;module.exports=fails(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(it){return\"String\"==classof(it)?split.call(it,\"\"):Object(it)}:Object},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/inherit-if-required.js\":[function(_dereq_,module,exports){var isObject=_dereq_(\"../internals/is-object\"),setPrototypeOf=_dereq_(\"../internals/object-set-prototype-of\");module.exports=function($this,dummy,Wrapper){var NewTarget,NewTargetPrototype;return setPrototypeOf&&\"function\"==typeof(NewTarget=dummy.constructor)&&NewTarget!==Wrapper&&isObject(NewTargetPrototype=NewTarget.prototype)&&NewTargetPrototype!==Wrapper.prototype&&setPrototypeOf($this,NewTargetPrototype),$this}},{\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/object-set-prototype-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js\":[function(_dereq_,module,exports){var store=_dereq_(\"../internals/shared-store\"),functionToString=Function.toString;\"function\"!=typeof store.inspectSource&&(store.inspectSource=function(it){return functionToString.call(it)}),module.exports=store.inspectSource},{\"../internals/shared-store\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-store.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-metadata.js\":[function(_dereq_,module,exports){function setMetadata(it){defineProperty(it,METADATA,{value:{objectID:\"O\"+ ++id,weakData:{}}})}var hiddenKeys=_dereq_(\"../internals/hidden-keys\"),isObject=_dereq_(\"../internals/is-object\"),has=_dereq_(\"../internals/has\"),defineProperty=_dereq_(\"../internals/object-define-property\").f,uid=_dereq_(\"../internals/uid\"),FREEZING=_dereq_(\"../internals/freezing\"),METADATA=uid(\"meta\"),id=0,isExtensible=Object.isExtensible||function(){return!0},meta=module.exports={REQUIRED:!1,fastKey:function(it,create){if(!isObject(it))return\"symbol\"==typeof it?it:(\"string\"==typeof it?\"S\":\"P\")+it;if(!has(it,METADATA)){if(!isExtensible(it))return\"F\";if(!create)return\"E\";setMetadata(it)}return it[METADATA].objectID},getWeakData:function(it,create){if(!has(it,METADATA)){if(!isExtensible(it))return!0;if(!create)return!1;setMetadata(it)}return it[METADATA].weakData},onFreeze:function(it){return FREEZING&&meta.REQUIRED&&isExtensible(it)&&!has(it,METADATA)&&setMetadata(it),it}};hiddenKeys[METADATA]=!0},{\"../internals/freezing\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/freezing.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/hidden-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/uid\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\":[function(_dereq_,module,exports){var set,get,has,NATIVE_WEAK_MAP=_dereq_(\"../internals/native-weak-map\"),global=_dereq_(\"../internals/global\"),isObject=_dereq_(\"../internals/is-object\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),objectHas=_dereq_(\"../internals/has\"),sharedKey=_dereq_(\"../internals/shared-key\"),hiddenKeys=_dereq_(\"../internals/hidden-keys\"),WeakMap=global.WeakMap;if(NATIVE_WEAK_MAP){var store=new WeakMap,wmget=store.get,wmhas=store.has,wmset=store.set;set=function(it,metadata){return wmset.call(store,it,metadata),metadata},get=function(it){return wmget.call(store,it)||{}},has=function(it){return wmhas.call(store,it)}}else{var STATE=sharedKey(\"state\");hiddenKeys[STATE]=!0,set=function(it,metadata){return createNonEnumerableProperty(it,STATE,metadata),metadata},get=function(it){return objectHas(it,STATE)?it[STATE]:{}},has=function(it){return objectHas(it,STATE)}}module.exports={set:set,get:get,has:has,enforce:function(it){return has(it)?get(it):set(it,{})},getterFor:function(TYPE){return function(it){var state;if(!isObject(it)||(state=get(it)).type!==TYPE)throw TypeError(\"Incompatible receiver, \"+TYPE+\" required\");return state}}}},{\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/hidden-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/native-weak-map\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-weak-map.js\",\"../internals/shared-key\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array-iterator-method.js\":[function(_dereq_,module,exports){var wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),Iterators=_dereq_(\"../internals/iterators\"),ITERATOR=wellKnownSymbol(\"iterator\"),ArrayPrototype=Array.prototype;module.exports=function(it){return void 0!==it&&(Iterators.Array===it||ArrayPrototype[ITERATOR]===it)}},{\"../internals/iterators\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js\":[function(_dereq_,module,exports){var classof=_dereq_(\"../internals/classof-raw\");module.exports=Array.isArray||function(arg){return\"Array\"==classof(arg)}},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js\":[function(_dereq_,module,exports){function isForced(feature,detection){var value=data[normalize(feature)];return value==POLYFILL||value!=NATIVE&&(\"function\"==typeof detection?fails(detection):!!detection)}var fails=_dereq_(\"../internals/fails\"),replacement=/#|\\.prototype\\./,normalize=isForced.normalize=function(string){return String(string).replace(replacement,\".\").toLowerCase()},data=isForced.data={},NATIVE=isForced.NATIVE=\"N\",POLYFILL=isForced.POLYFILL=\"P\";module.exports=isForced},{\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-integer.js\":[function(_dereq_,module,exports){var isObject=_dereq_(\"../internals/is-object\"),floor=Math.floor;module.exports=function(it){return!isObject(it)&&isFinite(it)&&floor(it)===it}},{\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\":[function(_dereq_,module,exports){module.exports=function(it){return\"object\"==typeof it?null!==it:\"function\"==typeof it}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\":[function(_dereq_,module,exports){module.exports=!1},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\":[function(_dereq_,module,exports){function Result(stopped,result){this.stopped=stopped,this.result=result}var anObject=_dereq_(\"../internals/an-object\"),isArrayIteratorMethod=_dereq_(\"../internals/is-array-iterator-method\"),toLength=_dereq_(\"../internals/to-length\"),bind=_dereq_(\"../internals/function-bind-context\"),getIteratorMethod=_dereq_(\"../internals/get-iterator-method\"),callWithSafeIterationClosing=_dereq_(\"../internals/call-with-safe-iteration-closing\");(module.exports=function(iterable,fn,that,AS_ENTRIES,IS_ITERATOR){var iterator,iterFn,index,length,result,next,step,boundFunction=bind(fn,that,AS_ENTRIES?2:1);if(IS_ITERATOR)iterator=iterable;else{if(\"function\"!=typeof(iterFn=getIteratorMethod(iterable)))throw TypeError(\"Target is not iterable\");if(isArrayIteratorMethod(iterFn)){for(index=0,length=toLength(iterable.length);index<length;index++)if((result=AS_ENTRIES?boundFunction(anObject(step=iterable[index])[0],step[1]):boundFunction(iterable[index]))&&result instanceof Result)return result;return new Result(!1)}iterator=iterFn.call(iterable)}for(next=iterator.next;!(step=next.call(iterator)).done;)if(\"object\"==typeof(result=callWithSafeIterationClosing(iterator,boundFunction,step.value,AS_ENTRIES))&&result&&result instanceof Result)return result;return new Result(!1)}).stop=function(result){return new Result(!0,result)}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/call-with-safe-iteration-closing\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/call-with-safe-iteration-closing.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-iterator-method\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-iterator-method.js\",\"../internals/is-array-iterator-method\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array-iterator-method.js\",\"../internals/to-length\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators-core.js\":[function(_dereq_,module,exports){\"use strict\";var IteratorPrototype,PrototypeOfArrayIteratorPrototype,arrayIterator,getPrototypeOf=_dereq_(\"../internals/object-get-prototype-of\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),has=_dereq_(\"../internals/has\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),IS_PURE=_dereq_(\"../internals/is-pure\"),ITERATOR=wellKnownSymbol(\"iterator\"),BUGGY_SAFARI_ITERATORS=!1;[].keys&&(\"next\"in(arrayIterator=[].keys())?(PrototypeOfArrayIteratorPrototype=getPrototypeOf(getPrototypeOf(arrayIterator)))!==Object.prototype&&(IteratorPrototype=PrototypeOfArrayIteratorPrototype):BUGGY_SAFARI_ITERATORS=!0),null==IteratorPrototype&&(IteratorPrototype={}),IS_PURE||has(IteratorPrototype,ITERATOR)||createNonEnumerableProperty(IteratorPrototype,ITERATOR,function(){return this}),module.exports={IteratorPrototype:IteratorPrototype,BUGGY_SAFARI_ITERATORS:BUGGY_SAFARI_ITERATORS}},{\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/object-get-prototype-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js\":[function(_dereq_,module,exports){arguments[4][\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\"][0].apply(exports,arguments)},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/map-upsert.js\":[function(_dereq_,module,exports){\"use strict\";var anObject=_dereq_(\"../internals/an-object\");module.exports=function(key,updateFn,argument_2){var value,map=anObject(this),insertFn=2<arguments.length?argument_2:void 0;if(\"function\"!=typeof updateFn&&\"function\"!=typeof insertFn)throw TypeError(\"At least one callback required\");return map.has(key)?(value=map.get(key),\"function\"==typeof updateFn&&(value=updateFn(value),map.set(key,value))):\"function\"==typeof insertFn&&(value=insertFn(),map.set(key,value)),value}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/microtask.js\":[function(_dereq_,module,exports){var flush,head,last,notify,toggle,node,promise,then,global=_dereq_(\"../internals/global\"),getOwnPropertyDescriptor=_dereq_(\"../internals/object-get-own-property-descriptor\").f,classof=_dereq_(\"../internals/classof-raw\"),macrotask=_dereq_(\"../internals/task\").set,IS_IOS=_dereq_(\"../internals/engine-is-ios\"),MutationObserver=global.MutationObserver||global.WebKitMutationObserver,process=global.process,Promise=global.Promise,IS_NODE=\"process\"==classof(process),queueMicrotaskDescriptor=getOwnPropertyDescriptor(global,\"queueMicrotask\"),queueMicrotask=queueMicrotaskDescriptor&&queueMicrotaskDescriptor.value;queueMicrotask||(flush=function(){var parent,fn;for(IS_NODE&&(parent=process.domain)&&parent.exit();head;){fn=head.fn,head=head.next;try{fn()}catch(error){throw head?notify():last=void 0,error}}last=void 0,parent&&parent.enter()},notify=IS_NODE?function(){process.nextTick(flush)}:MutationObserver&&!IS_IOS?(toggle=!0,node=document.createTextNode(\"\"),new MutationObserver(flush).observe(node,{characterData:!0}),function(){node.data=toggle=!toggle}):Promise&&Promise.resolve?(promise=Promise.resolve(void 0),then=promise.then,function(){then.call(promise,flush)}):function(){macrotask.call(global,flush)}),module.exports=queueMicrotask||function(fn){var task={fn:fn,next:void 0};last&&(last.next=task),head||(head=task,notify()),last=task}},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\",\"../internals/engine-is-ios\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-is-ios.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/object-get-own-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js\",\"../internals/task\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/task.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-promise-constructor.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\");module.exports=global.Promise},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js\":[function(_dereq_,module,exports){var fails=_dereq_(\"../internals/fails\");module.exports=!!Object.getOwnPropertySymbols&&!fails(function(){return!String(Symbol())})},{\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-weak-map.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),inspectSource=_dereq_(\"../internals/inspect-source\"),WeakMap=global.WeakMap;module.exports=\"function\"==typeof WeakMap&&/native code/.test(inspectSource(WeakMap))},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/inspect-source\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js\":[function(_dereq_,module,exports){\"use strict\";function PromiseCapability(C){var resolve,reject;this.promise=new C(function($$resolve,$$reject){if(void 0!==resolve||void 0!==reject)throw TypeError(\"Bad Promise constructor\");resolve=$$resolve,reject=$$reject}),this.resolve=aFunction(resolve),this.reject=aFunction(reject)}var aFunction=_dereq_(\"../internals/a-function\");module.exports.f=function(C){return new PromiseCapability(C)}},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-is-finite.js\":[function(_dereq_,module,exports){var globalIsFinite=_dereq_(\"../internals/global\").isFinite;module.exports=Number.isFinite||function(it){return\"number\"==typeof it&&globalIsFinite(it)}},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-float.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),trim=_dereq_(\"../internals/string-trim\").trim,whitespaces=_dereq_(\"../internals/whitespaces\"),$parseFloat=global.parseFloat,FORCED=1/$parseFloat(whitespaces+\"-0\")!=-Infinity;module.exports=FORCED?function(string){var trimmedString=trim(String(string)),result=$parseFloat(trimmedString);return 0===result&&\"-\"==trimmedString.charAt(0)?-0:result}:$parseFloat},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/string-trim\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js\",\"../internals/whitespaces\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-int.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),trim=_dereq_(\"../internals/string-trim\").trim,whitespaces=_dereq_(\"../internals/whitespaces\"),$parseInt=global.parseInt,hex=/^[+-]?0[Xx]/,FORCED=8!==$parseInt(whitespaces+\"08\")||22!==$parseInt(whitespaces+\"0x16\");module.exports=FORCED?function(string,radix){var S=trim(String(string));return $parseInt(S,radix>>>0||(hex.test(S)?16:10))}:$parseInt},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/string-trim\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js\",\"../internals/whitespaces\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\":[function(_dereq_,module,exports){function EmptyConstructor(){}function scriptTag(content){return\"<script>\"+content+\"<\\/script>\"}var activeXDocument,anObject=_dereq_(\"../internals/an-object\"),defineProperties=_dereq_(\"../internals/object-define-properties\"),enumBugKeys=_dereq_(\"../internals/enum-bug-keys\"),hiddenKeys=_dereq_(\"../internals/hidden-keys\"),html=_dereq_(\"../internals/html\"),documentCreateElement=_dereq_(\"../internals/document-create-element\"),IE_PROTO=_dereq_(\"../internals/shared-key\")(\"IE_PROTO\"),NullProtoObject=function(){try{activeXDocument=document.domain&&new ActiveXObject(\"htmlfile\")}catch(error){}var iframeDocument,iframe;NullProtoObject=activeXDocument?function(activeXDocument){activeXDocument.write(scriptTag(\"\")),activeXDocument.close();var temp=activeXDocument.parentWindow.Object;return activeXDocument=null,temp}(activeXDocument):((iframe=documentCreateElement(\"iframe\")).style.display=\"none\",html.appendChild(iframe),iframe.src=String(\"javascript:\"),(iframeDocument=iframe.contentWindow.document).open(),iframeDocument.write(scriptTag(\"document.F=Object\")),iframeDocument.close(),iframeDocument.F);for(var length=enumBugKeys.length;length--;)delete NullProtoObject.prototype[enumBugKeys[length]];return NullProtoObject()};hiddenKeys[IE_PROTO]=!0,module.exports=Object.create||function(O,Properties){var result;return null!==O?(EmptyConstructor.prototype=anObject(O),result=new EmptyConstructor,EmptyConstructor.prototype=null,result[IE_PROTO]=O):result=NullProtoObject(),void 0===Properties?result:defineProperties(result,Properties)}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/document-create-element\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js\",\"../internals/enum-bug-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js\",\"../internals/hidden-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\",\"../internals/html\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/html.js\",\"../internals/object-define-properties\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-properties.js\",\"../internals/shared-key\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-properties.js\":[function(_dereq_,module,exports){var DESCRIPTORS=_dereq_(\"../internals/descriptors\"),definePropertyModule=_dereq_(\"../internals/object-define-property\"),anObject=_dereq_(\"../internals/an-object\"),objectKeys=_dereq_(\"../internals/object-keys\");module.exports=DESCRIPTORS?Object.defineProperties:function(O,Properties){anObject(O);for(var key,keys=objectKeys(Properties),length=keys.length,index=0;index<length;)definePropertyModule.f(O,key=keys[index++],Properties[key]);return O}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/object-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\":[function(_dereq_,module,exports){var DESCRIPTORS=_dereq_(\"../internals/descriptors\"),IE8_DOM_DEFINE=_dereq_(\"../internals/ie8-dom-define\"),anObject=_dereq_(\"../internals/an-object\"),toPrimitive=_dereq_(\"../internals/to-primitive\"),nativeDefineProperty=Object.defineProperty;exports.f=DESCRIPTORS?nativeDefineProperty:function(O,P,Attributes){if(anObject(O),P=toPrimitive(P,!0),anObject(Attributes),IE8_DOM_DEFINE)try{return nativeDefineProperty(O,P,Attributes)}catch(error){}if(\"get\"in Attributes||\"set\"in Attributes)throw TypeError(\"Accessors not supported\");return\"value\"in Attributes&&(O[P]=Attributes.value),O}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/ie8-dom-define\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/ie8-dom-define.js\",\"../internals/to-primitive\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js\":[function(_dereq_,module,exports){var DESCRIPTORS=_dereq_(\"../internals/descriptors\"),propertyIsEnumerableModule=_dereq_(\"../internals/object-property-is-enumerable\"),createPropertyDescriptor=_dereq_(\"../internals/create-property-descriptor\"),toIndexedObject=_dereq_(\"../internals/to-indexed-object\"),toPrimitive=_dereq_(\"../internals/to-primitive\"),has=_dereq_(\"../internals/has\"),IE8_DOM_DEFINE=_dereq_(\"../internals/ie8-dom-define\"),nativeGetOwnPropertyDescriptor=Object.getOwnPropertyDescriptor;exports.f=DESCRIPTORS?nativeGetOwnPropertyDescriptor:function(O,P){if(O=toIndexedObject(O),P=toPrimitive(P,!0),IE8_DOM_DEFINE)try{return nativeGetOwnPropertyDescriptor(O,P)}catch(error){}if(has(O,P))return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O,P),O[P])}},{\"../internals/create-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/ie8-dom-define\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/ie8-dom-define.js\",\"../internals/object-property-is-enumerable\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-property-is-enumerable.js\",\"../internals/to-indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\",\"../internals/to-primitive\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names-external.js\":[function(_dereq_,module,exports){var toIndexedObject=_dereq_(\"../internals/to-indexed-object\"),nativeGetOwnPropertyNames=_dereq_(\"../internals/object-get-own-property-names\").f,toString={}.toString,windowNames=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];module.exports.f=function(it){return windowNames&&\"[object Window]\"==toString.call(it)?function(it){try{return nativeGetOwnPropertyNames(it)}catch(error){return windowNames.slice()}}(it):nativeGetOwnPropertyNames(toIndexedObject(it))}},{\"../internals/object-get-own-property-names\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js\",\"../internals/to-indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js\":[function(_dereq_,module,exports){var internalObjectKeys=_dereq_(\"../internals/object-keys-internal\"),hiddenKeys=_dereq_(\"../internals/enum-bug-keys\").concat(\"length\",\"prototype\");exports.f=Object.getOwnPropertyNames||function(O){return internalObjectKeys(O,hiddenKeys)}},{\"../internals/enum-bug-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js\",\"../internals/object-keys-internal\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys-internal.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-symbols.js\":[function(_dereq_,module,exports){exports.f=Object.getOwnPropertySymbols},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js\":[function(_dereq_,module,exports){var has=_dereq_(\"../internals/has\"),toObject=_dereq_(\"../internals/to-object\"),sharedKey=_dereq_(\"../internals/shared-key\"),CORRECT_PROTOTYPE_GETTER=_dereq_(\"../internals/correct-prototype-getter\"),IE_PROTO=sharedKey(\"IE_PROTO\"),ObjectPrototype=Object.prototype;module.exports=CORRECT_PROTOTYPE_GETTER?Object.getPrototypeOf:function(O){return O=toObject(O),has(O,IE_PROTO)?O[IE_PROTO]:\"function\"==typeof O.constructor&&O instanceof O.constructor?O.constructor.prototype:O instanceof Object?ObjectPrototype:null}},{\"../internals/correct-prototype-getter\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/correct-prototype-getter.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/shared-key\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js\",\"../internals/to-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys-internal.js\":[function(_dereq_,module,exports){var has=_dereq_(\"../internals/has\"),toIndexedObject=_dereq_(\"../internals/to-indexed-object\"),indexOf=_dereq_(\"../internals/array-includes\").indexOf,hiddenKeys=_dereq_(\"../internals/hidden-keys\");module.exports=function(object,names){var key,O=toIndexedObject(object),i=0,result=[];for(key in O)!has(hiddenKeys,key)&&has(O,key)&&result.push(key);for(;names.length>i;)has(O,key=names[i++])&&(~indexOf(result,key)||result.push(key));return result}},{\"../internals/array-includes\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-includes.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/hidden-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\",\"../internals/to-indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys.js\":[function(_dereq_,module,exports){var internalObjectKeys=_dereq_(\"../internals/object-keys-internal\"),enumBugKeys=_dereq_(\"../internals/enum-bug-keys\");module.exports=Object.keys||function(O){return internalObjectKeys(O,enumBugKeys)}},{\"../internals/enum-bug-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/enum-bug-keys.js\",\"../internals/object-keys-internal\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys-internal.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-property-is-enumerable.js\":[function(_dereq_,module,exports){\"use strict\";var nativePropertyIsEnumerable={}.propertyIsEnumerable,getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor,NASHORN_BUG=getOwnPropertyDescriptor&&!nativePropertyIsEnumerable.call({1:2},1);exports.f=NASHORN_BUG?function(V){var descriptor=getOwnPropertyDescriptor(this,V);return!!descriptor&&descriptor.enumerable}:nativePropertyIsEnumerable},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js\":[function(_dereq_,module,exports){var anObject=_dereq_(\"../internals/an-object\"),aPossiblePrototype=_dereq_(\"../internals/a-possible-prototype\");module.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var setter,CORRECT_SETTER=!1,test={};try{(setter=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set).call(test,[]),CORRECT_SETTER=test instanceof Array}catch(error){}return function(O,proto){return anObject(O),aPossiblePrototype(proto),CORRECT_SETTER?setter.call(O,proto):O.__proto__=proto,O}}():void 0)},{\"../internals/a-possible-prototype\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-possible-prototype.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-to-string.js\":[function(_dereq_,module,exports){\"use strict\";var TO_STRING_TAG_SUPPORT=_dereq_(\"../internals/to-string-tag-support\"),classof=_dereq_(\"../internals/classof\");module.exports=TO_STRING_TAG_SUPPORT?{}.toString:function(){return\"[object \"+classof(this)+\"]\"}},{\"../internals/classof\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof.js\",\"../internals/to-string-tag-support\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/own-keys.js\":[function(_dereq_,module,exports){var getBuiltIn=_dereq_(\"../internals/get-built-in\"),getOwnPropertyNamesModule=_dereq_(\"../internals/object-get-own-property-names\"),getOwnPropertySymbolsModule=_dereq_(\"../internals/object-get-own-property-symbols\"),anObject=_dereq_(\"../internals/an-object\");module.exports=getBuiltIn(\"Reflect\",\"ownKeys\")||function(it){var keys=getOwnPropertyNamesModule.f(anObject(it)),getOwnPropertySymbols=getOwnPropertySymbolsModule.f;return getOwnPropertySymbols?keys.concat(getOwnPropertySymbols(it)):keys}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/object-get-own-property-names\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js\",\"../internals/object-get-own-property-symbols\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-symbols.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/path.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\");module.exports=global},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js\":[function(_dereq_,module,exports){module.exports=function(exec){try{return{error:!1,value:exec()}}catch(error){return{error:!0,value:error}}}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/promise-resolve.js\":[function(_dereq_,module,exports){var anObject=_dereq_(\"../internals/an-object\"),isObject=_dereq_(\"../internals/is-object\"),newPromiseCapability=_dereq_(\"../internals/new-promise-capability\");module.exports=function(C,x){if(anObject(C),isObject(x)&&x.constructor===C)return x;var promiseCapability=newPromiseCapability.f(C);return(0,promiseCapability.resolve)(x),promiseCapability.promise}},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/new-promise-capability\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine-all.js\":[function(_dereq_,module,exports){var redefine=_dereq_(\"../internals/redefine\");module.exports=function(target,src,options){for(var key in src)redefine(target,key,src[key],options);return target}},{\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),has=_dereq_(\"../internals/has\"),setGlobal=_dereq_(\"../internals/set-global\"),inspectSource=_dereq_(\"../internals/inspect-source\"),InternalStateModule=_dereq_(\"../internals/internal-state\"),getInternalState=InternalStateModule.get,enforceInternalState=InternalStateModule.enforce,TEMPLATE=String(String).split(\"String\");(module.exports=function(O,key,value,options){var unsafe=!!options&&!!options.unsafe,simple=!!options&&!!options.enumerable,noTargetGet=!!options&&!!options.noTargetGet;\"function\"==typeof value&&(\"string\"!=typeof key||has(value,\"name\")||createNonEnumerableProperty(value,\"name\",key),enforceInternalState(value).source=TEMPLATE.join(\"string\"==typeof key?key:\"\")),O!==global?(unsafe?!noTargetGet&&O[key]&&(simple=!0):delete O[key],simple?O[key]=value:createNonEnumerableProperty(O,key,value)):simple?O[key]=value:setGlobal(key,value)})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&getInternalState(this).source||inspectSource(this)})},{\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/inspect-source\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/set-global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js\":[function(_dereq_,module,exports){module.exports=function(it){if(null==it)throw TypeError(\"Can't call method on \"+it);return it}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/same-value-zero.js\":[function(_dereq_,module,exports){module.exports=function(x,y){return x===y||x!=x&&y!=y}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\");module.exports=function(key,value){try{createNonEnumerableProperty(global,key,value)}catch(error){global[key]=value}return value}},{\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-species.js\":[function(_dereq_,module,exports){\"use strict\";var getBuiltIn=_dereq_(\"../internals/get-built-in\"),definePropertyModule=_dereq_(\"../internals/object-define-property\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),DESCRIPTORS=_dereq_(\"../internals/descriptors\"),SPECIES=wellKnownSymbol(\"species\");module.exports=function(CONSTRUCTOR_NAME){var Constructor=getBuiltIn(CONSTRUCTOR_NAME),defineProperty=definePropertyModule.f;DESCRIPTORS&&Constructor&&!Constructor[SPECIES]&&defineProperty(Constructor,SPECIES,{configurable:!0,get:function(){return this}})}},{\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\":[function(_dereq_,module,exports){var defineProperty=_dereq_(\"../internals/object-define-property\").f,has=_dereq_(\"../internals/has\"),TO_STRING_TAG=_dereq_(\"../internals/well-known-symbol\")(\"toStringTag\");module.exports=function(it,TAG,STATIC){it&&!has(it=STATIC?it:it.prototype,TO_STRING_TAG)&&defineProperty(it,TO_STRING_TAG,{configurable:!0,value:TAG})}},{\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js\":[function(_dereq_,module,exports){var shared=_dereq_(\"../internals/shared\"),uid=_dereq_(\"../internals/uid\"),keys=shared(\"keys\");module.exports=function(key){return keys[key]||(keys[key]=uid(key))}},{\"../internals/shared\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js\",\"../internals/uid\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-store.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),setGlobal=_dereq_(\"../internals/set-global\"),store=global[\"__core-js_shared__\"]||setGlobal(\"__core-js_shared__\",{});module.exports=store},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/set-global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-global.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js\":[function(_dereq_,module,exports){var IS_PURE=_dereq_(\"../internals/is-pure\"),store=_dereq_(\"../internals/shared-store\");(module.exports=function(key,value){return store[key]||(store[key]=void 0!==value?value:{})})(\"versions\",[]).push({version:\"3.6.4\",mode:IS_PURE?\"pure\":\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})},{\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/shared-store\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-store.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js\":[function(_dereq_,module,exports){var anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\"),SPECIES=_dereq_(\"../internals/well-known-symbol\")(\"species\");module.exports=function(O,defaultConstructor){var S,C=anObject(O).constructor;return void 0===C||null==(S=anObject(C)[SPECIES])?defaultConstructor:aFunction(S)}},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-multibyte.js\":[function(_dereq_,module,exports){function createMethod(CONVERT_TO_STRING){return function($this,pos){var first,second,S=String(requireObjectCoercible($this)),position=toInteger(pos),size=S.length;return position<0||size<=position?CONVERT_TO_STRING?\"\":void 0:(first=S.charCodeAt(position))<55296||56319<first||position+1===size||(second=S.charCodeAt(position+1))<56320||57343<second?CONVERT_TO_STRING?S.charAt(position):first:CONVERT_TO_STRING?S.slice(position,position+2):second-56320+(first-55296<<10)+65536}}var toInteger=_dereq_(\"../internals/to-integer\"),requireObjectCoercible=_dereq_(\"../internals/require-object-coercible\");module.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},{\"../internals/require-object-coercible\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js\",\"../internals/to-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-repeat.js\":[function(_dereq_,module,exports){\"use strict\";var toInteger=_dereq_(\"../internals/to-integer\"),requireObjectCoercible=_dereq_(\"../internals/require-object-coercible\");module.exports=\"\".repeat||function(count){var str=String(requireObjectCoercible(this)),result=\"\",n=toInteger(count);if(n<0||Infinity==n)throw RangeError(\"Wrong number of repetitions\");for(;0<n;(n>>>=1)&&(str+=str))1&n&&(result+=str);return result}},{\"../internals/require-object-coercible\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js\",\"../internals/to-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js\":[function(_dereq_,module,exports){function createMethod(TYPE){return function($this){var string=String(requireObjectCoercible($this));return 1&TYPE&&(string=string.replace(ltrim,\"\")),2&TYPE&&(string=string.replace(rtrim,\"\")),string}}var requireObjectCoercible=_dereq_(\"../internals/require-object-coercible\"),whitespace=\"[\"+_dereq_(\"../internals/whitespaces\")+\"]\",ltrim=RegExp(\"^\"+whitespace+whitespace+\"*\"),rtrim=RegExp(whitespace+whitespace+\"*$\");module.exports={start:createMethod(1),end:createMethod(2),trim:createMethod(3)}},{\"../internals/require-object-coercible\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js\",\"../internals/whitespaces\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/task.js\":[function(_dereq_,module,exports){function run(id){if(queue.hasOwnProperty(id)){var fn=queue[id];delete queue[id],fn()}}function runner(id){return function(){run(id)}}function listener(event){run(event.data)}function post(id){global.postMessage(id+\"\",location.protocol+\"//\"+location.host)}var defer,channel,port,global=_dereq_(\"../internals/global\"),fails=_dereq_(\"../internals/fails\"),classof=_dereq_(\"../internals/classof-raw\"),bind=_dereq_(\"../internals/function-bind-context\"),html=_dereq_(\"../internals/html\"),createElement=_dereq_(\"../internals/document-create-element\"),IS_IOS=_dereq_(\"../internals/engine-is-ios\"),location=global.location,set=global.setImmediate,clear=global.clearImmediate,process=global.process,MessageChannel=global.MessageChannel,Dispatch=global.Dispatch,counter=0,queue={};set&&clear||(set=function(fn){for(var args=[],i=1;i<arguments.length;)args.push(arguments[i++]);return queue[++counter]=function(){(\"function\"==typeof fn?fn:Function(fn)).apply(void 0,args)},defer(counter),counter},clear=function(id){delete queue[id]},\"process\"==classof(process)?defer=function(id){process.nextTick(runner(id))}:Dispatch&&Dispatch.now?defer=function(id){Dispatch.now(runner(id))}:MessageChannel&&!IS_IOS?(port=(channel=new MessageChannel).port2,channel.port1.onmessage=listener,defer=bind(port.postMessage,port,1)):!global.addEventListener||\"function\"!=typeof postMessage||global.importScripts||fails(post)?defer=\"onreadystatechange\"in createElement(\"script\")?function(id){html.appendChild(createElement(\"script\")).onreadystatechange=function(){html.removeChild(this),run(id)}}:function(id){setTimeout(runner(id),0)}:(defer=post,global.addEventListener(\"message\",listener,!1))),module.exports={set:set,clear:clear}},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\",\"../internals/document-create-element\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/document-create-element.js\",\"../internals/engine-is-ios\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-is-ios.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/html\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/html.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/this-number-value.js\":[function(_dereq_,module,exports){var classof=_dereq_(\"../internals/classof-raw\");module.exports=function(value){if(\"number\"!=typeof value&&\"Number\"!=classof(value))throw TypeError(\"Incorrect invocation\");return+value}},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-absolute-index.js\":[function(_dereq_,module,exports){var toInteger=_dereq_(\"../internals/to-integer\"),max=Math.max,min=Math.min;module.exports=function(index,length){var integer=toInteger(index);return integer<0?max(integer+length,0):min(integer,length)}},{\"../internals/to-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\":[function(_dereq_,module,exports){var IndexedObject=_dereq_(\"../internals/indexed-object\"),requireObjectCoercible=_dereq_(\"../internals/require-object-coercible\");module.exports=function(it){return IndexedObject(requireObjectCoercible(it))}},{\"../internals/indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/indexed-object.js\",\"../internals/require-object-coercible\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\":[function(_dereq_,module,exports){var ceil=Math.ceil,floor=Math.floor;module.exports=function(argument){return isNaN(argument=+argument)?0:(0<argument?floor:ceil)(argument)}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js\":[function(_dereq_,module,exports){var toInteger=_dereq_(\"../internals/to-integer\"),min=Math.min;module.exports=function(argument){return 0<argument?min(toInteger(argument),9007199254740991):0}},{\"../internals/to-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js\":[function(_dereq_,module,exports){var requireObjectCoercible=_dereq_(\"../internals/require-object-coercible\");module.exports=function(argument){return Object(requireObjectCoercible(argument))}},{\"../internals/require-object-coercible\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/require-object-coercible.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js\":[function(_dereq_,module,exports){var isObject=_dereq_(\"../internals/is-object\");module.exports=function(input,PREFERRED_STRING){if(!isObject(input))return input;var fn,val;if(PREFERRED_STRING&&\"function\"==typeof(fn=input.toString)&&!isObject(val=fn.call(input)))return val;if(\"function\"==typeof(fn=input.valueOf)&&!isObject(val=fn.call(input)))return val;if(!PREFERRED_STRING&&\"function\"==typeof(fn=input.toString)&&!isObject(val=fn.call(input)))return val;throw TypeError(\"Can't convert object to primitive value\")}},{\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js\":[function(_dereq_,module,exports){var test={};test[_dereq_(\"../internals/well-known-symbol\")(\"toStringTag\")]=\"z\",module.exports=\"[object z]\"===String(test)},{\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js\":[function(_dereq_,module,exports){var id=0,postfix=Math.random();module.exports=function(key){return\"Symbol(\"+String(void 0===key?\"\":key)+\")_\"+(++id+postfix).toString(36)}},{}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/use-symbol-as-uid.js\":[function(_dereq_,module,exports){var NATIVE_SYMBOL=_dereq_(\"../internals/native-symbol\");module.exports=NATIVE_SYMBOL&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},{\"../internals/native-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js\":[function(_dereq_,module,exports){var wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\");exports.f=wellKnownSymbol},{\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),shared=_dereq_(\"../internals/shared\"),has=_dereq_(\"../internals/has\"),uid=_dereq_(\"../internals/uid\"),NATIVE_SYMBOL=_dereq_(\"../internals/native-symbol\"),USE_SYMBOL_AS_UID=_dereq_(\"../internals/use-symbol-as-uid\"),WellKnownSymbolsStore=shared(\"wks\"),Symbol=global.Symbol,createWellKnownSymbol=USE_SYMBOL_AS_UID?Symbol:Symbol&&Symbol.withoutSetter||uid;module.exports=function(name){return has(WellKnownSymbolsStore,name)||(NATIVE_SYMBOL&&has(Symbol,name)?WellKnownSymbolsStore[name]=Symbol[name]:WellKnownSymbolsStore[name]=createWellKnownSymbol(\"Symbol.\"+name)),WellKnownSymbolsStore[name]}},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/native-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js\",\"../internals/shared\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js\",\"../internals/uid\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js\",\"../internals/use-symbol-as-uid\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/use-symbol-as-uid.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/internals/whitespaces.js\":[function(_dereq_,module,exports){module.exports=\"\\t\\n\\v\\f\\r    â€â€‚         âŸã€€\\u2028\\u2029\\ufeff\"},{}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.concat.js\":[function(_dereq_,module,exports){\"use strict\";function isConcatSpreadable(O){if(isObject(O)){var spreadable=O[IS_CONCAT_SPREADABLE];return void 0!==spreadable?spreadable:isArray(O)}}var $=_dereq_(\"../internals/export\"),fails=_dereq_(\"../internals/fails\"),isArray=_dereq_(\"../internals/is-array\"),isObject=_dereq_(\"../internals/is-object\"),toObject=_dereq_(\"../internals/to-object\"),toLength=_dereq_(\"../internals/to-length\"),createProperty=_dereq_(\"../internals/create-property\"),arraySpeciesCreate=_dereq_(\"../internals/array-species-create\"),arrayMethodHasSpeciesSupport=_dereq_(\"../internals/array-method-has-species-support\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),V8_VERSION=_dereq_(\"../internals/engine-v8-version\"),IS_CONCAT_SPREADABLE=wellKnownSymbol(\"isConcatSpreadable\"),IS_CONCAT_SPREADABLE_SUPPORT=51<=V8_VERSION||!fails(function(){var array=[];return array[IS_CONCAT_SPREADABLE]=!1,array.concat()[0]!==array}),SPECIES_SUPPORT=arrayMethodHasSpeciesSupport(\"concat\");$({target:\"Array\",proto:!0,forced:!IS_CONCAT_SPREADABLE_SUPPORT||!SPECIES_SUPPORT},{concat:function(arg){var i,k,length,len,E,O=toObject(this),A=arraySpeciesCreate(O,0),n=0;for(i=-1,length=arguments.length;i<length;i++)if(isConcatSpreadable(E=-1===i?O:arguments[i])){if(9007199254740991<n+(len=toLength(E.length)))throw TypeError(\"Maximum allowed index exceeded\");for(k=0;k<len;k++,n++)k in E&&createProperty(A,n,E[k])}else{if(9007199254740991<=n)throw TypeError(\"Maximum allowed index exceeded\");createProperty(A,n++,E)}return A.length=n,A}})},{\"../internals/array-method-has-species-support\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-method-has-species-support.js\",\"../internals/array-species-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-species-create.js\",\"../internals/create-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property.js\",\"../internals/engine-v8-version\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/is-array\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/to-length\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-length.js\",\"../internals/to-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.from.js\":[function(_dereq_,module,exports){var $=_dereq_(\"../internals/export\"),from=_dereq_(\"../internals/array-from\");$({target:\"Array\",stat:!0,forced:!_dereq_(\"../internals/check-correctness-of-iteration\")(function(iterable){Array.from(iterable)})},{from:from})},{\"../internals/array-from\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-from.js\",\"../internals/check-correctness-of-iteration\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.iterator.js\":[function(_dereq_,module,exports){\"use strict\";var toIndexedObject=_dereq_(\"../internals/to-indexed-object\"),addToUnscopables=_dereq_(\"../internals/add-to-unscopables\"),Iterators=_dereq_(\"../internals/iterators\"),InternalStateModule=_dereq_(\"../internals/internal-state\"),defineIterator=_dereq_(\"../internals/define-iterator\"),setInternalState=InternalStateModule.set,getInternalState=InternalStateModule.getterFor(\"Array Iterator\");module.exports=defineIterator(Array,\"Array\",function(iterated,kind){setInternalState(this,{type:\"Array Iterator\",target:toIndexedObject(iterated),index:0,kind:kind})},function(){var state=getInternalState(this),target=state.target,kind=state.kind,index=state.index++;return!target||index>=target.length?{value:state.target=void 0,done:!0}:\"keys\"==kind?{value:index,done:!1}:\"values\"==kind?{value:target[index],done:!1}:{value:[index,target[index]],done:!1}},\"values\"),Iterators.Arguments=Iterators.Array,addToUnscopables(\"keys\"),addToUnscopables(\"values\"),addToUnscopables(\"entries\")},{\"../internals/add-to-unscopables\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/add-to-unscopables.js\",\"../internals/define-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/iterators\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterators.js\",\"../internals/to-indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.json.to-string-tag.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\");_dereq_(\"../internals/set-to-string-tag\")(global.JSON,\"JSON\",!0)},{\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.map.js\":[function(_dereq_,module,exports){\"use strict\";var collection=_dereq_(\"../internals/collection\"),collectionStrong=_dereq_(\"../internals/collection-strong\");module.exports=collection(\"Map\",function(init){return function(argument_0){return init(this,arguments.length?argument_0:void 0)}},collectionStrong)},{\"../internals/collection\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection.js\",\"../internals/collection-strong\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-strong.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.math.to-string-tag.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/set-to-string-tag\")(Math,\"Math\",!0)},{\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.constructor.js\":[function(_dereq_,module,exports){\"use strict\";function toNumber(argument){var first,third,radix,maxCode,digits,length,index,code,it=toPrimitive(argument,!1);if(\"string\"==typeof it&&2<it.length)if(43===(first=(it=trim(it)).charCodeAt(0))||45===first){if(88===(third=it.charCodeAt(2))||120===third)return NaN}else if(48===first){switch(it.charCodeAt(1)){case 66:case 98:radix=2,maxCode=49;break;case 79:case 111:radix=8,maxCode=55;break;default:return+it}for(length=(digits=it.slice(2)).length,index=0;index<length;index++)if((code=digits.charCodeAt(index))<48||maxCode<code)return NaN;return parseInt(digits,radix)}return+it}var DESCRIPTORS=_dereq_(\"../internals/descriptors\"),global=_dereq_(\"../internals/global\"),isForced=_dereq_(\"../internals/is-forced\"),redefine=_dereq_(\"../internals/redefine\"),has=_dereq_(\"../internals/has\"),classof=_dereq_(\"../internals/classof-raw\"),inheritIfRequired=_dereq_(\"../internals/inherit-if-required\"),toPrimitive=_dereq_(\"../internals/to-primitive\"),fails=_dereq_(\"../internals/fails\"),create=_dereq_(\"../internals/object-create\"),getOwnPropertyNames=_dereq_(\"../internals/object-get-own-property-names\").f,getOwnPropertyDescriptor=_dereq_(\"../internals/object-get-own-property-descriptor\").f,defineProperty=_dereq_(\"../internals/object-define-property\").f,trim=_dereq_(\"../internals/string-trim\").trim,NativeNumber=global.Number,NumberPrototype=NativeNumber.prototype,BROKEN_CLASSOF=\"Number\"==classof(create(NumberPrototype));if(isForced(\"Number\",!NativeNumber(\" 0o1\")||!NativeNumber(\"0b1\")||NativeNumber(\"+0x1\"))){for(var key,NumberWrapper=function(value){var it=arguments.length<1?0:value,dummy=this;return dummy instanceof NumberWrapper&&(BROKEN_CLASSOF?fails(function(){NumberPrototype.valueOf.call(dummy)}):\"Number\"!=classof(dummy))?inheritIfRequired(new NativeNumber(toNumber(it)),dummy,NumberWrapper):toNumber(it)},keys=DESCRIPTORS?getOwnPropertyNames(NativeNumber):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),j=0;keys.length>j;j++)has(NativeNumber,key=keys[j])&&!has(NumberWrapper,key)&&defineProperty(NumberWrapper,key,getOwnPropertyDescriptor(NativeNumber,key));redefine(global,\"Number\",(NumberWrapper.prototype=NumberPrototype).constructor=NumberWrapper)}},{\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/inherit-if-required\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/inherit-if-required.js\",\"../internals/is-forced\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js\",\"../internals/object-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/object-get-own-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js\",\"../internals/object-get-own-property-names\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/string-trim\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-trim.js\",\"../internals/to-primitive\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.epsilon.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Number\",stat:!0},{EPSILON:Math.pow(2,-52)})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-finite.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Number\",stat:!0},{isFinite:_dereq_(\"../internals/number-is-finite\")})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/number-is-finite\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-is-finite.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-integer.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Number\",stat:!0},{isInteger:_dereq_(\"../internals/is-integer\")})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-nan.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Number\",stat:!0},{isNaN:function(number){return number!=number}})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.is-safe-integer.js\":[function(_dereq_,module,exports){var $=_dereq_(\"../internals/export\"),isInteger=_dereq_(\"../internals/is-integer\"),abs=Math.abs;$({target:\"Number\",stat:!0},{isSafeInteger:function(number){return isInteger(number)&&abs(number)<=9007199254740991}})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.max-safe-integer.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Number\",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.min-safe-integer.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Number\",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-float.js\":[function(_dereq_,module,exports){var $=_dereq_(\"../internals/export\"),parseFloat=_dereq_(\"../internals/number-parse-float\");$({target:\"Number\",stat:!0,forced:Number.parseFloat!=parseFloat},{parseFloat:parseFloat})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/number-parse-float\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-float.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.parse-int.js\":[function(_dereq_,module,exports){var $=_dereq_(\"../internals/export\"),parseInt=_dereq_(\"../internals/number-parse-int\");$({target:\"Number\",stat:!0,forced:Number.parseInt!=parseInt},{parseInt:parseInt})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/number-parse-int\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-int.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-fixed.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),toInteger=_dereq_(\"../internals/to-integer\"),thisNumberValue=_dereq_(\"../internals/this-number-value\"),repeat=_dereq_(\"../internals/string-repeat\"),fails=_dereq_(\"../internals/fails\"),nativeToFixed=1..toFixed,floor=Math.floor,pow=function(x,n,acc){return 0===n?acc:n%2==1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)};$({target:\"Number\",proto:!0,forced:nativeToFixed&&(\"0.000\"!==8e-5.toFixed(3)||\"1\"!==.9.toFixed(0)||\"1.25\"!==1.255.toFixed(2)||\"1000000000000000128\"!==(0xde0b6b3a7640080).toFixed(0))||!fails(function(){nativeToFixed.call({})})},{toFixed:function(fractionDigits){function multiply(n,c){for(var index=-1,c2=c;++index<6;)c2+=n*data[index],data[index]=c2%1e7,c2=floor(c2/1e7)}function divide(n){for(var index=6,c=0;0<=--index;)c+=data[index],data[index]=floor(c/n),c=c%n*1e7}function dataToString(){for(var index=6,s=\"\";0<=--index;)if(\"\"!==s||0===index||0!==data[index]){var t=String(data[index]);s=\"\"===s?t:s+repeat.call(\"0\",7-t.length)+t}return s}var e,z,j,k,number=thisNumberValue(this),fractDigits=toInteger(fractionDigits),data=[0,0,0,0,0,0],sign=\"\",result=\"0\";if(fractDigits<0||20<fractDigits)throw RangeError(\"Incorrect fraction digits\");if(number!=number)return\"NaN\";if(number<=-1e21||1e21<=number)return String(number);if(number<0&&(sign=\"-\",number=-number),1e-21<number)if(z=(e=function(){for(var n=0,x2=number*pow(2,69,1);4096<=x2;)n+=12,x2/=4096;for(;2<=x2;)n+=1,x2/=2;return n}()-69)<0?number*pow(2,-e,1):number/pow(2,e,1),z*=4503599627370496,0<(e=52-e)){for(multiply(0,z),j=fractDigits;7<=j;)multiply(1e7,0),j-=7;for(multiply(pow(10,j,1),0),j=e-1;23<=j;)divide(1<<23),j-=23;divide(1<<j),multiply(1,1),divide(2),result=dataToString()}else multiply(0,z),multiply(1<<-e,0),result=dataToString()+repeat.call(\"0\",fractDigits);return 0<fractDigits?sign+((k=result.length)<=fractDigits?\"0.\"+repeat.call(\"0\",fractDigits-k)+result:result.slice(0,k-fractDigits)+\".\"+result.slice(k-fractDigits)):sign+result}})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/string-repeat\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-repeat.js\",\"../internals/this-number-value\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/this-number-value.js\",\"../internals/to-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.number.to-precision.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),fails=_dereq_(\"../internals/fails\"),thisNumberValue=_dereq_(\"../internals/this-number-value\"),nativeToPrecision=1..toPrecision;$({target:\"Number\",proto:!0,forced:fails(function(){return\"1\"!==nativeToPrecision.call(1,void 0)})||!fails(function(){nativeToPrecision.call({})})},{toPrecision:function(precision){return void 0===precision?nativeToPrecision.call(thisNumberValue(this)):nativeToPrecision.call(thisNumberValue(this),precision)}})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/this-number-value\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/this-number-value.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.object.to-string.js\":[function(_dereq_,module,exports){var TO_STRING_TAG_SUPPORT=_dereq_(\"../internals/to-string-tag-support\"),redefine=_dereq_(\"../internals/redefine\"),toString=_dereq_(\"../internals/object-to-string\");TO_STRING_TAG_SUPPORT||redefine(Object.prototype,\"toString\",toString,{unsafe:!0})},{\"../internals/object-to-string\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-to-string.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/to-string-tag-support\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-string-tag-support.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.all-settled.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),aFunction=_dereq_(\"../internals/a-function\"),newPromiseCapabilityModule=_dereq_(\"../internals/new-promise-capability\"),perform=_dereq_(\"../internals/perform\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Promise\",stat:!0},{allSettled:function(iterable){var C=this,capability=newPromiseCapabilityModule.f(C),resolve=capability.resolve,reject=capability.reject,result=perform(function(){var promiseResolve=aFunction(C.resolve),values=[],counter=0,remaining=1;iterate(iterable,function(promise){var index=counter++,alreadyCalled=!1;values.push(void 0),remaining++,promiseResolve.call(C,promise).then(function(value){alreadyCalled||(alreadyCalled=!0,values[index]={status:\"fulfilled\",value:value},--remaining||resolve(values))},function(e){alreadyCalled||(alreadyCalled=!0,values[index]={status:\"rejected\",reason:e},--remaining||resolve(values))})}),--remaining||resolve(values)});return result.error&&reject(result.value),capability.promise}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/new-promise-capability\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js\",\"../internals/perform\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.finally.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),NativePromise=_dereq_(\"../internals/native-promise-constructor\"),fails=_dereq_(\"../internals/fails\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),speciesConstructor=_dereq_(\"../internals/species-constructor\"),promiseResolve=_dereq_(\"../internals/promise-resolve\"),redefine=_dereq_(\"../internals/redefine\");$({target:\"Promise\",proto:!0,real:!0,forced:!!NativePromise&&fails(function(){NativePromise.prototype.finally.call({then:function(){}},function(){})})},{finally:function(onFinally){var C=speciesConstructor(this,getBuiltIn(\"Promise\")),isFunction=\"function\"==typeof onFinally;return this.then(isFunction?function(x){return promiseResolve(C,onFinally()).then(function(){return x})}:onFinally,isFunction?function(e){return promiseResolve(C,onFinally()).then(function(){throw e})}:onFinally)}}),IS_PURE||\"function\"!=typeof NativePromise||NativePromise.prototype.finally||redefine(NativePromise.prototype,\"finally\",getBuiltIn(\"Promise\").prototype.finally)},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/native-promise-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-promise-constructor.js\",\"../internals/promise-resolve\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/promise-resolve.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/species-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.js\":[function(_dereq_,module,exports){\"use strict\";function isThenable(it){var then;return!(!isObject(it)||\"function\"!=typeof(then=it.then))&&then}function notify(promise,state,isReject){if(!state.notified){state.notified=!0;var chain=state.reactions;microtask(function(){for(var value=state.value,ok=1==state.state,index=0;chain.length>index;){var result,then,exited,reaction=chain[index++],handler=ok?reaction.ok:reaction.fail,resolve=reaction.resolve,reject=reaction.reject,domain=reaction.domain;try{handler?(ok||(2===state.rejection&&onHandleUnhandled(promise,state),state.rejection=1),!0===handler?result=value:(domain&&domain.enter(),result=handler(value),domain&&(domain.exit(),exited=!0)),result===reaction.promise?reject(TypeError(\"Promise-chain cycle\")):(then=isThenable(result))?then.call(result,resolve,reject):resolve(result)):reject(value)}catch(error){domain&&!exited&&domain.exit(),reject(error)}}state.reactions=[],state.notified=!1,isReject&&!state.rejection&&onUnhandled(promise,state)})}}function dispatchEvent(name,promise,reason){var event,handler;DISPATCH_EVENT?((event=document.createEvent(\"Event\")).promise=promise,event.reason=reason,event.initEvent(name,!1,!0),global.dispatchEvent(event)):event={promise:promise,reason:reason},(handler=global[\"on\"+name])?handler(event):\"unhandledrejection\"===name&&hostReportErrors(\"Unhandled promise rejection\",reason)}function bind(fn,promise,state,unwrap){return function(value){fn(promise,state,value,unwrap)}}function internalReject(promise,state,value,unwrap){state.done||(state.done=!0,unwrap&&(state=unwrap),state.value=value,state.state=2,notify(promise,state,!0))}var Internal,OwnPromiseCapability,PromiseWrapper,nativeThen,$=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),global=_dereq_(\"../internals/global\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),NativePromise=_dereq_(\"../internals/native-promise-constructor\"),redefine=_dereq_(\"../internals/redefine\"),redefineAll=_dereq_(\"../internals/redefine-all\"),setToStringTag=_dereq_(\"../internals/set-to-string-tag\"),setSpecies=_dereq_(\"../internals/set-species\"),isObject=_dereq_(\"../internals/is-object\"),aFunction=_dereq_(\"../internals/a-function\"),anInstance=_dereq_(\"../internals/an-instance\"),classof=_dereq_(\"../internals/classof-raw\"),inspectSource=_dereq_(\"../internals/inspect-source\"),iterate=_dereq_(\"../internals/iterate\"),checkCorrectnessOfIteration=_dereq_(\"../internals/check-correctness-of-iteration\"),speciesConstructor=_dereq_(\"../internals/species-constructor\"),task=_dereq_(\"../internals/task\").set,microtask=_dereq_(\"../internals/microtask\"),promiseResolve=_dereq_(\"../internals/promise-resolve\"),hostReportErrors=_dereq_(\"../internals/host-report-errors\"),newPromiseCapabilityModule=_dereq_(\"../internals/new-promise-capability\"),perform=_dereq_(\"../internals/perform\"),InternalStateModule=_dereq_(\"../internals/internal-state\"),isForced=_dereq_(\"../internals/is-forced\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),V8_VERSION=_dereq_(\"../internals/engine-v8-version\"),SPECIES=wellKnownSymbol(\"species\"),PROMISE=\"Promise\",getInternalState=InternalStateModule.get,setInternalState=InternalStateModule.set,getInternalPromiseState=InternalStateModule.getterFor(PROMISE),PromiseConstructor=NativePromise,TypeError=global.TypeError,document=global.document,process=global.process,$fetch=getBuiltIn(\"fetch\"),newPromiseCapability=newPromiseCapabilityModule.f,newGenericPromiseCapability=newPromiseCapability,IS_NODE=\"process\"==classof(process),DISPATCH_EVENT=!!(document&&document.createEvent&&global.dispatchEvent),FORCED=isForced(PROMISE,function(){if(inspectSource(PromiseConstructor)===String(PromiseConstructor)){if(66===V8_VERSION)return!0;if(!IS_NODE&&\"function\"!=typeof PromiseRejectionEvent)return!0}if(IS_PURE&&!PromiseConstructor.prototype.finally)return!0;if(51<=V8_VERSION&&/native code/.test(PromiseConstructor))return!1;function FakePromise(exec){exec(function(){},function(){})}var promise=PromiseConstructor.resolve(1);return(promise.constructor={})[SPECIES]=FakePromise,!(promise.then(function(){})instanceof FakePromise)}),INCORRECT_ITERATION=FORCED||!checkCorrectnessOfIteration(function(iterable){PromiseConstructor.all(iterable).catch(function(){})}),onUnhandled=function(promise,state){task.call(global,function(){var result,value=state.value;if(isUnhandled(state)&&(result=perform(function(){IS_NODE?process.emit(\"unhandledRejection\",value,promise):dispatchEvent(\"unhandledrejection\",promise,value)}),state.rejection=IS_NODE||isUnhandled(state)?2:1,result.error))throw result.value})},isUnhandled=function(state){return 1!==state.rejection&&!state.parent},onHandleUnhandled=function(promise,state){task.call(global,function(){IS_NODE?process.emit(\"rejectionHandled\",promise):dispatchEvent(\"rejectionhandled\",promise,state.value)})},internalResolve=function(promise,state,value,unwrap){if(!state.done){state.done=!0,unwrap&&(state=unwrap);try{if(promise===value)throw TypeError(\"Promise can't be resolved itself\");var then=isThenable(value);then?microtask(function(){var wrapper={done:!1};try{then.call(value,bind(internalResolve,promise,wrapper,state),bind(internalReject,promise,wrapper,state))}catch(error){internalReject(promise,wrapper,error,state)}}):(state.value=value,state.state=1,notify(promise,state,!1))}catch(error){internalReject(promise,{done:!1},error,state)}}};FORCED&&(PromiseConstructor=function(executor){anInstance(this,PromiseConstructor,PROMISE),aFunction(executor),Internal.call(this);var state=getInternalState(this);try{executor(bind(internalResolve,this,state),bind(internalReject,this,state))}catch(error){internalReject(this,state,error)}},(Internal=function(){setInternalState(this,{type:PROMISE,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=redefineAll(PromiseConstructor.prototype,{then:function(onFulfilled,onRejected){var state=getInternalPromiseState(this),reaction=newPromiseCapability(speciesConstructor(this,PromiseConstructor));return reaction.ok=\"function\"!=typeof onFulfilled||onFulfilled,reaction.fail=\"function\"==typeof onRejected&&onRejected,reaction.domain=IS_NODE?process.domain:void 0,state.parent=!0,state.reactions.push(reaction),0!=state.state&¬ify(this,state,!1),reaction.promise},catch:function(onRejected){return this.then(void 0,onRejected)}}),OwnPromiseCapability=function(){var promise=new Internal,state=getInternalState(promise);this.promise=promise,this.resolve=bind(internalResolve,promise,state),this.reject=bind(internalReject,promise,state)},newPromiseCapabilityModule.f=newPromiseCapability=function(C){return C===PromiseConstructor||C===PromiseWrapper?new OwnPromiseCapability:newGenericPromiseCapability(C)},IS_PURE||\"function\"!=typeof NativePromise||(nativeThen=NativePromise.prototype.then,redefine(NativePromise.prototype,\"then\",function(onFulfilled,onRejected){var that=this;return new PromiseConstructor(function(resolve,reject){nativeThen.call(that,resolve,reject)}).then(onFulfilled,onRejected)},{unsafe:!0}),\"function\"==typeof $fetch&&$({global:!0,enumerable:!0,forced:!0},{fetch:function(input){return promiseResolve(PromiseConstructor,$fetch.apply(global,arguments))}}))),$({global:!0,wrap:!0,forced:FORCED},{Promise:PromiseConstructor}),setToStringTag(PromiseConstructor,PROMISE,!1,!0),setSpecies(PROMISE),PromiseWrapper=getBuiltIn(PROMISE),$({target:PROMISE,stat:!0,forced:FORCED},{reject:function(r){var capability=newPromiseCapability(this);return capability.reject.call(void 0,r),capability.promise}}),$({target:PROMISE,stat:!0,forced:IS_PURE||FORCED},{resolve:function(x){return promiseResolve(IS_PURE&&this===PromiseWrapper?PromiseConstructor:this,x)}}),$({target:PROMISE,stat:!0,forced:INCORRECT_ITERATION},{all:function(iterable){var C=this,capability=newPromiseCapability(C),resolve=capability.resolve,reject=capability.reject,result=perform(function(){var $promiseResolve=aFunction(C.resolve),values=[],counter=0,remaining=1;iterate(iterable,function(promise){var index=counter++,alreadyCalled=!1;values.push(void 0),remaining++,$promiseResolve.call(C,promise).then(function(value){alreadyCalled||(alreadyCalled=!0,values[index]=value,--remaining||resolve(values))},reject)}),--remaining||resolve(values)});return result.error&&reject(result.value),capability.promise},race:function(iterable){var C=this,capability=newPromiseCapability(C),reject=capability.reject,result=perform(function(){var $promiseResolve=aFunction(C.resolve);iterate(iterable,function(promise){$promiseResolve.call(C,promise).then(capability.resolve,reject)})});return result.error&&reject(result.value),capability.promise}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-instance\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-instance.js\",\"../internals/check-correctness-of-iteration\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/check-correctness-of-iteration.js\",\"../internals/classof-raw\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/classof-raw.js\",\"../internals/engine-v8-version\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/engine-v8-version.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/host-report-errors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/host-report-errors.js\",\"../internals/inspect-source\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/inspect-source.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/is-forced\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-forced.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/microtask\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/microtask.js\",\"../internals/native-promise-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-promise-constructor.js\",\"../internals/new-promise-capability\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js\",\"../internals/perform\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js\",\"../internals/promise-resolve\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/promise-resolve.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/redefine-all\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine-all.js\",\"../internals/set-species\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-species.js\",\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\",\"../internals/species-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js\",\"../internals/task\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/task.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.string.iterator.js\":[function(_dereq_,module,exports){\"use strict\";var charAt=_dereq_(\"../internals/string-multibyte\").charAt,InternalStateModule=_dereq_(\"../internals/internal-state\"),defineIterator=_dereq_(\"../internals/define-iterator\"),setInternalState=InternalStateModule.set,getInternalState=InternalStateModule.getterFor(\"String Iterator\");defineIterator(String,\"String\",function(iterated){setInternalState(this,{type:\"String Iterator\",string:String(iterated),index:0})},function(){var point,state=getInternalState(this),string=state.string,index=state.index;return index>=string.length?{value:void 0,done:!0}:(point=charAt(string,index),state.index+=point.length,{value:point,done:!1})})},{\"../internals/define-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-iterator.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/string-multibyte\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/string-multibyte.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.async-iterator.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"asyncIterator\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.description.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),DESCRIPTORS=_dereq_(\"../internals/descriptors\"),global=_dereq_(\"../internals/global\"),has=_dereq_(\"../internals/has\"),isObject=_dereq_(\"../internals/is-object\"),defineProperty=_dereq_(\"../internals/object-define-property\").f,copyConstructorProperties=_dereq_(\"../internals/copy-constructor-properties\"),NativeSymbol=global.Symbol;if(DESCRIPTORS&&\"function\"==typeof NativeSymbol&&(!(\"description\"in NativeSymbol.prototype)||void 0!==NativeSymbol().description)){var EmptyStringDescriptionStore={},SymbolWrapper=function(argument_0){var description=arguments.length<1||void 0===argument_0?void 0:String(argument_0),result=this instanceof SymbolWrapper?new NativeSymbol(description):void 0===description?NativeSymbol():NativeSymbol(description);return\"\"===description&&(EmptyStringDescriptionStore[result]=!0),result};copyConstructorProperties(SymbolWrapper,NativeSymbol);var symbolPrototype=SymbolWrapper.prototype=NativeSymbol.prototype;symbolPrototype.constructor=SymbolWrapper;var symbolToString=symbolPrototype.toString,native=\"Symbol(test)\"==String(NativeSymbol(\"test\")),regexp=/^Symbol\\((.*)\\)[^)]+$/;defineProperty(symbolPrototype,\"description\",{configurable:!0,get:function(){var symbol=isObject(this)?this.valueOf():this,string=symbolToString.call(symbol);if(has(EmptyStringDescriptionStore,symbol))return\"\";var desc=native?string.slice(7,-1):string.replace(regexp,\"$1\");return\"\"===desc?void 0:desc}}),$({global:!0,forced:!0},{Symbol:SymbolWrapper})}},{\"../internals/copy-constructor-properties\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/copy-constructor-properties.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.has-instance.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"hasInstance\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"isConcatSpreadable\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.iterator.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"iterator\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.js\":[function(_dereq_,module,exports){\"use strict\";function wrap(tag,description){var symbol=AllSymbols[tag]=nativeObjectCreate($Symbol.prototype);return setInternalState(symbol,{type:\"Symbol\",tag:tag,description:description}),DESCRIPTORS||(symbol.description=description),symbol}function $defineProperties(O,Properties){anObject(O);var properties=toIndexedObject(Properties),keys=objectKeys(properties).concat($getOwnPropertySymbols(properties));return $forEach(keys,function(key){DESCRIPTORS&&!$propertyIsEnumerable.call(properties,key)||$defineProperty(O,key,properties[key])}),O}function $getOwnPropertyDescriptor(O,P){var it=toIndexedObject(O),key=toPrimitive(P,!0);if(it!==ObjectPrototype||!has(AllSymbols,key)||has(ObjectPrototypeSymbols,key)){var descriptor=nativeGetOwnPropertyDescriptor(it,key);return!descriptor||!has(AllSymbols,key)||has(it,HIDDEN)&&it[HIDDEN][key]||(descriptor.enumerable=!0),descriptor}}function $getOwnPropertyNames(O){var names=nativeGetOwnPropertyNames(toIndexedObject(O)),result=[];return $forEach(names,function(key){has(AllSymbols,key)||has(hiddenKeys,key)||result.push(key)}),result}function $propertyIsEnumerable(V){var P=toPrimitive(V,!0),enumerable=nativePropertyIsEnumerable.call(this,P);return!(this===ObjectPrototype&&has(AllSymbols,P)&&!has(ObjectPrototypeSymbols,P))&&(!(enumerable||!has(this,P)||!has(AllSymbols,P)||has(this,HIDDEN)&&this[HIDDEN][P])||enumerable)}function $getOwnPropertySymbols(O){var IS_OBJECT_PROTOTYPE=O===ObjectPrototype,names=nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE?ObjectPrototypeSymbols:toIndexedObject(O)),result=[];return $forEach(names,function(key){!has(AllSymbols,key)||IS_OBJECT_PROTOTYPE&&!has(ObjectPrototype,key)||result.push(AllSymbols[key])}),result}var $=_dereq_(\"../internals/export\"),global=_dereq_(\"../internals/global\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),IS_PURE=_dereq_(\"../internals/is-pure\"),DESCRIPTORS=_dereq_(\"../internals/descriptors\"),NATIVE_SYMBOL=_dereq_(\"../internals/native-symbol\"),USE_SYMBOL_AS_UID=_dereq_(\"../internals/use-symbol-as-uid\"),fails=_dereq_(\"../internals/fails\"),has=_dereq_(\"../internals/has\"),isArray=_dereq_(\"../internals/is-array\"),isObject=_dereq_(\"../internals/is-object\"),anObject=_dereq_(\"../internals/an-object\"),toObject=_dereq_(\"../internals/to-object\"),toIndexedObject=_dereq_(\"../internals/to-indexed-object\"),toPrimitive=_dereq_(\"../internals/to-primitive\"),createPropertyDescriptor=_dereq_(\"../internals/create-property-descriptor\"),nativeObjectCreate=_dereq_(\"../internals/object-create\"),objectKeys=_dereq_(\"../internals/object-keys\"),getOwnPropertyNamesModule=_dereq_(\"../internals/object-get-own-property-names\"),getOwnPropertyNamesExternal=_dereq_(\"../internals/object-get-own-property-names-external\"),getOwnPropertySymbolsModule=_dereq_(\"../internals/object-get-own-property-symbols\"),getOwnPropertyDescriptorModule=_dereq_(\"../internals/object-get-own-property-descriptor\"),definePropertyModule=_dereq_(\"../internals/object-define-property\"),propertyIsEnumerableModule=_dereq_(\"../internals/object-property-is-enumerable\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),redefine=_dereq_(\"../internals/redefine\"),shared=_dereq_(\"../internals/shared\"),sharedKey=_dereq_(\"../internals/shared-key\"),hiddenKeys=_dereq_(\"../internals/hidden-keys\"),uid=_dereq_(\"../internals/uid\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),wrappedWellKnownSymbolModule=_dereq_(\"../internals/well-known-symbol-wrapped\"),defineWellKnownSymbol=_dereq_(\"../internals/define-well-known-symbol\"),setToStringTag=_dereq_(\"../internals/set-to-string-tag\"),InternalStateModule=_dereq_(\"../internals/internal-state\"),$forEach=_dereq_(\"../internals/array-iteration\").forEach,HIDDEN=sharedKey(\"hidden\"),TO_PRIMITIVE=wellKnownSymbol(\"toPrimitive\"),setInternalState=InternalStateModule.set,getInternalState=InternalStateModule.getterFor(\"Symbol\"),ObjectPrototype=Object.prototype,$Symbol=global.Symbol,$stringify=getBuiltIn(\"JSON\",\"stringify\"),nativeGetOwnPropertyDescriptor=getOwnPropertyDescriptorModule.f,nativeDefineProperty=definePropertyModule.f,nativeGetOwnPropertyNames=getOwnPropertyNamesExternal.f,nativePropertyIsEnumerable=propertyIsEnumerableModule.f,AllSymbols=shared(\"symbols\"),ObjectPrototypeSymbols=shared(\"op-symbols\"),StringToSymbolRegistry=shared(\"string-to-symbol-registry\"),SymbolToStringRegistry=shared(\"symbol-to-string-registry\"),WellKnownSymbolsStore=shared(\"wks\"),QObject=global.QObject,USE_SETTER=!QObject||!QObject.prototype||!QObject.prototype.findChild,setSymbolDescriptor=DESCRIPTORS&&fails(function(){return 7!=nativeObjectCreate(nativeDefineProperty({},\"a\",{get:function(){return nativeDefineProperty(this,\"a\",{value:7}).a}})).a})?function(O,P,Attributes){var ObjectPrototypeDescriptor=nativeGetOwnPropertyDescriptor(ObjectPrototype,P);ObjectPrototypeDescriptor&&delete ObjectPrototype[P],nativeDefineProperty(O,P,Attributes),ObjectPrototypeDescriptor&&O!==ObjectPrototype&&nativeDefineProperty(ObjectPrototype,P,ObjectPrototypeDescriptor)}:nativeDefineProperty,isSymbol=USE_SYMBOL_AS_UID?function(it){return\"symbol\"==typeof it}:function(it){return Object(it)instanceof $Symbol},$defineProperty=function(O,P,Attributes){O===ObjectPrototype&&$defineProperty(ObjectPrototypeSymbols,P,Attributes),anObject(O);var key=toPrimitive(P,!0);return anObject(Attributes),has(AllSymbols,key)?(Attributes.enumerable?(has(O,HIDDEN)&&O[HIDDEN][key]&&(O[HIDDEN][key]=!1),Attributes=nativeObjectCreate(Attributes,{enumerable:createPropertyDescriptor(0,!1)})):(has(O,HIDDEN)||nativeDefineProperty(O,HIDDEN,createPropertyDescriptor(1,{})),O[HIDDEN][key]=!0),setSymbolDescriptor(O,key,Attributes)):nativeDefineProperty(O,key,Attributes)};NATIVE_SYMBOL||(redefine(($Symbol=function(argument_0){if(this instanceof $Symbol)throw TypeError(\"Symbol is not a constructor\");var description=arguments.length&&void 0!==argument_0?String(argument_0):void 0,tag=uid(description),setter=function(value){this===ObjectPrototype&&setter.call(ObjectPrototypeSymbols,value),has(this,HIDDEN)&&has(this[HIDDEN],tag)&&(this[HIDDEN][tag]=!1),setSymbolDescriptor(this,tag,createPropertyDescriptor(1,value))};return DESCRIPTORS&&USE_SETTER&&setSymbolDescriptor(ObjectPrototype,tag,{configurable:!0,set:setter}),wrap(tag,description)}).prototype,\"toString\",function(){return getInternalState(this).tag}),redefine($Symbol,\"withoutSetter\",function(description){return wrap(uid(description),description)}),propertyIsEnumerableModule.f=$propertyIsEnumerable,definePropertyModule.f=$defineProperty,getOwnPropertyDescriptorModule.f=$getOwnPropertyDescriptor,getOwnPropertyNamesModule.f=getOwnPropertyNamesExternal.f=$getOwnPropertyNames,getOwnPropertySymbolsModule.f=$getOwnPropertySymbols,wrappedWellKnownSymbolModule.f=function(name){return wrap(wellKnownSymbol(name),name)},DESCRIPTORS&&(nativeDefineProperty($Symbol.prototype,\"description\",{configurable:!0,get:function(){return getInternalState(this).description}}),IS_PURE||redefine(ObjectPrototype,\"propertyIsEnumerable\",$propertyIsEnumerable,{unsafe:!0}))),$({global:!0,wrap:!0,forced:!NATIVE_SYMBOL,sham:!NATIVE_SYMBOL},{Symbol:$Symbol}),$forEach(objectKeys(WellKnownSymbolsStore),function(name){defineWellKnownSymbol(name)}),$({target:\"Symbol\",stat:!0,forced:!NATIVE_SYMBOL},{for:function(key){var string=String(key);if(has(StringToSymbolRegistry,string))return StringToSymbolRegistry[string];var symbol=$Symbol(string);return StringToSymbolRegistry[string]=symbol,SymbolToStringRegistry[symbol]=string,symbol},keyFor:function(sym){if(!isSymbol(sym))throw TypeError(sym+\" is not a symbol\");if(has(SymbolToStringRegistry,sym))return SymbolToStringRegistry[sym]},useSetter:function(){USE_SETTER=!0},useSimple:function(){USE_SETTER=!1}}),$({target:\"Object\",stat:!0,forced:!NATIVE_SYMBOL,sham:!DESCRIPTORS},{create:function(O,Properties){return void 0===Properties?nativeObjectCreate(O):$defineProperties(nativeObjectCreate(O),Properties)},defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor}),$({target:\"Object\",stat:!0,forced:!NATIVE_SYMBOL},{getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols}),$({target:\"Object\",stat:!0,forced:fails(function(){getOwnPropertySymbolsModule.f(1)})},{getOwnPropertySymbols:function(it){return getOwnPropertySymbolsModule.f(toObject(it))}}),$stringify&&$({target:\"JSON\",stat:!0,forced:!NATIVE_SYMBOL||fails(function(){var symbol=$Symbol();return\"[null]\"!=$stringify([symbol])||\"{}\"!=$stringify({a:symbol})||\"{}\"!=$stringify(Object(symbol))})},{stringify:function(it,replacer,space){for(var $replacer,args=[it],index=1;index<arguments.length;)args.push(arguments[index++]);if((isObject($replacer=replacer)||void 0!==it)&&!isSymbol(it))return isArray(replacer)||(replacer=function(key,value){if(\"function\"==typeof $replacer&&(value=$replacer.call(this,key,value)),!isSymbol(value))return value}),args[1]=replacer,$stringify.apply(null,args)}}),$Symbol.prototype[TO_PRIMITIVE]||createNonEnumerableProperty($Symbol.prototype,TO_PRIMITIVE,$Symbol.prototype.valueOf),setToStringTag($Symbol,\"Symbol\"),hiddenKeys[HIDDEN]=!0},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/array-iteration\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/array-iteration.js\",\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/create-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\",\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/fails\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/fails.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/has\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/has.js\",\"../internals/hidden-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/hidden-keys.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/is-array\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-array.js\",\"../internals/is-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-object.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/native-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/native-symbol.js\",\"../internals/object-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/object-get-own-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-descriptor.js\",\"../internals/object-get-own-property-names\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names.js\",\"../internals/object-get-own-property-names-external\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-names-external.js\",\"../internals/object-get-own-property-symbols\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-own-property-symbols.js\",\"../internals/object-keys\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-keys.js\",\"../internals/object-property-is-enumerable\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-property-is-enumerable.js\",\"../internals/redefine\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/redefine.js\",\"../internals/set-to-string-tag\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/set-to-string-tag.js\",\"../internals/shared\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared.js\",\"../internals/shared-key\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/shared-key.js\",\"../internals/to-indexed-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-indexed-object.js\",\"../internals/to-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-object.js\",\"../internals/to-primitive\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-primitive.js\",\"../internals/uid\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/uid.js\",\"../internals/use-symbol-as-uid\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/use-symbol-as-uid.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\",\"../internals/well-known-symbol-wrapped\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol-wrapped.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match-all.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"matchAll\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.match.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"match\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.replace.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"replace\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.search.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"search\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.species.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"species\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.split.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"split\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-primitive.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"toPrimitive\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.to-string-tag.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"toStringTag\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.symbol.unscopables.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"unscopables\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.aggregate-error.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),DESCRIPTORS=_dereq_(\"../internals/descriptors\"),getPrototypeOf=_dereq_(\"../internals/object-get-prototype-of\"),setPrototypeOf=_dereq_(\"../internals/object-set-prototype-of\"),create=_dereq_(\"../internals/object-create\"),defineProperty=_dereq_(\"../internals/object-define-property\"),createPropertyDescriptor=_dereq_(\"../internals/create-property-descriptor\"),iterate=_dereq_(\"../internals/iterate\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),InternalStateModule=_dereq_(\"../internals/internal-state\"),setInternalState=InternalStateModule.set,getInternalAggregateErrorState=InternalStateModule.getterFor(\"AggregateError\"),$AggregateError=function(errors,message){var that=this;if(!(that instanceof $AggregateError))return new $AggregateError(errors,message);setPrototypeOf&&(that=setPrototypeOf(new Error(message),getPrototypeOf(that)));var errorsArray=[];return iterate(errors,errorsArray.push,errorsArray),DESCRIPTORS?setInternalState(that,{errors:errorsArray,type:\"AggregateError\"}):that.errors=errorsArray,void 0!==message&&createNonEnumerableProperty(that,\"message\",String(message)),that};$AggregateError.prototype=create(Error.prototype,{constructor:createPropertyDescriptor(5,$AggregateError),message:createPropertyDescriptor(5,\"\"),name:createPropertyDescriptor(5,\"AggregateError\")}),DESCRIPTORS&&defineProperty.f($AggregateError.prototype,\"errors\",{get:function(){return getInternalAggregateErrorState(this).errors},configurable:!0}),$({global:!0},{AggregateError:$AggregateError})},{\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/create-property-descriptor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-property-descriptor.js\",\"../internals/descriptors\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/descriptors.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/internal-state\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/internal-state.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/object-create\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-create.js\",\"../internals/object-define-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-define-property.js\",\"../internals/object-get-prototype-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-get-prototype-of.js\",\"../internals/object-set-prototype-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/object-set-prototype-of.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.delete-all.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),collectionDeleteAll=_dereq_(\"../internals/collection-delete-all\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{deleteAll:function(){return collectionDeleteAll.apply(this,arguments)}})},{\"../internals/collection-delete-all\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-delete-all.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.every.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),bind=_dereq_(\"../internals/function-bind-context\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{every:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3);return!iterate(iterator,function(key,value){if(!boundFunction(value,key,map))return iterate.stop()},void 0,!0,!0).stopped}})},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.filter.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\"),bind=_dereq_(\"../internals/function-bind-context\"),speciesConstructor=_dereq_(\"../internals/species-constructor\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{filter:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3),newMap=new(speciesConstructor(map,getBuiltIn(\"Map\"))),setter=aFunction(newMap.set);return iterate(iterator,function(key,value){boundFunction(value,key,map)&&setter.call(newMap,key,value)},void 0,!0,!0),newMap}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/species-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find-key.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),bind=_dereq_(\"../internals/function-bind-context\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{findKey:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3);return iterate(iterator,function(key,value){if(boundFunction(value,key,map))return iterate.stop(key)},void 0,!0,!0).result}})},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.find.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),bind=_dereq_(\"../internals/function-bind-context\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{find:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3);return iterate(iterator,function(key,value){if(boundFunction(value,key,map))return iterate.stop(value)},void 0,!0,!0).result}})},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.from.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Map\",stat:!0},{from:_dereq_(\"../internals/collection-from\")})},{\"../internals/collection-from\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-from.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.group-by.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),iterate=_dereq_(\"../internals/iterate\"),aFunction=_dereq_(\"../internals/a-function\");$({target:\"Map\",stat:!0},{groupBy:function(iterable,keyDerivative){var newMap=new this;aFunction(keyDerivative);var has=aFunction(newMap.has),get=aFunction(newMap.get),set=aFunction(newMap.set);return iterate(iterable,function(element){var derivedKey=keyDerivative(element);has.call(newMap,derivedKey)?get.call(newMap,derivedKey).push(element):set.call(newMap,derivedKey,[element])}),newMap}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.includes.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),sameValueZero=_dereq_(\"../internals/same-value-zero\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{includes:function(searchElement){return iterate(getMapIterator(anObject(this)),function(key,value){if(sameValueZero(value,searchElement))return iterate.stop()},void 0,!0,!0).stopped}})},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/same-value-zero\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/same-value-zero.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-by.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),iterate=_dereq_(\"../internals/iterate\"),aFunction=_dereq_(\"../internals/a-function\");$({target:\"Map\",stat:!0},{keyBy:function(iterable,keyDerivative){var newMap=new this;aFunction(keyDerivative);var setter=aFunction(newMap.set);return iterate(iterable,function(element){setter.call(newMap,keyDerivative(element),element)}),newMap}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.key-of.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{keyOf:function(searchElement){return iterate(getMapIterator(anObject(this)),function(key,value){if(value===searchElement)return iterate.stop(key)},void 0,!0,!0).result}})},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-keys.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\"),bind=_dereq_(\"../internals/function-bind-context\"),speciesConstructor=_dereq_(\"../internals/species-constructor\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{mapKeys:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3),newMap=new(speciesConstructor(map,getBuiltIn(\"Map\"))),setter=aFunction(newMap.set);return iterate(iterator,function(key,value){setter.call(newMap,boundFunction(value,key,map),value)},void 0,!0,!0),newMap}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/species-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.map-values.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\"),bind=_dereq_(\"../internals/function-bind-context\"),speciesConstructor=_dereq_(\"../internals/species-constructor\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{mapValues:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3),newMap=new(speciesConstructor(map,getBuiltIn(\"Map\"))),setter=aFunction(newMap.set);return iterate(iterator,function(key,value){setter.call(newMap,key,boundFunction(value,key,map))},void 0,!0,!0),newMap}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/species-constructor\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/species-constructor.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.merge.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{merge:function(iterable){for(var map=anObject(this),setter=aFunction(map.set),i=0;i<arguments.length;)iterate(arguments[i++],setter,map,!0);return map}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.of.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/export\")({target:\"Map\",stat:!0},{of:_dereq_(\"../internals/collection-of\")})},{\"../internals/collection-of\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/collection-of.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.reduce.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{reduce:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),noInitial=arguments.length<2,accumulator=noInitial?void 0:argument_1;if(aFunction(callbackfn),iterate(iterator,function(key,value){accumulator=noInitial?(noInitial=!1,value):callbackfn(accumulator,value,key,map)},void 0,!0,!0),noInitial)throw TypeError(\"Reduce of empty map with no initial value\");return accumulator}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.some.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),bind=_dereq_(\"../internals/function-bind-context\"),getMapIterator=_dereq_(\"../internals/get-map-iterator\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{some:function(callbackfn,argument_1){var map=anObject(this),iterator=getMapIterator(map),boundFunction=bind(callbackfn,1<arguments.length?argument_1:void 0,3);return iterate(iterator,function(key,value){if(boundFunction(value,key,map))return iterate.stop()},void 0,!0,!0).stopped}})},{\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/function-bind-context\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/function-bind-context.js\",\"../internals/get-map-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-map-iterator.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update-or-insert.js\":[function(_dereq_,module,exports){\"use strict\";_dereq_(\"../internals/export\")({target:\"Map\",proto:!0,real:!0,forced:_dereq_(\"../internals/is-pure\")},{updateOrInsert:_dereq_(\"../internals/map-upsert\")})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/map-upsert\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/map-upsert.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.update.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),IS_PURE=_dereq_(\"../internals/is-pure\"),anObject=_dereq_(\"../internals/an-object\"),aFunction=_dereq_(\"../internals/a-function\");$({target:\"Map\",proto:!0,real:!0,forced:IS_PURE},{update:function(key,callback,argument_2){var map=anObject(this),length=arguments.length;aFunction(callback);var isPresentInMap=map.has(key);if(!isPresentInMap&&length<3)throw TypeError(\"Updating absent value\");var value=isPresentInMap?map.get(key):aFunction(2<length?argument_2:void 0)(key,map);return map.set(key,callback(value,key,map)),map}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/an-object\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/an-object.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.map.upsert.js\":[function(_dereq_,module,exports){\"use strict\";_dereq_(\"../internals/export\")({target:\"Map\",proto:!0,real:!0,forced:_dereq_(\"../internals/is-pure\")},{upsert:_dereq_(\"../internals/map-upsert\")})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/is-pure\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/is-pure.js\",\"../internals/map-upsert\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/map-upsert.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.number.from-string.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),toInteger=_dereq_(\"../internals/to-integer\"),parseInt=_dereq_(\"../internals/number-parse-int\"),valid=/^[\\da-z]+$/;$({target:\"Number\",stat:!0},{fromString:function(string,radix){var R,mathNum,sign=1;if(\"string\"!=typeof string)throw TypeError(\"Invalid number representation\");if(!string.length)throw SyntaxError(\"Invalid number representation\");if(\"-\"==string.charAt(0)&&(sign=-1,!(string=string.slice(1)).length))throw SyntaxError(\"Invalid number representation\");if((R=void 0===radix?10:toInteger(radix))<2||36<R)throw RangeError(\"Invalid radix\");if(!valid.test(string)||(mathNum=parseInt(string,R)).toString(R)!==string)throw SyntaxError(\"Invalid number representation\");return sign*mathNum}})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/number-parse-int\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/number-parse-int.js\",\"../internals/to-integer\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/to-integer.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.all-settled.js\":[function(_dereq_,module,exports){_dereq_(\"./es.promise.all-settled.js\")},{\"./es.promise.all-settled.js\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.promise.all-settled.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.any.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),aFunction=_dereq_(\"../internals/a-function\"),getBuiltIn=_dereq_(\"../internals/get-built-in\"),newPromiseCapabilityModule=_dereq_(\"../internals/new-promise-capability\"),perform=_dereq_(\"../internals/perform\"),iterate=_dereq_(\"../internals/iterate\");$({target:\"Promise\",stat:!0},{any:function(iterable){var C=this,capability=newPromiseCapabilityModule.f(C),resolve=capability.resolve,reject=capability.reject,result=perform(function(){var promiseResolve=aFunction(C.resolve),errors=[],counter=0,remaining=1,alreadyResolved=!1;iterate(iterable,function(promise){var index=counter++,alreadyRejected=!1;errors.push(void 0),remaining++,promiseResolve.call(C,promise).then(function(value){alreadyRejected||alreadyResolved||(alreadyResolved=!0,resolve(value))},function(e){alreadyRejected||alreadyResolved||(alreadyRejected=!0,errors[index]=e,--remaining||reject(new(getBuiltIn(\"AggregateError\"))(errors,\"No one promise resolved\")))})}),--remaining||reject(new(getBuiltIn(\"AggregateError\"))(errors,\"No one promise resolved\"))});return result.error&&reject(result.value),capability.promise}})},{\"../internals/a-function\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/a-function.js\",\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/get-built-in\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/get-built-in.js\",\"../internals/iterate\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/iterate.js\",\"../internals/new-promise-capability\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js\",\"../internals/perform\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.promise.try.js\":[function(_dereq_,module,exports){\"use strict\";var $=_dereq_(\"../internals/export\"),newPromiseCapabilityModule=_dereq_(\"../internals/new-promise-capability\"),perform=_dereq_(\"../internals/perform\");$({target:\"Promise\",stat:!0},{try:function(callbackfn){var promiseCapability=newPromiseCapabilityModule.f(this),result=perform(callbackfn);return(result.error?promiseCapability.reject:promiseCapability.resolve)(result.value),promiseCapability.promise}})},{\"../internals/export\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/export.js\",\"../internals/new-promise-capability\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/new-promise-capability.js\",\"../internals/perform\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/perform.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.async-dispose.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"asyncDispose\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.dispose.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"dispose\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.observable.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"observable\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.pattern-match.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"patternMatch\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/esnext.symbol.replace-all.js\":[function(_dereq_,module,exports){_dereq_(\"../internals/define-well-known-symbol\")(\"replaceAll\")},{\"../internals/define-well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/define-well-known-symbol.js\"}],\"/Users/f/pjs/dhive/node_modules/core-js/modules/web.dom-collections.iterator.js\":[function(_dereq_,module,exports){var global=_dereq_(\"../internals/global\"),DOMIterables=_dereq_(\"../internals/dom-iterables\"),ArrayIteratorMethods=_dereq_(\"../modules/es.array.iterator\"),createNonEnumerableProperty=_dereq_(\"../internals/create-non-enumerable-property\"),wellKnownSymbol=_dereq_(\"../internals/well-known-symbol\"),ITERATOR=wellKnownSymbol(\"iterator\"),TO_STRING_TAG=wellKnownSymbol(\"toStringTag\"),ArrayValues=ArrayIteratorMethods.values;for(var COLLECTION_NAME in DOMIterables){var Collection=global[COLLECTION_NAME],CollectionPrototype=Collection&&Collection.prototype;if(CollectionPrototype){if(CollectionPrototype[ITERATOR]!==ArrayValues)try{createNonEnumerableProperty(CollectionPrototype,ITERATOR,ArrayValues)}catch(error){CollectionPrototype[ITERATOR]=ArrayValues}if(CollectionPrototype[TO_STRING_TAG]||createNonEnumerableProperty(CollectionPrototype,TO_STRING_TAG,COLLECTION_NAME),DOMIterables[COLLECTION_NAME])for(var METHOD_NAME in ArrayIteratorMethods)if(CollectionPrototype[METHOD_NAME]!==ArrayIteratorMethods[METHOD_NAME])try{createNonEnumerableProperty(CollectionPrototype,METHOD_NAME,ArrayIteratorMethods[METHOD_NAME])}catch(error){CollectionPrototype[METHOD_NAME]=ArrayIteratorMethods[METHOD_NAME]}}}},{\"../internals/create-non-enumerable-property\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/create-non-enumerable-property.js\",\"../internals/dom-iterables\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/dom-iterables.js\",\"../internals/global\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/global.js\",\"../internals/well-known-symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/internals/well-known-symbol.js\",\"../modules/es.array.iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/modules/es.array.iterator.js\"}],\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\":[function(_dereq_,module,exports){(function(Buffer){function objectToString(o){return Object.prototype.toString.call(o)}exports.isArray=function(arg){return Array.isArray?Array.isArray(arg):\"[object Array]\"===objectToString(arg)},exports.isBoolean=function(arg){return\"boolean\"==typeof arg},exports.isNull=function(arg){return null===arg},exports.isNullOrUndefined=function(arg){return null==arg},exports.isNumber=function(arg){return\"number\"==typeof arg},exports.isString=function(arg){return\"string\"==typeof arg},exports.isSymbol=function(arg){return\"symbol\"==typeof arg},exports.isUndefined=function(arg){return void 0===arg},exports.isRegExp=function(re){return\"[object RegExp]\"===objectToString(re)},exports.isObject=function(arg){return\"object\"==typeof arg&&null!==arg},exports.isDate=function(d){return\"[object Date]\"===objectToString(d)},exports.isError=function(e){return\"[object Error]\"===objectToString(e)||e instanceof Error},exports.isFunction=function(arg){return\"function\"==typeof arg},exports.isPrimitive=function(arg){return null===arg||\"boolean\"==typeof arg||\"number\"==typeof arg||\"string\"==typeof arg||\"symbol\"==typeof arg||void 0===arg},exports.isBuffer=Buffer.isBuffer}).call(this,{isBuffer:_dereq_(\"../../is-buffer/index.js\")})},{\"../../is-buffer/index.js\":\"/Users/f/pjs/dhive/node_modules/is-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/create-ecdh/browser.js\":[function(_dereq_,module,exports){(function(Buffer){var elliptic=_dereq_(\"elliptic\"),BN=_dereq_(\"bn.js\");module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};function ECDH(curve){this.curveType=aliases[curve],this.curveType||(this.curveType={name:curve}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}function formatReturnValue(bn,enc,len){Array.isArray(bn)||(bn=bn.toArray());var buf=new Buffer(bn);if(len&&buf.length<len){var zeros=new Buffer(len-buf.length);zeros.fill(0),buf=Buffer.concat([zeros,buf])}return enc?buf.toString(enc):buf}aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1,ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)},ECDH.prototype.computeSecret=function(other,inenc,enc){return inenc=inenc||\"utf8\",Buffer.isBuffer(other)||(other=new Buffer(other,inenc)),formatReturnValue(this.curve.keyFromPublic(other).getPublic().mul(this.keys.getPrivate()).getX(),enc,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(\"compressed\"===format,!0);return\"hybrid\"===format&&(key[key.length-1]%2?key[0]=7:key[0]=6),formatReturnValue(key,enc)},ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)},ECDH.prototype.setPublicKey=function(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this.keys._importPublic(pub),this},ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc));var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this}}).call(this,_dereq_(\"buffer\").Buffer)},{\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",elliptic:\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js\"}],\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\":[function(_dereq_,module,exports){\"use strict\";var inherits=_dereq_(\"inherits\"),MD5=_dereq_(\"md5.js\"),RIPEMD160=_dereq_(\"ripemd160\"),sha=_dereq_(\"sha.js\"),Base=_dereq_(\"cipher-base\");function Hash(hash){Base.call(this,\"digest\"),this._hash=hash}inherits(Hash,Base),Hash.prototype._update=function(data){this._hash.update(data)},Hash.prototype._final=function(){return this._hash.digest()},module.exports=function(alg){return\"md5\"===(alg=alg.toLowerCase())?new MD5:\"rmd160\"===alg||\"ripemd160\"===alg?new RIPEMD160:new Hash(sha(alg))}},{\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"md5.js\":\"/Users/f/pjs/dhive/node_modules/md5.js/index.js\",ripemd160:\"/Users/f/pjs/dhive/node_modules/ripemd160/index.js\",\"sha.js\":\"/Users/f/pjs/dhive/node_modules/sha.js/index.js\"}],\"/Users/f/pjs/dhive/node_modules/create-hash/md5.js\":[function(_dereq_,module,exports){var MD5=_dereq_(\"md5.js\");module.exports=function(buffer){return(new MD5).update(buffer).digest()}},{\"md5.js\":\"/Users/f/pjs/dhive/node_modules/md5.js/index.js\"}],\"/Users/f/pjs/dhive/node_modules/create-hmac/browser.js\":[function(_dereq_,module,exports){\"use strict\";var inherits=_dereq_(\"inherits\"),Legacy=_dereq_(\"./legacy\"),Base=_dereq_(\"cipher-base\"),Buffer=_dereq_(\"safe-buffer\").Buffer,md5=_dereq_(\"create-hash/md5\"),RIPEMD160=_dereq_(\"ripemd160\"),sha=_dereq_(\"sha.js\"),ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,\"digest\"),\"string\"==typeof key&&(key=Buffer.from(key));var blocksize=\"sha512\"===alg||\"sha384\"===alg?128:64;this._alg=alg,(this._key=key).length>blocksize?key=(\"rmd160\"===alg?new RIPEMD160:sha(alg)).update(key).digest():key.length<blocksize&&(key=Buffer.concat([key,ZEROS],blocksize));for(var ipad=this._ipad=Buffer.allocUnsafe(blocksize),opad=this._opad=Buffer.allocUnsafe(blocksize),i=0;i<blocksize;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash=\"rmd160\"===alg?new RIPEMD160:sha(alg),this._hash.update(ipad)}inherits(Hmac,Base),Hmac.prototype._update=function(data){this._hash.update(data)},Hmac.prototype._final=function(){var h=this._hash.digest();return(\"rmd160\"===this._alg?new RIPEMD160:sha(this._alg)).update(this._opad).update(h).digest()},module.exports=function(alg,key){return\"rmd160\"===(alg=alg.toLowerCase())||\"ripemd160\"===alg?new Hmac(\"rmd160\",key):\"md5\"===alg?new Legacy(md5,key):new Hmac(alg,key)}},{\"./legacy\":\"/Users/f/pjs/dhive/node_modules/create-hmac/legacy.js\",\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",\"create-hash/md5\":\"/Users/f/pjs/dhive/node_modules/create-hash/md5.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",ripemd160:\"/Users/f/pjs/dhive/node_modules/ripemd160/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\",\"sha.js\":\"/Users/f/pjs/dhive/node_modules/sha.js/index.js\"}],\"/Users/f/pjs/dhive/node_modules/create-hmac/legacy.js\":[function(_dereq_,module,exports){\"use strict\";var inherits=_dereq_(\"inherits\"),Buffer=_dereq_(\"safe-buffer\").Buffer,Base=_dereq_(\"cipher-base\"),ZEROS=Buffer.alloc(128);function Hmac(alg,key){Base.call(this,\"digest\"),\"string\"==typeof key&&(key=Buffer.from(key)),this._alg=alg,64<(this._key=key).length?key=alg(key):key.length<64&&(key=Buffer.concat([key,ZEROS],64));for(var ipad=this._ipad=Buffer.allocUnsafe(64),opad=this._opad=Buffer.allocUnsafe(64),i=0;i<64;i++)ipad[i]=54^key[i],opad[i]=92^key[i];this._hash=[ipad]}inherits(Hmac,Base),Hmac.prototype._update=function(data){this._hash.push(data)},Hmac.prototype._final=function(){var h=this._alg(Buffer.concat(this._hash));return this._alg(Buffer.concat([this._opad,h]))},module.exports=Hmac},{\"cipher-base\":\"/Users/f/pjs/dhive/node_modules/cipher-base/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/cross-fetch/dist/browser-ponyfill.js\":[function(_dereq_,module,exports){var root,__self__=(root=\"undefined\"!=typeof self?self:this,F.prototype=root,new F);function F(){this.fetch=!1,this.DOMException=root.DOMException}!function(self){!function(exports){var support_searchParams=\"URLSearchParams\"in self,support_iterable=\"Symbol\"in self&&\"iterator\"in Symbol,support_blob=\"FileReader\"in self&&\"Blob\"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),support_formData=\"FormData\"in self,support_arrayBuffer=\"ArrayBuffer\"in self;if(support_arrayBuffer)var viewClasses=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],isArrayBufferView=ArrayBuffer.isView||function(obj){return obj&&-1<viewClasses.indexOf(Object.prototype.toString.call(obj))};function normalizeName(name){if(\"string\"!=typeof name&&(name=String(name)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name))throw new TypeError(\"Invalid character in header field name\");return name.toLowerCase()}function normalizeValue(value){return\"string\"!=typeof value&&(value=String(value)),value}function iteratorFor(items){var iterator={next:function(){var value=items.shift();return{done:void 0===value,value:value}}};return support_iterable&&(iterator[Symbol.iterator]=function(){return iterator}),iterator}function Headers(headers){this.map={},headers instanceof Headers?headers.forEach(function(value,name){this.append(name,value)},this):Array.isArray(headers)?headers.forEach(function(header){this.append(header[0],header[1])},this):headers&&Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name])},this)}function consumed(body){if(body.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));body.bodyUsed=!0}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result)},reader.onerror=function(){reject(reader.error)}})}function readBlobAsArrayBuffer(blob){var reader=new FileReader,promise=fileReaderReady(reader);return reader.readAsArrayBuffer(blob),promise}function bufferClone(buf){if(buf.slice)return buf.slice(0);var view=new Uint8Array(buf.byteLength);return view.set(new Uint8Array(buf)),view.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(body){(this._bodyInit=body)?\"string\"==typeof body?this._bodyText=body:support_blob&&Blob.prototype.isPrototypeOf(body)?this._bodyBlob=body:support_formData&&FormData.prototype.isPrototypeOf(body)?this._bodyFormData=body:support_searchParams&&URLSearchParams.prototype.isPrototypeOf(body)?this._bodyText=body.toString():support_arrayBuffer&&support_blob&&body&&DataView.prototype.isPrototypeOf(body)?(this._bodyArrayBuffer=bufferClone(body.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):support_arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(body)||isArrayBufferView(body))?this._bodyArrayBuffer=bufferClone(body):this._bodyText=body=Object.prototype.toString.call(body):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof body?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):support_searchParams&&URLSearchParams.prototype.isPrototypeOf(body)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},support_blob&&(this.blob=function(){var rejected=consumed(this);if(rejected)return rejected;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?consumed(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var blob,reader,promise,rejected=consumed(this);if(rejected)return rejected;if(this._bodyBlob)return blob=this._bodyBlob,promise=fileReaderReady(reader=new FileReader),reader.readAsText(blob),promise;if(this._bodyArrayBuffer)return Promise.resolve(function(buf){for(var view=new Uint8Array(buf),chars=new Array(view.length),i=0;i<view.length;i++)chars[i]=String.fromCharCode(view[i]);return chars.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},support_formData&&(this.formData=function(){return this.text().then(decode)}),this.json=function(){return this.text().then(JSON.parse)},this}Headers.prototype.append=function(name,value){name=normalizeName(name),value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+\", \"+value:value},Headers.prototype.delete=function(name){delete this.map[normalizeName(name)]},Headers.prototype.get=function(name){return name=normalizeName(name),this.has(name)?this.map[name]:null},Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name))},Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value)},Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map)this.map.hasOwnProperty(name)&&callback.call(thisArg,this.map[name],name,this)},Headers.prototype.keys=function(){var items=[];return this.forEach(function(value,name){items.push(name)}),iteratorFor(items)},Headers.prototype.values=function(){var items=[];return this.forEach(function(value){items.push(value)}),iteratorFor(items)},Headers.prototype.entries=function(){var items=[];return this.forEach(function(value,name){items.push([name,value])}),iteratorFor(items)},support_iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);var methods=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function Request(input,options){var method,upcased,body=(options=options||{}).body;if(input instanceof Request){if(input.bodyUsed)throw new TypeError(\"Already read\");this.url=input.url,this.credentials=input.credentials,options.headers||(this.headers=new Headers(input.headers)),this.method=input.method,this.mode=input.mode,this.signal=input.signal,body||null==input._bodyInit||(body=input._bodyInit,input.bodyUsed=!0)}else this.url=String(input);if(this.credentials=options.credentials||this.credentials||\"same-origin\",!options.headers&&this.headers||(this.headers=new Headers(options.headers)),this.method=(upcased=(method=options.method||this.method||\"GET\").toUpperCase(),-1<methods.indexOf(upcased)?upcased:method),this.mode=options.mode||this.mode||null,this.signal=options.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&body)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(body)}function decode(body){var form=new FormData;return body.trim().split(\"&\").forEach(function(bytes){if(bytes){var split=bytes.split(\"=\"),name=split.shift().replace(/\\+/g,\" \"),value=split.join(\"=\").replace(/\\+/g,\" \");form.append(decodeURIComponent(name),decodeURIComponent(value))}}),form}function Response(bodyInit,options){options=options||{},this.type=\"default\",this.status=void 0===options.status?200:options.status,this.ok=200<=this.status&&this.status<300,this.statusText=\"statusText\"in options?options.statusText:\"OK\",this.headers=new Headers(options.headers),this.url=options.url||\"\",this._initBody(bodyInit)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},Body.call(Request.prototype),Body.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var response=new Response(null,{status:0,statusText:\"\"});return response.type=\"error\",response};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(-1===redirectStatuses.indexOf(status))throw new RangeError(\"Invalid status code\");return new Response(null,{status:status,headers:{location:url}})},exports.DOMException=self.DOMException;try{new exports.DOMException}catch(err){exports.DOMException=function(message,name){this.message=message,this.name=name;var error=Error(message);this.stack=error.stack},exports.DOMException.prototype=Object.create(Error.prototype),exports.DOMException.prototype.constructor=exports.DOMException}function fetch(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);if(request.signal&&request.signal.aborted)return reject(new exports.DOMException(\"Aborted\",\"AbortError\"));var xhr=new XMLHttpRequest;function abortXhr(){xhr.abort()}xhr.onload=function(){var rawHeaders,headers,options={status:xhr.status,statusText:xhr.statusText,headers:(rawHeaders=xhr.getAllResponseHeaders()||\"\",headers=new Headers,rawHeaders.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach(function(line){var parts=line.split(\":\"),key=parts.shift().trim();if(key){var value=parts.join(\":\").trim();headers.append(key,value)}}),headers)};options.url=\"responseURL\"in xhr?xhr.responseURL:options.headers.get(\"X-Request-URL\");var body=\"response\"in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options))},xhr.onerror=function(){reject(new TypeError(\"Network request failed\"))},xhr.ontimeout=function(){reject(new TypeError(\"Network request failed\"))},xhr.onabort=function(){reject(new exports.DOMException(\"Aborted\",\"AbortError\"))},xhr.open(request.method,request.url,!0),\"include\"===request.credentials?xhr.withCredentials=!0:\"omit\"===request.credentials&&(xhr.withCredentials=!1),\"responseType\"in xhr&&support_blob&&(xhr.responseType=\"blob\"),request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value)}),request.signal&&(request.signal.addEventListener(\"abort\",abortXhr),xhr.onreadystatechange=function(){4===xhr.readyState&&request.signal.removeEventListener(\"abort\",abortXhr)}),xhr.send(void 0===request._bodyInit?null:request._bodyInit)})}fetch.polyfill=!0,self.fetch||(self.fetch=fetch,self.Headers=Headers,self.Request=Request,self.Response=Response),exports.Headers=Headers,exports.Request=Request,exports.Response=Response,exports.fetch=fetch}({})}(__self__),delete __self__.fetch.polyfill,(exports=__self__.fetch).default=__self__.fetch,exports.fetch=__self__.fetch,exports.Headers=__self__.Headers,exports.Request=__self__.Request,exports.Response=__self__.Response,module.exports=exports},{}],\"/Users/f/pjs/dhive/node_modules/crypto-browserify/index.js\":[function(_dereq_,module,exports){\"use strict\";exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=_dereq_(\"randombytes\"),exports.createHash=exports.Hash=_dereq_(\"create-hash\"),exports.createHmac=exports.Hmac=_dereq_(\"create-hmac\");var algos=_dereq_(\"browserify-sign/algos\"),algoKeys=Object.keys(algos),hashes=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=_dereq_(\"pbkdf2\");exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=_dereq_(\"browserify-cipher\");exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=_dereq_(\"diffie-hellman\");exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=_dereq_(\"browserify-sign\");exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=_dereq_(\"create-ecdh\");var publicEncrypt=_dereq_(\"public-encrypt\");exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt;var rf=_dereq_(\"randomfill\");exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(\"\\n\"))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},{\"browserify-cipher\":\"/Users/f/pjs/dhive/node_modules/browserify-cipher/browser.js\",\"browserify-sign\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/browser/index.js\",\"browserify-sign/algos\":\"/Users/f/pjs/dhive/node_modules/browserify-sign/algos.js\",\"create-ecdh\":\"/Users/f/pjs/dhive/node_modules/create-ecdh/browser.js\",\"create-hash\":\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\",\"create-hmac\":\"/Users/f/pjs/dhive/node_modules/create-hmac/browser.js\",\"diffie-hellman\":\"/Users/f/pjs/dhive/node_modules/diffie-hellman/browser.js\",pbkdf2:\"/Users/f/pjs/dhive/node_modules/pbkdf2/browser.js\",\"public-encrypt\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/browser.js\",randombytes:\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\",randomfill:\"/Users/f/pjs/dhive/node_modules/randomfill/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/des.js/lib/des.js\":[function(_dereq_,module,exports){\"use strict\";exports.utils=_dereq_(\"./des/utils\"),exports.Cipher=_dereq_(\"./des/cipher\"),exports.DES=_dereq_(\"./des/des\"),exports.CBC=_dereq_(\"./des/cbc\"),exports.EDE=_dereq_(\"./des/ede\")},{\"./des/cbc\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cbc.js\",\"./des/cipher\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js\",\"./des/des\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/des.js\",\"./des/ede\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/ede.js\",\"./des/utils\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cbc.js\":[function(_dereq_,module,exports){\"use strict\";var assert=_dereq_(\"minimalistic-assert\"),inherits=_dereq_(\"inherits\"),proto={};function CBCState(iv){assert.equal(iv.length,8,\"Invalid IV length\"),this.iv=new Array(8);for(var i=0;i<this.iv.length;i++)this.iv[i]=iv[i]}exports.instantiate=function(Base){function CBC(options){Base.call(this,options),this._cbcInit()}inherits(CBC,Base);for(var keys=Object.keys(proto),i=0;i<keys.length;i++){var key=keys[i];CBC.prototype[key]=proto[key]}return CBC.create=function(options){return new CBC(options)},CBC},proto._cbcInit=function(){var state=new CBCState(this.options.iv);this._cbcState=state},proto._update=function(inp,inOff,out,outOff){var state=this._cbcState,superProto=this.constructor.super_.prototype,iv=state.iv;if(\"encrypt\"===this.type){for(var i=0;i<this.blockSize;i++)iv[i]^=inp[inOff+i];for(superProto._update.call(this,iv,0,out,outOff),i=0;i<this.blockSize;i++)iv[i]=out[outOff+i]}else{for(superProto._update.call(this,inp,inOff,out,outOff),i=0;i<this.blockSize;i++)out[outOff+i]^=iv[i];for(i=0;i<this.blockSize;i++)iv[i]=inp[inOff+i]}}},{inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js\":[function(_dereq_,module,exports){\"use strict\";var assert=_dereq_(\"minimalistic-assert\");function Cipher(options){this.options=options,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}(module.exports=Cipher).prototype._init=function(){},Cipher.prototype.update=function(data){return 0===data.length?[]:\"decrypt\"===this.type?this._updateDecrypt(data):this._updateEncrypt(data)},Cipher.prototype._buffer=function(data,off){for(var min=Math.min(this.buffer.length-this.bufferOff,data.length-off),i=0;i<min;i++)this.buffer[this.bufferOff+i]=data[off+i];return this.bufferOff+=min,min},Cipher.prototype._flushBuffer=function(out,off){return this._update(this.buffer,0,out,off),this.bufferOff=0,this.blockSize},Cipher.prototype._updateEncrypt=function(data){var inputOff=0,outputOff=0,count=(this.bufferOff+data.length)/this.blockSize|0,out=new Array(count*this.blockSize);0!==this.bufferOff&&(inputOff+=this._buffer(data,inputOff),this.bufferOff===this.buffer.length&&(outputOff+=this._flushBuffer(out,outputOff)));for(var max=data.length-(data.length-inputOff)%this.blockSize;inputOff<max;inputOff+=this.blockSize)this._update(data,inputOff,out,outputOff),outputOff+=this.blockSize;for(;inputOff<data.length;inputOff++,this.bufferOff++)this.buffer[this.bufferOff]=data[inputOff];return out},Cipher.prototype._updateDecrypt=function(data){for(var inputOff=0,outputOff=0,count=Math.ceil((this.bufferOff+data.length)/this.blockSize)-1,out=new Array(count*this.blockSize);0<count;count--)inputOff+=this._buffer(data,inputOff),outputOff+=this._flushBuffer(out,outputOff);return inputOff+=this._buffer(data,inputOff),out},Cipher.prototype.final=function(buffer){var first,last;return buffer&&(first=this.update(buffer)),last=\"encrypt\"===this.type?this._finalEncrypt():this._finalDecrypt(),first?first.concat(last):last},Cipher.prototype._pad=function(buffer,off){if(0===off)return!1;for(;off<buffer.length;)buffer[off++]=0;return!0},Cipher.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var out=new Array(this.blockSize);return this._update(this.buffer,0,out,0),out},Cipher.prototype._unpad=function(buffer){return buffer},Cipher.prototype._finalDecrypt=function(){assert.equal(this.bufferOff,this.blockSize,\"Not enough data to decrypt\");var out=new Array(this.blockSize);return this._flushBuffer(out,0),this._unpad(out)}},{\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/des.js\":[function(_dereq_,module,exports){\"use strict\";var assert=_dereq_(\"minimalistic-assert\"),inherits=_dereq_(\"inherits\"),utils=_dereq_(\"./utils\"),Cipher=_dereq_(\"./cipher\");function DESState(){this.tmp=new Array(2),this.keys=null}function DES(options){Cipher.call(this,options);var state=new DESState;this._desState=state,this.deriveKeys(state,options.key)}inherits(DES,Cipher),(module.exports=DES).create=function(options){return new DES(options)};var shiftTable=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function(state,key){state.keys=new Array(32),assert.equal(key.length,this.blockSize,\"Invalid key length\");var kL=utils.readUInt32BE(key,0),kR=utils.readUInt32BE(key,4);utils.pc1(kL,kR,state.tmp,0),kL=state.tmp[0],kR=state.tmp[1];for(var i=0;i<state.keys.length;i+=2){var shift=shiftTable[i>>>1];kL=utils.r28shl(kL,shift),kR=utils.r28shl(kR,shift),utils.pc2(kL,kR,state.keys,i)}},DES.prototype._update=function(inp,inOff,out,outOff){var state=this._desState,l=utils.readUInt32BE(inp,inOff),r=utils.readUInt32BE(inp,inOff+4);utils.ip(l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],\"encrypt\"===this.type?this._encrypt(state,l,r,state.tmp,0):this._decrypt(state,l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],utils.writeUInt32BE(out,l,outOff),utils.writeUInt32BE(out,r,outOff+4)},DES.prototype._pad=function(buffer,off){for(var value=buffer.length-off,i=off;i<buffer.length;i++)buffer[i]=value;return!0},DES.prototype._unpad=function(buffer){for(var pad=buffer[buffer.length-1],i=buffer.length-pad;i<buffer.length;i++)assert.equal(buffer[i],pad);return buffer.slice(0,buffer.length-pad)},DES.prototype._encrypt=function(state,lStart,rStart,out,off){for(var l=lStart,r=rStart,i=0;i<state.keys.length;i+=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(r,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),t=r;r=(l^utils.permute(s))>>>0,l=t}utils.rip(r,l,out,off)},DES.prototype._decrypt=function(state,lStart,rStart,out,off){for(var l=rStart,r=lStart,i=state.keys.length-2;0<=i;i-=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(l,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),t=l;l=(r^utils.permute(s))>>>0,r=t}utils.rip(l,r,out,off)}},{\"./cipher\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js\",\"./utils\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/utils.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/ede.js\":[function(_dereq_,module,exports){\"use strict\";var assert=_dereq_(\"minimalistic-assert\"),inherits=_dereq_(\"inherits\"),Cipher=_dereq_(\"./cipher\"),DES=_dereq_(\"./des\");function EDEState(type,key){assert.equal(key.length,24,\"Invalid key length\");var k1=key.slice(0,8),k2=key.slice(8,16),k3=key.slice(16,24);this.ciphers=\"encrypt\"===type?[DES.create({type:\"encrypt\",key:k1}),DES.create({type:\"decrypt\",key:k2}),DES.create({type:\"encrypt\",key:k3})]:[DES.create({type:\"decrypt\",key:k3}),DES.create({type:\"encrypt\",key:k2}),DES.create({type:\"decrypt\",key:k1})]}function EDE(options){Cipher.call(this,options);var state=new EDEState(this.type,this.options.key);this._edeState=state}inherits(EDE,Cipher),(module.exports=EDE).create=function(options){return new EDE(options)},EDE.prototype._update=function(inp,inOff,out,outOff){var state=this._edeState;state.ciphers[0]._update(inp,inOff,out,outOff),state.ciphers[1]._update(out,outOff,out,outOff),state.ciphers[2]._update(out,outOff,out,outOff)},EDE.prototype._pad=DES.prototype._pad,EDE.prototype._unpad=DES.prototype._unpad},{\"./cipher\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/cipher.js\",\"./des\":\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/des.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/des.js/lib/des/utils.js\":[function(_dereq_,module,exports){\"use strict\";exports.readUInt32BE=function(bytes,off){return(bytes[0+off]<<24|bytes[1+off]<<16|bytes[2+off]<<8|bytes[3+off])>>>0},exports.writeUInt32BE=function(bytes,value,off){bytes[0+off]=value>>>24,bytes[1+off]=value>>>16&255,bytes[2+off]=value>>>8&255,bytes[3+off]=255&value},exports.ip=function(inL,inR,out,off){for(var outL=0,outR=0,i=6;0<=i;i-=2){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>>j+i&1;for(j=0;j<=24;j+=8)outL<<=1,outL|=inL>>>j+i&1}for(i=6;0<=i;i-=2){for(j=1;j<=25;j+=8)outR<<=1,outR|=inR>>>j+i&1;for(j=1;j<=25;j+=8)outR<<=1,outR|=inL>>>j+i&1}out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.rip=function(inL,inR,out,off){for(var outL=0,outR=0,i=0;i<4;i++)for(var j=24;0<=j;j-=8)outL<<=1,outL|=inR>>>j+i&1,outL<<=1,outL|=inL>>>j+i&1;for(i=4;i<8;i++)for(j=24;0<=j;j-=8)outR<<=1,outR|=inR>>>j+i&1,outR<<=1,outR|=inL>>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.pc1=function(inL,inR,out,off){for(var outL=0,outR=0,i=7;5<=i;i--){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(j=0;j<=24;j+=8)outL<<=1,outL|=inL>>j+i&1}for(j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(i=1;i<=3;i++){for(j=0;j<=24;j+=8)outR<<=1,outR|=inR>>j+i&1;for(j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1}for(j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.r28shl=function(num,shift){return num<<shift&268435455|num>>>28-shift};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(inL,inR,out,off){for(var outL=0,outR=0,len=pc2table.length>>>1,i=0;i<len;i++)outL<<=1,outL|=inL>>>pc2table[i]&1;for(i=len;i<pc2table.length;i++)outR<<=1,outR|=inR>>>pc2table[i]&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.expand=function(r,out,off){var outL=0,outR=0;outL=(1&r)<<5|r>>>27;for(var i=23;15<=i;i-=4)outL<<=6,outL|=r>>>i&63;for(i=11;3<=i;i-=4)outR|=r>>>i&63,outR<<=6;outR|=(31&r)<<1|r>>>31,out[off+0]=outL>>>0,out[off+1]=outR>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(inL,inR){for(var out=0,i=0;i<4;i++)out<<=4,out|=sTable[64*i+(inL>>>18-6*i&63)];for(i=0;i<4;i++)out<<=4,out|=sTable[256+64*i+(inR>>>18-6*i&63)];return out>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(num){for(var out=0,i=0;i<permuteTable.length;i++)out<<=1,out|=num>>>permuteTable[i]&1;return out>>>0},exports.padSplit=function(num,size,group){for(var str=num.toString(2);str.length<size;)str=\"0\"+str;for(var out=[],i=0;i<size;i+=group)out.push(str.slice(i,i+group));return out.join(\" \")}},{}],\"/Users/f/pjs/dhive/node_modules/diffie-hellman/browser.js\":[function(_dereq_,module,exports){(function(Buffer){var generatePrime=_dereq_(\"./lib/generatePrime\"),primes=_dereq_(\"./lib/primes.json\"),DH=_dereq_(\"./lib/dh\"),ENCODINGS={binary:!0,hex:!0,base64:!0};exports.DiffieHellmanGroup=exports.createDiffieHellmanGroup=exports.getDiffieHellman=function(mod){var prime=new Buffer(primes[mod].prime,\"hex\"),gen=new Buffer(primes[mod].gen,\"hex\");return new DH(prime,gen)},exports.createDiffieHellman=exports.DiffieHellman=function createDiffieHellman(prime,enc,generator,genc){return Buffer.isBuffer(enc)||void 0===ENCODINGS[enc]?createDiffieHellman(prime,\"binary\",enc,generator):(enc=enc||\"binary\",genc=genc||\"binary\",generator=generator||new Buffer([2]),Buffer.isBuffer(generator)||(generator=new Buffer(generator,genc)),\"number\"==typeof prime?new DH(generatePrime(prime,generator),generator,!0):(Buffer.isBuffer(prime)||(prime=new Buffer(prime,enc)),new DH(prime,generator,!0)))}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./lib/dh\":\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/dh.js\",\"./lib/generatePrime\":\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/generatePrime.js\",\"./lib/primes.json\":\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/primes.json\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/dh.js\":[function(_dereq_,module,exports){(function(Buffer){var BN=_dereq_(\"bn.js\"),millerRabin=new(_dereq_(\"miller-rabin\")),TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=_dereq_(\"./generatePrime\"),randomBytes=_dereq_(\"randombytes\");function setPublicKey(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this._pub=new BN(pub),this}function setPrivateKey(priv,enc){return enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc)),this._priv=new BN(priv),this}module.exports=DH;var primeCache={};function DH(prime,generator,malleable){this.setGenerator(generator),this.__prime=new BN(prime),this._prime=BN.mont(this.__prime),this._primeLen=prime.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,malleable?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}function formatReturnValue(bn,enc){var buf=new Buffer(bn.toArray());return enc?buf.toString(enc):buf}Object.defineProperty(DH.prototype,\"verifyError\",{enumerable:!0,get:function(){return\"number\"!=typeof this._primeCode&&(this._primeCode=function(prime,generator){var gen=generator.toString(\"hex\"),hex=[gen,prime.toString(16)].join(\"_\");if(hex in primeCache)return primeCache[hex];var rem,error=0;if(prime.isEven()||!primes.simpleSieve||!primes.fermatTest(prime)||!millerRabin.test(prime))return error+=1,error+=\"02\"===gen||\"05\"===gen?8:4,primeCache[hex]=error;switch(millerRabin.test(prime.shrn(1))||(error+=2),gen){case\"02\":prime.mod(TWENTYFOUR).cmp(ELEVEN)&&(error+=8);break;case\"05\":(rem=prime.mod(TEN)).cmp(THREE)&&rem.cmp(SEVEN)&&(error+=8);break;default:error+=4}return primeCache[hex]=error}(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(other){var secret=(other=(other=new BN(other)).toRed(this._prime)).redPow(this._priv).fromRed(),out=new Buffer(secret.toArray()),prime=this.getPrime();if(out.length<prime.length){var front=new Buffer(prime.length-out.length);front.fill(0),out=Buffer.concat([front,out])}return out},DH.prototype.getPublicKey=function(enc){return formatReturnValue(this._pub,enc)},DH.prototype.getPrivateKey=function(enc){return formatReturnValue(this._priv,enc)},DH.prototype.getPrime=function(enc){return formatReturnValue(this.__prime,enc)},DH.prototype.getGenerator=function(enc){return formatReturnValue(this._gen,enc)},DH.prototype.setGenerator=function(gen,enc){return enc=enc||\"utf8\",Buffer.isBuffer(gen)||(gen=new Buffer(gen,enc)),this.__gen=gen,this._gen=new BN(gen),this}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./generatePrime\":\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/generatePrime.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",\"miller-rabin\":\"/Users/f/pjs/dhive/node_modules/miller-rabin/lib/mr.js\",randombytes:\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/generatePrime.js\":[function(_dereq_,module,exports){var randomBytes=_dereq_(\"randombytes\");(module.exports=findPrime).simpleSieve=simpleSieve,findPrime.fermatTest=fermatTest;var BN=_dereq_(\"bn.js\"),TWENTYFOUR=new BN(24),millerRabin=new(_dereq_(\"miller-rabin\")),ONE=new BN(1),TWO=new BN(2),FIVE=new BN(5),TEN=(new BN(16),new BN(8),new BN(10)),THREE=new BN(3),ELEVEN=(new BN(7),new BN(11)),FOUR=new BN(4),primes=(new BN(12),null);function _getPrimes(){if(null!==primes)return primes;var res=[];res[0]=2;for(var i=1,k=3;k<1048576;k+=2){for(var sqrt=Math.ceil(Math.sqrt(k)),j=0;j<i&&res[j]<=sqrt&&k%res[j]!=0;j++);i!==j&&res[j]<=sqrt||(res[i++]=k)}return primes=res}function simpleSieve(p){for(var primes=_getPrimes(),i=0;i<primes.length;i++)if(0===p.modn(primes[i]))return 0===p.cmpn(primes[i]);return!0}function fermatTest(p){var red=BN.mont(p);return 0===TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1)}function findPrime(bits,gen){if(bits<16)return new BN(2===gen||5===gen?[140,123]:[140,39]);var num,n2;for(gen=new BN(gen);;){for(num=new BN(randomBytes(Math.ceil(bits/8)));num.bitLength()>bits;)num.ishrn(1);if(num.isEven()&&num.iadd(ONE),num.testn(1)||num.iadd(TWO),gen.cmp(TWO)){if(!gen.cmp(FIVE))for(;num.mod(TEN).cmp(THREE);)num.iadd(FOUR)}else for(;num.mod(TWENTYFOUR).cmp(ELEVEN);)num.iadd(FOUR);if(simpleSieve(n2=num.shrn(1))&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num))return num}}},{\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"miller-rabin\":\"/Users/f/pjs/dhive/node_modules/miller-rabin/lib/mr.js\",randombytes:\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/diffie-hellman/lib/primes.json\":[function(_dereq_,module,exports){module.exports={modp1:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},modp2:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},modp5:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},modp14:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},modp15:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},modp16:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},modp17:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},modp18:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}},{}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js\":[function(_dereq_,module,exports){\"use strict\";var elliptic=exports;elliptic.version=_dereq_(\"../package.json\").version,elliptic.utils=_dereq_(\"./elliptic/utils\"),elliptic.rand=_dereq_(\"brorand\"),elliptic.curve=_dereq_(\"./elliptic/curve\"),elliptic.curves=_dereq_(\"./elliptic/curves\"),elliptic.ec=_dereq_(\"./elliptic/ec\"),elliptic.eddsa=_dereq_(\"./elliptic/eddsa\")},{\"../package.json\":\"/Users/f/pjs/dhive/node_modules/elliptic/package.json\",\"./elliptic/curve\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/index.js\",\"./elliptic/curves\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js\",\"./elliptic/ec\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/index.js\",\"./elliptic/eddsa\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/index.js\",\"./elliptic/utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",brorand:\"/Users/f/pjs/dhive/node_modules/brorand/index.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js\":[function(_dereq_,module,exports){\"use strict\";var BN=_dereq_(\"bn.js\"),utils=_dereq_(\"../utils\"),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);!adjustCount||0<adjustCount.cmpn(100)?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function BasePoint(curve,type){this.curve=curve,this.type=type,this.precomputed=null}(module.exports=BaseCurve).prototype.point=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype.validate=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<<doubles.step+1)-(doubles.step%2==0?2:1);I/=3;for(var repr=[],j=0;j<naf.length;j+=doubles.step){var nafW=0;for(k=j+doubles.step-1;j<=k;k--)nafW=(nafW<<1)+naf[k];repr.push(nafW)}for(var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null),i=I;0<i;i--){for(j=0;j<repr.length;j++)(nafW=repr[j])===i?b=b.mixedAdd(doubles.points[j]):nafW===-i&&(b=b.mixedAdd(doubles.points[j].neg()));a=a.add(b)}return a.toP()},BaseCurve.prototype._wnafMul=function(p,k){var w=4,nafPoints=p._getNAFPoints(w);w=nafPoints.wnd;for(var wnd=nafPoints.points,naf=getNAF(k,w,this._bitLength),acc=this.jpoint(null,null,null),i=naf.length-1;0<=i;i--){for(k=0;0<=i&&0===naf[i];i--)k++;if(0<=i&&k++,acc=acc.dblp(k),i<0)break;var z=naf[i];assert(0!==z),acc=\"affine\"===p.type?0<z?acc.mixedAdd(wnd[z-1>>1]):acc.mixedAdd(wnd[-z-1>>1].neg()):0<z?acc.add(wnd[z-1>>1]):acc.add(wnd[-z-1>>1].neg())}return\"affine\"===p.type?acc.toP():acc},BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){for(var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i=0;i<len;i++){var nafPoints=(p=points[i])._getNAFPoints(defW);wndWidth[i]=nafPoints.wnd,wnd[i]=nafPoints.points}for(i=len-1;1<=i;i-=2){var a=i-1,b=i;if(1===wndWidth[a]&&1===wndWidth[b]){var comb=[points[a],null,null,points[b]];0===points[a].y.cmp(points[b].y)?(comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg())):0===points[a].y.cmp(points[b].y.redNeg())?(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg())):(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg()));var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);max=Math.max(jsf[0].length,max),naf[a]=new Array(max),naf[b]=new Array(max);for(var j=0;j<max;j++){var ja=0|jsf[0][j],jb=0|jsf[1][j];naf[a][j]=index[3*(1+ja)+(1+jb)],naf[b][j]=0,wnd[a]=comb}}else naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max)}var acc=this.jpoint(null,null,null),tmp=this._wnafT4;for(i=max;0<=i;i--){for(var k=0;0<=i;){var zero=!0;for(j=0;j<len;j++)tmp[j]=0|naf[j][i],0!==tmp[j]&&(zero=!1);if(!zero)break;k++,i--}if(0<=i&&k++,acc=acc.dblp(k),i<0)break;for(j=0;j<len;j++){var p,z=tmp[j];0!==z&&(0<z?p=wnd[j][z-1>>1]:z<0&&(p=wnd[j][-z-1>>1].neg()),acc=\"affine\"===p.type?acc.mixedAdd(p):acc.add(p))}}for(i=0;i<len;i++)wnd[i]=null;return jacobianResult?acc:acc.toP()},(BaseCurve.BasePoint=BasePoint).prototype.eq=function(){throw new Error(\"Not implemented\")},BasePoint.prototype.validate=function(){return this.curve.validate(this)},BaseCurve.prototype.decodePoint=function(bytes,enc){bytes=utils.toArray(bytes,enc);var len=this.p.byteLength();if((4===bytes[0]||6===bytes[0]||7===bytes[0])&&bytes.length-1==2*len)return 6===bytes[0]?assert(bytes[bytes.length-1]%2==0):7===bytes[0]&&assert(bytes[bytes.length-1]%2==1),this.point(bytes.slice(1,1+len),bytes.slice(1+len,1+2*len));if((2===bytes[0]||3===bytes[0])&&bytes.length-1===len)return this.pointFromX(bytes.slice(1,1+len),3===bytes[0]);throw new Error(\"Unknown point format\")},BasePoint.prototype.encodeCompressed=function(enc){return this.encode(enc,!0)},BasePoint.prototype._encode=function(compact){var len=this.curve.p.byteLength(),x=this.getX().toArray(\"be\",len);return compact?[this.getY().isEven()?2:3].concat(x):[4].concat(x,this.getY().toArray(\"be\",len))},BasePoint.prototype.encode=function(enc,compact){return utils.encode(this._encode(compact),enc)},BasePoint.prototype.precompute=function(power){if(this.precomputed)return this;var precomputed={doubles:null,naf:null,beta:null};return precomputed.naf=this._getNAFPoints(8),precomputed.doubles=this._getDoubles(4,power),precomputed.beta=this._getBeta(),this.precomputed=precomputed,this},BasePoint.prototype._hasDoubles=function(k){if(!this.precomputed)return!1;var doubles=this.precomputed.doubles;return!!doubles&&doubles.points.length>=Math.ceil((k.bitLength()+1)/doubles.step)},BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var doubles=[this],acc=this,i=0;i<power;i+=step){for(var j=0;j<step;j++)acc=acc.dbl();doubles.push(acc)}return{step:step,points:doubles}},BasePoint.prototype._getNAFPoints=function(wnd){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var res=[this],max=(1<<wnd)-1,dbl=1==max?null:this.dbl(),i=1;i<max;i++)res[i]=res[i-1].add(dbl);return{wnd:wnd,points:res}},BasePoint.prototype._getBeta=function(){return null},BasePoint.prototype.dblp=function(k){for(var r=this,i=0;i<k;i++)r=r.dbl();return r}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/edwards.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),BN=_dereq_(\"bn.js\"),inherits=_dereq_(\"inherits\"),Base=_dereq_(\"./base\"),assert=utils.assert;function EdwardsCurve(conf){this.twisted=1!=(0|conf.a),this.mOneA=this.twisted&&-1==(0|conf.a),this.extended=this.mOneA,Base.call(this,\"edwards\",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|conf.c)}function Point(curve,x,y,z,t){Base.BasePoint.call(this,curve,\"projective\"),null===x&&null===y&&null===z?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(EdwardsCurve,Base),(module.exports=EdwardsCurve).prototype._mulA=function(num){return this.mOneA?num.redNeg():this.a.redMul(num)},EdwardsCurve.prototype._mulC=function(num){return this.oneC?num:this.c.redMul(num)},EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)},EdwardsCurve.prototype.pointFromX=function(x,odd){(x=new BN(x,16)).red||(x=x.toRed(this.red));var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(0!==y.redSqr().redSub(y2).cmp(this.zero))throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},EdwardsCurve.prototype.pointFromY=function(y,odd){(y=new BN(y,16)).red||(y=y.toRed(this.red));var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(0===x2.cmp(this.zero)){if(odd)throw new Error(\"invalid point\");return this.point(this.zero,y)}var x=x2.redSqrt();if(0!==x.redSqr().redSub(x2).cmp(this.zero))throw new Error(\"invalid point\");return x.fromRed().isOdd()!==odd&&(x=x.redNeg()),this.point(x,y)},EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return 0===lhs.cmp(rhs)},inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])},Point.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"},Point.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projDbl=function(){var nx,ny,nz,b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr();if(this.curve.twisted){var f=(e=this.curve._mulA(c)).redAdd(d);if(this.zOne)nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f);else{var h=this.z.redSqr(),j=f.redSub(h).redISub(h);nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j)}}else{var e=c.redAdd(d);h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h),nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j)}return this.curve.point(nx,ny,nz)},Point.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projAdd=function(p){var ny,nz,a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp);return nz=this.curve.twisted?(ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),f.redMul(g)):(ny=a.redMul(g).redMul(d.redSub(c)),this.curve._mulC(f).redMul(g)),this.curve.point(nx,ny,nz)},Point.prototype.add=function(p){return this.isInfinity()?p:p.isInfinity()?this:this.curve.extended?this._extAdd(p):this._projAdd(p)},Point.prototype.mul=function(k){return this._hasDoubles(k)?this.curve._fixedNafMul(this,k):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)},Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();return this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t&&(this.t=this.t.redMul(zi)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(other){return this===other||0===this.getX().cmp(other.getX())&&0===this.getY().cmp(other.getY())},Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(rx))return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(this.z);;){if(xc.iadd(this.curve.n),0<=xc.cmp(this.curve.p))return!1;if(rx.redIAdd(t),0===this.x.cmp(rx))return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"./base\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/index.js\":[function(_dereq_,module,exports){\"use strict\";var curve=exports;curve.base=_dereq_(\"./base\"),curve.short=_dereq_(\"./short\"),curve.mont=_dereq_(\"./mont\"),curve.edwards=_dereq_(\"./edwards\")},{\"./base\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js\",\"./edwards\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/edwards.js\",\"./mont\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/mont.js\",\"./short\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/short.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/mont.js\":[function(_dereq_,module,exports){\"use strict\";var BN=_dereq_(\"bn.js\"),inherits=_dereq_(\"inherits\"),Base=_dereq_(\"./base\"),utils=_dereq_(\"../utils\");function MontCurve(conf){Base.call(this,\"mont\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function Point(curve,x,z){Base.BasePoint.call(this,curve,\"projective\"),null===x&&null===z?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(x,16),this.z=new BN(z,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(MontCurve,Base),(module.exports=MontCurve).prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);return 0===rhs.redSqrt().redSqr().cmp(rhs)},inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)},MontCurve.prototype.point=function(x,z){return new Point(this,x,z)},MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)},Point.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"},Point.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Point.prototype.dbl=function(){var aa=this.x.redAdd(this.z).redSqr(),bb=this.x.redSub(this.z).redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)},Point.prototype.add=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),da=p.x.redSub(p.z).redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)},Point.prototype.mul=function(k){for(var t=k.clone(),a=this,b=this.curve.point(null,null),bits=[];0!==t.cmpn(0);t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;0<=i;i--)0===bits[i]?(a=a.diffAdd(b,this),b=b.dbl()):(b=a.diffAdd(b,this),a=a.dbl());return b},Point.prototype.mulAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.jumlAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.eq=function(other){return 0===this.getX().cmp(other.getX())},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"./base\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/short.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),BN=_dereq_(\"bn.js\"),inherits=_dereq_(\"inherits\"),Base=_dereq_(\"./base\"),assert=utils.assert;function ShortCurve(conf){Base.call(this,\"short\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(conf),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function Point(curve,x,y,isRed){Base.BasePoint.call(this,curve,\"affine\"),null===x&&null===y?(this.x=null,this.y=null,this.inf=!0):(this.x=new BN(x,16),this.y=new BN(y,16),isRed&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function JPoint(curve,x,y,z){Base.BasePoint.call(this,curve,\"jacobian\"),null===x&&null===y&&null===z?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(ShortCurve,Base),(module.exports=ShortCurve).prototype._getEndomorphism=function(conf){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var beta,lambda;if(conf.beta)beta=new BN(conf.beta,16).toRed(this.red);else{var betas=this._getEndoRoots(this.p);beta=(beta=betas[0].cmp(betas[1])<0?betas[0]:betas[1]).toRed(this.red)}if(conf.lambda)lambda=new BN(conf.lambda,16);else{var lambdas=this._getEndoRoots(this.n);0===this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta))?lambda=lambdas[0]:(lambda=lambdas[1],assert(0===this.g.mul(lambda).x.cmp(this.g.x.redMul(beta))))}return{beta:beta,lambda:lambda,basis:conf.basis?conf.basis.map(function(vec){return{a:new BN(vec.a,16),b:new BN(vec.b,16)}}):this._getEndoBasis(lambda)}}},ShortCurve.prototype._getEndoRoots=function(num){var red=num===this.p?this.red:BN.mont(num),tinv=new BN(2).toRed(red).redInvm(),ntinv=tinv.redNeg(),s=new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);return[ntinv.redAdd(s).fromRed(),ntinv.redSub(s).fromRed()]},ShortCurve.prototype._getEndoBasis=function(lambda){for(var a0,b0,a1,b1,a2,b2,prevR,r,x,aprxSqrt=this.n.ushrn(Math.floor(this.n.bitLength()/2)),u=lambda,v=this.n.clone(),x1=new BN(1),y1=new BN(0),x2=new BN(0),y2=new BN(1),i=0;0!==u.cmpn(0);){var q=v.div(u);r=v.sub(q.mul(u)),x=x2.sub(q.mul(x1));var y=y2.sub(q.mul(y1));if(!a1&&r.cmp(aprxSqrt)<0)a0=prevR.neg(),b0=x1,a1=r.neg(),b1=x;else if(a1&&2==++i)break;v=u,u=prevR=r,x2=x1,x1=x,y2=y1,y1=y}a2=r.neg(),b2=x;var len1=a1.sqr().add(b1.sqr());return 0<=a2.sqr().add(b2.sqr()).cmp(len1)&&(a2=a0,b2=b0),a1.negative&&(a1=a1.neg(),b1=b1.neg()),a2.negative&&(a2=a2.neg(),b2=b2.neg()),[{a:a1,b:b1},{a:a2,b:b2}]},ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b);return{k1:k.sub(p1).sub(p2),k2:q1.add(q2).neg()}},ShortCurve.prototype.pointFromX=function(x,odd){(x=new BN(x,16)).red||(x=x.toRed(this.red));var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(0!==y.redSqr().redSub(y2).cmp(this.zero))throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var x=point.x,y=point.y,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return 0===y.redSqr().redISub(rhs).cmpn(0)},ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){for(var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2,i=0;i<points.length;i++){var split=this._endoSplit(coeffs[i]),p=points[i],beta=p._getBeta();split.k1.negative&&(split.k1.ineg(),p=p.neg(!0)),split.k2.negative&&(split.k2.ineg(),beta=beta.neg(!0)),npoints[2*i]=p,npoints[2*i+1]=beta,ncoeffs[2*i]=split.k1,ncoeffs[2*i+1]=split.k2}for(var res=this._wnafMulAdd(1,npoints,ncoeffs,2*i,jacobianResult),j=0;j<2*i;j++)npoints[j]=null,ncoeffs[j]=null;return res},inherits(Point,Base.BasePoint),ShortCurve.prototype.point=function(x,y,isRed){return new Point(this,x,y,isRed)},ShortCurve.prototype.pointFromJSON=function(obj,red){return Point.fromJSON(this,obj,red)},Point.prototype._getBeta=function(){if(this.curve.endo){var pre=this.precomputed;if(pre&&pre.beta)return pre.beta;var beta=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(pre){var curve=this.curve,endoMul=function(p){return curve.point(p.x.redMul(curve.endo.beta),p.y)};(pre.beta=beta).precomputed={beta:null,naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(endoMul)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(endoMul)}}}return beta}},Point.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Point.fromJSON=function(curve,obj,red){\"string\"==typeof obj&&(obj=JSON.parse(obj));var res=curve.point(obj[0],obj[1],red);if(!obj[2])return res;function obj2point(obj){return curve.point(obj[0],obj[1],red)}var pre=obj[2];return res.precomputed={beta:null,doubles:pre.doubles&&{step:pre.doubles.step,points:[res].concat(pre.doubles.points.map(obj2point))},naf:pre.naf&&{wnd:pre.naf.wnd,points:[res].concat(pre.naf.points.map(obj2point))}},res},Point.prototype.inspect=function(){return this.isInfinity()?\"<EC Point Infinity>\":\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(0===this.x.cmp(p.x))return this.curve.point(null,null);var c=this.y.redSub(p.y);0!==c.cmpn(0)&&(c=c.redMul(this.x.redSub(p.x).redInvm()));var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(0===ys1.cmpn(0))return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(k){return k=new BN(k,16),this.isInfinity()?this:this._hasDoubles(k)?this.curve._fixedNafMul(this,k):this.curve.endo?this.curve._endoWnafMulAdd([this],[k]):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo?this.curve._endoWnafMulAdd(points,coeffs):this.curve._wnafMulAdd(1,points,coeffs,2)},Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo?this.curve._endoWnafMulAdd(points,coeffs,!0):this.curve._wnafMulAdd(1,points,coeffs,2,!0)},Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||0===this.x.cmp(p.x)&&0===this.y.cmp(p.y))},Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res},Point.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(0===h.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(0===h.cmpn(0))return 0!==r.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.dblp=function(pow){if(0===pow)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var r=this,i=0;i<pow;i++)r=r.dbl();return r}var a=this.curve.a,tinv=this.curve.tinv,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jyd=jy.redAdd(jy);for(i=0;i<pow;i++){var jx2=jx.redSqr(),jyd2=jyd.redSqr(),jyd4=jyd2.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),t1=jx.redMul(jyd2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),dny=c.redMul(t2);dny=dny.redIAdd(dny).redISub(jyd4);var nz=jyd.redMul(jz);i+1<pow&&(jz4=jz4.redMul(jyd4)),jx=nx,jz=nz,jyd=dny}return this.curve.jpoint(jx,jyd.redMul(tinv),jz)},JPoint.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},JPoint.prototype._zeroDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx),t=m.redSqr().redISub(s).redISub(s),yyyy8=yyyy.redIAdd(yyyy);yyyy8=(yyyy8=yyyy8.redIAdd(yyyy8)).redIAdd(yyyy8),nx=t,ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var a=this.x.redSqr(),b=this.y.redSqr(),c=b.redSqr(),d=this.x.redAdd(b).redSqr().redISub(a).redISub(c);d=d.redIAdd(d);var e=a.redAdd(a).redIAdd(a),f=e.redSqr(),c8=c.redIAdd(c);c8=(c8=c8.redIAdd(c8)).redIAdd(c8),nx=f.redISub(d).redISub(d),ny=e.redMul(d.redISub(nx)).redISub(c8),nz=(nz=this.y.redMul(this.z)).redIAdd(nz)}return this.curve.jpoint(nx,ny,nz)},JPoint.prototype._threeDbl=function(){var nx,ny,nz;if(this.zOne){var xx=this.x.redSqr(),yy=this.y.redSqr(),yyyy=yy.redSqr(),s=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);s=s.redIAdd(s);var m=xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a),t=m.redSqr().redISub(s).redISub(s);nx=t;var yyyy8=yyyy.redIAdd(yyyy);yyyy8=(yyyy8=yyyy8.redIAdd(yyyy8)).redIAdd(yyyy8),ny=m.redMul(s.redISub(t)).redISub(yyyy8),nz=this.y.redAdd(this.y)}else{var delta=this.z.redSqr(),gamma=this.y.redSqr(),beta=this.x.redMul(gamma),alpha=this.x.redSub(delta).redMul(this.x.redAdd(delta));alpha=alpha.redAdd(alpha).redIAdd(alpha);var beta4=beta.redIAdd(beta),beta8=(beta4=beta4.redIAdd(beta4)).redAdd(beta4);nx=alpha.redSqr().redISub(beta8),nz=this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);var ggamma8=gamma.redSqr();ggamma8=(ggamma8=(ggamma8=ggamma8.redIAdd(ggamma8)).redIAdd(ggamma8)).redIAdd(ggamma8),ny=alpha.redMul(beta4.redISub(nx)).redISub(ggamma8)}return this.curve.jpoint(nx,ny,nz)},JPoint.prototype._dbl=function(){var a=this.curve.a,jx=this.x,jy=this.y,jz=this.z,jz4=jz.redSqr().redSqr(),jx2=jx.redSqr(),jy2=jy.redSqr(),c=jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4)),jxd4=jx.redAdd(jx),t1=(jxd4=jxd4.redIAdd(jxd4)).redMul(jy2),nx=c.redSqr().redISub(t1.redAdd(t1)),t2=t1.redISub(nx),jyd8=jy2.redSqr();jyd8=(jyd8=(jyd8=jyd8.redIAdd(jyd8)).redIAdd(jyd8)).redIAdd(jyd8);var ny=c.redMul(t2).redISub(jyd8),nz=jy.redAdd(jy).redMul(jz);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var xx=this.x.redSqr(),yy=this.y.redSqr(),zz=this.z.redSqr(),yyyy=yy.redSqr(),m=xx.redAdd(xx).redIAdd(xx),mm=m.redSqr(),e=this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy),ee=(e=(e=(e=e.redIAdd(e)).redAdd(e).redIAdd(e)).redISub(mm)).redSqr(),t=yyyy.redIAdd(yyyy);t=(t=(t=t.redIAdd(t)).redIAdd(t)).redIAdd(t);var u=m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t),yyu4=yy.redMul(u);yyu4=(yyu4=yyu4.redIAdd(yyu4)).redIAdd(yyu4);var nx=this.x.redMul(ee).redISub(yyu4);nx=(nx=nx.redIAdd(nx)).redIAdd(nx);var ny=this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));ny=(ny=(ny=ny.redIAdd(ny)).redIAdd(ny)).redIAdd(ny);var nz=this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mul=function(k,kbase){return k=new BN(k,kbase),this.curve._wnafMul(this,k)},JPoint.prototype.eq=function(p){if(\"affine\"===p.type)return this.eq(p.toJ());if(this===p)return!0;var z2=this.z.redSqr(),pz2=p.z.redSqr();if(0!==this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0))return!1;var z3=z2.redMul(this.z),pz3=pz2.redMul(p.z);return 0===this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0)},JPoint.prototype.eqXToP=function(x){var zs=this.z.redSqr(),rx=x.toRed(this.curve.red).redMul(zs);if(0===this.x.cmp(rx))return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(zs);;){if(xc.iadd(this.curve.n),0<=xc.cmp(this.curve.p))return!1;if(rx.redIAdd(t),0===this.x.cmp(rx))return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()?\"<EC JPoint Infinity>\":\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"},JPoint.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"./base\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/base.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js\":[function(_dereq_,module,exports){\"use strict\";var pre,curves=exports,hash=_dereq_(\"hash.js\"),curve=_dereq_(\"./curve\"),assert=_dereq_(\"./utils\").assert;function PresetCurve(options){\"short\"===options.type?this.curve=new curve.short(options):\"edwards\"===options.type?this.curve=new curve.edwards(options):this.curve=new curve.mont(options),this.g=this.curve.g,this.n=this.curve.n,this.hash=options.hash,assert(this.g.validate(),\"Invalid curve\"),assert(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}function defineCurve(name,options){Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,get:function(){var curve=new PresetCurve(options);return Object.defineProperty(curves,name,{configurable:!0,enumerable:!0,value:curve}),curve}})}curves.PresetCurve=PresetCurve,defineCurve(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:hash.sha256,gRed:!1,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]}),defineCurve(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:hash.sha256,gRed:!1,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]}),defineCurve(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:hash.sha256,gRed:!1,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]}),defineCurve(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:hash.sha384,gRed:!1,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]}),defineCurve(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:hash.sha512,gRed:!1,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"]}),defineCurve(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:hash.sha256,gRed:!1,g:[\"9\"]}),defineCurve(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:hash.sha256,gRed:!1,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});try{pre=_dereq_(\"./precomputed/secp256k1\")}catch(e){pre=void 0}defineCurve(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:hash.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:!1,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",pre]})},{\"./curve\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curve/index.js\",\"./precomputed/secp256k1\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\",\"./utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"hash.js\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/index.js\":[function(_dereq_,module,exports){\"use strict\";var BN=_dereq_(\"bn.js\"),HmacDRBG=_dereq_(\"hmac-drbg\"),utils=_dereq_(\"../utils\"),curves=_dereq_(\"../curves\"),rand=_dereq_(\"brorand\"),assert=utils.assert,KeyPair=_dereq_(\"./key\"),Signature=_dereq_(\"./signature\");function EC(options){if(!(this instanceof EC))return new EC(options);\"string\"==typeof options&&(assert(curves.hasOwnProperty(options),\"Unknown curve \"+options),options=curves[options]),options instanceof curves.PresetCurve&&(options={curve:options}),this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}(module.exports=EC).prototype.keyPair=function(options){return new KeyPair(this,options)},EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)},EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)},EC.prototype.genKeyPair=function(options){options=options||{};for(var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||\"utf8\",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||\"utf8\",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));;){var priv=new BN(drbg.generate(bytes));if(!(0<priv.cmp(ns2)))return priv.iaddn(1),this.keyFromPrivate(priv)}},EC.prototype._truncateToN=function(msg,truncOnly){var delta=8*msg.byteLength()-this.n.bitLength();return 0<delta&&(msg=msg.ushrn(delta)),!truncOnly&&0<=msg.cmp(this.n)?msg.sub(this.n):msg},EC.prototype.sign=function(msg,key,enc,options){\"object\"==typeof enc&&(options=enc,enc=null),options=options||{},key=this.keyFromPrivate(key,enc),msg=this._truncateToN(new BN(msg,16));for(var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray(\"be\",bytes),nonce=msg.toArray(\"be\",bytes),drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce:nonce,pers:options.pers,persEnc:options.persEnc||\"utf8\"}),ns1=this.n.sub(new BN(1)),iter=0;;iter++){var k=options.k?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(!((k=this._truncateToN(k,!0)).cmpn(1)<=0||0<=k.cmp(ns1))){var kp=this.g.mul(k);if(!kp.isInfinity()){var kpX=kp.getX(),r=kpX.umod(this.n);if(0!==r.cmpn(0)){var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(0!==(s=s.umod(this.n)).cmpn(0)){var recoveryParam=(kp.getY().isOdd()?1:0)|(0!==kpX.cmp(r)?2:0);return options.canonical&&0<s.cmp(this.nh)&&(s=this.n.sub(s),recoveryParam^=1),new Signature({r:r,s:s,recoveryParam:recoveryParam})}}}}}},EC.prototype.verify=function(msg,signature,key,enc){msg=this._truncateToN(new BN(msg,16)),key=this.keyFromPublic(key,enc);var r=(signature=new Signature(signature,\"hex\")).r,s=signature.s;if(r.cmpn(1)<0||0<=r.cmp(this.n))return!1;if(s.cmpn(1)<0||0<=s.cmp(this.n))return!1;var p,sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n);return this.curve._maxwellTrick?!(p=this.g.jmulAdd(u1,key.getPublic(),u2)).isInfinity()&&p.eqXToP(r):!(p=this.g.mulAdd(u1,key.getPublic(),u2)).isInfinity()&&0===p.getX().umod(this.n).cmp(r)},EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,\"The recovery param is more than two bits\"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=1&j,isSecondKey=j>>1;if(0<=r.cmp(this.curve.p.umod(this.curve.n))&&isSecondKey)throw new Error(\"Unable to find sencond key candinate\");r=isSecondKey?this.curve.pointFromX(r.add(this.curve.n),isYOdd):this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)},EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(null!==(signature=new Signature(signature,enc)).recoveryParam)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch(e){continue}if(Qprime.eq(Q))return i}throw new Error(\"Unable to find valid recovery factor\")}},{\"../curves\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js\",\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"./key\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/key.js\",\"./signature\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/signature.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",brorand:\"/Users/f/pjs/dhive/node_modules/brorand/index.js\",\"hmac-drbg\":\"/Users/f/pjs/dhive/node_modules/hmac-drbg/lib/hmac-drbg.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/key.js\":[function(_dereq_,module,exports){\"use strict\";var BN=_dereq_(\"bn.js\"),assert=_dereq_(\"../utils\").assert;function KeyPair(ec,options){this.ec=ec,this.priv=null,this.pub=null,options.priv&&this._importPrivate(options.priv,options.privEnc),options.pub&&this._importPublic(options.pub,options.pubEnc)}(module.exports=KeyPair).fromPublic=function(ec,pub,enc){return pub instanceof KeyPair?pub:new KeyPair(ec,{pub:pub,pubEnc:enc})},KeyPair.fromPrivate=function(ec,priv,enc){return priv instanceof KeyPair?priv:new KeyPair(ec,{priv:priv,privEnc:enc})},KeyPair.prototype.validate=function(){var pub=this.getPublic();return pub.isInfinity()?{result:!1,reason:\"Invalid public key\"}:pub.validate()?pub.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:\"Public key * N != O\"}:{result:!1,reason:\"Public key is not a point\"}},KeyPair.prototype.getPublic=function(compact,enc){return\"string\"==typeof compact&&(enc=compact,compact=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),enc?this.pub.encode(enc,compact):this.pub},KeyPair.prototype.getPrivate=function(enc){return\"hex\"===enc?this.priv.toString(16,2):this.priv},KeyPair.prototype._importPrivate=function(key,enc){this.priv=new BN(key,enc||16),this.priv=this.priv.umod(this.ec.curve.n)},KeyPair.prototype._importPublic=function(key,enc){if(key.x||key.y)return\"mont\"===this.ec.curve.type?assert(key.x,\"Need x coordinate\"):\"short\"!==this.ec.curve.type&&\"edwards\"!==this.ec.curve.type||assert(key.x&&key.y,\"Need both x and y coordinate\"),void(this.pub=this.ec.curve.point(key.x,key.y));this.pub=this.ec.curve.decodePoint(key,enc)},KeyPair.prototype.derive=function(pub){return pub.mul(this.priv).getX()},KeyPair.prototype.sign=function(msg,enc,options){return this.ec.sign(msg,this,enc,options)},KeyPair.prototype.verify=function(msg,signature){return this.ec.verify(msg,signature,this)},KeyPair.prototype.inspect=function(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/ec/signature.js\":[function(_dereq_,module,exports){\"use strict\";var BN=_dereq_(\"bn.js\"),utils=_dereq_(\"../utils\"),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;this._importDER(options,enc)||(assert(options.r&&options.s,\"Signature without r or s\"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),void 0===options.recoveryParam?this.recoveryParam=null:this.recoveryParam=options.recoveryParam)}function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(128&initial))return initial;for(var octetLen=15&initial,val=0,i=0,off=p.place;i<octetLen;i++,off++)val<<=8,val|=buf[off];return p.place=off,val}function rmPadding(buf){for(var i=0,len=buf.length-1;!buf[i]&&!(128&buf[i+1])&&i<len;)i++;return 0===i?buf:buf.slice(i)}function constructLength(arr,len){if(len<128)arr.push(len);else{var octets=1+(Math.log(len)/Math.LN2>>>3);for(arr.push(128|octets);--octets;)arr.push(len>>>(octets<<3)&255);arr.push(len)}}(module.exports=Signature).prototype._importDER=function(data,enc){data=utils.toArray(data,enc);var p=new Position;if(48!==data[p.place++])return!1;if(getLength(data,p)+p.place!==data.length)return!1;if(2!==data[p.place++])return!1;var rlen=getLength(data,p),r=data.slice(p.place,rlen+p.place);if(p.place+=rlen,2!==data[p.place++])return!1;var slen=getLength(data,p);if(data.length!==slen+p.place)return!1;var s=data.slice(p.place,slen+p.place);return 0===r[0]&&128&r[1]&&(r=r.slice(1)),0===s[0]&&128&s[1]&&(s=s.slice(1)),this.r=new BN(r),this.s=new BN(s),!(this.recoveryParam=null)},Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();for(128&r[0]&&(r=[0].concat(r)),128&s[0]&&(s=[0].concat(s)),r=rmPadding(r),s=rmPadding(s);!(s[0]||128&s[1]);)s=s.slice(1);var arr=[2];constructLength(arr,r.length),(arr=arr.concat(r)).push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/index.js\":[function(_dereq_,module,exports){\"use strict\";var hash=_dereq_(\"hash.js\"),curves=_dereq_(\"../curves\"),utils=_dereq_(\"../utils\"),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=_dereq_(\"./key\"),Signature=_dereq_(\"./signature\");function EDDSA(curve){if(assert(\"ed25519\"===curve,\"only tested with ed25519 so far\"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve,this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}(module.exports=EDDSA).prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R:R,S:S,Rencoded:Rencoded})},EDDSA.prototype.verify=function(message,sig,pub){message=parseBytes(message),sig=this.makeSignature(sig);var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S());return sig.R().add(key.pub().mul(h)).eq(SG)},EDDSA.prototype.hashInt=function(){for(var hash=this.hash(),i=0;i<arguments.length;i++)hash.update(arguments[i]);return utils.intFromLE(hash.digest()).umod(this.curve.n)},EDDSA.prototype.keyFromPublic=function(pub){return KeyPair.fromPublic(this,pub)},EDDSA.prototype.keyFromSecret=function(secret){return KeyPair.fromSecret(this,secret)},EDDSA.prototype.makeSignature=function(sig){return sig instanceof Signature?sig:new Signature(this,sig)},EDDSA.prototype.encodePoint=function(point){var enc=point.getY().toArray(\"le\",this.encodingLength);return enc[this.encodingLength-1]|=point.getX().isOdd()?128:0,enc},EDDSA.prototype.decodePoint=function(bytes){var lastIx=(bytes=utils.parseBytes(bytes)).length-1,normed=bytes.slice(0,lastIx).concat(-129&bytes[lastIx]),xIsOdd=0!=(128&bytes[lastIx]),y=utils.intFromLE(normed);return this.curve.pointFromY(y,xIsOdd)},EDDSA.prototype.encodeInt=function(num){return num.toArray(\"le\",this.encodingLength)},EDDSA.prototype.decodeInt=function(bytes){return utils.intFromLE(bytes)},EDDSA.prototype.isPoint=function(val){return val instanceof this.pointClass}},{\"../curves\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/curves.js\",\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"./key\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/key.js\",\"./signature\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/signature.js\",\"hash.js\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/key.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub)?this._pub=params.pub:this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){return pub instanceof KeyPair?pub:new KeyPair(eddsa,{pub:pub})},KeyPair.fromSecret=function(eddsa,secret){return secret instanceof KeyPair?secret:new KeyPair(eddsa,{secret:secret})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())}),cachedProperty(KeyPair,\"pub\",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),cachedProperty(KeyPair,\"privBytes\",function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a}),cachedProperty(KeyPair,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())}),cachedProperty(KeyPair,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()}),cachedProperty(KeyPair,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)}),KeyPair.prototype.sign=function(message){return assert(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(message,this)},KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)},KeyPair.prototype.getSecret=function(enc){return assert(this._secret,\"KeyPair is public only\"),utils.encode(this.secret(),enc)},KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)},module.exports=KeyPair},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/eddsa/signature.js\":[function(_dereq_,module,exports){\"use strict\";var BN=_dereq_(\"bn.js\"),utils=_dereq_(\"../utils\"),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){this.eddsa=eddsa,\"object\"!=typeof sig&&(sig=parseBytes(sig)),Array.isArray(sig)&&(sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)}),assert(sig.R&&sig.S,\"Signature without R or S\"),eddsa.isPoint(sig.R)&&(this._R=sig.R),sig.S instanceof BN&&(this._S=sig.S),this._Rencoded=Array.isArray(sig.R)?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)?sig.S:sig.Sencoded}cachedProperty(Signature,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())}),cachedProperty(Signature,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())}),cachedProperty(Signature,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())}),cachedProperty(Signature,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())}),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),\"hex\").toUpperCase()},module.exports=Signature},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js\":[function(_dereq_,module,exports){module.exports={doubles:{step:4,points:[[\"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"],[\"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"],[\"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"],[\"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"],[\"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"],[\"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"],[\"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"],[\"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"],[\"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"],[\"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"],[\"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"],[\"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"],[\"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"],[\"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"],[\"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"],[\"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"],[\"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"],[\"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"],[\"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"],[\"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"],[\"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"],[\"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"],[\"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"],[\"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"],[\"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"],[\"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"],[\"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"],[\"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"],[\"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"],[\"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"],[\"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"],[\"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"],[\"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"],[\"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"],[\"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"],[\"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"],[\"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"],[\"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"],[\"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"],[\"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"],[\"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"],[\"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"],[\"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"],[\"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"],[\"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"],[\"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"],[\"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"],[\"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"],[\"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"],[\"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"],[\"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"],[\"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"],[\"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"],[\"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"],[\"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"],[\"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"],[\"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"],[\"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"],[\"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"],[\"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"],[\"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"],[\"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"],[\"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"],[\"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"],[\"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"]]},naf:{wnd:7,points:[[\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"],[\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"],[\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"],[\"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"],[\"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"],[\"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"],[\"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"],[\"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"],[\"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"],[\"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"],[\"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"],[\"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"],[\"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"],[\"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"],[\"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"],[\"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"],[\"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"],[\"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"],[\"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"],[\"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"],[\"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"],[\"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"],[\"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"],[\"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"],[\"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"],[\"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"],[\"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"],[\"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"],[\"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"],[\"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"],[\"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"],[\"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"],[\"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"],[\"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"],[\"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"],[\"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"],[\"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"],[\"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"],[\"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"],[\"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"],[\"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"],[\"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"],[\"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"],[\"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"],[\"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"],[\"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"],[\"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"],[\"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"],[\"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"],[\"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"],[\"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"],[\"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"],[\"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"],[\"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"],[\"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"],[\"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"],[\"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"],[\"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"],[\"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"],[\"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"],[\"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"],[\"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"],[\"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"],[\"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"],[\"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"],[\"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"],[\"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"],[\"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"],[\"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"],[\"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"],[\"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"],[\"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"],[\"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"],[\"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"],[\"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"],[\"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"],[\"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"],[\"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"],[\"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"],[\"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"],[\"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"],[\"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"],[\"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"],[\"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"],[\"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"],[\"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"],[\"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"],[\"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"],[\"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"],[\"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"],[\"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"],[\"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"],[\"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"],[\"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"],[\"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"],[\"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"],[\"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"],[\"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"],[\"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"],[\"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"],[\"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"],[\"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"],[\"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"],[\"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"],[\"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"],[\"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"],[\"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"],[\"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"],[\"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"],[\"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"],[\"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"],[\"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"],[\"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"],[\"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"],[\"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"],[\"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"],[\"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"],[\"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"],[\"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"],[\"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"],[\"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"],[\"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"],[\"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"],[\"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"],[\"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"],[\"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"],[\"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"]]}}},{}],\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic/utils.js\":[function(_dereq_,module,exports){\"use strict\";var utils=exports,BN=_dereq_(\"bn.js\"),minAssert=_dereq_(\"minimalistic-assert\"),minUtils=_dereq_(\"minimalistic-crypto-utils\");utils.assert=minAssert,utils.toArray=minUtils.toArray,utils.zero2=minUtils.zero2,utils.toHex=minUtils.toHex,utils.encode=minUtils.encode,utils.getNAF=function(num,w,bits){var naf=new Array(Math.max(num.bitLength(),bits)+1);naf.fill(0);for(var ws=1<<w+1,k=num.clone(),i=0;i<naf.length;i++){var z,mod=k.andln(ws-1);k.isOdd()?(z=(ws>>1)-1<mod?(ws>>1)-mod:mod,k.isubn(z)):z=0,naf[i]=z,k.iushrn(1)}return naf},utils.getJSF=function(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();for(var d1=0,d2=0;0<k1.cmpn(-d1)||0<k2.cmpn(-d2);){var u1,u2,m8,m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;3===m14&&(m14=-1),3===m24&&(m24=-1),u1=0==(1&m14)?0:3!=(m8=k1.andln(7)+d1&7)&&5!==m8||2!==m24?m14:-m14,jsf[0].push(u1),u2=0==(1&m24)?0:3!=(m8=k2.andln(7)+d2&7)&&5!==m8||2!==m14?m24:-m24,jsf[1].push(u2),2*d1===u1+1&&(d1=1-d1),2*d2===u2+1&&(d2=1-d2),k1.iushrn(1),k2.iushrn(1)}return jsf},utils.cachedProperty=function(obj,name,computer){var key=\"_\"+name;obj.prototype[name]=function(){return void 0!==this[key]?this[key]:this[key]=computer.call(this)}},utils.parseBytes=function(bytes){return\"string\"==typeof bytes?utils.toArray(bytes,\"hex\"):bytes},utils.intFromLE=function(bytes){return new BN(bytes,\"hex\",\"le\")}},{\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\",\"minimalistic-crypto-utils\":\"/Users/f/pjs/dhive/node_modules/minimalistic-crypto-utils/lib/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/elliptic/package.json\":[function(_dereq_,module,exports){module.exports={name:\"elliptic\",version:\"6.5.2\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{jscs:\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",jshint:\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",lint:\"npm run jscs && npm run jshint\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny <fedor@indutny.com>\",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^1.4.3\",coveralls:\"^3.0.8\",grunt:\"^1.0.4\",\"grunt-browserify\":\"^5.0.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-connect\":\"^1.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^1.0.1\",\"grunt-mocha-istanbul\":\"^3.0.1\",\"grunt-saucelabs\":\"^9.0.1\",istanbul:\"^0.4.2\",jscs:\"^3.0.7\",jshint:\"^2.10.3\",mocha:\"^6.2.2\"},dependencies:{\"bn.js\":\"^4.4.0\",brorand:\"^1.0.1\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.0\",inherits:\"^2.0.1\",\"minimalistic-assert\":\"^1.0.0\",\"minimalistic-crypto-utils\":\"^1.0.0\"}}},{}],\"/Users/f/pjs/dhive/node_modules/events/events.js\":[function(_dereq_,module,exports){var objectCreate=Object.create||function(proto){function F(){}return F.prototype=proto,new F},objectKeys=Object.keys||function(obj){var keys=[];for(var k in obj)Object.prototype.hasOwnProperty.call(obj,k)&&keys.push(k);return k},bind=Function.prototype.bind||function(context){var fn=this;return function(){return fn.apply(context,arguments)}};function EventEmitter(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=objectCreate(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}((module.exports=EventEmitter).EventEmitter=EventEmitter).prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0;var hasDefineProperty,defaultMaxListeners=10;try{var o={};Object.defineProperty&&Object.defineProperty(o,\"x\",{value:0}),hasDefineProperty=0===o.x}catch(err){hasDefineProperty=!1}function $getMaxListeners(that){return void 0===that._maxListeners?EventEmitter.defaultMaxListeners:that._maxListeners}function _addListener(target,type,listener,prepend){var m,events,existing;if(\"function\"!=typeof listener)throw new TypeError('\"listener\" argument must be a function');if((events=target._events)?(events.newListener&&(target.emit(\"newListener\",type,listener.listener?listener.listener:listener),events=target._events),existing=events[type]):(events=target._events=objectCreate(null),target._eventsCount=0),existing){if(\"function\"==typeof existing?existing=events[type]=prepend?[listener,existing]:[existing,listener]:prepend?existing.unshift(listener):existing.push(listener),!existing.warned&&(m=$getMaxListeners(target))&&0<m&&existing.length>m){existing.warned=!0;var w=new Error(\"Possible EventEmitter memory leak detected. \"+existing.length+' \"'+String(type)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');w.name=\"MaxListenersExceededWarning\",w.emitter=target,w.type=type,w.count=existing.length}}else existing=events[type]=listener,++target._eventsCount;return target}function onceWrapper(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var args=new Array(arguments.length),i=0;i<args.length;++i)args[i]=arguments[i];this.listener.apply(this.target,args)}}function _onceWrap(target,type,listener){var state={fired:!1,wrapFn:void 0,target:target,type:type,listener:listener},wrapped=bind.call(onceWrapper,state);return wrapped.listener=listener,state.wrapFn=wrapped}function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];return evlistener?\"function\"==typeof evlistener?unwrap?[evlistener.listener||evlistener]:[evlistener]:unwrap?function(arr){for(var ret=new Array(arr.length),i=0;i<ret.length;++i)ret[i]=arr[i].listener||arr[i];return ret}(evlistener):arrayClone(evlistener,evlistener.length):[]}function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if(\"function\"==typeof evlistener)return 1;if(evlistener)return evlistener.length}return 0}function arrayClone(arr,n){for(var copy=new Array(n),i=0;i<n;++i)copy[i]=arr[i];return copy}hasDefineProperty?Object.defineProperty(EventEmitter,\"defaultMaxListeners\",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(arg){if(\"number\"!=typeof arg||arg<0||arg!=arg)throw new TypeError('\"defaultMaxListeners\" must be a positive number');defaultMaxListeners=arg}}):EventEmitter.defaultMaxListeners=defaultMaxListeners,EventEmitter.prototype.setMaxListeners=function(n){if(\"number\"!=typeof n||n<0||isNaN(n))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=n,this},EventEmitter.prototype.getMaxListeners=function(){return $getMaxListeners(this)},EventEmitter.prototype.emit=function(type,argument_1,argument_2,argument_3){var er,handler,len,args,i,events,doError=\"error\"===type;if(events=this._events)doError=doError&&null==events.error;else if(!doError)return!1;if(doError){if(1<arguments.length&&(er=argument_1),er instanceof Error)throw er;var err=new Error('Unhandled \"error\" event. ('+er+\")\");throw err.context=er,err}if(!(handler=events[type]))return!1;var isFn=\"function\"==typeof handler;switch(len=arguments.length){case 1:!function(handler,isFn,self){if(isFn)handler.call(self);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self)}(handler,isFn,this);break;case 2:!function(handler,isFn,self,arg1){if(isFn)handler.call(self,arg1);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1)}(handler,isFn,this,argument_1);break;case 3:!function(handler,isFn,self,arg1,arg2){if(isFn)handler.call(self,arg1,arg2);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1,arg2)}(handler,isFn,this,argument_1,argument_2);break;case 4:!function(handler,isFn,self,arg1,arg2,arg3){if(isFn)handler.call(self,arg1,arg2,arg3);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].call(self,arg1,arg2,arg3)}(handler,isFn,this,argument_1,argument_2,argument_3);break;default:for(args=new Array(len-1),i=1;i<len;i++)args[i-1]=arguments[i];!function(handler,isFn,self,args){if(isFn)handler.apply(self,args);else for(var len=handler.length,listeners=arrayClone(handler,len),i=0;i<len;++i)listeners[i].apply(self,args)}(handler,isFn,this,args)}return!0},EventEmitter.prototype.on=EventEmitter.prototype.addListener=function(type,listener){return _addListener(this,type,listener,!1)},EventEmitter.prototype.prependListener=function(type,listener){return _addListener(this,type,listener,!0)},EventEmitter.prototype.once=function(type,listener){if(\"function\"!=typeof listener)throw new TypeError('\"listener\" argument must be a function');return this.on(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.prependOnceListener=function(type,listener){if(\"function\"!=typeof listener)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(type,_onceWrap(this,type,listener)),this},EventEmitter.prototype.removeListener=function(type,listener){var list,events,position,i,originalListener;if(\"function\"!=typeof listener)throw new TypeError('\"listener\" argument must be a function');if(!(events=this._events))return this;if(!(list=events[type]))return this;if(list===listener||list.listener===listener)0==--this._eventsCount?this._events=objectCreate(null):(delete events[type],events.removeListener&&this.emit(\"removeListener\",type,list.listener||listener));else if(\"function\"!=typeof list){for(position=-1,i=list.length-1;0<=i;i--)if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener,position=i;break}if(position<0)return this;0===position?list.shift():function(list){for(var i=position,k=i+1,n=list.length;k<n;i+=1,k+=1)list[i]=list[k];list.pop()}(list),1===list.length&&(events[type]=list[0]),events.removeListener&&this.emit(\"removeListener\",type,originalListener||listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var listeners,events,i;if(!(events=this._events))return this;if(!events.removeListener)return 0===arguments.length?(this._events=objectCreate(null),this._eventsCount=0):events[type]&&(0==--this._eventsCount?this._events=objectCreate(null):delete events[type]),this;if(0===arguments.length){var key,keys=objectKeys(events);for(i=0;i<keys.length;++i)\"removeListener\"!==(key=keys[i])&&this.removeAllListeners(key);return this.removeAllListeners(\"removeListener\"),this._events=objectCreate(null),this._eventsCount=0,this}if(\"function\"==typeof(listeners=events[type]))this.removeListener(type,listeners);else if(listeners)for(i=listeners.length-1;0<=i;i--)this.removeListener(type,listeners[i]);return this},EventEmitter.prototype.listeners=function(type){return _listeners(this,type,!0)},EventEmitter.prototype.rawListeners=function(type){return _listeners(this,type,!1)},EventEmitter.listenerCount=function(emitter,type){return\"function\"==typeof emitter.listenerCount?emitter.listenerCount(type):listenerCount.call(emitter,type)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return 0<this._eventsCount?Reflect.ownKeys(this._events):[]}},{}],\"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer,MD5=_dereq_(\"md5.js\");module.exports=function(password,salt,keyBits,ivLen){if(Buffer.isBuffer(password)||(password=Buffer.from(password,\"binary\")),salt&&(Buffer.isBuffer(salt)||(salt=Buffer.from(salt,\"binary\")),8!==salt.length))throw new RangeError(\"salt should be Buffer with 8 byte length\");for(var keyLen=keyBits/8,key=Buffer.alloc(keyLen),iv=Buffer.alloc(ivLen||0),tmp=Buffer.alloc(0);0<keyLen||0<ivLen;){var hash=new MD5;hash.update(tmp),hash.update(password),salt&&hash.update(salt),tmp=hash.digest();var used=0;if(0<keyLen){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used<tmp.length&&0<ivLen){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key:key,iv:iv}}},{\"md5.js\":\"/Users/f/pjs/dhive/node_modules/md5.js/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/extsprintf/lib/extsprintf.js\":[function(_dereq_,module,exports){(function(process){var mod_assert=_dereq_(\"assert\"),mod_util=_dereq_(\"util\");function jsSprintf(ofmt){var flags,width,precision,conversion,left,pad,sign,arg,match,convposn,curconv,regex=[\"([^%]*)\",\"%\",\"(['\\\\-+ #0]*?)\",\"([1-9]\\\\d*)?\",\"(\\\\.([1-9]\\\\d*))?\",\"[lhjztL]*?\",\"([diouxXfFeEgGaAcCsSp%jr])\"].join(\"\"),re=new RegExp(regex),args=Array.prototype.slice.call(arguments,1),fmt=ofmt,ret=\"\",argn=1,posn=0;for(mod_assert.equal(\"string\",typeof fmt,\"first argument must be a format string\");null!==(match=re.exec(fmt));)if(ret+=match[1],fmt=fmt.substring(match[0].length),curconv=match[0].substring(match[1].length),convposn=posn+match[1].length+1,posn+=match[0].length,flags=match[2]||\"\",width=match[3]||0,precision=match[4]||\"\",sign=left=!1,pad=\" \",\"%\"!=(conversion=match[6])){if(0===args.length)throw jsError(ofmt,convposn,curconv,\"has no matching argument (too few arguments passed)\");if(arg=args.shift(),argn++,flags.match(/[\\' #]/))throw jsError(ofmt,convposn,curconv,\"uses unsupported flags\");if(0<precision.length)throw jsError(ofmt,convposn,curconv,\"uses non-zero precision (not supported)\");switch(flags.match(/-/)&&(left=!0),flags.match(/0/)&&(pad=\"0\"),flags.match(/\\+/)&&(sign=!0),conversion){case\"s\":if(null==arg)throw jsError(ofmt,convposn,curconv,\"attempted to print undefined or null as a string (argument \"+argn+\" to sprintf)\");ret+=doPad(pad,width,left,arg.toString());break;case\"d\":arg=Math.floor(arg);case\"f\":ret+=(sign=sign&&0<arg?\"+\":\"\")+doPad(pad,width,left,arg.toString());break;case\"x\":ret+=doPad(pad,width,left,arg.toString(16));break;case\"j\":0===width&&(width=10),ret+=mod_util.inspect(arg,!1,width);break;case\"r\":ret+=dumpException(arg);break;default:throw jsError(ofmt,convposn,curconv,\"is not supported\")}}else ret+=\"%\";return ret+fmt}function jsError(fmtstr,convposn,curconv,reason){return mod_assert.equal(typeof fmtstr,\"string\"),mod_assert.equal(typeof curconv,\"string\"),mod_assert.equal(typeof convposn,\"number\"),mod_assert.equal(typeof reason,\"string\"),new Error('format string \"'+fmtstr+'\": conversion specifier \"'+curconv+'\" at character '+convposn+\" \"+reason)}function jsFprintf(stream){var args=Array.prototype.slice.call(arguments,1);return stream.write(jsSprintf.apply(this,args))}function doPad(chr,width,left,str){for(var ret=str;ret.length<width;)left?ret+=chr:ret=chr+ret;return ret}function dumpException(ex){var ret;if(!(ex instanceof Error))throw new Error(jsSprintf(\"invalid type for %%r: %j\",ex));if(ret=\"EXCEPTION: \"+ex.constructor.name+\": \"+ex.stack,ex.cause&&\"function\"==typeof ex.cause){var cex=ex.cause();cex&&(ret+=\"\\nCaused by: \"+dumpException(cex))}return ret}exports.sprintf=jsSprintf,exports.printf=function(){var args=Array.prototype.slice.call(arguments);args.unshift(process.stdout),jsFprintf.apply(null,args)},exports.fprintf=jsFprintf}).call(this,_dereq_(\"_process\"))},{_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",assert:\"/Users/f/pjs/dhive/node_modules/assert/assert.js\",util:\"/Users/f/pjs/dhive/node_modules/util/util.js\"}],\"/Users/f/pjs/dhive/node_modules/hash-base/index.js\":[function(_dereq_,module,exports){\"use strict\";var Buffer=_dereq_(\"safe-buffer\").Buffer,Transform=_dereq_(\"stream\").Transform;function HashBase(blockSize){Transform.call(this),this._block=Buffer.allocUnsafe(blockSize),this._blockSize=blockSize,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}_dereq_(\"inherits\")(HashBase,Transform),HashBase.prototype._transform=function(chunk,encoding,callback){var error=null;try{this.update(chunk,encoding)}catch(err){error=err}callback(error)},HashBase.prototype._flush=function(callback){var error=null;try{this.push(this.digest())}catch(err){error=err}callback(error)},HashBase.prototype.update=function(data,encoding){if(function(val){if(!Buffer.isBuffer(val)&&\"string\"!=typeof val)throw new TypeError(\"Data must be a string or a buffer\")}(data),this._finalized)throw new Error(\"Digest already called\");Buffer.isBuffer(data)||(data=Buffer.from(data,encoding));for(var block=this._block,offset=0;this._blockOffset+data.length-offset>=this._blockSize;){for(var i=this._blockOffset;i<this._blockSize;)block[i++]=data[offset++];this._update(),this._blockOffset=0}for(;offset<data.length;)block[this._blockOffset++]=data[offset++];for(var j=0,carry=8*data.length;0<carry;++j)this._length[j]+=carry,0<(carry=this._length[j]/4294967296|0)&&(this._length[j]-=4294967296*carry);return this},HashBase.prototype._update=function(){throw new Error(\"_update is not implemented\")},HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=!0;var digest=this._digest();void 0!==encoding&&(digest=digest.toString(encoding)),this._block.fill(0);for(var i=this._blockOffset=0;i<4;++i)this._length[i]=0;return digest},HashBase.prototype._digest=function(){throw new Error(\"_digest is not implemented\")},module.exports=HashBase},{inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\",stream:\"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js\":[function(_dereq_,module,exports){var hash=exports;hash.utils=_dereq_(\"./hash/utils\"),hash.common=_dereq_(\"./hash/common\"),hash.sha=_dereq_(\"./hash/sha\"),hash.ripemd=_dereq_(\"./hash/ripemd\"),hash.hmac=_dereq_(\"./hash/hmac\"),hash.sha1=hash.sha.sha1,hash.sha256=hash.sha.sha256,hash.sha224=hash.sha.sha224,hash.sha384=hash.sha.sha384,hash.sha512=hash.sha.sha512,hash.ripemd160=hash.ripemd.ripemd160},{\"./hash/common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js\",\"./hash/hmac\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/hmac.js\",\"./hash/ripemd\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/ripemd.js\",\"./hash/sha\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha.js\",\"./hash/utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"./utils\"),assert=_dereq_(\"minimalistic-assert\");function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}(exports.BlockHash=BlockHash).prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),this.pending?this.pending=this.pending.concat(msg):this.pending=msg,this.pendingTotal+=msg.length,this.pending.length>=this._delta8){var r=(msg=this.pending).length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length),0===this.pending.length&&(this.pending=null),msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i<msg.length;i+=this._delta32)this._update(msg,i,i+this._delta32)}return this},BlockHash.prototype.digest=function(enc){return this.update(this._pad()),assert(null===this.pending),this._digest(enc)},BlockHash.prototype._pad=function(){var len=this.pendingTotal,bytes=this._delta8,k=bytes-(len+this.padLength)%bytes,res=new Array(k+this.padLength);res[0]=128;for(var i=1;i<k;i++)res[i]=0;if(len<<=3,\"big\"===this.endian){for(var t=8;t<this.padLength;t++)res[i++]=0;res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=len>>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=255&len}else for(res[i++]=255&len,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,t=8;t<this.padLength;t++)res[i++]=0;return res}},{\"./utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/hmac.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"./utils\"),assert=_dereq_(\"minimalistic-assert\");function Hmac(hash,key,enc){if(!(this instanceof Hmac))return new Hmac(hash,key,enc);this.Hash=hash,this.blockSize=hash.blockSize/8,this.outSize=hash.outSize/8,this.inner=null,this.outer=null,this._init(utils.toArray(key,enc))}(module.exports=Hmac).prototype._init=function(key){key.length>this.blockSize&&(key=(new this.Hash).update(key).digest()),assert(key.length<=this.blockSize);for(var i=key.length;i<this.blockSize;i++)key.push(0);for(i=0;i<key.length;i++)key[i]^=54;for(this.inner=(new this.Hash).update(key),i=0;i<key.length;i++)key[i]^=106;this.outer=(new this.Hash).update(key)},Hmac.prototype.update=function(msg,enc){return this.inner.update(msg,enc),this},Hmac.prototype.digest=function(enc){return this.outer.update(this.inner.digest()),this.outer.digest(enc)}},{\"./utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/ripemd.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"./utils\"),common=_dereq_(\"./common\"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_3=utils.sum32_3,sum32_4=utils.sum32_4,BlockHash=common.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian=\"little\"}function f(j,x,y,z){return j<=15?x^y^z:j<=31?x&y|~x&z:j<=47?(x|~y)^z:j<=63?x&z|y&~z:x^(y|~z)}function K(j){return j<=15?0:j<=31?1518500249:j<=47?1859775393:j<=63?2400959708:2840853838}function Kh(j){return j<=15?1352829926:j<=31?1548603684:j<=47?1836072691:j<=63?2053994217:0}utils.inherits(RIPEMD160,BlockHash),(exports.ripemd160=RIPEMD160).blockSize=512,RIPEMD160.outSize=160,RIPEMD160.hmacStrength=192,RIPEMD160.padLength=64,RIPEMD160.prototype._update=function(msg,start){for(var A=this.h[0],B=this.h[1],C=this.h[2],D=this.h[3],E=this.h[4],Ah=A,Bh=B,Ch=C,Dh=D,Eh=E,j=0;j<80;j++){var T=sum32(rotl32(sum32_4(A,f(j,B,C,D),msg[r[j]+start],K(j)),s[j]),E);A=E,E=D,D=rotl32(C,10),C=B,B=T,T=sum32(rotl32(sum32_4(Ah,f(79-j,Bh,Ch,Dh),msg[rh[j]+start],Kh(j)),sh[j]),Eh),Ah=Eh,Eh=Dh,Dh=rotl32(Ch,10),Ch=Bh,Bh=T}T=sum32_3(this.h[1],C,Dh),this.h[1]=sum32_3(this.h[2],D,Eh),this.h[2]=sum32_3(this.h[3],E,Ah),this.h[3]=sum32_3(this.h[4],A,Bh),this.h[4]=sum32_3(this.h[0],B,Ch),this.h[0]=T},RIPEMD160.prototype._digest=function(enc){return\"hex\"===enc?utils.toHex32(this.h,\"little\"):utils.split32(this.h,\"little\")};var r=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],rh=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],s=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sh=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{\"./common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js\",\"./utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha.js\":[function(_dereq_,module,exports){\"use strict\";exports.sha1=_dereq_(\"./sha/1\"),exports.sha224=_dereq_(\"./sha/224\"),exports.sha256=_dereq_(\"./sha/256\"),exports.sha384=_dereq_(\"./sha/384\"),exports.sha512=_dereq_(\"./sha/512\")},{\"./sha/1\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/1.js\",\"./sha/224\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/224.js\",\"./sha/256\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/256.js\",\"./sha/384\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/384.js\",\"./sha/512\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/512.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/1.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),common=_dereq_(\"../common\"),shaCommon=_dereq_(\"./common\"),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),(module.exports=SHA1).blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=rotl32(W[i-3]^W[i-8]^W[i-14]^W[i-16],1);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4];for(i=0;i<W.length;i++){var s=~~(i/20),t=sum32_5(rotl32(a,5),ft_1(s,b,c,d),e,W[i],sha1_K[s]);e=d,d=c,c=rotl32(b,30),b=a,a=t}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e)},SHA1.prototype._digest=function(enc){return\"hex\"===enc?utils.toHex32(this.h,\"big\"):utils.split32(this.h,\"big\")}},{\"../common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js\",\"../utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"./common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/common.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/224.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),SHA256=_dereq_(\"./256\");function SHA224(){if(!(this instanceof SHA224))return new SHA224;SHA256.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}utils.inherits(SHA224,SHA256),(module.exports=SHA224).blockSize=512,SHA224.outSize=224,SHA224.hmacStrength=192,SHA224.padLength=64,SHA224.prototype._digest=function(enc){return\"hex\"===enc?utils.toHex32(this.h.slice(0,7),\"big\"):utils.split32(this.h.slice(0,7),\"big\")}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"./256\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/256.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/256.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),common=_dereq_(\"../common\"),shaCommon=_dereq_(\"./common\"),assert=_dereq_(\"minimalistic-assert\"),sum32=utils.sum32,sum32_4=utils.sum32_4,sum32_5=utils.sum32_5,ch32=shaCommon.ch32,maj32=shaCommon.maj32,s0_256=shaCommon.s0_256,s1_256=shaCommon.s1_256,g0_256=shaCommon.g0_256,g1_256=shaCommon.g1_256,BlockHash=common.BlockHash,sha256_K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;BlockHash.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sha256_K,this.W=new Array(64)}utils.inherits(SHA256,BlockHash),(module.exports=SHA256).blockSize=512,SHA256.outSize=256,SHA256.hmacStrength=192,SHA256.padLength=64,SHA256.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;i<W.length;i++)W[i]=sum32_4(g1_256(W[i-2]),W[i-7],g0_256(W[i-15]),W[i-16]);var a=this.h[0],b=this.h[1],c=this.h[2],d=this.h[3],e=this.h[4],f=this.h[5],g=this.h[6],h=this.h[7];for(assert(this.k.length===W.length),i=0;i<W.length;i++){var T1=sum32_5(h,s1_256(e),ch32(e,f,g),this.k[i],W[i]),T2=sum32(s0_256(a),maj32(a,b,c));h=g,g=f,f=e,e=sum32(d,T1),d=c,c=b,b=a,a=sum32(T1,T2)}this.h[0]=sum32(this.h[0],a),this.h[1]=sum32(this.h[1],b),this.h[2]=sum32(this.h[2],c),this.h[3]=sum32(this.h[3],d),this.h[4]=sum32(this.h[4],e),this.h[5]=sum32(this.h[5],f),this.h[6]=sum32(this.h[6],g),this.h[7]=sum32(this.h[7],h)},SHA256.prototype._digest=function(enc){return\"hex\"===enc?utils.toHex32(this.h,\"big\"):utils.split32(this.h,\"big\")}},{\"../common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js\",\"../utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"./common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/common.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/384.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),SHA512=_dereq_(\"./512\");function SHA384(){if(!(this instanceof SHA384))return new SHA384;SHA512.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}utils.inherits(SHA384,SHA512),(module.exports=SHA384).blockSize=1024,SHA384.outSize=384,SHA384.hmacStrength=192,SHA384.padLength=128,SHA384.prototype._digest=function(enc){return\"hex\"===enc?utils.toHex32(this.h.slice(0,12),\"big\"):utils.split32(this.h.slice(0,12),\"big\")}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"./512\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/512.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/512.js\":[function(_dereq_,module,exports){\"use strict\";var utils=_dereq_(\"../utils\"),common=_dereq_(\"../common\"),assert=_dereq_(\"minimalistic-assert\"),rotr64_hi=utils.rotr64_hi,rotr64_lo=utils.rotr64_lo,shr64_hi=utils.shr64_hi,shr64_lo=utils.shr64_lo,sum64=utils.sum64,sum64_hi=utils.sum64_hi,sum64_lo=utils.sum64_lo,sum64_4_hi=utils.sum64_4_hi,sum64_4_lo=utils.sum64_4_lo,sum64_5_hi=utils.sum64_5_hi,sum64_5_lo=utils.sum64_5_lo,BlockHash=common.BlockHash,sha512_K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;BlockHash.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=sha512_K,this.W=new Array(160)}function ch64_hi(xh,xl,yh,yl,zh){var r=xh&yh^~xh&zh;return r<0&&(r+=4294967296),r}function ch64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^~xl&zl;return r<0&&(r+=4294967296),r}function maj64_hi(xh,xl,yh,yl,zh){var r=xh&yh^xh&zh^yh&zh;return r<0&&(r+=4294967296),r}function maj64_lo(xh,xl,yh,yl,zh,zl){var r=xl&yl^xl&zl^yl&zl;return r<0&&(r+=4294967296),r}function s0_512_hi(xh,xl){var r=rotr64_hi(xh,xl,28)^rotr64_hi(xl,xh,2)^rotr64_hi(xl,xh,7);return r<0&&(r+=4294967296),r}function s0_512_lo(xh,xl){var r=rotr64_lo(xh,xl,28)^rotr64_lo(xl,xh,2)^rotr64_lo(xl,xh,7);return r<0&&(r+=4294967296),r}function s1_512_lo(xh,xl){var r=rotr64_lo(xh,xl,14)^rotr64_lo(xh,xl,18)^rotr64_lo(xl,xh,9);return r<0&&(r+=4294967296),r}function g0_512_hi(xh,xl){var r=rotr64_hi(xh,xl,1)^rotr64_hi(xh,xl,8)^shr64_hi(xh,xl,7);return r<0&&(r+=4294967296),r}function g0_512_lo(xh,xl){var r=rotr64_lo(xh,xl,1)^rotr64_lo(xh,xl,8)^shr64_lo(xh,xl,7);return r<0&&(r+=4294967296),r}function g1_512_lo(xh,xl){var r=rotr64_lo(xh,xl,19)^rotr64_lo(xl,xh,29)^shr64_lo(xh,xl,6);return r<0&&(r+=4294967296),r}utils.inherits(SHA512,BlockHash),(module.exports=SHA512).blockSize=1024,SHA512.outSize=512,SHA512.hmacStrength=192,SHA512.padLength=128,SHA512.prototype._prepareBlock=function(msg,start){for(var W=this.W,i=0;i<32;i++)W[i]=msg[start+i];for(;i<W.length;i+=2){var c0_hi=(xh=W[i-4],xl=W[i-3],r=void 0,(r=rotr64_hi(xh,xl,19)^rotr64_hi(xl,xh,29)^shr64_hi(xh,xl,6))<0&&(r+=4294967296),r),c0_lo=g1_512_lo(W[i-4],W[i-3]),c1_hi=W[i-14],c1_lo=W[i-13],c2_hi=g0_512_hi(W[i-30],W[i-29]),c2_lo=g0_512_lo(W[i-30],W[i-29]),c3_hi=W[i-32],c3_lo=W[i-31];W[i]=sum64_4_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo),W[i+1]=sum64_4_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo)}var xh,xl,r},SHA512.prototype._update=function(msg,start){this._prepareBlock(msg,start);var xh,xl,r,W=this.W,ah=this.h[0],al=this.h[1],bh=this.h[2],bl=this.h[3],ch=this.h[4],cl=this.h[5],dh=this.h[6],dl=this.h[7],eh=this.h[8],el=this.h[9],fh=this.h[10],fl=this.h[11],gh=this.h[12],gl=this.h[13],hh=this.h[14],hl=this.h[15];assert(this.k.length===W.length);for(var i=0;i<W.length;i+=2){var c0_hi=hh,c0_lo=hl,c1_hi=(r=void 0,(r=rotr64_hi(xh=eh,xl=el,14)^rotr64_hi(xh,xl,18)^rotr64_hi(xl,xh,9))<0&&(r+=4294967296),r),c1_lo=s1_512_lo(eh,el),c2_hi=ch64_hi(eh,0,fh,0,gh),c2_lo=ch64_lo(0,el,0,fl,0,gl),c3_hi=this.k[i],c3_lo=this.k[i+1],c4_hi=W[i],c4_lo=W[i+1],T1_hi=sum64_5_hi(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo),T1_lo=sum64_5_lo(c0_hi,c0_lo,c1_hi,c1_lo,c2_hi,c2_lo,c3_hi,c3_lo,c4_hi,c4_lo);c0_hi=s0_512_hi(ah,al),c0_lo=s0_512_lo(ah,al),c1_hi=maj64_hi(ah,0,bh,0,ch),c1_lo=maj64_lo(0,al,0,bl,0,cl);var T2_hi=sum64_hi(c0_hi,c0_lo,c1_hi,c1_lo),T2_lo=sum64_lo(c0_hi,c0_lo,c1_hi,c1_lo);hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,eh=sum64_hi(dh,dl,T1_hi,T1_lo),el=sum64_lo(dl,dl,T1_hi,T1_lo),dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,ah=sum64_hi(T1_hi,T1_lo,T2_hi,T2_lo),al=sum64_lo(T1_hi,T1_lo,T2_hi,T2_lo)}sum64(this.h,0,ah,al),sum64(this.h,2,bh,bl),sum64(this.h,4,ch,cl),sum64(this.h,6,dh,dl),sum64(this.h,8,eh,el),sum64(this.h,10,fh,fl),sum64(this.h,12,gh,gl),sum64(this.h,14,hh,hl)},SHA512.prototype._digest=function(enc){return\"hex\"===enc?utils.toHex32(this.h,\"big\"):utils.split32(this.h,\"big\")}},{\"../common\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/common.js\",\"../utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/sha/common.js\":[function(_dereq_,module,exports){\"use strict\";var rotr32=_dereq_(\"../utils\").rotr32;function ch32(x,y,z){return x&y^~x&z}function maj32(x,y,z){return x&y^x&z^y&z}function p32(x,y,z){return x^y^z}exports.ft_1=function(s,x,y,z){return 0===s?ch32(x,y,z):1===s||3===s?p32(x,y,z):2===s?maj32(x,y,z):void 0},exports.ch32=ch32,exports.maj32=maj32,exports.p32=p32,exports.s0_256=function(x){return rotr32(x,2)^rotr32(x,13)^rotr32(x,22)},exports.s1_256=function(x){return rotr32(x,6)^rotr32(x,11)^rotr32(x,25)},exports.g0_256=function(x){return rotr32(x,7)^rotr32(x,18)^x>>>3},exports.g1_256=function(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}},{\"../utils\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash/utils.js\":[function(_dereq_,module,exports){\"use strict\";var assert=_dereq_(\"minimalistic-assert\"),inherits=_dereq_(\"inherits\");function isSurrogatePair(msg,i){return!(55296!=(64512&msg.charCodeAt(i))||i<0||i+1>=msg.length)&&56320==(64512&msg.charCodeAt(i+1))}function htonl(w){return(w>>>24|w>>>8&65280|w<<8&16711680|(255&w)<<24)>>>0}function zero2(word){return 1===word.length?\"0\"+word:word}function zero8(word){return 7===word.length?\"0\"+word:6===word.length?\"00\"+word:5===word.length?\"000\"+word:4===word.length?\"0000\"+word:3===word.length?\"00000\"+word:2===word.length?\"000000\"+word:1===word.length?\"0000000\"+word:word}exports.inherits=inherits,exports.toArray=function(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(\"string\"==typeof msg)if(enc){if(\"hex\"===enc)for((msg=msg.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(msg=\"0\"+msg),i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16))}else for(var p=0,i=0;i<msg.length;i++){var c=msg.charCodeAt(i);c<128?res[p++]=c:(c<2048?res[p++]=c>>6|192:(isSurrogatePair(msg,i)?(c=65536+((1023&c)<<10)+(1023&msg.charCodeAt(++i)),res[p++]=c>>18|240,res[p++]=c>>12&63|128):res[p++]=c>>12|224,res[p++]=c>>6&63|128),res[p++]=63&c|128)}else for(i=0;i<msg.length;i++)res[i]=0|msg[i];return res},exports.toHex=function(msg){for(var res=\"\",i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res},exports.htonl=htonl,exports.toHex32=function(msg,endian){for(var res=\"\",i=0;i<msg.length;i++){var w=msg[i];\"little\"===endian&&(w=htonl(w)),res+=zero8(w.toString(16))}return res},exports.zero2=zero2,exports.zero8=zero8,exports.join32=function(msg,start,end,endian){var len=end-start;assert(len%4==0);for(var res=new Array(len/4),i=0,k=start;i<res.length;i++,k+=4){var w;w=\"big\"===endian?msg[k]<<24|msg[k+1]<<16|msg[k+2]<<8|msg[k+3]:msg[k+3]<<24|msg[k+2]<<16|msg[k+1]<<8|msg[k],res[i]=w>>>0}return res},exports.split32=function(msg,endian){for(var res=new Array(4*msg.length),i=0,k=0;i<msg.length;i++,k+=4){var m=msg[i];\"big\"===endian?(res[k]=m>>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=255&m):(res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=255&m)}return res},exports.rotr32=function(w,b){return w>>>b|w<<32-b},exports.rotl32=function(w,b){return w<<b|w>>>32-b},exports.sum32=function(a,b){return a+b>>>0},exports.sum32_3=function(a,b,c){return a+b+c>>>0},exports.sum32_4=function(a,b,c,d){return a+b+c+d>>>0},exports.sum32_5=function(a,b,c,d,e){return a+b+c+d+e>>>0},exports.sum64=function(buf,pos,ah,al){var bh=buf[pos],lo=al+buf[pos+1]>>>0,hi=(lo<al?1:0)+ah+bh;buf[pos]=hi>>>0,buf[pos+1]=lo},exports.sum64_hi=function(ah,al,bh,bl){return(al+bl>>>0<al?1:0)+ah+bh>>>0},exports.sum64_lo=function(ah,al,bh,bl){return al+bl>>>0},exports.sum64_4_hi=function(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;return carry+=(lo=lo+bl>>>0)<al?1:0,carry+=(lo=lo+cl>>>0)<cl?1:0,ah+bh+ch+dh+(carry+=(lo=lo+dl>>>0)<dl?1:0)>>>0},exports.sum64_4_lo=function(ah,al,bh,bl,ch,cl,dh,dl){return al+bl+cl+dl>>>0},exports.sum64_5_hi=function(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;return carry+=(lo=lo+bl>>>0)<al?1:0,carry+=(lo=lo+cl>>>0)<cl?1:0,carry+=(lo=lo+dl>>>0)<dl?1:0,ah+bh+ch+dh+eh+(carry+=(lo=lo+el>>>0)<el?1:0)>>>0},exports.sum64_5_lo=function(ah,al,bh,bl,ch,cl,dh,dl,eh,el){return al+bl+cl+dl+el>>>0},exports.rotr64_hi=function(ah,al,num){return(al<<32-num|ah>>>num)>>>0},exports.rotr64_lo=function(ah,al,num){return(ah<<32-num|al>>>num)>>>0},exports.shr64_hi=function(ah,al,num){return ah>>>num},exports.shr64_lo=function(ah,al,num){return(ah<<32-num|al>>>num)>>>0}},{inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\"}],\"/Users/f/pjs/dhive/node_modules/hmac-drbg/lib/hmac-drbg.js\":[function(_dereq_,module,exports){\"use strict\";var hash=_dereq_(\"hash.js\"),utils=_dereq_(\"minimalistic-crypto-utils\"),assert=_dereq_(\"minimalistic-assert\");function HmacDRBG(options){if(!(this instanceof HmacDRBG))return new HmacDRBG(options);this.hash=options.hash,this.predResist=!!options.predResist,this.outLen=this.hash.outSize,this.minEntropy=options.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var entropy=utils.toArray(options.entropy,options.entropyEnc||\"hex\"),nonce=utils.toArray(options.nonce,options.nonceEnc||\"hex\"),pers=utils.toArray(options.pers,options.persEnc||\"hex\");assert(entropy.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(entropy,nonce,pers)}(module.exports=HmacDRBG).prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(seed),this._reseed=1,this.reseedInterval=281474976710656},HmacDRBG.prototype._hmac=function(){return new hash.hmac(this.hash,this.K)},HmacDRBG.prototype._update=function(seed){var kmac=this._hmac().update(this.V).update([0]);seed&&(kmac=kmac.update(seed)),this.K=kmac.digest(),this.V=this._hmac().update(this.V).digest(),seed&&(this.K=this._hmac().update(this.V).update([1]).update(seed).digest(),this.V=this._hmac().update(this.V).digest())},HmacDRBG.prototype.reseed=function(entropy,entropyEnc,add,addEnc){\"string\"!=typeof entropyEnc&&(addEnc=add,add=entropyEnc,entropyEnc=null),entropy=utils.toArray(entropy,entropyEnc),add=utils.toArray(add,addEnc),assert(entropy.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(entropy.concat(add||[])),this._reseed=1},HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");\"string\"!=typeof enc&&(addEnc=add,add=enc,enc=null),add&&(add=utils.toArray(add,addEnc||\"hex\"),this._update(add));for(var temp=[];temp.length<len;)this.V=this._hmac().update(this.V).digest(),temp=temp.concat(this.V);var res=temp.slice(0,len);return this._update(add),this._reseed++,utils.encode(res,enc)}},{\"hash.js\":\"/Users/f/pjs/dhive/node_modules/hash.js/lib/hash.js\",\"minimalistic-assert\":\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\",\"minimalistic-crypto-utils\":\"/Users/f/pjs/dhive/node_modules/minimalistic-crypto-utils/lib/utils.js\"}],\"/Users/f/pjs/dhive/node_modules/ieee754/index.js\":[function(_dereq_,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;0<nBits;e=256*e+buffer[offset+i],i+=d,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;0<nBits;m=256*m+buffer[offset+i],i+=d,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:Infinity*(s?-1:1);m+=Math.pow(2,mLen),e-=eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)},exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||Infinity===value?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),2<=(value+=1<=e+eBias?rt/c:rt*Math.pow(2,1-eBias))*c&&(e++,c/=2),eMax<=e+eBias?(m=0,e=eMax):1<=e+eBias?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));8<=mLen;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;0<eLen;buffer[offset+i]=255&e,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=128*s}},{}],\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\":[function(_dereq_,module,exports){\"function\"==typeof Object.create?module.exports=function(ctor,superCtor){superCtor&&(ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(ctor,superCtor){if(superCtor){function TempCtor(){}ctor.super_=superCtor,TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}}},{}],\"/Users/f/pjs/dhive/node_modules/is-buffer/index.js\":[function(_dereq_,module,exports){function isBuffer(obj){return!!obj.constructor&&\"function\"==typeof obj.constructor.isBuffer&&obj.constructor.isBuffer(obj)}module.exports=function(obj){return null!=obj&&(isBuffer(obj)||function(obj){return\"function\"==typeof obj.readFloatLE&&\"function\"==typeof obj.slice&&isBuffer(obj.slice(0,0))}(obj)||!!obj._isBuffer)}},{}],\"/Users/f/pjs/dhive/node_modules/isarray/index.js\":[function(_dereq_,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return\"[object Array]\"==toString.call(arr)}},{}],\"/Users/f/pjs/dhive/node_modules/jsbi/dist/jsbi-umd.js\":[function(_dereq_,module,exports){var e,t;e=this,t=function(){\"use strict\";var v=Math.imul,f=Math.clz32;function e(t){return(e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(t)}function i(e,t){for(var _,n=0;n<t.length;n++)(_=t[n]).enumerable=_.enumerable||!1,_.configurable=!0,\"value\"in _&&(_.writable=!0),Object.defineProperty(e,_.key,_)}function _(e,t,_){return t&&i(e.prototype,t),_&&i(e,_),e}function n(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&g(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function o(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}function a(){return(a=o()?Reflect.construct:function(e,t,i){var _=[null];_.push.apply(_,t);var l=new(Function.bind.apply(e,_));return i&&g(l,i.prototype),l}).apply(null,arguments)}function u(e){var t=\"function\"==typeof Map?new Map:void 0;return(u=function(e){function i(){return a(e,arguments,l(this).constructor)}if(null===e||!function(e){return-1!==Function.toString.call(e).indexOf(\"[native code]\")}(e))return e;if(\"function\"!=typeof e)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),g(i,e)})(e)}function h(e){var t=o();return function(){var i,_=l(e);if(t){var n=l(this).constructor;i=Reflect.construct(_,arguments,n)}else i=_.apply(this,arguments);return function(e,t){return!t||\"object\"!=typeof t&&\"function\"!=typeof t?function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e):t}(this,i)}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var _=0,n=Array(t);_<t;_++)n[_]=e[_];return n}var y=function(i){var g=Math.abs,o=Math.max;function l(e,i){var _;if(function(e){if(!(e instanceof l))throw new TypeError(\"Cannot call a class as a function\")}(this),l.__kMaxLength<e)throw new RangeError(\"Maximum BigInt size exceeded\");return(_=a.call(this,e)).sign=i,_}n(l,i);var a=h(l);return _(l,[{key:\"toDebugString\",value:function(){var e,t=[\"BigInt[\"],i=function(e,t){var _;if(\"undefined\"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(_=function(e,t){if(e){if(\"string\"==typeof e)return m(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===i&&e.constructor&&(i=e.constructor.name),\"Map\"===i||\"Set\"===i?Array.from(e):\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?m(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){_&&(e=_);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(t){throw t},f:l}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var g,a=!0,s=!1;return{s:function(){_=e[Symbol.iterator]()},n:function(){var e=_.next();return a=e.done,e},e:function(t){s=!0,g=t},f:function(){try{a||null==_.return||_.return()}finally{if(s)throw g}}}}(this);try{for(i.s();!(e=i.n()).done;){var _=e.value;t.push((_?(_>>>0).toString(16):_)+\", \")}}catch(e){i.e(e)}finally{i.f()}return t.push(\"]\"),t.join(\"\")}},{key:\"toString\",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:10;if(e<2||36<e)throw new RangeError(\"toString() radix argument must be between 2 and 36\");return 0===this.length?\"0\":0==(e&e-1)?l.__toStringBasePowerOfTwo(this,e):l.__toStringGeneric(this,e,!1)}},{key:\"__copy\",value:function(){for(var e=new l(this.length,this.sign),t=0;t<this.length;t++)e[t]=this[t];return e}},{key:\"__trim\",value:function(){for(var e=this.length,t=this[e-1];0===t;)t=this[--e-1],this.pop();return 0===e&&(this.sign=!1),this}},{key:\"__initializeDigits\",value:function(){for(var e=0;e<this.length;e++)this[e]=0}},{key:\"__clzmsd\",value:function(){return l.__clz32(this[this.length-1])}},{key:\"__inplaceMultiplyAdd\",value:function(e,t,_){_>this.length&&(_=this.length);for(var n=65535&e,g=e>>>16,o=0,a=65535&t,s=t>>>16,u=0;u<_;u++){var r=this.__digit(u),d=65535&r,h=r>>>16,b=l.__imul(d,n),m=l.__imul(d,g),c=l.__imul(h,n),v=l.__imul(h,g),f=a+(65535&b),y=s+o+(f>>>16)+(b>>>16)+(65535&m)+(65535&c);o=(a=(m>>>16)+(c>>>16)+(65535&v)+(y>>>16))>>>16,a&=65535,s=v>>>16,this.__setDigit(u,65535&f|y<<16)}if(0!==o||0!==a||0!==s)throw new Error(\"implementation bug\")}},{key:\"__inplaceAdd\",value:function(e,t,_){for(var n,l=0,g=0;g<_;g++)l=(n=this.__halfDigit(t+g)+e.__halfDigit(g)+l)>>>16,this.__setHalfDigit(t+g,n);return l}},{key:\"__inplaceSub\",value:function(e,t,_){var n=0;if(1&t){t>>=1;for(var l=this.__digit(t),g=65535&l,o=0;o<_-1>>>1;o++){var a=e.__digit(o),s=(l>>>16)-(65535&a)-n;n=1&s>>>16,this.__setDigit(t+o,s<<16|65535&g),n=1&(g=(65535&(l=this.__digit(t+o+1)))-(a>>>16)-n)>>>16}var u=e.__digit(o),r=(l>>>16)-(65535&u)-n;if(n=1&r>>>16,this.__setDigit(t+o,r<<16|65535&g),t+o+1>=this.length)throw new RangeError(\"out of bounds\");0==(1&_)&&(n=1&(g=(65535&(l=this.__digit(t+o+1)))-(u>>>16)-n)>>>16,this.__setDigit(t+e.length,4294901760&l|65535&g))}else{t>>=1;for(var d=0;d<e.length-1;d++){var h=this.__digit(t+d),b=e.__digit(d),m=(65535&h)-(65535&b)-n,c=(h>>>16)-(b>>>16)-(n=1&m>>>16);n=1&c>>>16,this.__setDigit(t+d,c<<16|65535&m)}var v=this.__digit(t+d),f=e.__digit(d),y=(65535&v)-(65535&f)-n;n=1&y>>>16;var k=0;0==(1&_)&&(n=1&(k=(v>>>16)-(f>>>16)-n)>>>16),this.__setDigit(t+d,k<<16|65535&y)}return n}},{key:\"__inplaceRightShift\",value:function(e){if(0!==e){for(var t,_=this.__digit(0)>>>e,n=this.length-1,l=0;l<n;l++)t=this.__digit(l+1),this.__setDigit(l,t<<32-e|_),_=t>>>e;this.__setDigit(n,_)}}},{key:\"__digit\",value:function(e){return this[e]}},{key:\"__unsignedDigit\",value:function(e){return this[e]>>>0}},{key:\"__setDigit\",value:function(e,t){this[e]=0|t}},{key:\"__setDigitGrow\",value:function(e,t){this[e]=0|t}},{key:\"__halfDigitLength\",value:function(){var e=this.length;return this.__unsignedDigit(e-1)<=65535?2*e-1:2*e}},{key:\"__halfDigit\",value:function(e){return 65535&this[e>>>1]>>>((1&e)<<4)}},{key:\"__setHalfDigit\",value:function(e,t){var i=e>>>1,_=this.__digit(i),n=1&e?65535&_|t<<16:4294901760&_|65535&t;this.__setDigit(i,n)}}],[{key:\"BigInt\",value:function(t){var i=Math.floor,_=Number.isFinite;if(\"number\"==typeof t){if(0===t)return l.__zero();if((0|t)===t)return t<0?l.__oneDigit(-t,!0):l.__oneDigit(t,!1);if(!_(t)||i(t)!==t)throw new RangeError(\"The number \"+t+\" cannot be converted to BigInt because it is not an integer\");return l.__fromDouble(t)}if(\"string\"==typeof t){var n=l.__fromString(t);if(null===n)throw new SyntaxError(\"Cannot convert \"+t+\" to a BigInt\");return n}if(\"boolean\"==typeof t)return!0===t?l.__oneDigit(1,!1):l.__zero();if(\"object\"!==e(t))throw new TypeError(\"Cannot convert \"+t+\" to a BigInt\");if(t.constructor===l)return t;var g=l.__toPrimitive(t);return l.BigInt(g)}},{key:\"toNumber\",value:function(e){var t=e.length;if(0===t)return 0;if(1===t){var i=e.__unsignedDigit(0);return e.sign?-i:i}var _=e.__digit(t-1),n=l.__clz32(_),g=32*t-n;if(1024<g)return e.sign?-Infinity:1/0;var o=g-1,a=_,s=t-1,u=n+1,r=32===u?0:a<<u;r>>>=12;var d=u-12,h=12<=u?0:a<<20+u,b=20+u;0<d&&0<s&&(s--,r|=(a=e.__digit(s))>>>32-d,h=a<<d,b=d),0<b&&0<s&&(s--,h|=(a=e.__digit(s))>>>32-b,b-=32);var m=l.__decideRounding(e,b,s,a);if((1===m||0===m&&1==(1&h))&&0==(h=h+1>>>0)&&0!=++r>>>20&&(r=0,1023<++o))return e.sign?-Infinity:1/0;var c=e.sign?-2147483648:0;return o=o+1023<<20,l.__kBitConversionInts[1]=c|o|r,l.__kBitConversionInts[0]=h,l.__kBitConversionDouble[0]}},{key:\"unaryMinus\",value:function(e){if(0===e.length)return e;var t=e.__copy();return t.sign=!e.sign,t}},{key:\"bitwiseNot\",value:function(e){return e.sign?l.__absoluteSubOne(e).__trim():l.__absoluteAddOne(e,!0)}},{key:\"exponentiate\",value:function(e,t){if(t.sign)throw new RangeError(\"Exponent must be positive\");if(0===t.length)return l.__oneDigit(1,!1);if(0===e.length)return e;if(1===e.length&&1===e.__digit(0))return e.sign&&0==(1&t.__digit(0))?l.unaryMinus(e):e;if(1<t.length)throw new RangeError(\"BigInt too big\");var i=t.__unsignedDigit(0);if(1===i)return e;if(l.__kMaxLengthBits<=i)throw new RangeError(\"BigInt too big\");if(1===e.length&&2===e.__digit(0)){var _=1+(i>>>5),g=new l(_,e.sign&&0!=(1&i));g.__initializeDigits();var o=1<<(31&i);return g.__setDigit(_-1,o),g}var a=null,s=e;for(0!=(1&i)&&(a=e),i>>=1;0!==i;i>>=1)s=l.multiply(s,s),0!=(1&i)&&(a=null===a?s:l.multiply(a,s));return a}},{key:\"multiply\",value:function(e,t){if(0===e.length)return e;if(0===t.length)return t;var _=e.length+t.length;32<=e.__clzmsd()+t.__clzmsd()&&_--;var n=new l(_,e.sign!==t.sign);n.__initializeDigits();for(var g=0;g<e.length;g++)l.__multiplyAccumulate(t,e.__digit(g),n,g);return n.__trim()}},{key:\"divide\",value:function(e,t){if(0===t.length)throw new RangeError(\"Division by zero\");if(l.__absoluteCompare(e,t)<0)return l.__zero();var i,_=e.sign!==t.sign,n=t.__unsignedDigit(0);if(1===t.length&&n<=65535){if(1===n)return _===e.sign?e:l.unaryMinus(e);i=l.__absoluteDivSmall(e,n,null)}else i=l.__absoluteDivLarge(e,t,!0,!1);return i.sign=_,i.__trim()}},{key:\"remainder\",value:function(t,i){if(0===i.length)throw new RangeError(\"Division by zero\");if(l.__absoluteCompare(t,i)<0)return t;var _=i.__unsignedDigit(0);if(1===i.length&&_<=65535){if(1===_)return l.__zero();var n=l.__absoluteModSmall(t,_);return 0===n?l.__zero():l.__oneDigit(n,t.sign)}var e=l.__absoluteDivLarge(t,i,!1,!0);return e.sign=t.sign,e.__trim()}},{key:\"add\",value:function(e,t){var i=e.sign;return i===t.sign?l.__absoluteAdd(e,t,i):0<=l.__absoluteCompare(e,t)?l.__absoluteSub(e,t,i):l.__absoluteSub(t,e,!i)}},{key:\"subtract\",value:function(e,t){var i=e.sign;return i===t.sign?0<=l.__absoluteCompare(e,t)?l.__absoluteSub(e,t,i):l.__absoluteSub(t,e,!i):l.__absoluteAdd(e,t,i)}},{key:\"leftShift\",value:function(e,t){return 0===t.length||0===e.length?e:t.sign?l.__rightShiftByAbsolute(e,t):l.__leftShiftByAbsolute(e,t)}},{key:\"signedRightShift\",value:function(e,t){return 0===t.length||0===e.length?e:t.sign?l.__leftShiftByAbsolute(e,t):l.__rightShiftByAbsolute(e,t)}},{key:\"unsignedRightShift\",value:function(){throw new TypeError(\"BigInts have no unsigned right shift; use >> instead\")}},{key:\"lessThan\",value:function(e,t){return l.__compareToBigInt(e,t)<0}},{key:\"lessThanOrEqual\",value:function(e,t){return l.__compareToBigInt(e,t)<=0}},{key:\"greaterThan\",value:function(e,t){return 0<l.__compareToBigInt(e,t)}},{key:\"greaterThanOrEqual\",value:function(e,t){return 0<=l.__compareToBigInt(e,t)}},{key:\"equal\",value:function(e,t){if(e.sign!==t.sign)return!1;if(e.length!==t.length)return!1;for(var _=0;_<e.length;_++)if(e.__digit(_)!==t.__digit(_))return!1;return!0}},{key:\"notEqual\",value:function(e,t){return!l.equal(e,t)}},{key:\"bitwiseAnd\",value:function(e,t){if(!e.sign&&!t.sign)return l.__absoluteAnd(e,t).__trim();if(e.sign&&t.sign){var i=o(e.length,t.length)+1,_=l.__absoluteSubOne(e,i),n=l.__absoluteSubOne(t);return _=l.__absoluteOr(_,n,_),l.__absoluteAddOne(_,!0,_).__trim()}if(e.sign){var g=[t,e];e=g[0],t=g[1]}return l.__absoluteAndNot(e,l.__absoluteSubOne(t)).__trim()}},{key:\"bitwiseXor\",value:function(e,t){if(!e.sign&&!t.sign)return l.__absoluteXor(e,t).__trim();if(e.sign&&t.sign){var i=o(e.length,t.length),_=l.__absoluteSubOne(e,i),n=l.__absoluteSubOne(t);return l.__absoluteXor(_,n,_).__trim()}var g=o(e.length,t.length)+1;if(e.sign){var a=[t,e];e=a[0],t=a[1]}var s=l.__absoluteSubOne(t,g);return s=l.__absoluteXor(s,e,s),l.__absoluteAddOne(s,!0,s).__trim()}},{key:\"bitwiseOr\",value:function(e,t){var i=o(e.length,t.length);if(!e.sign&&!t.sign)return l.__absoluteOr(e,t).__trim();if(e.sign&&t.sign){var _=l.__absoluteSubOne(e,i),n=l.__absoluteSubOne(t);return _=l.__absoluteAnd(_,n,_),l.__absoluteAddOne(_,!0,_).__trim()}if(e.sign){var g=[t,e];e=g[0],t=g[1]}var a=l.__absoluteSubOne(t,i);return a=l.__absoluteAndNot(a,e,a),l.__absoluteAddOne(a,!0,a).__trim()}},{key:\"asIntN\",value:function(e,t){if(0===t.length)return t;if(0===e)return l.__zero();if(l.__kMaxLengthBits<=e)return t;var _=e+31>>>5;if(t.length<_)return t;var n=t.__unsignedDigit(_-1),g=1<<(31&e-1);if(t.length===_&&n<g)return t;if((n&g)!=g)return l.__truncateToNBits(e,t);if(!t.sign)return l.__truncateAndSubFromPowerOfTwo(e,t,!0);if(0!=(n&g-1))return l.__truncateAndSubFromPowerOfTwo(e,t,!1);for(var o=_-2;0<=o;o--)if(0!==t.__digit(o))return l.__truncateAndSubFromPowerOfTwo(e,t,!1);return t.length===_&&n===g?t:l.__truncateToNBits(e,t)}},{key:\"asUintN\",value:function(e,t){if(0===t.length)return t;if(0===e)return l.__zero();if(t.sign){if(l.__kMaxLengthBits<e)throw new RangeError(\"BigInt too big\");return l.__truncateAndSubFromPowerOfTwo(e,t,!1)}if(l.__kMaxLengthBits<=e)return t;var i=e+31>>>5;if(t.length<i)return t;var _=31&e;if(t.length==i){if(0==_)return t;if(0==t.__digit(i-1)>>>_)return t}return l.__truncateToNBits(e,t)}},{key:\"ADD\",value:function(e,t){if(e=l.__toPrimitive(e),t=l.__toPrimitive(t),\"string\"==typeof e)return\"string\"!=typeof t&&(t=t.toString()),e+t;if(\"string\"==typeof t)return e.toString()+t;if(e=l.__toNumeric(e),t=l.__toNumeric(t),l.__isBigInt(e)&&l.__isBigInt(t))return l.add(e,t);if(\"number\"==typeof e&&\"number\"==typeof t)return e+t;throw new TypeError(\"Cannot mix BigInt and other types, use explicit conversions\")}},{key:\"LT\",value:function(e,t){return l.__compare(e,t,0)}},{key:\"LE\",value:function(e,t){return l.__compare(e,t,1)}},{key:\"GT\",value:function(e,t){return l.__compare(e,t,2)}},{key:\"GE\",value:function(e,t){return l.__compare(e,t,3)}},{key:\"EQ\",value:function(t,i){for(;;){if(l.__isBigInt(t))return l.__isBigInt(i)?l.equal(t,i):l.EQ(i,t);if(\"number\"==typeof t){if(l.__isBigInt(i))return l.__equalToNumber(i,t);if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"string\"==typeof t){if(l.__isBigInt(i))return null!==(t=l.__fromString(t))&&l.equal(t,i);if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"boolean\"==typeof t){if(l.__isBigInt(i))return l.__equalToNumber(i,+t);if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else if(\"symbol\"===e(t)){if(l.__isBigInt(i))return!1;if(\"object\"!==e(i))return t==i;i=l.__toPrimitive(i)}else{if(\"object\"!==e(t))return t==i;if(\"object\"===e(i)&&i.constructor!==l)return t==i;t=l.__toPrimitive(t)}}}},{key:\"NE\",value:function(e,t){return!l.EQ(e,t)}},{key:\"__zero\",value:function(){return new l(0,!1)}},{key:\"__oneDigit\",value:function(e,t){var i=new l(1,t);return i.__setDigit(0,e),i}},{key:\"__decideRounding\",value:function(e,t,i,_){if(0<t)return-1;var n;if(t<0)n=-t-1;else{if(0===i)return-1;i--,_=e.__digit(i),n=31}var l=1<<n;if(0==(_&l))return-1;if(0!=(_&--l))return 1;for(;0<i;)if(i--,0!==e.__digit(i))return 1;return 0}},{key:\"__fromDouble\",value:function(e){l.__kBitConversionDouble[0]=e;var t,_=(2047&l.__kBitConversionInts[1]>>>20)-1023,n=1+(_>>>5),g=new l(n,e<0),o=1048575&l.__kBitConversionInts[1]|1048576,a=l.__kBitConversionInts[0],u=31&_,r=0;if(u<20){var d=20-u;r=32+d,t=o>>>d,o=o<<32-d|a>>>d,a<<=32-d}else if(20==u)r=32,t=o,o=a;else{var h=u-20;t=o<<h|a>>>(r=32-h),o=a<<h}g.__setDigit(n-1,t);for(var b=n-2;0<=b;b--)0<r?(r-=32,t=o,o=a):t=0,g.__setDigit(b,t);return g.__trim()}},{key:\"__isWhitespace\",value:function(e){return!!(e<=13&&9<=e)||(e<=159?32==e:e<=131071?160==e||5760==e:e<=196607?(e&=131071)<=10||40==e||41==e||47==e||95==e||4096==e:65279==e)}},{key:\"__fromString\",value:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,i=0,_=e.length,n=0;if(n===_)return l.__zero();for(var g=e.charCodeAt(n);l.__isWhitespace(g);){if(++n===_)return l.__zero();g=e.charCodeAt(n)}if(43===g){if(++n===_)return null;g=e.charCodeAt(n),i=1}else if(45===g){if(++n===_)return null;g=e.charCodeAt(n),i=-1}if(0===t){if(t=10,48===g){if(++n===_)return l.__zero();if(88===(g=e.charCodeAt(n))||120===g){if(t=16,++n===_)return null;g=e.charCodeAt(n)}else if(79===g||111===g){if(t=8,++n===_)return null;g=e.charCodeAt(n)}else if(66===g||98===g){if(t=2,++n===_)return null;g=e.charCodeAt(n)}}}else if(16===t&&48===g){if(++n===_)return l.__zero();if(88===(g=e.charCodeAt(n))||120===g){if(++n===_)return null;g=e.charCodeAt(n)}}for(;48===g;){if(++n===_)return l.__zero();g=e.charCodeAt(n)}var o=_-n,a=l.__kMaxBitsPerChar[t],s=l.__kBitsPerCharTableMultiplier-1;if(1073741824/a<o)return null;var r=new l(31+(a*o+s>>>l.__kBitsPerCharTableShift)>>>5,!1),h=t<10?t:10,b=10<t?t-10:0;if(0==(t&t-1)){a>>=l.__kBitsPerCharTableShift;var c=[],v=[],f=!1;do{for(var y,k=0,D=0;;){if(y=void 0,g-48>>>0<h)y=g-48;else{if(!((32|g)-97>>>0<b)){f=!0;break}y=(32|g)-87}if(D+=a,k=k<<a|y,++n===_){f=!0;break}if(g=e.charCodeAt(n),32<D+a)break}c.push(k),v.push(D)}while(!f);l.__fillFromParts(r,c,v)}else{r.__initializeDigits();var p=!1,B=0;do{for(var S,C=0,A=1;;){if(S=void 0,g-48>>>0<h)S=g-48;else{if(!((32|g)-97>>>0<b)){p=!0;break}S=(32|g)-87}var T=A*t;if(4294967295<T)break;if(A=T,C=C*t+S,B++,++n===_){p=!0;break}g=e.charCodeAt(n)}var m=a*B+(s=32*l.__kBitsPerCharTableMultiplier-1)>>>l.__kBitsPerCharTableShift+5;r.__inplaceMultiplyAdd(A,C,m)}while(!p)}if(n!==_){if(!l.__isWhitespace(g))return null;for(n++;n<_;n++)if(g=e.charCodeAt(n),!l.__isWhitespace(g))return null}return 0!==i&&10!==t?null:(r.sign=-1===i,r.__trim())}},{key:\"__fillFromParts\",value:function(e,t,_){for(var n=0,l=0,g=0,o=t.length-1;0<=o;o--){var a=t[o],s=_[o];l|=a<<g,32===(g+=s)?(e.__setDigit(n++,l),l=g=0):32<g&&(e.__setDigit(n++,l),l=a>>>s-(g-=32))}if(0!==l){if(n>=e.length)throw new Error(\"implementation bug\");e.__setDigit(n++,l)}for(;n<e.length;n++)e.__setDigit(n,0)}},{key:\"__toStringBasePowerOfTwo\",value:function(e,t){var _=e.length,n=t-1,g=n=(15&(n=(51&(n=(85&n>>>1)+(85&n))>>>2)+(51&n))>>>4)+(15&n),o=t-1,a=e.__digit(_-1),u=0|(32*_-l.__clz32(a)+g-1)/g;if(e.sign&&u++,268435456<u)throw new Error(\"string too long\");for(var r=Array(u),d=u-1,h=0,b=0,m=0;m<_-1;m++){var c=e.__digit(m),v=(h|c<<b)&o;r[d--]=l.__kConversionChars[v];var f=g-b;for(h=c>>>f,b=32-f;g<=b;)r[d--]=l.__kConversionChars[h&o],h>>>=g,b-=g}var y=(h|a<<b)&o;for(r[d--]=l.__kConversionChars[y],h=a>>>g-b;0!==h;)r[d--]=l.__kConversionChars[h&o],h>>>=g;if(e.sign&&(r[d--]=\"-\"),-1!==d)throw new Error(\"implementation bug\");return r.join(\"\")}},{key:\"__toStringGeneric\",value:function(e,t,_){var n=e.length;if(0===n)return\"\";if(1===n){var g=e.__unsignedDigit(0).toString(t);return!1===_&&e.sign&&(g=\"-\"+g),g}var r,d,o=32*n-l.__clz32(e.__digit(n-1)),s=l.__kMaxBitsPerChar[t]-1,u=o*l.__kBitsPerCharTableMultiplier,h=1+(u=0|(u+=s-1)/s)>>1,b=l.exponentiate(l.__oneDigit(t,!1),l.__oneDigit(h,!1)),m=b.__unsignedDigit(0);if(1===b.length&&m<=65535){(r=new l(e.length,!1)).__initializeDigits();for(var c,v=0,f=2*e.length-1;0<=f;f--)c=v<<16|e.__halfDigit(f),r.__setHalfDigit(f,0|c/m),v=0|c%m;d=v.toString(t)}else{var y=l.__absoluteDivLarge(e,b,!0,!0);r=y.quotient;var k=y.remainder.__trim();d=l.__toStringGeneric(k,t,!0)}r.__trim();for(var D=l.__toStringGeneric(r,t,!0);d.length<h;)d=\"0\"+d;return!1===_&&e.sign&&(D=\"-\"+D),D+d}},{key:\"__unequalSign\",value:function(e){return e?-1:1}},{key:\"__absoluteGreater\",value:function(e){return e?-1:1}},{key:\"__absoluteLess\",value:function(e){return e?1:-1}},{key:\"__compareToBigInt\",value:function(e,t){var i=e.sign;if(i!==t.sign)return l.__unequalSign(i);var _=l.__absoluteCompare(e,t);return 0<_?l.__absoluteGreater(i):_<0?l.__absoluteLess(i):0}},{key:\"__compareToNumber\",value:function(e,t){if(!0|t){var i=e.sign,_=t<0;if(i!==_)return l.__unequalSign(i);if(0===e.length){if(_)throw new Error(\"implementation bug\");return 0===t?0:-1}if(1<e.length)return l.__absoluteGreater(i);var n=g(t),o=e.__unsignedDigit(0);return n<o?l.__absoluteGreater(i):o<n?l.__absoluteLess(i):0}return l.__compareToDouble(e,t)}},{key:\"__compareToDouble\",value:function(e,t){if(t!=t)return t;if(t===1/0)return-1;if(-Infinity===t)return 1;var i=e.sign;if(i!==t<0)return l.__unequalSign(i);if(0===t)throw new Error(\"implementation bug: should be handled elsewhere\");if(0===e.length)return-1;l.__kBitConversionDouble[0]=t;var _=2047&l.__kBitConversionInts[1]>>>20;if(2047==_)throw new Error(\"implementation bug: handled elsewhere\");var n=_-1023;if(n<0)return l.__absoluteGreater(i);var g=e.length,o=e.__digit(g-1),a=l.__clz32(o),s=32*g-a,u=1+n;if(s<u)return l.__absoluteLess(i);if(u<s)return l.__absoluteGreater(i);var r=1048576|1048575&l.__kBitConversionInts[1],d=l.__kBitConversionInts[0],b=31-a;if(b!=(s-1)%31)throw new Error(\"implementation bug\");var m,c=0;if(b<20){var v=20-b;c=32+v,m=r>>>v,r=r<<32-v|d>>>v,d<<=32-v}else if(20==b)c=32,m=r,r=d;else{var f=b-20;m=r<<f|d>>>(c=32-f),r=d<<f}if((m>>>=0)<(o>>>=0))return l.__absoluteGreater(i);if(o<m)return l.__absoluteLess(i);for(var y=g-2;0<=y;y--){0<c?(c-=32,m=r>>>0,r=d,d=0):m=0;var k=e.__unsignedDigit(y);if(m<k)return l.__absoluteGreater(i);if(k<m)return l.__absoluteLess(i)}if(0===r&&0===d)return 0;if(0===c)throw new Error(\"implementation bug\");return l.__absoluteLess(i)}},{key:\"__equalToNumber\",value:function(e,t){return t|0===t?0===t?0===e.length:1===e.length&&e.sign===t<0&&e.__unsignedDigit(0)===g(t):0===l.__compareToDouble(e,t)}},{key:\"__comparisonResultToBool\",value:function(e,t){switch(t){case 0:return e<0;case 1:return e<=0;case 2:return 0<e;case 3:return 0<=e}throw new Error(\"unreachable\")}},{key:\"__compare\",value:function(e,t,i){if(e=l.__toPrimitive(e),t=l.__toPrimitive(t),\"string\"==typeof e&&\"string\"==typeof t)switch(i){case 0:return e<t;case 1:return e<=t;case 2:return t<e;case 3:return t<=e}if(l.__isBigInt(e)&&\"string\"==typeof t)return null!==(t=l.__fromString(t))&&l.__comparisonResultToBool(l.__compareToBigInt(e,t),i);if(\"string\"==typeof e&&l.__isBigInt(t))return null!==(e=l.__fromString(e))&&l.__comparisonResultToBool(l.__compareToBigInt(e,t),i);if(e=l.__toNumeric(e),t=l.__toNumeric(t),l.__isBigInt(e)){if(l.__isBigInt(t))return l.__comparisonResultToBool(l.__compareToBigInt(e,t),i);if(\"number\"!=typeof t)throw new Error(\"implementation bug\");return l.__comparisonResultToBool(l.__compareToNumber(e,t),i)}if(\"number\"!=typeof e)throw new Error(\"implementation bug\");if(l.__isBigInt(t))return l.__comparisonResultToBool(l.__compareToNumber(t,e),2^i);if(\"number\"!=typeof t)throw new Error(\"implementation bug\");return 0===i?e<t:1===i?e<=t:2===i?t<e:3===i?t<=e:void 0}},{key:\"__absoluteAdd\",value:function(e,t,_){if(e.length<t.length)return l.__absoluteAdd(t,e,_);if(0===e.length)return e;if(0===t.length)return e.sign===_?e:l.unaryMinus(e);var n=e.length;(0===e.__clzmsd()||t.length===e.length&&0===t.__clzmsd())&&n++;for(var g=new l(n,_),o=0,a=0;a<t.length;a++){var s=t.__digit(a),u=e.__digit(a),r=(65535&u)+(65535&s)+o,d=(u>>>16)+(s>>>16)+(r>>>16);o=d>>>16,g.__setDigit(a,65535&r|d<<16)}for(;a<e.length;a++){var h=e.__digit(a),b=(65535&h)+o,m=(h>>>16)+(b>>>16);o=m>>>16,g.__setDigit(a,65535&b|m<<16)}return a<g.length&&g.__setDigit(a,o),g.__trim()}},{key:\"__absoluteSub\",value:function(e,t,_){if(0===e.length)return e;if(0===t.length)return e.sign===_?e:l.unaryMinus(e);for(var n=new l(e.length,_),g=0,o=0;o<t.length;o++){var a=e.__digit(o),s=t.__digit(o),u=(65535&a)-(65535&s)-g,r=(a>>>16)-(s>>>16)-(g=1&u>>>16);g=1&r>>>16,n.__setDigit(o,65535&u|r<<16)}for(;o<e.length;o++){var d=e.__digit(o),h=(65535&d)-g,b=(d>>>16)-(g=1&h>>>16);g=1&b>>>16,n.__setDigit(o,65535&h|b<<16)}return n.__trim()}},{key:\"__absoluteAddOne\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length;null===_?_=new l(n,t):_.sign=t;for(var g,o=!0,a=0;a<n;a++){if(g=e.__digit(a),o){var s=-1===g;g=0|g+1,o=s}_.__setDigit(a,g)}return o&&_.__setDigitGrow(n,1),_}},{key:\"__absoluteSubOne\",value:function(e,t){for(var n,_=e.length,g=new l(t=t||_,!1),o=!0,a=0;a<_;a++){if(n=e.__digit(a),o){var s=0===n;n=0|n-1,o=s}g.__setDigit(a,n)}if(o)throw new Error(\"implementation bug\");for(var u=_;u<t;u++)g.__setDigit(u,0);return g}},{key:\"__absoluteAnd\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;if(n<g){var a=e,s=o=n;e=t,n=g,t=a,g=s}var u=o;null===_?_=new l(u,!1):u=_.length;for(var r=0;r<o;r++)_.__setDigit(r,e.__digit(r)&t.__digit(r));for(;r<u;r++)_.__setDigit(r,0);return _}},{key:\"__absoluteAndNot\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;n<g&&(o=n);var a=n;null===_?_=new l(a,!1):a=_.length;for(var s=0;s<o;s++)_.__setDigit(s,e.__digit(s)&~t.__digit(s));for(;s<n;s++)_.__setDigit(s,e.__digit(s));for(;s<a;s++)_.__setDigit(s,0);return _}},{key:\"__absoluteOr\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;if(n<g){var a=e,s=o=n;e=t,n=g,t=a,g=s}var u=n;null===_?_=new l(u,!1):u=_.length;for(var r=0;r<o;r++)_.__setDigit(r,e.__digit(r)|t.__digit(r));for(;r<n;r++)_.__setDigit(r,e.__digit(r));for(;r<u;r++)_.__setDigit(r,0);return _}},{key:\"__absoluteXor\",value:function(e,t){var _=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=e.length,g=t.length,o=g;if(n<g){var a=e,s=o=n;e=t,n=g,t=a,g=s}var u=n;null===_?_=new l(u,!1):u=_.length;for(var r=0;r<o;r++)_.__setDigit(r,e.__digit(r)^t.__digit(r));for(;r<n;r++)_.__setDigit(r,e.__digit(r));for(;r<u;r++)_.__setDigit(r,0);return _}},{key:\"__absoluteCompare\",value:function(e,t){var _=e.length-t.length;if(0!=_)return _;for(var n=e.length-1;0<=n&&e.__digit(n)===t.__digit(n);)n--;return n<0?0:e.__unsignedDigit(n)>t.__unsignedDigit(n)?1:-1}},{key:\"__multiplyAccumulate\",value:function(e,t,_,n){if(0!==t){for(var g=65535&t,o=t>>>16,a=0,s=0,u=0,r=0;r<e.length;r++,n++){var d=_.__digit(n),h=65535&d,b=d>>>16,m=e.__digit(r),c=65535&m,v=m>>>16,f=l.__imul(c,g),y=l.__imul(c,o),k=l.__imul(v,g),D=l.__imul(v,o);a=(s=(y>>>16)+(k>>>16)+(65535&D)+(a=(b+=u+a+((h+=s+(65535&f))>>>16)+(f>>>16)+(65535&y)+(65535&k))>>>16))>>>16,s&=65535,u=D>>>16,d=65535&h|b<<16,_.__setDigit(n,d)}for(;0!==a||0!==s||0!==u;n++){var p=_.__digit(n),B=(65535&p)+s,S=(p>>>16)+(B>>>16)+u+a;u=s=0,a=S>>>16,p=65535&B|S<<16,_.__setDigit(n,p)}}}},{key:\"__internalMultiplyAdd\",value:function(e,t,_,g,o){for(var a=_,s=0,u=0;u<g;u++){var r=e.__digit(u),d=l.__imul(65535&r,t),h=(65535&d)+s+a;a=h>>>16;var b=l.__imul(r>>>16,t),m=(65535&b)+(d>>>16)+a;a=m>>>16,s=b>>>16,o.__setDigit(u,m<<16|65535&h)}if(o.length>g)for(o.__setDigit(g++,a+s);g<o.length;)o.__setDigit(g++,0);else if(0!==a+s)throw new Error(\"implementation bug\")}},{key:\"__absoluteDivSmall\",value:function(e,t,_){null===_&&(_=new l(e.length,!1));for(var n=0,g=2*e.length-1;0<=g;g-=2){var o=(n<<16|e.__halfDigit(g))>>>0,a=0|o/t,s=0|(o=((n=0|o%t)<<16|e.__halfDigit(g-1))>>>0)/t;n=0|o%t,_.__setDigit(g>>>1,a<<16|s)}return _}},{key:\"__absoluteModSmall\",value:function(e,t){for(var n=0,l=2*e.length-1;0<=l;l--)n=0|((n<<16|e.__halfDigit(l))>>>0)%t;return n}},{key:\"__absoluteDivLarge\",value:function(e,t,i,_){var g=t.__halfDigitLength(),n=t.length,o=e.__halfDigitLength()-g,a=null;i&&(a=new l(2+o>>>1,!1)).__initializeDigits();var s=new l(g+2>>>1,!1);s.__initializeDigits();var r=l.__clz16(t.__halfDigit(g-1));0<r&&(t=l.__specialLeftShift(t,r,0));for(var d=l.__specialLeftShift(e,r,1),u=t.__halfDigit(g-1),h=0,b=o;0<=b;b--){var m=65535,v=d.__halfDigit(b+g);if(v!==u){var f=(v<<16|d.__halfDigit(b+g-1))>>>0;m=0|f/u;for(var y=0|f%u,k=t.__halfDigit(g-2),D=d.__halfDigit(b+g-2);l.__imul(m,k)>>>0>(y<<16|D)>>>0&&(m--,!(65535<(y+=u))););}l.__internalMultiplyAdd(t,m,0,n,s);var p=d.__inplaceSub(s,b,g+1);0!==p&&(p=d.__inplaceAdd(t,b,g),d.__setHalfDigit(b+g,d.__halfDigit(b+g)+p),m--),i&&(1&b?h=m<<16:a.__setDigit(b>>>1,h|m))}return _?(d.__inplaceRightShift(r),i?{quotient:a,remainder:d}:d):i?a:void 0}},{key:\"__clz16\",value:function(e){return l.__clz32(e)-16}},{key:\"__specialLeftShift\",value:function(e,t,_){var g=e.length,n=new l(g+_,!1);if(0===t){for(var o=0;o<g;o++)n.__setDigit(o,e.__digit(o));return 0<_&&n.__setDigit(g,0),n}for(var a,s=0,u=0;u<g;u++)a=e.__digit(u),n.__setDigit(u,a<<t|s),s=a>>>32-t;return 0<_&&n.__setDigit(g,s),n}},{key:\"__leftShiftByAbsolute\",value:function(e,t){var _=l.__toShiftAmount(t);if(_<0)throw new RangeError(\"BigInt too big\");var n=_>>>5,g=31&_,o=e.length,a=0!=g&&0!=e.__digit(o-1)>>>32-g,s=o+n+(a?1:0),u=new l(s,e.sign);if(0==g){for(var r=0;r<n;r++)u.__setDigit(r,0);for(;r<s;r++)u.__setDigit(r,e.__digit(r-n))}else{for(var h=0,b=0;b<n;b++)u.__setDigit(b,0);for(var m,c=0;c<o;c++)m=e.__digit(c),u.__setDigit(c+n,m<<g|h),h=m>>>32-g;if(a)u.__setDigit(o+n,h);else if(0!==h)throw new Error(\"implementation bug\")}return u.__trim()}},{key:\"__rightShiftByAbsolute\",value:function(e,t){var _=e.length,n=e.sign,g=l.__toShiftAmount(t);if(g<0)return l.__rightShiftByMaximum(n);var o=g>>>5,a=31&g,s=_-o;if(s<=0)return l.__rightShiftByMaximum(n);var u=!1;if(n)if(0!=(e.__digit(o)&(1<<a)-1))u=!0;else for(var r=0;r<o;r++)if(0!==e.__digit(r)){u=!0;break}u&&0==a&&0==~e.__digit(_-1)&&s++;var b=new l(s,n);if(0==a)for(var m=o;m<_;m++)b.__setDigit(m-o,e.__digit(m));else{for(var c,v=e.__digit(o)>>>a,f=_-o-1,y=0;y<f;y++)c=e.__digit(y+o+1),b.__setDigit(y,c<<32-a|v),v=c>>>a;b.__setDigit(f,v)}return u&&(b=l.__absoluteAddOne(b,!0,b)),b.__trim()}},{key:\"__rightShiftByMaximum\",value:function(e){return e?l.__oneDigit(1,!0):l.__zero()}},{key:\"__toShiftAmount\",value:function(e){if(1<e.length)return-1;var t=e.__unsignedDigit(0);return l.__kMaxLengthBits<t?-1:t}},{key:\"__toPrimitive\",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:\"default\";if(\"object\"!==e(t))return t;if(t.constructor===l)return t;var _=t[Symbol.toPrimitive];if(_){var n=_(i);if(\"object\"!==e(n))return n;throw new TypeError(\"Cannot convert object to primitive value\")}var g=t.valueOf;if(g){var o=g.call(t);if(\"object\"!==e(o))return o}var a=t.toString;if(a){var s=a.call(t);if(\"object\"!==e(s))return s}throw new TypeError(\"Cannot convert object to primitive value\")}},{key:\"__toNumeric\",value:function(e){return l.__isBigInt(e)?e:+e}},{key:\"__isBigInt\",value:function(t){return\"object\"===e(t)&&t.constructor===l}},{key:\"__truncateToNBits\",value:function(e,t){for(var _=e+31>>>5,n=new l(_,t.sign),g=_-1,o=0;o<g;o++)n.__setDigit(o,t.__digit(o));var a=t.__digit(g);if(0!=(31&e)){var s=32-(31&e);a=a<<s>>>s}return n.__setDigit(g,a),n.__trim()}},{key:\"__truncateAndSubFromPowerOfTwo\",value:function(e,t,_){for(var n=Math.min,g=e+31>>>5,o=new l(g,_),a=0,s=g-1,u=0,r=n(s,t.length);a<r;a++){var d=t.__digit(a),h=0-(65535&d)-u,b=0-(d>>>16)-(u=1&h>>>16);u=1&b>>>16,o.__setDigit(a,65535&h|b<<16)}for(;a<s;a++)o.__setDigit(a,0|-u);var m,c=s<t.length?t.__digit(s):0,v=31&e;if(0==v){var f=0-(65535&c)-u;m=65535&f|0-(c>>>16)-(u=1&f>>>16)<<16}else{var k=32-v,D=1<<32-k,p=(65535&D)-(65535&(c=c<<k>>>k))-u;m=65535&p|(D>>>16)-(c>>>16)-(u=1&p>>>16)<<16,m&=D-1}return o.__setDigit(s,m),o.__trim()}},{key:\"__digitPow\",value:function(e,t){for(var i=1;0<t;)1&t&&(i*=e),t>>>=1,e*=e;return i}}]),l}(u(Array));return y.__kMaxLength=33554432,y.__kMaxLengthBits=y.__kMaxLength<<5,y.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],y.__kBitsPerCharTableShift=5,y.__kBitsPerCharTableMultiplier=1<<y.__kBitsPerCharTableShift,y.__kConversionChars=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\"],y.__kBitConversionBuffer=new ArrayBuffer(8),y.__kBitConversionDouble=new Float64Array(y.__kBitConversionBuffer),y.__kBitConversionInts=new Int32Array(y.__kBitConversionBuffer),y.__clz32=f||function(e){var t=Math.LN2,i=Math.log;return 0===e?32:0|31-(0|i(e>>>0)/t)},y.__imul=v||function(e,t){return 0|e*t},y},\"object\"==typeof exports&&void 0!==module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).JSBI=t()},{}],\"/Users/f/pjs/dhive/node_modules/long/dist/long.js\":[function(_dereq_,module,exports){var factory;factory=function(){\"use strict\";function Long(low,high,unsigned){this.low=0|low,this.high=0|high,this.unsigned=!!unsigned}function isLong(obj){return!0===(obj&&obj.__isLong__)}Object.defineProperty(Long.prototype,\"__isLong__\",{value:!0,enumerable:!1,configurable:!1}),Long.isLong=isLong;var INT_CACHE={},UINT_CACHE={};function fromInt(value,unsigned){var obj,cachedObj,cache;return unsigned?(cache=0<=(value>>>=0)&&value<256)&&(cachedObj=UINT_CACHE[value])?cachedObj:(obj=fromBits(value,(0|value)<0?-1:0,!0),cache&&(UINT_CACHE[value]=obj),obj):(cache=-128<=(value|=0)&&value<128)&&(cachedObj=INT_CACHE[value])?cachedObj:(obj=fromBits(value,value<0?-1:0,!1),cache&&(INT_CACHE[value]=obj),obj)}function fromNumber(value,unsigned){if(isNaN(value)||!isFinite(value))return unsigned?UZERO:ZERO;if(unsigned){if(value<0)return UZERO;if(TWO_PWR_64_DBL<=value)return MAX_UNSIGNED_VALUE}else{if(value<=-TWO_PWR_63_DBL)return MIN_VALUE;if(TWO_PWR_63_DBL<=value+1)return MAX_VALUE}return value<0?fromNumber(-value,unsigned).neg():fromBits(value%TWO_PWR_32_DBL|0,value/TWO_PWR_32_DBL|0,unsigned)}function fromBits(lowBits,highBits,unsigned){return new Long(lowBits,highBits,unsigned)}Long.fromInt=fromInt,Long.fromNumber=fromNumber,Long.fromBits=fromBits;var pow_dbl=Math.pow;function fromString(str,unsigned,radix){if(0===str.length)throw Error(\"empty string\");if(\"NaN\"===str||\"Infinity\"===str||\"+Infinity\"===str||\"-Infinity\"===str)return ZERO;if(unsigned=\"number\"==typeof unsigned?(radix=unsigned,!1):!!unsigned,(radix=radix||10)<2||36<radix)throw RangeError(\"radix\");var p;if(0<(p=str.indexOf(\"-\")))throw Error(\"interior hyphen\");if(0===p)return fromString(str.substring(1),unsigned,radix).neg();for(var radixToPower=fromNumber(pow_dbl(radix,8)),result=ZERO,i=0;i<str.length;i+=8){var size=Math.min(8,str.length-i),value=parseInt(str.substring(i,i+size),radix);if(size<8){var power=fromNumber(pow_dbl(radix,size));result=result.mul(power).add(fromNumber(value))}else result=(result=result.mul(radixToPower)).add(fromNumber(value))}return result.unsigned=unsigned,result}function fromValue(val){return val instanceof Long?val:\"number\"==typeof val?fromNumber(val):\"string\"==typeof val?fromString(val):fromBits(val.low,val.high,val.unsigned)}Long.fromString=fromString,Long.fromValue=fromValue;var TWO_PWR_32_DBL=4294967296,TWO_PWR_64_DBL=TWO_PWR_32_DBL*TWO_PWR_32_DBL,TWO_PWR_63_DBL=TWO_PWR_64_DBL/2,TWO_PWR_24=fromInt(1<<24),ZERO=fromInt(0);Long.ZERO=ZERO;var UZERO=fromInt(0,!0);Long.UZERO=UZERO;var ONE=fromInt(1);Long.ONE=ONE;var UONE=fromInt(1,!0);Long.UONE=UONE;var NEG_ONE=fromInt(-1);Long.NEG_ONE=NEG_ONE;var MAX_VALUE=fromBits(-1,2147483647,!1);Long.MAX_VALUE=MAX_VALUE;var MAX_UNSIGNED_VALUE=fromBits(-1,-1,!0);Long.MAX_UNSIGNED_VALUE=MAX_UNSIGNED_VALUE;var MIN_VALUE=fromBits(0,-2147483648,!1);Long.MIN_VALUE=MIN_VALUE;var LongPrototype=Long.prototype;return LongPrototype.toInt=function(){return this.unsigned?this.low>>>0:this.low},LongPrototype.toNumber=function(){return this.unsigned?(this.high>>>0)*TWO_PWR_32_DBL+(this.low>>>0):this.high*TWO_PWR_32_DBL+(this.low>>>0)},LongPrototype.toString=function(radix){if((radix=radix||10)<2||36<radix)throw RangeError(\"radix\");if(this.isZero())return\"0\";if(this.isNegative()){if(this.eq(MIN_VALUE)){var radixLong=fromNumber(radix),div=this.div(radixLong),rem1=div.mul(radixLong).sub(this);return div.toString(radix)+rem1.toInt().toString(radix)}return\"-\"+this.neg().toString(radix)}for(var radixToPower=fromNumber(pow_dbl(radix,6),this.unsigned),rem=this,result=\"\";;){var remDiv=rem.div(radixToPower),digits=(rem.sub(remDiv.mul(radixToPower)).toInt()>>>0).toString(radix);if((rem=remDiv).isZero())return digits+result;for(;digits.length<6;)digits=\"0\"+digits;result=\"\"+digits+result}},LongPrototype.getHighBits=function(){return this.high},LongPrototype.getHighBitsUnsigned=function(){return this.high>>>0},LongPrototype.getLowBits=function(){return this.low},LongPrototype.getLowBitsUnsigned=function(){return this.low>>>0},LongPrototype.getNumBitsAbs=function(){if(this.isNegative())return this.eq(MIN_VALUE)?64:this.neg().getNumBitsAbs();for(var val=0!=this.high?this.high:this.low,bit=31;0<bit&&0==(val&1<<bit);bit--);return 0!=this.high?bit+33:bit+1},LongPrototype.isZero=function(){return 0===this.high&&0===this.low},LongPrototype.isNegative=function(){return!this.unsigned&&this.high<0},LongPrototype.isPositive=function(){return this.unsigned||0<=this.high},LongPrototype.isOdd=function(){return 1==(1&this.low)},LongPrototype.isEven=function(){return 0==(1&this.low)},LongPrototype.equals=function(other){return isLong(other)||(other=fromValue(other)),(this.unsigned===other.unsigned||this.high>>>31!=1||other.high>>>31!=1)&&this.high===other.high&&this.low===other.low},LongPrototype.eq=LongPrototype.equals,LongPrototype.notEquals=function(other){return!this.eq(other)},LongPrototype.neq=LongPrototype.notEquals,LongPrototype.lessThan=function(other){return this.comp(other)<0},LongPrototype.lt=LongPrototype.lessThan,LongPrototype.lessThanOrEqual=function(other){return this.comp(other)<=0},LongPrototype.lte=LongPrototype.lessThanOrEqual,LongPrototype.greaterThan=function(other){return 0<this.comp(other)},LongPrototype.gt=LongPrototype.greaterThan,LongPrototype.greaterThanOrEqual=function(other){return 0<=this.comp(other)},LongPrototype.gte=LongPrototype.greaterThanOrEqual,LongPrototype.compare=function(other){if(isLong(other)||(other=fromValue(other)),this.eq(other))return 0;var thisNeg=this.isNegative(),otherNeg=other.isNegative();return thisNeg&&!otherNeg?-1:!thisNeg&&otherNeg?1:this.unsigned?other.high>>>0>this.high>>>0||other.high===this.high&&other.low>>>0>this.low>>>0?-1:1:this.sub(other).isNegative()?-1:1},LongPrototype.comp=LongPrototype.compare,LongPrototype.negate=function(){return!this.unsigned&&this.eq(MIN_VALUE)?MIN_VALUE:this.not().add(ONE)},LongPrototype.neg=LongPrototype.negate,LongPrototype.add=function(addend){isLong(addend)||(addend=fromValue(addend));var a48=this.high>>>16,a32=65535&this.high,a16=this.low>>>16,a00=65535&this.low,b48=addend.high>>>16,b32=65535&addend.high,b16=addend.low>>>16,c48=0,c32=0,c16=0,c00=0;return c16+=(c00+=a00+(65535&addend.low))>>>16,c32+=(c16+=a16+b16)>>>16,c48+=(c32+=a32+b32)>>>16,c48+=a48+b48,fromBits((c16&=65535)<<16|(c00&=65535),(c48&=65535)<<16|(c32&=65535),this.unsigned)},LongPrototype.subtract=function(subtrahend){return isLong(subtrahend)||(subtrahend=fromValue(subtrahend)),this.add(subtrahend.neg())},LongPrototype.sub=LongPrototype.subtract,LongPrototype.multiply=function(multiplier){if(this.isZero())return ZERO;if(isLong(multiplier)||(multiplier=fromValue(multiplier)),multiplier.isZero())return ZERO;if(this.eq(MIN_VALUE))return multiplier.isOdd()?MIN_VALUE:ZERO;if(multiplier.eq(MIN_VALUE))return this.isOdd()?MIN_VALUE:ZERO;if(this.isNegative())return multiplier.isNegative()?this.neg().mul(multiplier.neg()):this.neg().mul(multiplier).neg();if(multiplier.isNegative())return this.mul(multiplier.neg()).neg();if(this.lt(TWO_PWR_24)&&multiplier.lt(TWO_PWR_24))return fromNumber(this.toNumber()*multiplier.toNumber(),this.unsigned);var a48=this.high>>>16,a32=65535&this.high,a16=this.low>>>16,a00=65535&this.low,b48=multiplier.high>>>16,b32=65535&multiplier.high,b16=multiplier.low>>>16,b00=65535&multiplier.low,c48=0,c32=0,c16=0,c00=0;return c16+=(c00+=a00*b00)>>>16,c32+=(c16+=a16*b00)>>>16,c16&=65535,c32+=(c16+=a00*b16)>>>16,c48+=(c32+=a32*b00)>>>16,c32&=65535,c48+=(c32+=a16*b16)>>>16,c32&=65535,c48+=(c32+=a00*b32)>>>16,c48+=a48*b00+a32*b16+a16*b32+a00*b48,fromBits((c16&=65535)<<16|(c00&=65535),(c48&=65535)<<16|(c32&=65535),this.unsigned)},LongPrototype.mul=LongPrototype.multiply,LongPrototype.divide=function(divisor){if(isLong(divisor)||(divisor=fromValue(divisor)),divisor.isZero())throw Error(\"division by zero\");if(this.isZero())return this.unsigned?UZERO:ZERO;var approx,rem,res;if(this.unsigned){if(divisor.unsigned||(divisor=divisor.toUnsigned()),divisor.gt(this))return UZERO;if(divisor.gt(this.shru(1)))return UONE;res=UZERO}else{if(this.eq(MIN_VALUE))return divisor.eq(ONE)||divisor.eq(NEG_ONE)?MIN_VALUE:divisor.eq(MIN_VALUE)?ONE:(approx=this.shr(1).div(divisor).shl(1)).eq(ZERO)?divisor.isNegative()?ONE:NEG_ONE:(rem=this.sub(divisor.mul(approx)),res=approx.add(rem.div(divisor)));if(divisor.eq(MIN_VALUE))return this.unsigned?UZERO:ZERO;if(this.isNegative())return divisor.isNegative()?this.neg().div(divisor.neg()):this.neg().div(divisor).neg();if(divisor.isNegative())return this.div(divisor.neg()).neg();res=ZERO}for(rem=this;rem.gte(divisor);){approx=Math.max(1,Math.floor(rem.toNumber()/divisor.toNumber()));for(var log2=Math.ceil(Math.log(approx)/Math.LN2),delta=log2<=48?1:pow_dbl(2,log2-48),approxRes=fromNumber(approx),approxRem=approxRes.mul(divisor);approxRem.isNegative()||approxRem.gt(rem);)approxRem=(approxRes=fromNumber(approx-=delta,this.unsigned)).mul(divisor);approxRes.isZero()&&(approxRes=ONE),res=res.add(approxRes),rem=rem.sub(approxRem)}return res},LongPrototype.div=LongPrototype.divide,LongPrototype.modulo=function(divisor){return isLong(divisor)||(divisor=fromValue(divisor)),this.sub(this.div(divisor).mul(divisor))},LongPrototype.mod=LongPrototype.modulo,LongPrototype.not=function(){return fromBits(~this.low,~this.high,this.unsigned)},LongPrototype.and=function(other){return isLong(other)||(other=fromValue(other)),fromBits(this.low&other.low,this.high&other.high,this.unsigned)},LongPrototype.or=function(other){return isLong(other)||(other=fromValue(other)),fromBits(this.low|other.low,this.high|other.high,this.unsigned)},LongPrototype.xor=function(other){return isLong(other)||(other=fromValue(other)),fromBits(this.low^other.low,this.high^other.high,this.unsigned)},LongPrototype.shiftLeft=function(numBits){return isLong(numBits)&&(numBits=numBits.toInt()),0==(numBits&=63)?this:numBits<32?fromBits(this.low<<numBits,this.high<<numBits|this.low>>>32-numBits,this.unsigned):fromBits(0,this.low<<numBits-32,this.unsigned)},LongPrototype.shl=LongPrototype.shiftLeft,LongPrototype.shiftRight=function(numBits){return isLong(numBits)&&(numBits=numBits.toInt()),0==(numBits&=63)?this:numBits<32?fromBits(this.low>>>numBits|this.high<<32-numBits,this.high>>numBits,this.unsigned):fromBits(this.high>>numBits-32,0<=this.high?0:-1,this.unsigned)},LongPrototype.shr=LongPrototype.shiftRight,LongPrototype.shiftRightUnsigned=function(numBits){if(isLong(numBits)&&(numBits=numBits.toInt()),0==(numBits&=63))return this;var high=this.high;return numBits<32?fromBits(this.low>>>numBits|high<<32-numBits,high>>>numBits,this.unsigned):fromBits(32===numBits?high:high>>>numBits-32,0,this.unsigned)},LongPrototype.shru=LongPrototype.shiftRightUnsigned,LongPrototype.toSigned=function(){return this.unsigned?fromBits(this.low,this.high,!1):this},LongPrototype.toUnsigned=function(){return this.unsigned?this:fromBits(this.low,this.high,!0)},LongPrototype.toBytes=function(le){return le?this.toBytesLE():this.toBytesBE()},LongPrototype.toBytesLE=function(){var hi=this.high,lo=this.low;return[255&lo,lo>>>8&255,lo>>>16&255,lo>>>24&255,255&hi,hi>>>8&255,hi>>>16&255,hi>>>24&255]},LongPrototype.toBytesBE=function(){var hi=this.high,lo=this.low;return[hi>>>24&255,hi>>>16&255,hi>>>8&255,255&hi,lo>>>24&255,lo>>>16&255,lo>>>8&255,255&lo]},Long},\"function\"==typeof define&&define.amd?define([],factory):\"function\"==typeof _dereq_&&\"object\"==typeof module&&module&&module.exports?module.exports=factory():(this.dcodeIO=this.dcodeIO||{}).Long=factory()},{}],\"/Users/f/pjs/dhive/node_modules/md5.js/index.js\":[function(_dereq_,module,exports){\"use strict\";var inherits=_dereq_(\"inherits\"),HashBase=_dereq_(\"hash-base\"),Buffer=_dereq_(\"safe-buffer\").Buffer,ARRAY16=new Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function rotl(x,n){return x<<n|x>>>32-n}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0}inherits(MD5,HashBase),MD5.prototype._update=function(){for(var M=ARRAY16,i=0;i<16;++i)M[i]=this._block.readInt32LE(4*i);var a=this._a,b=this._b,c=this._c,d=this._d;a=fnF(a,b,c,d,M[0],3614090360,7),d=fnF(d,a,b,c,M[1],3905402710,12),c=fnF(c,d,a,b,M[2],606105819,17),b=fnF(b,c,d,a,M[3],3250441966,22),a=fnF(a,b,c,d,M[4],4118548399,7),d=fnF(d,a,b,c,M[5],1200080426,12),c=fnF(c,d,a,b,M[6],2821735955,17),b=fnF(b,c,d,a,M[7],4249261313,22),a=fnF(a,b,c,d,M[8],1770035416,7),d=fnF(d,a,b,c,M[9],2336552879,12),c=fnF(c,d,a,b,M[10],4294925233,17),b=fnF(b,c,d,a,M[11],2304563134,22),a=fnF(a,b,c,d,M[12],1804603682,7),d=fnF(d,a,b,c,M[13],4254626195,12),c=fnF(c,d,a,b,M[14],2792965006,17),a=fnG(a,b=fnF(b,c,d,a,M[15],1236535329,22),c,d,M[1],4129170786,5),d=fnG(d,a,b,c,M[6],3225465664,9),c=fnG(c,d,a,b,M[11],643717713,14),b=fnG(b,c,d,a,M[0],3921069994,20),a=fnG(a,b,c,d,M[5],3593408605,5),d=fnG(d,a,b,c,M[10],38016083,9),c=fnG(c,d,a,b,M[15],3634488961,14),b=fnG(b,c,d,a,M[4],3889429448,20),a=fnG(a,b,c,d,M[9],568446438,5),d=fnG(d,a,b,c,M[14],3275163606,9),c=fnG(c,d,a,b,M[3],4107603335,14),b=fnG(b,c,d,a,M[8],1163531501,20),a=fnG(a,b,c,d,M[13],2850285829,5),d=fnG(d,a,b,c,M[2],4243563512,9),c=fnG(c,d,a,b,M[7],1735328473,14),a=fnH(a,b=fnG(b,c,d,a,M[12],2368359562,20),c,d,M[5],4294588738,4),d=fnH(d,a,b,c,M[8],2272392833,11),c=fnH(c,d,a,b,M[11],1839030562,16),b=fnH(b,c,d,a,M[14],4259657740,23),a=fnH(a,b,c,d,M[1],2763975236,4),d=fnH(d,a,b,c,M[4],1272893353,11),c=fnH(c,d,a,b,M[7],4139469664,16),b=fnH(b,c,d,a,M[10],3200236656,23),a=fnH(a,b,c,d,M[13],681279174,4),d=fnH(d,a,b,c,M[0],3936430074,11),c=fnH(c,d,a,b,M[3],3572445317,16),b=fnH(b,c,d,a,M[6],76029189,23),a=fnH(a,b,c,d,M[9],3654602809,4),d=fnH(d,a,b,c,M[12],3873151461,11),c=fnH(c,d,a,b,M[15],530742520,16),a=fnI(a,b=fnH(b,c,d,a,M[2],3299628645,23),c,d,M[0],4096336452,6),d=fnI(d,a,b,c,M[7],1126891415,10),c=fnI(c,d,a,b,M[14],2878612391,15),b=fnI(b,c,d,a,M[5],4237533241,21),a=fnI(a,b,c,d,M[12],1700485571,6),d=fnI(d,a,b,c,M[3],2399980690,10),c=fnI(c,d,a,b,M[10],4293915773,15),b=fnI(b,c,d,a,M[1],2240044497,21),a=fnI(a,b,c,d,M[8],1873313359,6),d=fnI(d,a,b,c,M[15],4264355552,10),c=fnI(c,d,a,b,M[6],2734768916,15),b=fnI(b,c,d,a,M[13],1309151649,21),a=fnI(a,b,c,d,M[4],4149444226,6),d=fnI(d,a,b,c,M[11],3174756917,10),c=fnI(c,d,a,b,M[2],718787259,15),b=fnI(b,c,d,a,M[9],3951481745,21),this._a=this._a+a|0,this._b=this._b+b|0,this._c=this._c+c|0,this._d=this._d+d|0},MD5.prototype._digest=function(){this._block[this._blockOffset++]=128,56<this._blockOffset&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer.allocUnsafe(16);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer},module.exports=MD5},{\"hash-base\":\"/Users/f/pjs/dhive/node_modules/hash-base/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/miller-rabin/lib/mr.js\":[function(_dereq_,module,exports){var bn=_dereq_(\"bn.js\"),brorand=_dereq_(\"brorand\");function MillerRabin(rand){this.rand=rand||new brorand.Rand}(module.exports=MillerRabin).create=function(rand){return new MillerRabin(rand)},MillerRabin.prototype._randbelow=function(n){var len=n.bitLength(),min_bytes=Math.ceil(len/8);do{var a=new bn(this.rand.generate(min_bytes))}while(0<=a.cmp(n));return a},MillerRabin.prototype._randrange=function(start,stop){var size=stop.sub(start);return start.add(this._randbelow(size))},MillerRabin.prototype.test=function(n,k,cb){var len=n.bitLength(),red=bn.mont(n),rone=new bn(1).toRed(red);k=k||Math.max(1,len/48|0);for(var n1=n.subn(1),s=0;!n1.testn(s);s++);for(var d=n.shrn(s),rn1=n1.toRed(red);0<k;k--){var a=this._randrange(new bn(2),n1);cb&&cb(a);var x=a.toRed(red).redPow(d);if(0!==x.cmp(rone)&&0!==x.cmp(rn1)){for(var i=1;i<s;i++){if(0===(x=x.redSqr()).cmp(rone))return!1;if(0===x.cmp(rn1))break}if(i===s)return!1}}return!0},MillerRabin.prototype.getDivisor=function(n,k){var len=n.bitLength(),red=bn.mont(n),rone=new bn(1).toRed(red);k=k||Math.max(1,len/48|0);for(var n1=n.subn(1),s=0;!n1.testn(s);s++);for(var d=n.shrn(s),rn1=n1.toRed(red);0<k;k--){var a=this._randrange(new bn(2),n1),g=n.gcd(a);if(0!==g.cmpn(1))return g;var x=a.toRed(red).redPow(d);if(0!==x.cmp(rone)&&0!==x.cmp(rn1)){for(var i=1;i<s;i++){if(0===(x=x.redSqr()).cmp(rone))return x.fromRed().subn(1).gcd(n);if(0===x.cmp(rn1))break}if(i===s)return(x=x.redSqr()).fromRed().subn(1).gcd(n)}}return!1}},{\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",brorand:\"/Users/f/pjs/dhive/node_modules/brorand/index.js\"}],\"/Users/f/pjs/dhive/node_modules/minimalistic-assert/index.js\":[function(_dereq_,module,exports){(module.exports=function(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}).equal=function(l,r,msg){if(l!=r)throw new Error(msg||\"Assertion failed: \"+l+\" != \"+r)}},{}],\"/Users/f/pjs/dhive/node_modules/minimalistic-crypto-utils/lib/utils.js\":[function(_dereq_,module,exports){\"use strict\";var utils=exports;function zero2(word){return 1===word.length?\"0\"+word:word}function toHex(msg){for(var res=\"\",i=0;i<msg.length;i++)res+=zero2(msg[i].toString(16));return res}utils.toArray=function(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(\"string\"!=typeof msg){for(var i=0;i<msg.length;i++)res[i]=0|msg[i];return res}if(\"hex\"===enc)for((msg=msg.replace(/[^a-z0-9]+/gi,\"\")).length%2!=0&&(msg=\"0\"+msg),i=0;i<msg.length;i+=2)res.push(parseInt(msg[i]+msg[i+1],16));else for(i=0;i<msg.length;i++){var c=msg.charCodeAt(i),hi=c>>8,lo=255&c;hi?res.push(hi,lo):res.push(lo)}return res},utils.zero2=zero2,utils.toHex=toHex,utils.encode=function(arr,enc){return\"hex\"===enc?toHex(arr):arr}},{}],\"/Users/f/pjs/dhive/node_modules/object-assign/index.js\":[function(_dereq_,module,exports){\"use strict\";var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=function(){try{if(!Object.assign)return;var test1=new String(\"abc\");if(test1[5]=\"de\",\"5\"===Object.getOwnPropertyNames(test1)[0])return;for(var test2={},i=0;i<10;i++)test2[\"_\"+String.fromCharCode(i)]=i;if(\"0123456789\"!==Object.getOwnPropertyNames(test2).map(function(n){return test2[n]}).join(\"\"))return;var test3={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(letter){test3[letter]=letter}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},test3)).join(\"\")}catch(err){return}}()?Object.assign:function(target,source){for(var from,symbols,to=function(val){if(null==val)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(val)}(target),s=1;s<arguments.length;s++){for(var key in from=Object(arguments[s]))hasOwnProperty.call(from,key)&&(to[key]=from[key]);if(getOwnPropertySymbols){symbols=getOwnPropertySymbols(from);for(var i=0;i<symbols.length;i++)propIsEnumerable.call(from,symbols[i])&&(to[symbols[i]]=from[symbols[i]])}}return to}},{}],\"/Users/f/pjs/dhive/node_modules/parse-asn1/aesid.json\":[function(_dereq_,module,exports){module.exports={\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}},{}],\"/Users/f/pjs/dhive/node_modules/parse-asn1/asn1.js\":[function(_dereq_,module,exports){\"use strict\";var asn1=_dereq_(\"asn1.js\");exports.certificate=_dereq_(\"./certificate\");var RSAPrivateKey=asn1.define(\"RSAPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"modulus\").int(),this.key(\"publicExponent\").int(),this.key(\"privateExponent\").int(),this.key(\"prime1\").int(),this.key(\"prime2\").int(),this.key(\"exponent1\").int(),this.key(\"exponent2\").int(),this.key(\"coefficient\").int())});exports.RSAPrivateKey=RSAPrivateKey;var RSAPublicKey=asn1.define(\"RSAPublicKey\",function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())});exports.RSAPublicKey=RSAPublicKey;var PublicKey=asn1.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPublicKey\").bitstr())});exports.PublicKey=PublicKey;var AlgorithmIdentifier=asn1.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"none\").null_().optional(),this.key(\"curve\").objid().optional(),this.key(\"params\").seq().obj(this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int()).optional())}),PrivateKeyInfo=asn1.define(\"PrivateKeyInfo\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPrivateKey\").octstr())});exports.PrivateKey=PrivateKeyInfo;var EncryptedPrivateKeyInfo=asn1.define(\"EncryptedPrivateKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(),this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(),this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(),this.key(\"iters\").int())),this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(),this.key(\"iv\").octstr()))),this.key(\"subjectPrivateKey\").octstr())});exports.EncryptedPrivateKey=EncryptedPrivateKeyInfo;var DSAPrivateKey=asn1.define(\"DSAPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int(),this.key(\"pub_key\").int(),this.key(\"priv_key\").int())});exports.DSAPrivateKey=DSAPrivateKey,exports.DSAparam=asn1.define(\"DSAparam\",function(){this.int()});var ECPrivateKey=asn1.define(\"ECPrivateKey\",function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(ECParameters),this.key(\"publicKey\").optional().explicit(1).bitstr())});exports.ECPrivateKey=ECPrivateKey;var ECParameters=asn1.define(\"ECParameters\",function(){this.choice({namedCurve:this.objid()})});exports.signature=asn1.define(\"signature\",function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())})},{\"./certificate\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/certificate.js\",\"asn1.js\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js\"}],\"/Users/f/pjs/dhive/node_modules/parse-asn1/certificate.js\":[function(_dereq_,module,exports){\"use strict\";var asn=_dereq_(\"asn1.js\"),Time=asn.define(\"Time\",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),AttributeTypeValue=asn.define(\"AttributeTypeValue\",function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())}),AlgorithmIdentifier=asn.define(\"AlgorithmIdentifier\",function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional(),this.key(\"curve\").objid().optional())}),SubjectPublicKeyInfo=asn.define(\"SubjectPublicKeyInfo\",function(){this.seq().obj(this.key(\"algorithm\").use(AlgorithmIdentifier),this.key(\"subjectPublicKey\").bitstr())}),RelativeDistinguishedName=asn.define(\"RelativeDistinguishedName\",function(){this.setof(AttributeTypeValue)}),RDNSequence=asn.define(\"RDNSequence\",function(){this.seqof(RelativeDistinguishedName)}),Name=asn.define(\"Name\",function(){this.choice({rdnSequence:this.use(RDNSequence)})}),Validity=asn.define(\"Validity\",function(){this.seq().obj(this.key(\"notBefore\").use(Time),this.key(\"notAfter\").use(Time))}),Extension=asn.define(\"Extension\",function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(!1),this.key(\"extnValue\").octstr())}),TBSCertificate=asn.define(\"TBSCertificate\",function(){this.seq().obj(this.key(\"version\").explicit(0).int().optional(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(AlgorithmIdentifier),this.key(\"issuer\").use(Name),this.key(\"validity\").use(Validity),this.key(\"subject\").use(Name),this.key(\"subjectPublicKeyInfo\").use(SubjectPublicKeyInfo),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(Extension).optional())}),X509Certificate=asn.define(\"X509Certificate\",function(){this.seq().obj(this.key(\"tbsCertificate\").use(TBSCertificate),this.key(\"signatureAlgorithm\").use(AlgorithmIdentifier),this.key(\"signatureValue\").bitstr())});module.exports=X509Certificate},{\"asn1.js\":\"/Users/f/pjs/dhive/node_modules/asn1.js/lib/asn1.js\"}],\"/Users/f/pjs/dhive/node_modules/parse-asn1/fixProc.js\":[function(_dereq_,module,exports){var findProc=/Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m,startRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,fullRegex=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m,evp=_dereq_(\"evp_bytestokey\"),ciphers=_dereq_(\"browserify-aes\"),Buffer=_dereq_(\"safe-buffer\").Buffer;module.exports=function(okey,password){var decrypted,key=okey.toString(),match=key.match(findProc);if(match){var suite=\"aes\"+match[1],iv=Buffer.from(match[2],\"hex\"),cipherText=Buffer.from(match[3].replace(/[\\r\\n]/g,\"\"),\"base64\"),cipherKey=evp(password,iv.slice(0,8),parseInt(match[1],10)).key,out=[],cipher=ciphers.createDecipheriv(suite,cipherKey,iv);out.push(cipher.update(cipherText)),out.push(cipher.final()),decrypted=Buffer.concat(out)}else{var match2=key.match(fullRegex);decrypted=new Buffer(match2[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}return{tag:key.match(startRegex)[1],data:decrypted}}},{\"browserify-aes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js\",evp_bytestokey:\"/Users/f/pjs/dhive/node_modules/evp_bytestokey/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js\":[function(_dereq_,module,exports){var asn1=_dereq_(\"./asn1\"),aesid=_dereq_(\"./aesid.json\"),fixProc=_dereq_(\"./fixProc\"),ciphers=_dereq_(\"browserify-aes\"),compat=_dereq_(\"pbkdf2\"),Buffer=_dereq_(\"safe-buffer\").Buffer;(module.exports=function(buffer){var password;\"object\"!=typeof buffer||Buffer.isBuffer(buffer)||(password=buffer.passphrase,buffer=buffer.key),\"string\"==typeof buffer&&(buffer=Buffer.from(buffer));var subtype,ndata,stripped=fixProc(buffer,password),type=stripped.tag,data=stripped.data;switch(type){case\"CERTIFICATE\":ndata=asn1.certificate.decode(data,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":switch(subtype=(ndata=ndata||asn1.PublicKey.decode(data,\"der\")).algorithm.algorithm.join(\".\")){case\"1.2.840.113549.1.1.1\":return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":return ndata.subjectPrivateKey=ndata.subjectPublicKey,{type:\"ec\",data:ndata};case\"1.2.840.10040.4.1\":return ndata.algorithm.params.pub_key=asn1.DSAparam.decode(ndata.subjectPublicKey.data,\"der\"),{type:\"dsa\",data:ndata.algorithm.params};default:throw new Error(\"unknown key id \"+subtype)}throw new Error(\"unknown key type \"+type);case\"ENCRYPTED PRIVATE KEY\":data=function(data,password){var salt=data.algorithm.decrypt.kde.kdeparams.salt,iters=parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(),10),algo=aesid[data.algorithm.decrypt.cipher.algo.join(\".\")],iv=data.algorithm.decrypt.cipher.iv,cipherText=data.subjectPrivateKey,keylen=parseInt(algo.split(\"-\")[1],10)/8,key=compat.pbkdf2Sync(password,salt,iters,keylen,\"sha1\"),cipher=ciphers.createDecipheriv(algo,key,iv),out=[];return out.push(cipher.update(cipherText)),out.push(cipher.final()),Buffer.concat(out)}(data=asn1.EncryptedPrivateKey.decode(data,\"der\"),password);case\"PRIVATE KEY\":switch(subtype=(ndata=asn1.PrivateKey.decode(data,\"der\")).algorithm.algorithm.join(\".\")){case\"1.2.840.113549.1.1.1\":return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:ndata.algorithm.curve,privateKey:asn1.ECPrivateKey.decode(ndata.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":return ndata.algorithm.params.priv_key=asn1.DSAparam.decode(ndata.subjectPrivateKey,\"der\"),{type:\"dsa\",params:ndata.algorithm.params};default:throw new Error(\"unknown key id \"+subtype)}throw new Error(\"unknown key type \"+type);case\"RSA PUBLIC KEY\":return asn1.RSAPublicKey.decode(data,\"der\");case\"RSA PRIVATE KEY\":return asn1.RSAPrivateKey.decode(data,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:asn1.DSAPrivateKey.decode(data,\"der\")};case\"EC PRIVATE KEY\":return{curve:(data=asn1.ECPrivateKey.decode(data,\"der\")).parameters.value,privateKey:data.privateKey};default:throw new Error(\"unknown key type \"+type)}}).signature=asn1.signature},{\"./aesid.json\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/aesid.json\",\"./asn1\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/asn1.js\",\"./fixProc\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/fixProc.js\",\"browserify-aes\":\"/Users/f/pjs/dhive/node_modules/browserify-aes/browser.js\",pbkdf2:\"/Users/f/pjs/dhive/node_modules/pbkdf2/browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/pbkdf2/browser.js\":[function(_dereq_,module,exports){exports.pbkdf2=_dereq_(\"./lib/async\"),exports.pbkdf2Sync=_dereq_(\"./lib/sync\")},{\"./lib/async\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/async.js\",\"./lib/sync\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/sync-browser.js\"}],\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/async.js\":[function(_dereq_,module,exports){(function(process,global){var ZERO_BUF,checkParameters=_dereq_(\"./precondition\"),defaultEncoding=_dereq_(\"./default-encoding\"),sync=_dereq_(\"./sync\"),Buffer=_dereq_(\"safe-buffer\").Buffer,subtle=global.crypto&&global.crypto.subtle,toBrowser={sha:\"SHA-1\",\"sha-1\":\"SHA-1\",sha1:\"SHA-1\",sha256:\"SHA-256\",\"sha-256\":\"SHA-256\",sha384:\"SHA-384\",\"sha-384\":\"SHA-384\",\"sha-512\":\"SHA-512\",sha512:\"SHA-512\"},checks=[];function browserPbkdf2(password,salt,iterations,length,algo){return subtle.importKey(\"raw\",password,{name:\"PBKDF2\"},!1,[\"deriveBits\"]).then(function(key){return subtle.deriveBits({name:\"PBKDF2\",salt:salt,iterations:iterations,hash:{name:algo}},key,length<<3)}).then(function(res){return Buffer.from(res)})}module.exports=function(password,salt,iterations,keylen,digest,callback){\"function\"==typeof digest&&(callback=digest,digest=void 0);var algo=toBrowser[(digest=digest||\"sha1\").toLowerCase()];if(!algo||\"function\"!=typeof global.Promise)return process.nextTick(function(){var out;try{out=sync(password,salt,iterations,keylen,digest)}catch(e){return callback(e)}callback(null,out)});if(checkParameters(password,salt,iterations,keylen),\"function\"!=typeof callback)throw new Error(\"No callback provided to pbkdf2\");Buffer.isBuffer(password)||(password=Buffer.from(password,defaultEncoding)),Buffer.isBuffer(salt)||(salt=Buffer.from(salt,defaultEncoding)),function(promise,callback){promise.then(function(out){process.nextTick(function(){callback(null,out)})},function(e){process.nextTick(function(){callback(e)})})}(function(algo){if(global.process&&!global.process.browser)return Promise.resolve(!1);if(!subtle||!subtle.importKey||!subtle.deriveBits)return Promise.resolve(!1);if(void 0!==checks[algo])return checks[algo];var prom=browserPbkdf2(ZERO_BUF=ZERO_BUF||Buffer.alloc(8),ZERO_BUF,10,128,algo).then(function(){return!0}).catch(function(){return!1});return checks[algo]=prom}(algo).then(function(resp){return resp?browserPbkdf2(password,salt,iterations,keylen,algo):sync(password,salt,iterations,keylen,digest)}),callback)}}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./default-encoding\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/default-encoding.js\",\"./precondition\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/precondition.js\",\"./sync\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/sync-browser.js\",_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/default-encoding.js\":[function(_dereq_,module,exports){(function(process){var defaultEncoding;defaultEncoding=process.browser||6<=parseInt(process.version.split(\".\")[0].slice(1),10)?\"utf-8\":\"binary\",module.exports=defaultEncoding}).call(this,_dereq_(\"_process\"))},{_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/precondition.js\":[function(_dereq_,module,exports){(function(Buffer){var MAX_ALLOC=Math.pow(2,30)-1;function checkBuffer(buf,name){if(\"string\"!=typeof buf&&!Buffer.isBuffer(buf))throw new TypeError(name+\" must be a buffer or string\")}module.exports=function(password,salt,iterations,keylen){if(checkBuffer(password,\"Password\"),checkBuffer(salt,\"Salt\"),\"number\"!=typeof iterations)throw new TypeError(\"Iterations not a number\");if(iterations<0)throw new TypeError(\"Bad iterations\");if(\"number\"!=typeof keylen)throw new TypeError(\"Key length not a number\");if(keylen<0||MAX_ALLOC<keylen||keylen!=keylen)throw new TypeError(\"Bad key length\")}}).call(this,{isBuffer:_dereq_(\"../../is-buffer/index.js\")})},{\"../../is-buffer/index.js\":\"/Users/f/pjs/dhive/node_modules/is-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/sync-browser.js\":[function(_dereq_,module,exports){var md5=_dereq_(\"create-hash/md5\"),RIPEMD160=_dereq_(\"ripemd160\"),sha=_dereq_(\"sha.js\"),checkParameters=_dereq_(\"./precondition\"),defaultEncoding=_dereq_(\"./default-encoding\"),Buffer=_dereq_(\"safe-buffer\").Buffer,ZEROS=Buffer.alloc(128),sizes={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Hmac(alg,key,saltLen){var hash=function(alg){return\"rmd160\"===alg||\"ripemd160\"===alg?function(data){return(new RIPEMD160).update(data).digest()}:\"md5\"===alg?md5:function(data){return sha(alg).update(data).digest()}}(alg),blocksize=\"sha512\"===alg||\"sha384\"===alg?128:64;key.length>blocksize?key=hash(key):key.length<blocksize&&(key=Buffer.concat([key,ZEROS],blocksize));for(var ipad=Buffer.allocUnsafe(blocksize+sizes[alg]),opad=Buffer.allocUnsafe(blocksize+sizes[alg]),i=0;i<blocksize;i++)ipad[i]=54^key[i],opad[i]=92^key[i];var ipad1=Buffer.allocUnsafe(blocksize+saltLen+4);ipad.copy(ipad1,0,0,blocksize),this.ipad1=ipad1,this.ipad2=ipad,this.opad=opad,this.alg=alg,this.blocksize=blocksize,this.hash=hash,this.size=sizes[alg]}Hmac.prototype.run=function(data,ipad){return data.copy(ipad,this.blocksize),this.hash(ipad).copy(this.opad,this.blocksize),this.hash(this.opad)},module.exports=function(password,salt,iterations,keylen,digest){checkParameters(password,salt,iterations,keylen),Buffer.isBuffer(password)||(password=Buffer.from(password,defaultEncoding)),Buffer.isBuffer(salt)||(salt=Buffer.from(salt,defaultEncoding));var hmac=new Hmac(digest=digest||\"sha1\",password,salt.length),DK=Buffer.allocUnsafe(keylen),block1=Buffer.allocUnsafe(salt.length+4);salt.copy(block1,0,0,salt.length);for(var destPos=0,hLen=sizes[digest],l=Math.ceil(keylen/hLen),i=1;i<=l;i++){block1.writeUInt32BE(i,salt.length);for(var T=hmac.run(block1,hmac.ipad1),U=T,j=1;j<iterations;j++){U=hmac.run(U,hmac.ipad2);for(var k=0;k<hLen;k++)T[k]^=U[k]}T.copy(DK,destPos),destPos+=hLen}return DK}},{\"./default-encoding\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/default-encoding.js\",\"./precondition\":\"/Users/f/pjs/dhive/node_modules/pbkdf2/lib/precondition.js\",\"create-hash/md5\":\"/Users/f/pjs/dhive/node_modules/create-hash/md5.js\",ripemd160:\"/Users/f/pjs/dhive/node_modules/ripemd160/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\",\"sha.js\":\"/Users/f/pjs/dhive/node_modules/sha.js/index.js\"}],\"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js\":[function(_dereq_,module,exports){(function(process){\"use strict\";void 0===process||!process.version||0===process.version.indexOf(\"v0.\")||0===process.version.indexOf(\"v1.\")&&0!==process.version.indexOf(\"v1.8.\")?module.exports={nextTick:function(fn,arg1,arg2,arg3){if(\"function\"!=typeof fn)throw new TypeError('\"callback\" argument must be a function');var args,i,len=arguments.length;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function(){fn.call(null,arg1)});case 3:return process.nextTick(function(){fn.call(null,arg1,arg2)});case 4:return process.nextTick(function(){fn.call(null,arg1,arg2,arg3)});default:for(args=new Array(len-1),i=0;i<args.length;)args[i++]=arguments[i];return process.nextTick(function(){fn.apply(null,args)})}}}:module.exports=process}).call(this,_dereq_(\"_process\"))},{_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/process/browser.js\":[function(_dereq_,module,exports){var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error(\"setTimeout has not been defined\")}function defaultClearTimeout(){throw new Error(\"clearTimeout has not been defined\")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}!function(){try{cachedSetTimeout=\"function\"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout=\"function\"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&¤tQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,function(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(1<arguments.length)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title=\"browser\",process.browser=!0,process.env={},process.argv=[],process.version=\"\",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(name){return[]},process.binding=function(name){throw new Error(\"process.binding is not supported\")},process.cwd=function(){return\"/\"},process.chdir=function(dir){throw new Error(\"process.chdir is not supported\")},process.umask=function(){return 0}},{}],\"/Users/f/pjs/dhive/node_modules/public-encrypt/browser.js\":[function(_dereq_,module,exports){exports.publicEncrypt=_dereq_(\"./publicEncrypt\"),exports.privateDecrypt=_dereq_(\"./privateDecrypt\"),exports.privateEncrypt=function(key,buf){return exports.publicEncrypt(key,buf,!0)},exports.publicDecrypt=function(key,buf){return exports.privateDecrypt(key,buf,!0)}},{\"./privateDecrypt\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/privateDecrypt.js\",\"./publicEncrypt\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/publicEncrypt.js\"}],\"/Users/f/pjs/dhive/node_modules/public-encrypt/mgf.js\":[function(_dereq_,module,exports){var createHash=_dereq_(\"create-hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer;function i2ops(c){var out=Buffer.allocUnsafe(4);return out.writeUInt32BE(c,0),out}module.exports=function(seed,len){for(var c,t=Buffer.alloc(0),i=0;t.length<len;)c=i2ops(i++),t=Buffer.concat([t,createHash(\"sha1\").update(seed).update(c).digest()]);return t.slice(0,len)}},{\"create-hash\":\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/public-encrypt/privateDecrypt.js\":[function(_dereq_,module,exports){var parseKeys=_dereq_(\"parse-asn1\"),mgf=_dereq_(\"./mgf\"),xor=_dereq_(\"./xor\"),BN=_dereq_(\"bn.js\"),crt=_dereq_(\"browserify-rsa\"),createHash=_dereq_(\"create-hash\"),withPublic=_dereq_(\"./withPublic\"),Buffer=_dereq_(\"safe-buffer\").Buffer;module.exports=function(privateKey,enc,reverse){var padding;padding=privateKey.padding?privateKey.padding:reverse?1:4;var msg,key=parseKeys(privateKey),k=key.modulus.byteLength();if(enc.length>k||0<=new BN(enc).cmp(key.modulus))throw new Error(\"decryption error\");msg=reverse?withPublic(new BN(enc),key):crt(enc,key);var zBuffer=Buffer.alloc(k-msg.length);if(msg=Buffer.concat([zBuffer,msg],k),4===padding)return function(key,msg){var k=key.modulus.byteLength(),iHash=createHash(\"sha1\").update(Buffer.alloc(0)).digest(),hLen=iHash.length;if(0!==msg[0])throw new Error(\"decryption error\");var maskedSeed=msg.slice(1,hLen+1),maskedDb=msg.slice(hLen+1),seed=xor(maskedSeed,mgf(maskedDb,hLen)),db=xor(maskedDb,mgf(seed,k-hLen-1));if(function(a,b){a=Buffer.from(a),b=Buffer.from(b);var dif=0,len=a.length;a.length!==b.length&&(dif++,len=Math.min(a.length,b.length));for(var i=-1;++i<len;)dif+=a[i]^b[i];return dif}(iHash,db.slice(0,hLen)))throw new Error(\"decryption error\");for(var i=hLen;0===db[i];)i++;if(1===db[i++])return db.slice(i);throw new Error(\"decryption error\")}(key,msg);if(1===padding)return function(msg,reverse){for(var p1=msg.slice(0,2),i=2,status=0;0!==msg[i++];)if(i>=msg.length){status++;break}var ps=msg.slice(2,i-1);if((\"0002\"!==p1.toString(\"hex\")&&!reverse||\"0001\"!==p1.toString(\"hex\")&&reverse)&&status++,ps.length<8&&status++,status)throw new Error(\"decryption error\");return msg.slice(i)}(msg,reverse);if(3===padding)return msg;throw new Error(\"unknown padding\")}},{\"./mgf\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/mgf.js\",\"./withPublic\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/withPublic.js\",\"./xor\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/xor.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"browserify-rsa\":\"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js\",\"create-hash\":\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\",\"parse-asn1\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/public-encrypt/publicEncrypt.js\":[function(_dereq_,module,exports){var parseKeys=_dereq_(\"parse-asn1\"),randomBytes=_dereq_(\"randombytes\"),createHash=_dereq_(\"create-hash\"),mgf=_dereq_(\"./mgf\"),xor=_dereq_(\"./xor\"),BN=_dereq_(\"bn.js\"),withPublic=_dereq_(\"./withPublic\"),crt=_dereq_(\"browserify-rsa\"),Buffer=_dereq_(\"safe-buffer\").Buffer;module.exports=function(publicKey,msg,reverse){var padding;padding=publicKey.padding?publicKey.padding:reverse?1:4;var paddedMsg,key=parseKeys(publicKey);if(4===padding)paddedMsg=function(key,msg){var k=key.modulus.byteLength(),mLen=msg.length,iHash=createHash(\"sha1\").update(Buffer.alloc(0)).digest(),hLen=iHash.length,hLen2=2*hLen;if(k-hLen2-2<mLen)throw new Error(\"message too long\");var ps=Buffer.alloc(k-mLen-hLen2-2),dblen=k-hLen-1,seed=randomBytes(hLen),maskedDb=xor(Buffer.concat([iHash,ps,Buffer.alloc(1,1),msg],dblen),mgf(seed,dblen)),maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer.concat([Buffer.alloc(1),maskedSeed,maskedDb],k))}(key,msg);else if(1===padding)paddedMsg=function(key,msg,reverse){var ps,mLen=msg.length,k=key.modulus.byteLength();if(k-11<mLen)throw new Error(\"message too long\");return ps=reverse?Buffer.alloc(k-mLen-3,255):function(len){for(var num,out=Buffer.allocUnsafe(len),i=0,cache=randomBytes(2*len),cur=0;i<len;)cur===cache.length&&(cache=randomBytes(2*len),cur=0),(num=cache[cur++])&&(out[i++]=num);return out}(k-mLen-3),new BN(Buffer.concat([Buffer.from([0,reverse?1:2]),ps,Buffer.alloc(1),msg],k))}(key,msg,reverse);else{if(3!==padding)throw new Error(\"unknown padding\");if(0<=(paddedMsg=new BN(msg)).cmp(key.modulus))throw new Error(\"data too long for modulus\")}return(reverse?crt:withPublic)(paddedMsg,key)}},{\"./mgf\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/mgf.js\",\"./withPublic\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/withPublic.js\",\"./xor\":\"/Users/f/pjs/dhive/node_modules/public-encrypt/xor.js\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"browserify-rsa\":\"/Users/f/pjs/dhive/node_modules/browserify-rsa/index.js\",\"create-hash\":\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\",\"parse-asn1\":\"/Users/f/pjs/dhive/node_modules/parse-asn1/index.js\",randombytes:\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/public-encrypt/withPublic.js\":[function(_dereq_,module,exports){var BN=_dereq_(\"bn.js\"),Buffer=_dereq_(\"safe-buffer\").Buffer;module.exports=function(paddedMsg,key){return Buffer.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray())}},{\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/public-encrypt/xor.js\":[function(_dereq_,module,exports){module.exports=function(a,b){for(var len=a.length,i=-1;++i<len;)a[i]^=b[i];return a}},{}],\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\":[function(_dereq_,module,exports){(function(process,global){\"use strict\";var Buffer=_dereq_(\"safe-buffer\").Buffer,crypto=global.crypto||global.msCrypto;crypto&&crypto.getRandomValues?module.exports=function(size,cb){if(4294967295<size)throw new RangeError(\"requested too many random bytes\");var bytes=Buffer.allocUnsafe(size);if(0<size)if(65536<size)for(var generated=0;generated<size;generated+=65536)crypto.getRandomValues(bytes.slice(generated,generated+65536));else crypto.getRandomValues(bytes);return\"function\"!=typeof cb?bytes:process.nextTick(function(){cb(null,bytes)})}:module.exports=function(){throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\")}}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/randomfill/browser.js\":[function(_dereq_,module,exports){(function(process,global){\"use strict\";function oldBrowser(){throw new Error(\"secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11\")}var safeBuffer=_dereq_(\"safe-buffer\"),randombytes=_dereq_(\"randombytes\"),Buffer=safeBuffer.Buffer,kBufferMaxLength=safeBuffer.kMaxLength,crypto=global.crypto||global.msCrypto,kMaxUint32=Math.pow(2,32)-1;function assertOffset(offset,length){if(\"number\"!=typeof offset||offset!=offset)throw new TypeError(\"offset must be a number\");if(kMaxUint32<offset||offset<0)throw new TypeError(\"offset must be a uint32\");if(kBufferMaxLength<offset||length<offset)throw new RangeError(\"offset out of range\")}function assertSize(size,offset,length){if(\"number\"!=typeof size||size!=size)throw new TypeError(\"size must be a number\");if(kMaxUint32<size||size<0)throw new TypeError(\"size must be a uint32\");if(length<size+offset||kBufferMaxLength<size)throw new RangeError(\"buffer too small\")}function actualFill(buf,offset,size,cb){if(process.browser){var ourBuf=buf.buffer,uint=new Uint8Array(ourBuf,offset,size);return crypto.getRandomValues(uint),cb?void process.nextTick(function(){cb(null,buf)}):buf}if(!cb)return randombytes(size).copy(buf,offset),buf;randombytes(size,function(err,bytes){if(err)return cb(err);bytes.copy(buf,offset),cb(null,buf)})}crypto&&crypto.getRandomValues||!process.browser?(exports.randomFill=function(buf,offset,size,cb){if(!(Buffer.isBuffer(buf)||buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(\"function\"==typeof offset)cb=offset,offset=0,size=buf.length;else if(\"function\"==typeof size)cb=size,size=buf.length-offset;else if(\"function\"!=typeof cb)throw new TypeError('\"cb\" argument must be a function');return assertOffset(offset,buf.length),assertSize(size,offset,buf.length),actualFill(buf,offset,size,cb)},exports.randomFillSync=function(buf,offset,size){if(void 0===offset&&(offset=0),!(Buffer.isBuffer(buf)||buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');return assertOffset(offset,buf.length),void 0===size&&(size=buf.length-offset),assertSize(size,offset,buf.length),actualFill(buf,offset,size)}):(exports.randomFill=oldBrowser,exports.randomFillSync=oldBrowser)}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",randombytes:\"/Users/f/pjs/dhive/node_modules/randombytes/browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/duplex-browser.js\":[function(_dereq_,module,exports){module.exports=_dereq_(\"./lib/_stream_duplex.js\")},{\"./lib/_stream_duplex.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js\":[function(_dereq_,module,exports){\"use strict\";var pna=_dereq_(\"process-nextick-args\"),objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};module.exports=Duplex;var util=Object.create(_dereq_(\"core-util-is\"));util.inherits=_dereq_(\"inherits\");var Readable=_dereq_(\"./_stream_readable\"),Writable=_dereq_(\"./_stream_writable\");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options),Writable.call(this,options),options&&!1===options.readable&&(this.readable=!1),options&&!1===options.writable&&(this.writable=!1),this.allowHalfOpen=!0,options&&!1===options.allowHalfOpen&&(this.allowHalfOpen=!1),this.once(\"end\",onend)}function onend(){this.allowHalfOpen||this._writableState.ended||pna.nextTick(onEndNT,this)}function onEndNT(self){self.end()}Object.defineProperty(Duplex.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(value){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=value,this._writableState.destroyed=value)}}),Duplex.prototype._destroy=function(err,cb){this.push(null),this.end(),pna.nextTick(cb,err)}},{\"./_stream_readable\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_readable.js\",\"./_stream_writable\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js\",\"core-util-is\":\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"process-nextick-args\":\"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_passthrough.js\":[function(_dereq_,module,exports){\"use strict\";module.exports=PassThrough;var Transform=_dereq_(\"./_stream_transform\"),util=Object.create(_dereq_(\"core-util-is\"));function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}util.inherits=_dereq_(\"inherits\"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{\"./_stream_transform\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_transform.js\",\"core-util-is\":\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_readable.js\":[function(_dereq_,module,exports){(function(process,global){\"use strict\";var pna=_dereq_(\"process-nextick-args\");module.exports=Readable;var Duplex,isArray=_dereq_(\"isarray\");function EElistenerCount(emitter,type){return emitter.listeners(type).length}Readable.ReadableState=ReadableState,_dereq_(\"events\").EventEmitter;var Stream=_dereq_(\"./internal/streams/stream\"),Buffer=_dereq_(\"safe-buffer\").Buffer,OurUint8Array=global.Uint8Array||function(){},util=Object.create(_dereq_(\"core-util-is\"));util.inherits=_dereq_(\"inherits\");var debugUtil=_dereq_(\"util\"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog(\"stream\"):function(){};var StringDecoder,BufferList=_dereq_(\"./internal/streams/BufferList\"),destroyImpl=_dereq_(\"./internal/streams/destroy\");util.inherits(Readable,Stream);var kProxyEvents=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function ReadableState(options,stream){options=options||{};var isDuplex=stream instanceof(Duplex=Duplex||_dereq_(\"./_stream_duplex\"));this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,readableHwm=options.readableHighWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:isDuplex&&(readableHwm||0===readableHwm)?readableHwm:defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=options.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder=StringDecoder||_dereq_(\"string_decoder/\").StringDecoder,this.decoder=new StringDecoder(options.encoding),this.encoding=options.encoding)}function Readable(options){if(Duplex=Duplex||_dereq_(\"./_stream_duplex\"),!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this),this.readable=!0,options&&(\"function\"==typeof options.read&&(this._read=options.read),\"function\"==typeof options.destroy&&(this._destroy=options.destroy)),Stream.call(this)}function readableAddChunk(stream,chunk,encoding,addToFront,skipChunkCheck){var er,state=stream._readableState;return null===chunk?(state.reading=!1,function(stream,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length)}state.ended=!0,emitReadable(stream)}}(stream,state)):(skipChunkCheck||(er=function(state,chunk){var er,obj;return obj=chunk,Buffer.isBuffer(obj)||obj instanceof OurUint8Array||\"string\"==typeof chunk||void 0===chunk||state.objectMode||(er=new TypeError(\"Invalid non-string/buffer chunk\")),er}(state,chunk)),er?stream.emit(\"error\",er):state.objectMode||chunk&&0<chunk.length?(\"string\"==typeof chunk||state.objectMode||Object.getPrototypeOf(chunk)===Buffer.prototype||(chunk=function(chunk){return Buffer.from(chunk)}(chunk)),addToFront?state.endEmitted?stream.emit(\"error\",new Error(\"stream.unshift() after end event\")):addChunk(stream,state,chunk,!0):state.ended?stream.emit(\"error\",new Error(\"stream.push() after EOF\")):(state.reading=!1,state.decoder&&!encoding?(chunk=state.decoder.write(chunk),state.objectMode||0!==chunk.length?addChunk(stream,state,chunk,!1):maybeReadMore(stream,state)):addChunk(stream,state,chunk,!1))):addToFront||(state.reading=!1)),function(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||0===state.length)}(state)}function addChunk(stream,state,chunk,addToFront){state.flowing&&0===state.length&&!state.sync?(stream.emit(\"data\",chunk),stream.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream)),maybeReadMore(stream,state)}Object.defineProperty(Readable.prototype,\"destroyed\",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(value){this._readableState&&(this._readableState.destroyed=value)}}),Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(err,cb){this.push(null),cb(err)},Readable.prototype.push=function(chunk,encoding){var skipChunkCheck,state=this._readableState;return state.objectMode?skipChunkCheck=!0:\"string\"==typeof chunk&&((encoding=encoding||state.defaultEncoding)!==state.encoding&&(chunk=Buffer.from(chunk,encoding),encoding=\"\"),skipChunkCheck=!0),readableAddChunk(this,chunk,encoding,!1,skipChunkCheck)},Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(enc){return StringDecoder=StringDecoder||_dereq_(\"string_decoder/\").StringDecoder,this._readableState.decoder=new StringDecoder(enc),this._readableState.encoding=enc,this};function howMuchToRead(n,state){return n<=0||0===state.length&&state.ended?0:state.objectMode?1:n!=n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=function(n){return 8388608<=n?n=8388608:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}function emitReadable(stream){var state=stream._readableState;state.needReadable=!1,state.emittedReadable||(debug(\"emitReadable\",state.flowing),state.emittedReadable=!0,state.sync?pna.nextTick(emitReadable_,stream):emitReadable_(stream))}function emitReadable_(stream){debug(\"emit readable\"),stream.emit(\"readable\"),flow(stream)}function maybeReadMore(stream,state){state.readingMore||(state.readingMore=!0,pna.nextTick(maybeReadMore_,stream,state))}function maybeReadMore_(stream,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug(\"maybeReadMore read 0\"),stream.read(0),len!==state.length);)len=state.length;state.readingMore=!1}function nReadingNextTick(self){debug(\"readable nexttick read 0\"),self.read(0)}function resume_(stream,state){state.reading||(debug(\"resume read 0\"),stream.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream.emit(\"resume\"),flow(stream),state.flowing&&!state.reading&&stream.read(0)}function flow(stream){var state=stream._readableState;for(debug(\"flow\",state.flowing);state.flowing&&null!==stream.read(););}function fromList(n,state){return 0===state.length?null:(state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(ret=state.decoder?state.buffer.join(\"\"):1===state.buffer.length?state.buffer.head.data:state.buffer.concat(state.length),state.buffer.clear()):ret=function(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):ret=n===list.head.data.length?list.shift():(hasStrings?function(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(nb===str.length?ret+=str:ret+=str.slice(0,n),0==(n-=nb)){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p).data=str.slice(nb);break}++c}return list.length-=c,ret}:function(n,list){var ret=Buffer.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),0==(n-=nb)){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p).data=buf.slice(nb);break}++c}return list.length-=c,ret})(n,list),ret}(n,state.buffer,state.decoder),ret);var ret}function endReadable(stream){var state=stream._readableState;if(0<state.length)throw new Error('\"endReadable()\" called on non-empty stream');state.endEmitted||(state.ended=!0,pna.nextTick(endReadableNT,state,stream))}function endReadableNT(state,stream){state.endEmitted||0!==state.length||(state.endEmitted=!0,stream.readable=!1,stream.emit(\"end\"))}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return-1}Readable.prototype.read=function(n){debug(\"read\",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(0!==n&&(state.emittedReadable=!1),0===n&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug(\"read: emitReadable\",state.length,state.ended),(0===state.length&&state.ended?endReadable:emitReadable)(this),null;if(0===(n=howMuchToRead(n,state))&&state.ended)return 0===state.length&&endReadable(this),null;var ret,doRead=state.needReadable;return debug(\"need readable\",doRead),(0===state.length||state.length-n<state.highWaterMark)&&debug(\"length less than watermark\",doRead=!0),state.ended||state.reading?debug(\"reading or ended\",doRead=!1):doRead&&(debug(\"do read\"),state.reading=!0,state.sync=!0,0===state.length&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state))),null===(ret=0<n?fromList(n,state):null)?(state.needReadable=!0,n=0):state.length-=n,0===state.length&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),null!==ret&&this.emit(\"data\",ret),ret},Readable.prototype._read=function(n){this.emit(\"error\",new Error(\"_read() is not implemented\"))},Readable.prototype.pipe=function(dest,pipeOpts){var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest)}state.pipesCount+=1,debug(\"pipe count=%d opts=%j\",state.pipesCount,pipeOpts);var endFn=pipeOpts&&!1===pipeOpts.end||dest===process.stdout||dest===process.stderr?unpipe:onend;function onend(){debug(\"onend\"),dest.end()}state.endEmitted?pna.nextTick(endFn):src.once(\"end\",endFn),dest.on(\"unpipe\",function onunpipe(readable,unpipeInfo){debug(\"onunpipe\"),readable===src&&unpipeInfo&&!1===unpipeInfo.hasUnpiped&&(unpipeInfo.hasUnpiped=!0,debug(\"cleanup\"),dest.removeListener(\"close\",onclose),dest.removeListener(\"finish\",onfinish),dest.removeListener(\"drain\",ondrain),dest.removeListener(\"error\",onerror),dest.removeListener(\"unpipe\",onunpipe),src.removeListener(\"end\",onend),src.removeListener(\"end\",unpipe),src.removeListener(\"data\",ondata),cleanedUp=!0,!state.awaitDrain||dest._writableState&&!dest._writableState.needDrain||ondrain())});var ondrain=function(src){return function(){var state=src._readableState;debug(\"pipeOnDrain\",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,0===state.awaitDrain&&EElistenerCount(src,\"data\")&&(state.flowing=!0,flow(src))}}(src);dest.on(\"drain\",ondrain);var cleanedUp=!1,increasedAwaitDrain=!1;function ondata(chunk){debug(\"ondata\"),(increasedAwaitDrain=!1)!==dest.write(chunk)||increasedAwaitDrain||((1===state.pipesCount&&state.pipes===dest||1<state.pipesCount&&-1!==indexOf(state.pipes,dest))&&!cleanedUp&&(debug(\"false write response, pause\",src._readableState.awaitDrain),src._readableState.awaitDrain++,increasedAwaitDrain=!0),src.pause())}function onerror(er){debug(\"onerror\",er),unpipe(),dest.removeListener(\"error\",onerror),0===EElistenerCount(dest,\"error\")&&dest.emit(\"error\",er)}function onclose(){dest.removeListener(\"finish\",onfinish),unpipe()}function onfinish(){debug(\"onfinish\"),dest.removeListener(\"close\",onclose),unpipe()}function unpipe(){debug(\"unpipe\"),src.unpipe(dest)}return src.on(\"data\",ondata),function(emitter,fn){if(\"function\"==typeof emitter.prependListener)return emitter.prependListener(\"error\",fn);emitter._events&&emitter._events.error?isArray(emitter._events.error)?emitter._events.error.unshift(fn):emitter._events.error=[fn,emitter._events.error]:emitter.on(\"error\",fn)}(dest,onerror),dest.once(\"close\",onclose),dest.once(\"finish\",onfinish),dest.emit(\"pipe\",src),state.flowing||(debug(\"pipe resume\"),src.resume()),dest},Readable.prototype.unpipe=function(dest){var state=this._readableState,unpipeInfo={hasUnpiped:!1};if(0===state.pipesCount)return this;if(1===state.pipesCount)return dest&&dest!==state.pipes||(dest=dest||state.pipes,state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit(\"unpipe\",this,unpipeInfo)),this;if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit(\"unpipe\",this,unpipeInfo);return this}var index=indexOf(state.pipes,dest);return-1===index||(state.pipes.splice(index,1),--state.pipesCount,1===state.pipesCount&&(state.pipes=state.pipes[0]),dest.emit(\"unpipe\",this,unpipeInfo)),this},Readable.prototype.addListener=Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if(\"data\"===ev)!1!==this._readableState.flowing&&this.resume();else if(\"readable\"===ev){var state=this._readableState;state.endEmitted||state.readableListening||(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this):pna.nextTick(nReadingNextTick,this))}return res},Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug(\"resume\"),state.flowing=!0,function(stream,state){state.resumeScheduled||(state.resumeScheduled=!0,pna.nextTick(resume_,stream,state))}(this,state)),this},Readable.prototype.pause=function(){return debug(\"call pause flowing=%j\",this._readableState.flowing),!1!==this._readableState.flowing&&(debug(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this},Readable.prototype.wrap=function(stream){var _this=this,state=this._readableState,paused=!1;for(var i in stream.on(\"end\",function(){if(debug(\"wrapped end\"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&_this.push(chunk)}_this.push(null)}),stream.on(\"data\",function(chunk){debug(\"wrapped data\"),state.decoder&&(chunk=state.decoder.write(chunk)),state.objectMode&&null==chunk||(state.objectMode||chunk&&chunk.length)&&(_this.push(chunk)||(paused=!0,stream.pause()))}),stream)void 0===this[i]&&\"function\"==typeof stream[i]&&(this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i));for(var n=0;n<kProxyEvents.length;n++)stream.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]));return this._read=function(n){debug(\"wrapped _read\",n),paused&&(paused=!1,stream.resume())},this},Object.defineProperty(Readable.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Readable._fromList=fromList}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./_stream_duplex\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js\",\"./internal/streams/BufferList\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/BufferList.js\",\"./internal/streams/destroy\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/destroy.js\",\"./internal/streams/stream\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/stream-browser.js\",_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",\"core-util-is\":\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\",events:\"/Users/f/pjs/dhive/node_modules/events/events.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",isarray:\"/Users/f/pjs/dhive/node_modules/isarray/index.js\",\"process-nextick-args\":\"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js\",\"string_decoder/\":\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js\",util:\"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_transform.js\":[function(_dereq_,module,exports){\"use strict\";module.exports=Transform;var Duplex=_dereq_(\"./_stream_duplex\"),util=Object.create(_dereq_(\"core-util-is\"));function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options),this._transformState={afterTransform:function(er,data){var ts=this._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return this.emit(\"error\",new Error(\"write callback called multiple times\"));ts.writechunk=null,(ts.writecb=null)!=data&&this.push(data),cb(er);var rs=this._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,options&&(\"function\"==typeof options.transform&&(this._transform=options.transform),\"function\"==typeof options.flush&&(this._flush=options.flush)),this.on(\"prefinish\",prefinish)}function prefinish(){var _this=this;\"function\"==typeof this._flush?this._flush(function(er,data){done(_this,er,data)}):done(this,null,null)}function done(stream,er,data){if(er)return stream.emit(\"error\",er);if(null!=data&&stream.push(data),stream._writableState.length)throw new Error(\"Calling transform done when ws.length != 0\");if(stream._transformState.transforming)throw new Error(\"Calling transform done when still transforming\");return stream.push(null)}util.inherits=_dereq_(\"inherits\"),util.inherits(Transform,Duplex),Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,chunk,encoding)},Transform.prototype._transform=function(chunk,encoding,cb){throw new Error(\"_transform() is not implemented\")},Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark)}},Transform.prototype._read=function(n){var ts=this._transformState;null!==ts.writechunk&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0},Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex.prototype._destroy.call(this,err,function(err2){cb(err2),_this2.emit(\"close\")})}},{\"./_stream_duplex\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js\",\"core-util-is\":\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js\":[function(_dereq_,module,exports){(function(process,global,setImmediate){\"use strict\";var pna=_dereq_(\"process-nextick-args\");function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(){!function(corkReq,state){var entry=corkReq.entry;for(corkReq.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(void 0),entry=entry.next}state.corkedRequestsFree?state.corkedRequestsFree.next=corkReq:state.corkedRequestsFree=corkReq}(_this,state)}}module.exports=Writable;var Duplex,asyncWrite=!process.browser&&-1<[\"v0.10\",\"v0.9.\"].indexOf(process.version.slice(0,5))?setImmediate:pna.nextTick;Writable.WritableState=WritableState;var util=Object.create(_dereq_(\"core-util-is\"));util.inherits=_dereq_(\"inherits\");var realHasInstance,internalUtil={deprecate:_dereq_(\"util-deprecate\")},Stream=_dereq_(\"./internal/streams/stream\"),Buffer=_dereq_(\"safe-buffer\").Buffer,OurUint8Array=global.Uint8Array||function(){},destroyImpl=_dereq_(\"./internal/streams/destroy\");function nop(){}function WritableState(options,stream){Duplex=Duplex||_dereq_(\"./_stream_duplex\"),options=options||{};var isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode,isDuplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,writableHwm=options.writableHighWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:isDuplex&&(writableHwm||0===writableHwm)?writableHwm:defaultHwm,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var noDecode=(this.destroyed=!1)===options.decodeStrings;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){!function(stream,er){var state=stream._writableState,sync=state.sync,cb=state.writecb;if(function(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0}(state),er)!function(stream,state,sync,er,cb){--state.pendingcb,sync?(pna.nextTick(cb,er),pna.nextTick(finishMaybe,stream,state),stream._writableState.errorEmitted=!0,stream.emit(\"error\",er)):(cb(er),stream._writableState.errorEmitted=!0,stream.emit(\"error\",er),finishMaybe(stream,state))}(stream,state,sync,er,cb);else{var finished=needFinish(state);finished||state.corked||state.bufferProcessing||!state.bufferedRequest||clearBuffer(stream,state),sync?asyncWrite(afterWrite,stream,state,finished,cb):afterWrite(stream,state,finished,cb)}}(stream,er)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(options){if(Duplex=Duplex||_dereq_(\"./_stream_duplex\"),!(realHasInstance.call(Writable,this)||this instanceof Duplex))return new Writable(options);this._writableState=new WritableState(options,this),this.writable=!0,options&&(\"function\"==typeof options.write&&(this._write=options.write),\"function\"==typeof options.writev&&(this._writev=options.writev),\"function\"==typeof options.destroy&&(this._destroy=options.destroy),\"function\"==typeof options.final&&(this._final=options.final)),Stream.call(this)}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream._writev(chunk,state.onwrite):stream._write(chunk,encoding,state.onwrite),state.sync=!1}function afterWrite(stream,state,finished,cb){finished||function(stream,state){0===state.length&&state.needDrain&&(state.needDrain=!1,stream.emit(\"drain\"))}(stream,state),state.pendingcb--,cb(),finishMaybe(stream,state)}function clearBuffer(stream,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0,allBuffers=!0;entry;)(buffer[count]=entry).isBuf||(allBuffers=!1),entry=entry.next,count+=1;buffer.allBuffers=allBuffers,doWrite(stream,state,!0,state.length,buffer,\"\",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state),state.bufferedRequestCount=0}else{for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback;if(doWrite(stream,state,!1,state.objectMode?1:chunk.length,chunk,encoding,cb),entry=entry.next,state.bufferedRequestCount--,state.writing)break}null===entry&&(state.lastBufferedRequest=null)}state.bufferedRequest=entry,state.bufferProcessing=!1}function needFinish(state){return state.ending&&0===state.length&&null===state.bufferedRequest&&!state.finished&&!state.writing}function callFinal(stream,state){stream._final(function(err){state.pendingcb--,err&&stream.emit(\"error\",err),state.prefinished=!0,stream.emit(\"prefinish\"),finishMaybe(stream,state)})}function finishMaybe(stream,state){var need=needFinish(state);return need&&(function(stream,state){state.prefinished||state.finalCalled||(\"function\"==typeof stream._final?(state.pendingcb++,state.finalCalled=!0,pna.nextTick(callFinal,stream,state)):(state.prefinished=!0,stream.emit(\"prefinish\")))}(stream,state),0===state.pendingcb&&(state.finished=!0,stream.emit(\"finish\"))),need}util.inherits(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out},function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:internalUtil.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(_){}}(),\"function\"==typeof Symbol&&Symbol.hasInstance&&\"function\"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return!!realHasInstance.call(this,object)||this===Writable&&object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this},Writable.prototype.pipe=function(){this.emit(\"error\",new Error(\"Cannot pipe, not readable\"))},Writable.prototype.write=function(chunk,encoding,cb){var obj,state=this._writableState,ret=!1,isBuf=!state.objectMode&&(obj=chunk,Buffer.isBuffer(obj)||obj instanceof OurUint8Array);return isBuf&&!Buffer.isBuffer(chunk)&&(chunk=function(chunk){return Buffer.from(chunk)}(chunk)),\"function\"==typeof encoding&&(cb=encoding,encoding=null),encoding=isBuf?\"buffer\":encoding||state.defaultEncoding,\"function\"!=typeof cb&&(cb=nop),state.ended?function(stream,cb){var er=new Error(\"write after end\");stream.emit(\"error\",er),pna.nextTick(cb,er)}(this,cb):(isBuf||function(stream,state,chunk,cb){var valid=!0,er=!1;return null===chunk?er=new TypeError(\"May not write null values to stream\"):\"string\"==typeof chunk||void 0===chunk||state.objectMode||(er=new TypeError(\"Invalid non-string/buffer chunk\")),er&&(stream.emit(\"error\",er),pna.nextTick(cb,er),valid=!1),valid}(this,state,chunk,cb))&&(state.pendingcb++,ret=function(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=function(state,chunk,encoding){return state.objectMode||!1===state.decodeStrings||\"string\"!=typeof chunk||(chunk=Buffer.from(chunk,encoding)),chunk}(state,chunk,encoding);chunk!==newChunk&&(isBuf=!0,encoding=\"buffer\",chunk=newChunk)}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk:chunk,encoding:encoding,isBuf:isBuf,callback:cb,next:null},last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1}else doWrite(stream,state,!1,len,chunk,encoding,cb);return ret}(this,state,isBuf,chunk,encoding,cb)),ret},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,state.writing||state.corked||state.finished||state.bufferProcessing||!state.bufferedRequest||clearBuffer(this,state))},Writable.prototype.setDefaultEncoding=function(encoding){if(\"string\"==typeof encoding&&(encoding=encoding.toLowerCase()),!(-1<[\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((encoding+\"\").toLowerCase())))throw new TypeError(\"Unknown encoding: \"+encoding);return this._writableState.defaultEncoding=encoding,this},Object.defineProperty(Writable.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(chunk,encoding,cb){cb(new Error(\"_write() is not implemented\"))},Writable.prototype._writev=null,Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;\"function\"==typeof chunk?(cb=chunk,encoding=chunk=null):\"function\"==typeof encoding&&(cb=encoding,encoding=null),null!=chunk&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||state.finished||function(stream,state,cb){state.ending=!0,finishMaybe(stream,state),cb&&(state.finished?pna.nextTick(cb):stream.once(\"finish\",cb)),state.ended=!0,stream.writable=!1}(this,state,cb)},Object.defineProperty(Writable.prototype,\"destroyed\",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(value){this._writableState&&(this._writableState.destroyed=value)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(err,cb){this.end(),cb(err)}}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},_dereq_(\"timers\").setImmediate)},{\"./_stream_duplex\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js\",\"./internal/streams/destroy\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/destroy.js\",\"./internal/streams/stream\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/stream-browser.js\",_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",\"core-util-is\":\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"process-nextick-args\":\"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js\",timers:\"/Users/f/pjs/dhive/node_modules/timers-browserify/main.js\",\"util-deprecate\":\"/Users/f/pjs/dhive/node_modules/util-deprecate/browser.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/BufferList.js\":[function(_dereq_,module,exports){\"use strict\";var Buffer=_dereq_(\"safe-buffer\").Buffer,util=_dereq_(\"util\");function BufferList(){!function(instance){if(!(instance instanceof BufferList))throw new TypeError(\"Cannot call a class as a function\")}(this),this.head=null,this.tail=null,this.length=0}module.exports=(BufferList.prototype.push=function(v){var entry={data:v,next:null};0<this.length?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};0===this.length&&(this.tail=entry),this.head=entry,++this.length},BufferList.prototype.shift=function(){if(0!==this.length){var ret=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0},BufferList.prototype.join=function(s){if(0===this.length)return\"\";for(var p=this.head,ret=\"\"+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(0===this.length)return Buffer.alloc(0);if(1===this.length)return this.head.data;for(var ret=Buffer.allocUnsafe(n>>>0),p=this.head,i=0;p;)p.data.copy(ret,i),i+=p.data.length,p=p.next;return ret},BufferList),util&&util.inspect&&util.inspect.custom&&(module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+\" \"+obj})},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js\",util:\"/Users/f/pjs/dhive/node_modules/browser-resolve/empty.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/destroy.js\":[function(_dereq_,module,exports){\"use strict\";var pna=_dereq_(\"process-nextick-args\");function emitErrorNT(self,err){self.emit(\"error\",err)}module.exports={destroy:function(err,cb){var _this=this,readableDestroyed=this._readableState&&this._readableState.destroyed,writableDestroyed=this._writableState&&this._writableState.destroyed;return readableDestroyed||writableDestroyed?cb?cb(err):!err||this._writableState&&this._writableState.errorEmitted||pna.nextTick(emitErrorNT,this,err):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(err||null,function(err){!cb&&err?(pna.nextTick(emitErrorNT,_this,err),_this._writableState&&(_this._writableState.errorEmitted=!0)):cb&&cb(err)})),this},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},{\"process-nextick-args\":\"/Users/f/pjs/dhive/node_modules/process-nextick-args/index.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/internal/streams/stream-browser.js\":[function(_dereq_,module,exports){module.exports=_dereq_(\"events\").EventEmitter},{events:\"/Users/f/pjs/dhive/node_modules/events/events.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js\":[function(_dereq_,module,exports){var buffer=_dereq_(\"buffer\"),Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(arg,encodingOrOffset,length){if(\"number\"==typeof arg)throw new TypeError(\"Argument must not be a number\");return Buffer(arg,encodingOrOffset,length)},SafeBuffer.alloc=function(size,fill,encoding){if(\"number\"!=typeof size)throw new TypeError(\"Argument must be a number\");var buf=Buffer(size);return void 0!==fill?\"string\"==typeof encoding?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf},SafeBuffer.allocUnsafe=function(size){if(\"number\"!=typeof size)throw new TypeError(\"Argument must be a number\");return Buffer(size)},SafeBuffer.allocUnsafeSlow=function(size){if(\"number\"!=typeof size)throw new TypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}},{buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js\":[function(_dereq_,module,exports){\"use strict\";var Buffer=_dereq_(\"safe-buffer\").Buffer,isEncoding=Buffer.isEncoding||function(encoding){switch((encoding=\"\"+encoding)&&encoding.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function StringDecoder(encoding){var nb;switch(this.encoding=function(enc){var nenc=function(enc){if(!enc)return\"utf8\";for(var retried;;)switch(enc){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return enc;default:if(retried)return;enc=(\"\"+enc).toLowerCase(),retried=!0}}(enc);if(\"string\"!=typeof nenc&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error(\"Unknown encoding: \"+enc);return nenc||enc}(encoding),this.encoding){case\"utf16le\":this.text=utf16Text,this.end=utf16End,nb=4;break;case\"utf8\":this.fillLast=utf8FillLast,nb=4;break;case\"base64\":this.text=base64Text,this.end=base64End,nb=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(nb)}function utf8CheckByte(byte){return byte<=127?0:byte>>5==6?2:byte>>4==14?3:byte>>3==30?4:byte>>6==2?-1:-2}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed,r=function(self,buf){if(128!=(192&buf[0]))return self.lastNeed=0,\"�\";if(1<self.lastNeed&&1<buf.length){if(128!=(192&buf[1]))return self.lastNeed=1,\"�\";if(2<self.lastNeed&&2<buf.length&&128!=(192&buf[2]))return self.lastNeed=2,\"�\"}}(this,buf);return void 0!==r?r:this.lastNeed<=buf.length?(buf.copy(this.lastChar,p,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(buf.copy(this.lastChar,p,0,buf.length),void(this.lastNeed-=buf.length))}function utf16Text(buf,i){if((buf.length-i)%2!=0)return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=buf[buf.length-1],buf.toString(\"utf16le\",i,buf.length-1);var r=buf.toString(\"utf16le\",i);if(r){var c=r.charCodeAt(r.length-1);if(55296<=c&&c<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1],r.slice(0,-1)}return r}function utf16End(buf){var r=buf&&buf.length?this.write(buf):\"\";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString(\"utf16le\",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;return 0==n?buf.toString(\"base64\",i):(this.lastNeed=3-n,this.lastTotal=3,1==n?this.lastChar[0]=buf[buf.length-1]:(this.lastChar[0]=buf[buf.length-2],this.lastChar[1]=buf[buf.length-1]),buf.toString(\"base64\",i,buf.length-n))}function base64End(buf){var r=buf&&buf.length?this.write(buf):\"\";return this.lastNeed?r+this.lastChar.toString(\"base64\",0,3-this.lastNeed):r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):\"\"}(exports.StringDecoder=StringDecoder).prototype.write=function(buf){if(0===buf.length)return\"\";var r,i;if(this.lastNeed){if(void 0===(r=this.fillLast(buf)))return\"\";i=this.lastNeed,this.lastNeed=0}else i=0;return i<buf.length?r?r+this.text(buf,i):this.text(buf,i):r||\"\"},StringDecoder.prototype.end=function(buf){var r=buf&&buf.length?this.write(buf):\"\";return this.lastNeed?r+\"�\":r},StringDecoder.prototype.text=function(buf,i){var total=function(self,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);return 0<=nb?(0<nb&&(self.lastNeed=nb-1),nb):--j<i||-2===nb?0:0<=(nb=utf8CheckByte(buf[j]))?(0<nb&&(self.lastNeed=nb-2),nb):!(--j<i||-2===nb)&&0<=(nb=utf8CheckByte(buf[j]))?(0<nb&&(2===nb?nb=0:self.lastNeed=nb-3),nb):0}(this,buf,i);if(!this.lastNeed)return buf.toString(\"utf8\",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);return buf.copy(this.lastChar,0,end),buf.toString(\"utf8\",i,end)},StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length)return buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length),this.lastNeed-=buf.length}},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/passthrough.js\":[function(_dereq_,module,exports){module.exports=_dereq_(\"./readable\").PassThrough},{\"./readable\":\"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js\":[function(_dereq_,module,exports){(((exports=module.exports=_dereq_(\"./lib/_stream_readable.js\")).Stream=exports).Readable=exports).Writable=_dereq_(\"./lib/_stream_writable.js\"),exports.Duplex=_dereq_(\"./lib/_stream_duplex.js\"),exports.Transform=_dereq_(\"./lib/_stream_transform.js\"),exports.PassThrough=_dereq_(\"./lib/_stream_passthrough.js\")},{\"./lib/_stream_duplex.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_duplex.js\",\"./lib/_stream_passthrough.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_passthrough.js\",\"./lib/_stream_readable.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_readable.js\",\"./lib/_stream_transform.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_transform.js\",\"./lib/_stream_writable.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/transform.js\":[function(_dereq_,module,exports){module.exports=_dereq_(\"./readable\").Transform},{\"./readable\":\"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js\"}],\"/Users/f/pjs/dhive/node_modules/readable-stream/writable-browser.js\":[function(_dereq_,module,exports){module.exports=_dereq_(\"./lib/_stream_writable.js\")},{\"./lib/_stream_writable.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/lib/_stream_writable.js\"}],\"/Users/f/pjs/dhive/node_modules/regenerator-runtime/runtime.js\":[function(_dereq_,module,exports){var runtime=function(exports){\"use strict\";var undefined,Op=Object.prototype,hasOwn=Op.hasOwnProperty,$Symbol=\"function\"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||\"@@iterator\",asyncIteratorSymbol=$Symbol.asyncIterator||\"@@asyncIterator\",toStringTagSymbol=$Symbol.toStringTag||\"@@toStringTag\";function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return generator._invoke=function(innerFn,self,context){var state=GenStateSuspendedStart;return function(method,arg){if(state===GenStateExecuting)throw new Error(\"Generator is already running\");if(state===GenStateCompleted){if(\"throw\"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if(\"next\"===context.method)context.sent=context._sent=context.arg;else if(\"throw\"===context.method){if(state===GenStateSuspendedStart)throw state=GenStateCompleted,context.arg;context.dispatchException(context.arg)}else\"return\"===context.method&&context.abrupt(\"return\",context.arg);state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if(\"normal\"===record.type){if(state=context.done?GenStateCompleted:GenStateSuspendedYield,record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}\"throw\"===record.type&&(state=GenStateCompleted,context.method=\"throw\",context.arg=record.arg)}}}(innerFn,self,context),generator}function tryCatch(fn,obj,arg){try{return{type:\"normal\",arg:fn.call(obj,arg)}}catch(err){return{type:\"throw\",arg:err}}}exports.wrap=wrap;var GenStateSuspendedStart=\"suspendedStart\",GenStateSuspendedYield=\"suspendedYield\",GenStateExecuting=\"executing\",GenStateCompleted=\"completed\",ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};IteratorPrototype[iteratorSymbol]=function(){return this};var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){[\"next\",\"throw\",\"return\"].forEach(function(method){prototype[method]=function(arg){return this._invoke(method,arg)}})}function AsyncIterator(generator,PromiseImpl){var previousPromise;this._invoke=function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){!function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if(\"throw\"!==record.type){var result=record.arg,value=result.value;return value&&\"object\"==typeof value&&hasOwn.call(value,\"__await\")?PromiseImpl.resolve(value.__await).then(function(value){invoke(\"next\",value,resolve,reject)},function(err){invoke(\"throw\",err,resolve,reject)}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},function(error){return invoke(\"throw\",error,resolve,reject)})}reject(record.arg)}(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(method===undefined){if(context.delegate=null,\"throw\"===context.method){if(delegate.iterator.return&&(context.method=\"return\",context.arg=undefined,maybeInvokeDelegate(delegate,context),\"throw\"===context.method))return ContinueSentinel;context.method=\"throw\",context.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return ContinueSentinel}var record=tryCatch(method,delegate.iterator,context.arg);if(\"throw\"===record.type)return context.method=\"throw\",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,\"return\"!==context.method&&(context.method=\"next\",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method=\"throw\",context.arg=new TypeError(\"iterator result is not an object\"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type=\"normal\",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:\"root\"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if(\"function\"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;)if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;return next.value=undefined,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:undefined,done:!0}}return GeneratorFunction.prototype=Gp.constructor=GeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor=GeneratorFunction,GeneratorFunctionPrototype[toStringTagSymbol]=GeneratorFunction.displayName=\"GeneratorFunction\",exports.isGeneratorFunction=function(genFun){var ctor=\"function\"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||\"GeneratorFunction\"===(ctor.displayName||ctor.name))},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,toStringTagSymbol in genFun||(genFun[toStringTagSymbol]=\"GeneratorFunction\")),genFun.prototype=Object.create(Gp),genFun},exports.awrap=function(arg){return{__await:arg}},defineIteratorMethods(AsyncIterator.prototype),AsyncIterator.prototype[asyncIteratorSymbol]=function(){return this},exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})},defineIteratorMethods(Gp),Gp[toStringTagSymbol]=\"Generator\",Gp[iteratorSymbol]=function(){return this},Gp.toString=function(){return\"[object Generator]\"},exports.keys=function(object){var keys=[];for(var key in object)keys.push(key);return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},exports.values=values,Context.prototype={constructor:Context,reset:function(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=undefined,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this)\"t\"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined)},stop:function(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if(\"throw\"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function(exception){if(this.done)throw exception;var context=this;function handle(loc,caught){return record.type=\"throw\",record.arg=exception,context.next=loc,caught&&(context.method=\"next\",context.arg=undefined),!!caught}for(var i=this.tryEntries.length-1;0<=i;--i){var entry=this.tryEntries[i],record=entry.completion;if(\"root\"===entry.tryLoc)return handle(\"end\");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,\"catchLoc\"),hasFinally=hasOwn.call(entry,\"finallyLoc\");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}else{if(!hasFinally)throw new Error(\"try statement without catch or finally\");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}}}},abrupt:function(type,arg){for(var i=this.tryEntries.length-1;0<=i;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,\"finallyLoc\")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}finallyEntry&&(\"break\"===type||\"continue\"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method=\"next\",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record)},complete:function(record,afterLoc){if(\"throw\"===record.type)throw record.arg;return\"break\"===record.type||\"continue\"===record.type?this.next=record.arg:\"return\"===record.type?(this.rval=this.arg=record.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel},finish:function(finallyLoc){for(var i=this.tryEntries.length-1;0<=i;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},catch:function(tryLoc){for(var i=this.tryEntries.length-1;0<=i;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if(\"throw\"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error(\"illegal catch attempt\")},delegateYield:function(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},\"next\"===this.method&&(this.arg=undefined),ContinueSentinel}},exports}(\"object\"==typeof module?module.exports:{});try{regeneratorRuntime=runtime}catch(accidentalStrictMode){Function(\"r\",\"regeneratorRuntime = r\")(runtime)}},{}],\"/Users/f/pjs/dhive/node_modules/ripemd160/index.js\":[function(_dereq_,module,exports){\"use strict\";var Buffer=_dereq_(\"buffer\").Buffer,inherits=_dereq_(\"inherits\"),HashBase=_dereq_(\"hash-base\"),ARRAY16=new Array(16),zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function rotl(x,n){return x<<n|x>>>32-n}function fn1(a,b,c,d,e,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+e|0}function fn2(a,b,c,d,e,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+e|0}function fn3(a,b,c,d,e,m,k,s){return rotl(a+((b|~c)^d)+m+k|0,s)+e|0}function fn4(a,b,c,d,e,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+e|0}function fn5(a,b,c,d,e,m,k,s){return rotl(a+(b^(c|~d))+m+k|0,s)+e|0}inherits(RIPEMD160,HashBase),RIPEMD160.prototype._update=function(){for(var words=ARRAY16,j=0;j<16;++j)words[j]=this._block.readInt32LE(4*j);for(var al=0|this._a,bl=0|this._b,cl=0|this._c,dl=0|this._d,el=0|this._e,ar=0|this._a,br=0|this._b,cr=0|this._c,dr=0|this._d,er=0|this._e,i=0;i<80;i+=1){var tl,tr;tr=i<16?(tl=fn1(al,bl,cl,dl,el,words[zl[i]],hl[0],sl[i]),fn5(ar,br,cr,dr,er,words[zr[i]],hr[0],sr[i])):i<32?(tl=fn2(al,bl,cl,dl,el,words[zl[i]],hl[1],sl[i]),fn4(ar,br,cr,dr,er,words[zr[i]],hr[1],sr[i])):i<48?(tl=fn3(al,bl,cl,dl,el,words[zl[i]],hl[2],sl[i]),fn3(ar,br,cr,dr,er,words[zr[i]],hr[2],sr[i])):i<64?(tl=fn4(al,bl,cl,dl,el,words[zl[i]],hl[3],sl[i]),fn2(ar,br,cr,dr,er,words[zr[i]],hr[3],sr[i])):(tl=fn5(al,bl,cl,dl,el,words[zl[i]],hl[4],sl[i]),fn1(ar,br,cr,dr,er,words[zr[i]],hr[4],sr[i])),al=el,el=dl,dl=rotl(cl,10),cl=bl,bl=tl,ar=er,er=dr,dr=rotl(cr,10),cr=br,br=tr}var t=this._b+cl+dr|0;this._b=this._c+dl+er|0,this._c=this._d+el+ar|0,this._d=this._e+al+br|0,this._e=this._a+bl+cr|0,this._a=t},RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128,56<this._blockOffset&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer.alloc?Buffer.alloc(20):new Buffer(20);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer.writeInt32LE(this._e,16),buffer},module.exports=RIPEMD160},{buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",\"hash-base\":\"/Users/f/pjs/dhive/node_modules/hash-base/index.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\":[function(_dereq_,module,exports){var buffer=_dereq_(\"buffer\"),Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer.prototype),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(arg,encodingOrOffset,length){if(\"number\"==typeof arg)throw new TypeError(\"Argument must not be a number\");return Buffer(arg,encodingOrOffset,length)},SafeBuffer.alloc=function(size,fill,encoding){if(\"number\"!=typeof size)throw new TypeError(\"Argument must be a number\");var buf=Buffer(size);return void 0!==fill?\"string\"==typeof encoding?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf},SafeBuffer.allocUnsafe=function(size){if(\"number\"!=typeof size)throw new TypeError(\"Argument must be a number\");return Buffer(size)},SafeBuffer.allocUnsafeSlow=function(size){if(\"number\"!=typeof size)throw new TypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}},{buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/secp256k1/elliptic.js\":[function(_dereq_,module,exports){\"use strict\";module.exports=_dereq_(\"./lib\")(_dereq_(\"./lib/elliptic\"))},{\"./lib\":\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/index.js\",\"./lib/elliptic\":\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/elliptic/index.js\"}],\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/assert.js\":[function(_dereq_,module,exports){(function(Buffer){\"use strict\";var toString=Object.prototype.toString;exports.isArray=function(value,message){if(!Array.isArray(value))throw TypeError(message)},exports.isBoolean=function(value,message){if(\"[object Boolean]\"!==toString.call(value))throw TypeError(message)},exports.isBuffer=function(value,message){if(!Buffer.isBuffer(value))throw TypeError(message)},exports.isFunction=function(value,message){if(\"[object Function]\"!==toString.call(value))throw TypeError(message)},exports.isNumber=function(value,message){if(\"[object Number]\"!==toString.call(value))throw TypeError(message)},exports.isObject=function(value,message){if(\"[object Object]\"!==toString.call(value))throw TypeError(message)},exports.isBufferLength=function(buffer,length,message){if(buffer.length!==length)throw RangeError(message)},exports.isBufferLength2=function(buffer,length1,length2,message){if(buffer.length!==length1&&buffer.length!==length2)throw RangeError(message)},exports.isLengthGTZero=function(value,message){if(0===value.length)throw RangeError(message)},exports.isNumberInInterval=function(number,x,y,message){if(number<=x||y<=number)throw RangeError(message)}}).call(this,{isBuffer:_dereq_(\"../../is-buffer/index.js\")})},{\"../../is-buffer/index.js\":\"/Users/f/pjs/dhive/node_modules/is-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/der.js\":[function(_dereq_,module,exports){\"use strict\";var Buffer=_dereq_(\"safe-buffer\").Buffer,bip66=_dereq_(\"bip66\"),EC_PRIVKEY_EXPORT_DER_COMPRESSED=Buffer.from([48,129,211,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,133,48,129,130,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,33,2,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,36,3,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED=Buffer.from([48,130,1,19,2,1,1,4,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,129,165,48,129,162,2,1,1,48,44,6,7,42,134,72,206,61,1,1,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,252,47,48,6,4,1,0,4,1,7,4,65,4,121,190,102,126,249,220,187,172,85,160,98,149,206,135,11,7,2,155,252,219,45,206,40,217,89,242,129,91,22,248,23,152,72,58,218,119,38,163,196,101,93,164,251,252,14,17,8,168,253,23,180,72,166,133,84,25,156,71,208,143,251,16,212,184,2,33,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,186,174,220,230,175,72,160,59,191,210,94,140,208,54,65,65,2,1,1,161,68,3,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);exports.privateKeyExport=function(privateKey,publicKey,compressed){var result=Buffer.from(compressed?EC_PRIVKEY_EXPORT_DER_COMPRESSED:EC_PRIVKEY_EXPORT_DER_UNCOMPRESSED);return privateKey.copy(result,compressed?8:9),publicKey.copy(result,compressed?181:214),result},exports.privateKeyImport=function(privateKey){var length=privateKey.length,index=0;if(!(length<index+1||48!==privateKey[index])&&!(length<(index+=1)+1)&&128&privateKey[index]){var lenb=127&privateKey[index];if(index+=1,!(lenb<1||2<lenb||length<index+lenb)){var len=privateKey[index+lenb-1]|(1<lenb?privateKey[index+lenb-2]<<8:0);if(!(length<(index+=lenb)+len||length<index+3||2!==privateKey[index]||1!==privateKey[index+1]||1!==privateKey[index+2]||length<(index+=3)+2||4!==privateKey[index]||32<privateKey[index+1]||length<index+2+privateKey[index+1]))return privateKey.slice(index+2,index+2+privateKey[index+1])}}},exports.signatureExport=function(sigObj){for(var r=Buffer.concat([Buffer.from([0]),sigObj.r]),lenR=33,posR=0;1<lenR&&0===r[posR]&&!(128&r[posR+1]);--lenR,++posR);for(var s=Buffer.concat([Buffer.from([0]),sigObj.s]),lenS=33,posS=0;1<lenS&&0===s[posS]&&!(128&s[posS+1]);--lenS,++posS);return bip66.encode(r.slice(posR),s.slice(posS))},exports.signatureImport=function(sig){var r=Buffer.alloc(32,0),s=Buffer.alloc(32,0);try{var sigObj=bip66.decode(sig);if(33===sigObj.r.length&&0===sigObj.r[0]&&(sigObj.r=sigObj.r.slice(1)),32<sigObj.r.length)throw new Error(\"R length is too long\");if(33===sigObj.s.length&&0===sigObj.s[0]&&(sigObj.s=sigObj.s.slice(1)),32<sigObj.s.length)throw new Error(\"S length is too long\")}catch(err){return}return sigObj.r.copy(r,32-sigObj.r.length),sigObj.s.copy(s,32-sigObj.s.length),{r:r,s:s}},exports.signatureImportLax=function(sig){var r=Buffer.alloc(32,0),s=Buffer.alloc(32,0),length=sig.length,index=0;if(48===sig[index++]){var lenbyte=sig[index++];if(!(128&lenbyte&&length<(index+=lenbyte-128))&&2===sig[index++]){var rlen=sig[index++];if(128&rlen){if(length<index+(lenbyte=rlen-128))return;for(;0<lenbyte&&0===sig[index];index+=1,--lenbyte);for(rlen=0;0<lenbyte;index+=1,--lenbyte)rlen=(rlen<<8)+sig[index]}if(!(length-index<rlen)){var rindex=index;if(index+=rlen,2===sig[index++]){var slen=sig[index++];if(128&slen){if(length<index+(lenbyte=slen-128))return;for(;0<lenbyte&&0===sig[index];index+=1,--lenbyte);for(slen=0;0<lenbyte;index+=1,--lenbyte)slen=(slen<<8)+sig[index]}if(!(length-index<slen)){var sindex=index;for(index+=slen;0<rlen&&0===sig[rindex];--rlen,rindex+=1);if(!(32<rlen)){var rvalue=sig.slice(rindex,rindex+rlen);for(rvalue.copy(r,32-rvalue.length);0<slen&&0===sig[sindex];--slen,sindex+=1);if(!(32<slen)){var svalue=sig.slice(sindex,sindex+slen);return svalue.copy(s,32-svalue.length),{r:r,s:s}}}}}}}}}},{bip66:\"/Users/f/pjs/dhive/node_modules/bip66/index.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/elliptic/index.js\":[function(_dereq_,module,exports){\"use strict\";var Buffer=_dereq_(\"safe-buffer\").Buffer,createHash=_dereq_(\"create-hash\"),BN=_dereq_(\"bn.js\"),EC=_dereq_(\"elliptic\").ec,messages=_dereq_(\"../messages.json\"),ec=new EC(\"secp256k1\"),ecparams=ec.curve;function loadPublicKey(publicKey){var first=publicKey[0];switch(first){case 2:case 3:return 33!==publicKey.length?null:function(first,xBuffer){var x=new BN(xBuffer);if(0<=x.cmp(ecparams.p))return null;var y=(x=x.toRed(ecparams.red)).redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt();return 3===first!==y.isOdd()&&(y=y.redNeg()),ec.keyPair({pub:{x:x,y:y}})}(first,publicKey.slice(1,33));case 4:case 6:case 7:return 65!==publicKey.length?null:function(first,xBuffer,yBuffer){var x=new BN(xBuffer),y=new BN(yBuffer);if(0<=x.cmp(ecparams.p)||0<=y.cmp(ecparams.p))return null;if(x=x.toRed(ecparams.red),y=y.toRed(ecparams.red),(6===first||7===first)&&y.isOdd()!==(7===first))return null;var x3=x.redSqr().redIMul(x);return y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()?ec.keyPair({pub:{x:x,y:y}}):null}(first,publicKey.slice(1,33),publicKey.slice(33,65));default:return null}}exports.privateKeyVerify=function(privateKey){var bn=new BN(privateKey);return bn.cmp(ecparams.n)<0&&!bn.isZero()},exports.privateKeyExport=function(privateKey,compressed){var d=new BN(privateKey);if(0<=d.cmp(ecparams.n)||d.isZero())throw new Error(messages.EC_PRIVATE_KEY_EXPORT_DER_FAIL);return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed,!0))},exports.privateKeyNegate=function(privateKey){var bn=new BN(privateKey);return bn.isZero()?Buffer.alloc(32):ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Buffer,\"be\",32)},exports.privateKeyModInverse=function(privateKey){var bn=new BN(privateKey);if(0<=bn.cmp(ecparams.n)||bn.isZero())throw new Error(messages.EC_PRIVATE_KEY_RANGE_INVALID);return bn.invm(ecparams.n).toArrayLike(Buffer,\"be\",32)},exports.privateKeyTweakAdd=function(privateKey,tweak){var bn=new BN(tweak);if(0<=bn.cmp(ecparams.n))throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);if(bn.iadd(new BN(privateKey)),0<=bn.cmp(ecparams.n)&&bn.isub(ecparams.n),bn.isZero())throw new Error(messages.EC_PRIVATE_KEY_TWEAK_ADD_FAIL);return bn.toArrayLike(Buffer,\"be\",32)},exports.privateKeyTweakMul=function(privateKey,tweak){var bn=new BN(tweak);if(0<=bn.cmp(ecparams.n)||bn.isZero())throw new Error(messages.EC_PRIVATE_KEY_TWEAK_MUL_FAIL);return bn.imul(new BN(privateKey)),bn.cmp(ecparams.n)&&(bn=bn.umod(ecparams.n)),bn.toArrayLike(Buffer,\"be\",32)},exports.publicKeyCreate=function(privateKey,compressed){var d=new BN(privateKey);if(0<=d.cmp(ecparams.n)||d.isZero())throw new Error(messages.EC_PUBLIC_KEY_CREATE_FAIL);return Buffer.from(ec.keyFromPrivate(privateKey).getPublic(compressed,!0))},exports.publicKeyConvert=function(publicKey,compressed){var pair=loadPublicKey(publicKey);if(null===pair)throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL);return Buffer.from(pair.getPublic(compressed,!0))},exports.publicKeyVerify=function(publicKey){return null!==loadPublicKey(publicKey)},exports.publicKeyTweakAdd=function(publicKey,tweak,compressed){var pair=loadPublicKey(publicKey);if(null===pair)throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(tweak=new BN(tweak)).cmp(ecparams.n))throw new Error(messages.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);var point=ecparams.g.mul(tweak).add(pair.pub);if(point.isInfinity())throw new Error(messages.EC_PUBLIC_KEY_TWEAK_ADD_FAIL);return Buffer.from(point.encode(!0,compressed))},exports.publicKeyTweakMul=function(publicKey,tweak,compressed){var pair=loadPublicKey(publicKey);if(null===pair)throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL);if(0<=(tweak=new BN(tweak)).cmp(ecparams.n)||tweak.isZero())throw new Error(messages.EC_PUBLIC_KEY_TWEAK_MUL_FAIL);return Buffer.from(pair.pub.mul(tweak).encode(!0,compressed))},exports.publicKeyCombine=function(publicKeys,compressed){for(var pairs=new Array(publicKeys.length),i=0;i<publicKeys.length;++i)if(pairs[i]=loadPublicKey(publicKeys[i]),null===pairs[i])throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL);for(var point=pairs[0].pub,j=1;j<pairs.length;++j)point=point.add(pairs[j].pub);if(point.isInfinity())throw new Error(messages.EC_PUBLIC_KEY_COMBINE_FAIL);return Buffer.from(point.encode(!0,compressed))},exports.signatureNormalize=function(signature){var r=new BN(signature.slice(0,32)),s=new BN(signature.slice(32,64));if(0<=r.cmp(ecparams.n)||0<=s.cmp(ecparams.n))throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL);var result=Buffer.from(signature);return 1===s.cmp(ec.nh)&&ecparams.n.sub(s).toArrayLike(Buffer,\"be\",32).copy(result,32),result},exports.signatureExport=function(signature){var r=signature.slice(0,32),s=signature.slice(32,64);if(0<=new BN(r).cmp(ecparams.n)||0<=new BN(s).cmp(ecparams.n))throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL);return{r:r,s:s}},exports.signatureImport=function(sigObj){var r=new BN(sigObj.r);0<=r.cmp(ecparams.n)&&(r=new BN(0));var s=new BN(sigObj.s);return 0<=s.cmp(ecparams.n)&&(s=new BN(0)),Buffer.concat([r.toArrayLike(Buffer,\"be\",32),s.toArrayLike(Buffer,\"be\",32)])},exports.sign=function(message,privateKey,noncefn,data){if(\"function\"==typeof noncefn){var getNonce=noncefn;noncefn=function(counter){var nonce=getNonce(message,privateKey,null,data,counter);if(!Buffer.isBuffer(nonce)||32!==nonce.length)throw new Error(messages.ECDSA_SIGN_FAIL);return new BN(nonce)}}var d=new BN(privateKey);if(0<=d.cmp(ecparams.n)||d.isZero())throw new Error(messages.ECDSA_SIGN_FAIL);var result=ec.sign(message,privateKey,{canonical:!0,k:noncefn,pers:data});return{signature:Buffer.concat([result.r.toArrayLike(Buffer,\"be\",32),result.s.toArrayLike(Buffer,\"be\",32)]),recovery:result.recoveryParam}},exports.verify=function(message,signature,publicKey){var sigObj={r:signature.slice(0,32),s:signature.slice(32,64)},sigr=new BN(sigObj.r),sigs=new BN(sigObj.s);if(0<=sigr.cmp(ecparams.n)||0<=sigs.cmp(ecparams.n))throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL);if(1===sigs.cmp(ec.nh)||sigr.isZero()||sigs.isZero())return!1;var pair=loadPublicKey(publicKey);if(null===pair)throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL);return ec.verify(message,sigObj,{x:pair.pub.x,y:pair.pub.y})},exports.recover=function(message,signature,recovery,compressed){var sigObj={r:signature.slice(0,32),s:signature.slice(32,64)},sigr=new BN(sigObj.r),sigs=new BN(sigObj.s);if(0<=sigr.cmp(ecparams.n)||0<=sigs.cmp(ecparams.n))throw new Error(messages.ECDSA_SIGNATURE_PARSE_FAIL);try{if(sigr.isZero()||sigs.isZero())throw new Error;var point=ec.recoverPubKey(message,sigObj,recovery);return Buffer.from(point.encode(!0,compressed))}catch(err){throw new Error(messages.ECDSA_RECOVER_FAIL)}},exports.ecdh=function(publicKey,privateKey){var shared=exports.ecdhUnsafe(publicKey,privateKey,!0);return createHash(\"sha256\").update(shared).digest()},exports.ecdhUnsafe=function(publicKey,privateKey,compressed){var pair=loadPublicKey(publicKey);if(null===pair)throw new Error(messages.EC_PUBLIC_KEY_PARSE_FAIL);var scalar=new BN(privateKey);if(0<=scalar.cmp(ecparams.n)||scalar.isZero())throw new Error(messages.ECDH_FAIL);return Buffer.from(pair.pub.mul(scalar).encode(!0,compressed))}},{\"../messages.json\":\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/messages.json\",\"bn.js\":\"/Users/f/pjs/dhive/node_modules/bn.js/lib/bn.js\",\"create-hash\":\"/Users/f/pjs/dhive/node_modules/create-hash/browser.js\",elliptic:\"/Users/f/pjs/dhive/node_modules/elliptic/lib/elliptic.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/index.js\":[function(_dereq_,module,exports){\"use strict\";var assert=_dereq_(\"./assert\"),der=_dereq_(\"./der\"),messages=_dereq_(\"./messages.json\");function initCompressedValue(value,defaultValue){return void 0===value?defaultValue:(assert.isBoolean(value,messages.COMPRESSED_TYPE_INVALID),value)}module.exports=function(secp256k1){return{privateKeyVerify:function(privateKey){return assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),32===privateKey.length&&secp256k1.privateKeyVerify(privateKey)},privateKeyExport:function(privateKey,compressed){assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),compressed=initCompressedValue(compressed,!0);var publicKey=secp256k1.privateKeyExport(privateKey,compressed);return der.privateKeyExport(privateKey,publicKey,compressed)},privateKeyImport:function(privateKey){if(assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),(privateKey=der.privateKeyImport(privateKey))&&32===privateKey.length&&secp256k1.privateKeyVerify(privateKey))return privateKey;throw new Error(messages.EC_PRIVATE_KEY_IMPORT_DER_FAIL)},privateKeyNegate:function(privateKey){return assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),secp256k1.privateKeyNegate(privateKey)},privateKeyModInverse:function(privateKey){return assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),secp256k1.privateKeyModInverse(privateKey)},privateKeyTweakAdd:function(privateKey,tweak){return assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),assert.isBuffer(tweak,messages.TWEAK_TYPE_INVALID),assert.isBufferLength(tweak,32,messages.TWEAK_LENGTH_INVALID),secp256k1.privateKeyTweakAdd(privateKey,tweak)},privateKeyTweakMul:function(privateKey,tweak){return assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),assert.isBuffer(tweak,messages.TWEAK_TYPE_INVALID),assert.isBufferLength(tweak,32,messages.TWEAK_LENGTH_INVALID),secp256k1.privateKeyTweakMul(privateKey,tweak)},publicKeyCreate:function(privateKey,compressed){return assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),compressed=initCompressedValue(compressed,!0),secp256k1.publicKeyCreate(privateKey,compressed)},publicKeyConvert:function(publicKey,compressed){return assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKey,33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID),compressed=initCompressedValue(compressed,!0),secp256k1.publicKeyConvert(publicKey,compressed)},publicKeyVerify:function(publicKey){return assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),secp256k1.publicKeyVerify(publicKey)},publicKeyTweakAdd:function(publicKey,tweak,compressed){return assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKey,33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID),assert.isBuffer(tweak,messages.TWEAK_TYPE_INVALID),assert.isBufferLength(tweak,32,messages.TWEAK_LENGTH_INVALID),compressed=initCompressedValue(compressed,!0),secp256k1.publicKeyTweakAdd(publicKey,tweak,compressed)},publicKeyTweakMul:function(publicKey,tweak,compressed){return assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKey,33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID),assert.isBuffer(tweak,messages.TWEAK_TYPE_INVALID),assert.isBufferLength(tweak,32,messages.TWEAK_LENGTH_INVALID),compressed=initCompressedValue(compressed,!0),secp256k1.publicKeyTweakMul(publicKey,tweak,compressed)},publicKeyCombine:function(publicKeys,compressed){assert.isArray(publicKeys,messages.EC_PUBLIC_KEYS_TYPE_INVALID),assert.isLengthGTZero(publicKeys,messages.EC_PUBLIC_KEYS_LENGTH_INVALID);for(var i=0;i<publicKeys.length;++i)assert.isBuffer(publicKeys[i],messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKeys[i],33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID);return compressed=initCompressedValue(compressed,!0),secp256k1.publicKeyCombine(publicKeys,compressed)},signatureNormalize:function(signature){return assert.isBuffer(signature,messages.ECDSA_SIGNATURE_TYPE_INVALID),assert.isBufferLength(signature,64,messages.ECDSA_SIGNATURE_LENGTH_INVALID),secp256k1.signatureNormalize(signature)},signatureExport:function(signature){assert.isBuffer(signature,messages.ECDSA_SIGNATURE_TYPE_INVALID),assert.isBufferLength(signature,64,messages.ECDSA_SIGNATURE_LENGTH_INVALID);var sigObj=secp256k1.signatureExport(signature);return der.signatureExport(sigObj)},signatureImport:function(sig){assert.isBuffer(sig,messages.ECDSA_SIGNATURE_TYPE_INVALID),assert.isLengthGTZero(sig,messages.ECDSA_SIGNATURE_LENGTH_INVALID);var sigObj=der.signatureImport(sig);if(sigObj)return secp256k1.signatureImport(sigObj);throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL)},signatureImportLax:function(sig){assert.isBuffer(sig,messages.ECDSA_SIGNATURE_TYPE_INVALID),assert.isLengthGTZero(sig,messages.ECDSA_SIGNATURE_LENGTH_INVALID);var sigObj=der.signatureImportLax(sig);if(sigObj)return secp256k1.signatureImport(sigObj);throw new Error(messages.ECDSA_SIGNATURE_PARSE_DER_FAIL)},sign:function(message,privateKey,options){assert.isBuffer(message,messages.MSG32_TYPE_INVALID),assert.isBufferLength(message,32,messages.MSG32_LENGTH_INVALID),assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID);var data=null,noncefn=null;return void 0!==options&&(assert.isObject(options,messages.OPTIONS_TYPE_INVALID),void 0!==options.data&&(assert.isBuffer(options.data,messages.OPTIONS_DATA_TYPE_INVALID),assert.isBufferLength(options.data,32,messages.OPTIONS_DATA_LENGTH_INVALID),data=options.data),void 0!==options.noncefn&&(assert.isFunction(options.noncefn,messages.OPTIONS_NONCEFN_TYPE_INVALID),noncefn=options.noncefn)),secp256k1.sign(message,privateKey,noncefn,data)},verify:function(message,signature,publicKey){return assert.isBuffer(message,messages.MSG32_TYPE_INVALID),assert.isBufferLength(message,32,messages.MSG32_LENGTH_INVALID),assert.isBuffer(signature,messages.ECDSA_SIGNATURE_TYPE_INVALID),assert.isBufferLength(signature,64,messages.ECDSA_SIGNATURE_LENGTH_INVALID),assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKey,33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID),secp256k1.verify(message,signature,publicKey)},recover:function(message,signature,recovery,compressed){return assert.isBuffer(message,messages.MSG32_TYPE_INVALID),assert.isBufferLength(message,32,messages.MSG32_LENGTH_INVALID),assert.isBuffer(signature,messages.ECDSA_SIGNATURE_TYPE_INVALID),assert.isBufferLength(signature,64,messages.ECDSA_SIGNATURE_LENGTH_INVALID),assert.isNumber(recovery,messages.RECOVERY_ID_TYPE_INVALID),assert.isNumberInInterval(recovery,-1,4,messages.RECOVERY_ID_VALUE_INVALID),compressed=initCompressedValue(compressed,!0),secp256k1.recover(message,signature,recovery,compressed)},ecdh:function(publicKey,privateKey){return assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKey,33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID),assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),secp256k1.ecdh(publicKey,privateKey)},ecdhUnsafe:function(publicKey,privateKey,compressed){return assert.isBuffer(publicKey,messages.EC_PUBLIC_KEY_TYPE_INVALID),assert.isBufferLength2(publicKey,33,65,messages.EC_PUBLIC_KEY_LENGTH_INVALID),assert.isBuffer(privateKey,messages.EC_PRIVATE_KEY_TYPE_INVALID),assert.isBufferLength(privateKey,32,messages.EC_PRIVATE_KEY_LENGTH_INVALID),compressed=initCompressedValue(compressed,!0),secp256k1.ecdhUnsafe(publicKey,privateKey,compressed)}}}},{\"./assert\":\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/assert.js\",\"./der\":\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/der.js\",\"./messages.json\":\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/messages.json\"}],\"/Users/f/pjs/dhive/node_modules/secp256k1/lib/messages.json\":[function(_dereq_,module,exports){module.exports={COMPRESSED_TYPE_INVALID:\"compressed should be a boolean\",EC_PRIVATE_KEY_TYPE_INVALID:\"private key should be a Buffer\",EC_PRIVATE_KEY_LENGTH_INVALID:\"private key length is invalid\",EC_PRIVATE_KEY_RANGE_INVALID:\"private key range is invalid\",EC_PRIVATE_KEY_TWEAK_ADD_FAIL:\"tweak out of range or resulting private key is invalid\",EC_PRIVATE_KEY_TWEAK_MUL_FAIL:\"tweak out of range\",EC_PRIVATE_KEY_EXPORT_DER_FAIL:\"couldn't export to DER format\",EC_PRIVATE_KEY_IMPORT_DER_FAIL:\"couldn't import from DER format\",EC_PUBLIC_KEYS_TYPE_INVALID:\"public keys should be an Array\",EC_PUBLIC_KEYS_LENGTH_INVALID:\"public keys Array should have at least 1 element\",EC_PUBLIC_KEY_TYPE_INVALID:\"public key should be a Buffer\",EC_PUBLIC_KEY_LENGTH_INVALID:\"public key length is invalid\",EC_PUBLIC_KEY_PARSE_FAIL:\"the public key could not be parsed or is invalid\",EC_PUBLIC_KEY_CREATE_FAIL:\"private was invalid, try again\",EC_PUBLIC_KEY_TWEAK_ADD_FAIL:\"tweak out of range or resulting public key is invalid\",EC_PUBLIC_KEY_TWEAK_MUL_FAIL:\"tweak out of range\",EC_PUBLIC_KEY_COMBINE_FAIL:\"the sum of the public keys is not valid\",ECDH_FAIL:\"scalar was invalid (zero or overflow)\",ECDSA_SIGNATURE_TYPE_INVALID:\"signature should be a Buffer\",ECDSA_SIGNATURE_LENGTH_INVALID:\"signature length is invalid\",ECDSA_SIGNATURE_PARSE_FAIL:\"couldn't parse signature\",ECDSA_SIGNATURE_PARSE_DER_FAIL:\"couldn't parse DER signature\",ECDSA_SIGNATURE_SERIALIZE_DER_FAIL:\"couldn't serialize signature to DER format\",ECDSA_SIGN_FAIL:\"nonce generation function failed or private key is invalid\",ECDSA_RECOVER_FAIL:\"couldn't recover public key from signature\",MSG32_TYPE_INVALID:\"message should be a Buffer\",MSG32_LENGTH_INVALID:\"message length is invalid\",OPTIONS_TYPE_INVALID:\"options should be an Object\",OPTIONS_DATA_TYPE_INVALID:\"options.data should be a Buffer\",OPTIONS_DATA_LENGTH_INVALID:\"options.data length is invalid\",OPTIONS_NONCEFN_TYPE_INVALID:\"options.noncefn should be a Function\",RECOVERY_ID_TYPE_INVALID:\"recovery should be a Number\",RECOVERY_ID_VALUE_INVALID:\"recovery should have value between -1 and 4\",TWEAK_TYPE_INVALID:\"tweak should be a Buffer\",TWEAK_LENGTH_INVALID:\"tweak length is invalid\"}},{}],\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\":[function(_dereq_,module,exports){var Buffer=_dereq_(\"safe-buffer\").Buffer;function Hash(blockSize,finalSize){this._block=Buffer.alloc(blockSize),this._finalSize=finalSize,this._blockSize=blockSize,this._len=0}Hash.prototype.update=function(data,enc){\"string\"==typeof data&&(enc=enc||\"utf8\",data=Buffer.from(data,enc));for(var block=this._block,blockSize=this._blockSize,length=data.length,accum=this._len,offset=0;offset<length;){for(var assigned=accum%blockSize,remainder=Math.min(length-offset,blockSize-assigned),i=0;i<remainder;i++)block[assigned+i]=data[offset+i];offset+=remainder,(accum+=remainder)%blockSize==0&&this._update(block)}return this._len+=length,this},Hash.prototype.digest=function(enc){var rem=this._len%this._blockSize;this._block[rem]=128,this._block.fill(0,1+rem),rem>=this._finalSize&&(this._update(this._block),this._block.fill(0));var bits=8*this._len;if(bits<=4294967295)this._block.writeUInt32BE(bits,this._blockSize-4);else{var lowBits=(4294967295&bits)>>>0,highBits=(bits-lowBits)/4294967296;this._block.writeUInt32BE(highBits,this._blockSize-8),this._block.writeUInt32BE(lowBits,this._blockSize-4)}this._update(this._block);var hash=this._hash();return enc?hash.toString(enc):hash},Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},module.exports=Hash},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/index.js\":[function(_dereq_,module,exports){(exports=module.exports=function(algorithm){algorithm=algorithm.toLowerCase();var Algorithm=exports[algorithm];if(!Algorithm)throw new Error(algorithm+\" is not supported (we accept pull requests)\");return new Algorithm}).sha=_dereq_(\"./sha\"),exports.sha1=_dereq_(\"./sha1\"),exports.sha224=_dereq_(\"./sha224\"),exports.sha256=_dereq_(\"./sha256\"),exports.sha384=_dereq_(\"./sha384\"),exports.sha512=_dereq_(\"./sha512\")},{\"./sha\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha.js\",\"./sha1\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha1.js\",\"./sha224\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha224.js\",\"./sha256\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha256.js\",\"./sha384\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha384.js\",\"./sha512\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha512.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/sha.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Hash=_dereq_(\"./hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return 0===s?b&c|~b&d:2===s?b&c|b&d|c&d:b^c^d}inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function(M){for(var W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<80;++i)W[i]=W[i-3]^W[i-8]^W[i-14]^W[i-16];for(var j=0;j<80;++j){var s=~~(j/20),t=0|(a<<5|a>>>27)+ft(s,b,c,d)+e+W[j]+K[s];e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha.prototype._hash=function(){var H=Buffer.allocUnsafe(20);return H.writeInt32BE(0|this._a,0),H.writeInt32BE(0|this._b,4),H.writeInt32BE(0|this._c,8),H.writeInt32BE(0|this._d,12),H.writeInt32BE(0|this._e,16),H},module.exports=Sha},{\"./hash\":\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/sha1.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Hash=_dereq_(\"./hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return 0===s?b&c|~b&d:2===s?b&c|b&d|c&d:b^c^d}inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function(M){for(var num,W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<80;++i)W[i]=(num=W[i-3]^W[i-8]^W[i-14]^W[i-16])<<1|num>>>31;for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha1.prototype._hash=function(){var H=Buffer.allocUnsafe(20);return H.writeInt32BE(0|this._a,0),H.writeInt32BE(0|this._b,4),H.writeInt32BE(0|this._c,8),H.writeInt32BE(0|this._d,12),H.writeInt32BE(0|this._e,16),H},module.exports=Sha1},{\"./hash\":\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/sha224.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Sha256=_dereq_(\"./sha256\"),Hash=_dereq_(\"./hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer,W=new Array(64);function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var H=Buffer.allocUnsafe(28);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H},module.exports=Sha224},{\"./hash\":\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\",\"./sha256\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha256.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/sha256.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Hash=_dereq_(\"./hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer,K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],W=new Array(64);function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}function ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(M){for(var x,W=this._w,a=0|this._a,b=0|this._b,c=0|this._c,d=0|this._d,e=0|this._e,f=0|this._f,g=0|this._g,h=0|this._h,i=0;i<16;++i)W[i]=M.readInt32BE(4*i);for(;i<64;++i)W[i]=0|(((x=W[i-2])>>>17|x<<15)^(x>>>19|x<<13)^x>>>10)+W[i-7]+gamma0(W[i-15])+W[i-16];for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+W[j]|0,T2=sigma0(a)+maj(a,b,c)|0;h=g,g=f,f=e,e=d+T1|0,d=c,c=b,b=a,a=T1+T2|0}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=h+this._h|0},Sha256.prototype._hash=function(){var H=Buffer.allocUnsafe(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},module.exports=Sha256},{\"./hash\":\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/sha384.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),SHA512=_dereq_(\"./sha512\"),Hash=_dereq_(\"./hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer,W=new Array(160);function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var H=Buffer.allocUnsafe(48);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),H},module.exports=Sha384},{\"./hash\":\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\",\"./sha512\":\"/Users/f/pjs/dhive/node_modules/sha.js/sha512.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/sha.js/sha512.js\":[function(_dereq_,module,exports){var inherits=_dereq_(\"inherits\"),Hash=_dereq_(\"./hash\"),Buffer=_dereq_(\"safe-buffer\").Buffer,K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}function Ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25)}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23)}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25)}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26)}function getCarry(a,b){return a>>>0<b>>>0?1:0}inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function(M){for(var W=this._w,ah=0|this._ah,bh=0|this._bh,ch=0|this._ch,dh=0|this._dh,eh=0|this._eh,fh=0|this._fh,gh=0|this._gh,hh=0|this._hh,al=0|this._al,bl=0|this._bl,cl=0|this._cl,dl=0|this._dl,el=0|this._el,fl=0|this._fl,gl=0|this._gl,hl=0|this._hl,i=0;i<32;i+=2)W[i]=M.readInt32BE(4*i),W[i+1]=M.readInt32BE(4*i+4);for(;i<160;i+=2){var xh=W[i-30],xl=W[i-30+1],gamma0=Gamma0(xh,xl),gamma0l=Gamma0l(xl,xh),gamma1=Gamma1(xh=W[i-4],xl=W[i-4+1]),gamma1l=Gamma1l(xl,xh),Wi7h=W[i-14],Wi7l=W[i-14+1],Wi16h=W[i-32],Wi16l=W[i-32+1],Wil=gamma0l+Wi7l|0,Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wih=(Wih=Wih+gamma1+getCarry(Wil=Wil+gamma1l|0,gamma1l)|0)+Wi16h+getCarry(Wil=Wil+Wi16l|0,Wi16l)|0,W[i]=Wih,W[i+1]=Wil}for(var j=0;j<160;j+=2){Wih=W[j],Wil=W[j+1];var majh=maj(ah,bh,ch),majl=maj(al,bl,cl),sigma0h=sigma0(ah,al),sigma0l=sigma0(al,ah),sigma1h=sigma1(eh,el),sigma1l=sigma1(el,eh),Kil=K[j+1],chh=Ch(eh,fh,gh),chl=Ch(el,fl,gl),t1l=hl+sigma1l|0,t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1h=(t1h=(t1h=t1h+chh+getCarry(t1l=t1l+chl|0,chl)|0)+K[j]+getCarry(t1l=t1l+Kil|0,Kil)|0)+Wih+getCarry(t1l=t1l+Wil|0,Wil)|0;var t2l=sigma0l+majl|0,t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,eh=dh+t1h+getCarry(el=dl+t1l|0,dl)|0,dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,ah=t1h+t2h+getCarry(al=t1l+t2l|0,t1l)|0}this._al=this._al+al|0,this._bl=this._bl+bl|0,this._cl=this._cl+cl|0,this._dl=this._dl+dl|0,this._el=this._el+el|0,this._fl=this._fl+fl|0,this._gl=this._gl+gl|0,this._hl=this._hl+hl|0,this._ah=this._ah+ah+getCarry(this._al,al)|0,this._bh=this._bh+bh+getCarry(this._bl,bl)|0,this._ch=this._ch+ch+getCarry(this._cl,cl)|0,this._dh=this._dh+dh+getCarry(this._dl,dl)|0,this._eh=this._eh+eh+getCarry(this._el,el)|0,this._fh=this._fh+fh+getCarry(this._fl,fl)|0,this._gh=this._gh+gh+getCarry(this._gl,gl)|0,this._hh=this._hh+hh+getCarry(this._hl,hl)|0},Sha512.prototype._hash=function(){var H=Buffer.allocUnsafe(64);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),H},module.exports=Sha512},{\"./hash\":\"/Users/f/pjs/dhive/node_modules/sha.js/hash.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js\":[function(_dereq_,module,exports){module.exports=Stream;var EE=_dereq_(\"events\").EventEmitter;function Stream(){EE.call(this)}_dereq_(\"inherits\")(Stream,EE),Stream.Readable=_dereq_(\"readable-stream/readable.js\"),Stream.Writable=_dereq_(\"readable-stream/writable.js\"),Stream.Duplex=_dereq_(\"readable-stream/duplex.js\"),Stream.Transform=_dereq_(\"readable-stream/transform.js\"),Stream.PassThrough=_dereq_(\"readable-stream/passthrough.js\"),(Stream.Stream=Stream).prototype.pipe=function(dest,options){var source=this;function ondata(chunk){dest.writable&&!1===dest.write(chunk)&&source.pause&&source.pause()}function ondrain(){source.readable&&source.resume&&source.resume()}source.on(\"data\",ondata),dest.on(\"drain\",ondrain),dest._isStdio||options&&!1===options.end||(source.on(\"end\",onend),source.on(\"close\",onclose));var didOnEnd=!1;function onend(){didOnEnd||(didOnEnd=!0,dest.end())}function onclose(){didOnEnd||(didOnEnd=!0,\"function\"==typeof dest.destroy&&dest.destroy())}function onerror(er){if(cleanup(),0===EE.listenerCount(this,\"error\"))throw er}function cleanup(){source.removeListener(\"data\",ondata),dest.removeListener(\"drain\",ondrain),source.removeListener(\"end\",onend),source.removeListener(\"close\",onclose),source.removeListener(\"error\",onerror),dest.removeListener(\"error\",onerror),source.removeListener(\"end\",cleanup),source.removeListener(\"close\",cleanup),dest.removeListener(\"close\",cleanup)}return source.on(\"error\",onerror),dest.on(\"error\",onerror),source.on(\"end\",cleanup),source.on(\"close\",cleanup),dest.on(\"close\",cleanup),dest.emit(\"pipe\",source),dest}},{events:\"/Users/f/pjs/dhive/node_modules/events/events.js\",inherits:\"/Users/f/pjs/dhive/node_modules/inherits/inherits_browser.js\",\"readable-stream/duplex.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/duplex-browser.js\",\"readable-stream/passthrough.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/passthrough.js\",\"readable-stream/readable.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/readable-browser.js\",\"readable-stream/transform.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/transform.js\",\"readable-stream/writable.js\":\"/Users/f/pjs/dhive/node_modules/readable-stream/writable-browser.js\"}],\"/Users/f/pjs/dhive/node_modules/string_decoder/lib/string_decoder.js\":[function(_dereq_,module,exports){arguments[4][\"/Users/f/pjs/dhive/node_modules/readable-stream/node_modules/string_decoder/lib/string_decoder.js\"][0].apply(exports,arguments)},{\"safe-buffer\":\"/Users/f/pjs/dhive/node_modules/safe-buffer/index.js\"}],\"/Users/f/pjs/dhive/node_modules/timers-browserify/main.js\":[function(_dereq_,module,exports){(function(setImmediate,clearImmediate){var nextTick=_dereq_(\"process/browser.js\").nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;function Timeout(id,clearFn){this._id=id,this._clearFn=clearFn}exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(timeout){timeout.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId),item._idleTimeout=msecs},exports.unenroll=function(item){clearTimeout(item._idleTimeoutId),item._idleTimeout=-1},exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;0<=msecs&&(item._idleTimeoutId=setTimeout(function(){item._onTimeout&&item._onTimeout()},msecs))},exports.setImmediate=\"function\"==typeof setImmediate?setImmediate:function(fn){var id=nextImmediateId++,args=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[id]=!0,nextTick(function(){immediateIds[id]&&(args?fn.apply(null,args):fn.call(null),exports.clearImmediate(id))}),id},exports.clearImmediate=\"function\"==typeof clearImmediate?clearImmediate:function(id){delete immediateIds[id]}}).call(this,_dereq_(\"timers\").setImmediate,_dereq_(\"timers\").clearImmediate)},{\"process/browser.js\":\"/Users/f/pjs/dhive/node_modules/process/browser.js\",timers:\"/Users/f/pjs/dhive/node_modules/timers-browserify/main.js\"}],\"/Users/f/pjs/dhive/node_modules/util-deprecate/browser.js\":[function(_dereq_,module,exports){(function(global){function config(name){try{if(!global.localStorage)return}catch(_){return}var val=global.localStorage[name];return null!=val&&\"true\"===String(val).toLowerCase()}module.exports=function(fn,msg){if(config(\"noDeprecation\"))return fn;var warned=!1;return function(){if(!warned){if(config(\"throwDeprecation\"))throw new Error(msg);config(\"traceDeprecation\"),warned=!0}return fn.apply(this,arguments)}}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],\"/Users/f/pjs/dhive/node_modules/util/node_modules/inherits/inherits_browser.js\":[function(_dereq_,module,exports){arguments[4][\"/Users/f/pjs/dhive/node_modules/assert/node_modules/inherits/inherits_browser.js\"][0].apply(exports,arguments)},{}],\"/Users/f/pjs/dhive/node_modules/util/support/isBufferBrowser.js\":[function(_dereq_,module,exports){arguments[4][\"/Users/f/pjs/dhive/node_modules/assert/node_modules/util/support/isBufferBrowser.js\"][0].apply(exports,arguments)},{}],\"/Users/f/pjs/dhive/node_modules/util/util.js\":[function(_dereq_,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){for(var objects=[],i=0;i<arguments.length;i++)objects.push(inspect(arguments[i]));return objects.join(\" \")}i=1;for(var args=arguments,len=args.length,str=String(f).replace(formatRegExp,function(x){if(\"%%\"===x)return\"%\";if(len<=i)return x;switch(x){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x}}),x=args[i];i<len;x=args[++i])isNull(x)||!isObject(x)?str+=\" \"+x:str+=\" \"+inspect(x);return str},exports.deprecate=function(fn,msg){if(isUndefined(global.process))return function(){return exports.deprecate(fn,msg).apply(this,arguments)};if(!0===process.noDeprecation)return fn;var warned=!1;return function(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation,warned=!0}return fn.apply(this,arguments)}};var debugEnviron,debugs={};function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return 3<=arguments.length&&(ctx.depth=arguments[2]),4<=arguments.length&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];return style?\"\u001b[\"+inspect.colors[style][0]+\"m\"+str+\"\u001b[\"+inspect.colors[style][1]+\"m\":str}function stylizeNoColor(str,styleType){return str}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=function(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}return isNumber(value)?ctx.stylize(\"\"+value,\"number\"):isBoolean(value)?ctx.stylize(\"\"+value,\"boolean\"):isNull(value)?ctx.stylize(\"null\",\"null\"):void 0}(ctx,value);if(primitive)return primitive;var hash,keys=Object.keys(value),visibleKeys=(hash={},keys.forEach(function(val,idx){hash[val]=!0}),hash);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(0<=keys.indexOf(\"message\")||0<=keys.indexOf(\"description\")))return formatError(value);if(0===keys.length){if(isFunction(value)){var name=value.name?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var output,base=\"\",array=!1,braces=[\"{\",\"}\"];return isArray(value)&&(array=!0,braces=[\"[\",\"]\"]),isFunction(value)&&(base=\" [Function\"+(value.name?\": \"+value.name:\"\")+\"]\"),isRegExp(value)&&(base=\" \"+RegExp.prototype.toString.call(value)),isDate(value)&&(base=\" \"+Date.prototype.toUTCString.call(value)),isError(value)&&(base=\" \"+formatError(value)),0!==keys.length||array&&0!=value.length?recurseTimes<0?isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\"):ctx.stylize(\"[Object]\",\"special\"):(ctx.seen.push(value),output=array?function(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i<l;++i)hasOwnProperty(value,String(i))?output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0)):output.push(\"\");return keys.forEach(function(key){key.match(/^\\d+$/)||output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}(ctx,value,recurseTimes,visibleKeys,keys):keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)}),ctx.seen.pop(),function(output,base,braces){return 60<output.reduce(function(prev,cur){return cur.indexOf(\"\\n\"),prev+cur.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)?braces[0]+(\"\"===base?\"\":base+\"\\n \")+\" \"+output.join(\",\\n \")+\" \"+braces[1]:braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}(output,base,braces)):braces[0]+base+braces[1]}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if((desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]}).get?str=desc.set?ctx.stylize(\"[Getter/Setter]\",\"special\"):ctx.stylize(\"[Getter]\",\"special\"):desc.set&&(str=ctx.stylize(\"[Setter]\",\"special\")),hasOwnProperty(visibleKeys,key)||(name=\"[\"+key+\"]\"),str||(ctx.seen.indexOf(desc.value)<0?-1<(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1)).indexOf(\"\\n\")&&(str=array?str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\").substr(2):\"\\n\"+str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\")):str=ctx.stylize(\"[Circular]\",\"special\")),isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;name=(name=JSON.stringify(\"\"+key)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(name=name.substr(1,name.length-2),ctx.stylize(name,\"name\")):(name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),ctx.stylize(name,\"string\"))}return name+\": \"+str}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return\"boolean\"==typeof arg}function isNull(arg){return null===arg}function isNumber(arg){return\"number\"==typeof arg}function isString(arg){return\"string\"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&\"[object RegExp]\"===objectToString(re)}function isObject(arg){return\"object\"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&\"[object Date]\"===objectToString(d)}function isError(e){return isObject(e)&&(\"[object Error]\"===objectToString(e)||e instanceof Error)}function isFunction(arg){return\"function\"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}exports.debuglog=function(set){return isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||\"\"),set=set.toUpperCase(),debugs[set]||(new RegExp(\"\\\\b\"+set+\"\\\\b\",\"i\").test(debugEnviron)?(process.pid,debugs[set]=function(){exports.format.apply(exports,arguments)}):debugs[set]=function(){}),debugs[set]},(exports.inspect=inspect).colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=function(arg){return null==arg},exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=function(arg){return\"symbol\"==typeof arg},exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=function(arg){return null===arg||\"boolean\"==typeof arg||\"number\"==typeof arg||\"string\"==typeof arg||\"symbol\"==typeof arg||void 0===arg},exports.isBuffer=_dereq_(\"./support/isBuffer\"),exports.log=function(){},exports.inherits=_dereq_(\"inherits\"),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin}}).call(this,_dereq_(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":\"/Users/f/pjs/dhive/node_modules/util/support/isBufferBrowser.js\",_process:\"/Users/f/pjs/dhive/node_modules/process/browser.js\",inherits:\"/Users/f/pjs/dhive/node_modules/util/node_modules/inherits/inherits_browser.js\"}],\"/Users/f/pjs/dhive/node_modules/verror/lib/verror.js\":[function(_dereq_,module,exports){var mod_assertplus=_dereq_(\"assert-plus\"),mod_util=_dereq_(\"util\"),mod_extsprintf=_dereq_(\"extsprintf\"),mod_isError=_dereq_(\"core-util-is\").isError,sprintf=mod_extsprintf.sprintf;function parseConstructorArguments(args){var argv,options,sprintf_args,k;if(mod_assertplus.object(args,\"args\"),mod_assertplus.bool(args.strict,\"args.strict\"),mod_assertplus.array(args.argv,\"args.argv\"),0===(argv=args.argv).length)options={},sprintf_args=[];else if(mod_isError(argv[0]))options={cause:argv[0]},sprintf_args=argv.slice(1);else if(\"object\"==typeof argv[0]){for(k in options={},argv[0])options[k]=argv[0][k];sprintf_args=argv.slice(1)}else mod_assertplus.string(argv[0],\"first argument to VError, SError, or WError constructor must be a string, object, or Error\"),options={},sprintf_args=argv;return mod_assertplus.object(options),options.strict||args.strict||(sprintf_args=sprintf_args.map(function(a){return null===a?\"null\":void 0===a?\"undefined\":a})),{options:options,shortmessage:0===sprintf_args.length?\"\":sprintf.apply(null,sprintf_args)}}function VError(){var args,obj,parsed,cause,ctor,message,k;if(args=Array.prototype.slice.call(arguments,0),!(this instanceof VError))return obj=Object.create(VError.prototype),VError.apply(obj,arguments),obj;if((parsed=parseConstructorArguments({argv:args,strict:!1})).options.name&&(mod_assertplus.string(parsed.options.name,'error\\'s \"name\" must be a string'),this.name=parsed.options.name),this.jse_shortmsg=parsed.shortmessage,message=parsed.shortmessage,(cause=parsed.options.cause)&&(mod_assertplus.ok(mod_isError(cause),\"cause is not an Error\"),this.jse_cause=cause,parsed.options.skipCauseMessage||(message+=\": \"+cause.message)),this.jse_info={},parsed.options.info)for(k in parsed.options.info)this.jse_info[k]=parsed.options.info[k];return this.message=message,Error.call(this,message),Error.captureStackTrace&&(ctor=parsed.options.constructorOpt||this.constructor,Error.captureStackTrace(this,ctor)),this}function SError(){var args,obj,parsed,options;return args=Array.prototype.slice.call(arguments,0),this instanceof SError?(options=(parsed=parseConstructorArguments({argv:args,strict:!0})).options,VError.call(this,options,\"%s\",parsed.shortmessage),this):(obj=Object.create(SError.prototype),SError.apply(obj,arguments),obj)}function MultiError(errors){mod_assertplus.array(errors,\"list of errors\"),mod_assertplus.ok(0<errors.length,\"must be at least one error\"),this.ase_errors=errors,VError.call(this,{cause:errors[0]},\"first of %d error%s\",errors.length,1==errors.length?\"\":\"s\")}function WError(){var args,obj,parsed,options;return args=Array.prototype.slice.call(arguments,0),this instanceof WError?((options=(parsed=parseConstructorArguments({argv:args,strict:!1})).options).skipCauseMessage=!0,VError.call(this,options,\"%s\",parsed.shortmessage),this):(obj=Object.create(WError.prototype),WError.apply(obj,args),obj)}((module.exports=VError).VError=VError).SError=SError,VError.WError=WError,VError.MultiError=MultiError,mod_util.inherits(VError,Error),VError.prototype.name=\"VError\",VError.prototype.toString=function(){var str=this.hasOwnProperty(\"name\")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(str+=\": \"+this.message),str},VError.prototype.cause=function(){var cause=VError.cause(this);return null===cause?void 0:cause},VError.cause=function(err){return mod_assertplus.ok(mod_isError(err),\"err must be an Error\"),mod_isError(err.jse_cause)?err.jse_cause:null},VError.info=function(err){var rv,cause,k;if(mod_assertplus.ok(mod_isError(err),\"err must be an Error\"),rv=null!==(cause=VError.cause(err))?VError.info(cause):{},\"object\"==typeof err.jse_info&&null!==err.jse_info)for(k in err.jse_info)rv[k]=err.jse_info[k];return rv},VError.findCauseByName=function(err,name){var cause;for(mod_assertplus.ok(mod_isError(err),\"err must be an Error\"),mod_assertplus.string(name,\"name\"),mod_assertplus.ok(0<name.length,\"name cannot be empty\"),cause=err;null!==cause;cause=VError.cause(cause))if(mod_assertplus.ok(mod_isError(cause)),cause.name==name)return cause;return null},VError.hasCauseWithName=function(err,name){return null!==VError.findCauseByName(err,name)},VError.fullStack=function(err){mod_assertplus.ok(mod_isError(err),\"err must be an Error\");var cause=VError.cause(err);return cause?err.stack+\"\\ncaused by: \"+VError.fullStack(cause):err.stack},VError.errorFromList=function(errors){return mod_assertplus.arrayOfObject(errors,\"errors\"),0===errors.length?null:(errors.forEach(function(e){mod_assertplus.ok(mod_isError(e))}),1==errors.length?errors[0]:new MultiError(errors))},VError.errorForEach=function(err,func){mod_assertplus.ok(mod_isError(err),\"err must be an Error\"),mod_assertplus.func(func,\"func\"),err instanceof MultiError?err.errors().forEach(function(e){func(e)}):func(err)},mod_util.inherits(SError,VError),mod_util.inherits(MultiError,VError),MultiError.prototype.name=\"MultiError\",MultiError.prototype.errors=function(){return this.ase_errors.slice(0)},mod_util.inherits(WError,VError),WError.prototype.name=\"WError\",WError.prototype.toString=function(){var str=this.hasOwnProperty(\"name\")&&this.name||this.constructor.name||this.constructor.prototype.name;return this.message&&(str+=\": \"+this.message),this.jse_cause&&this.jse_cause.message&&(str+=\"; caused by \"+this.jse_cause.toString()),str},WError.prototype.cause=function(c){return mod_isError(c)&&(this.jse_cause=c),this.jse_cause}},{\"assert-plus\":\"/Users/f/pjs/dhive/node_modules/assert-plus/assert.js\",\"core-util-is\":\"/Users/f/pjs/dhive/node_modules/core-util-is/lib/util.js\",extsprintf:\"/Users/f/pjs/dhive/node_modules/extsprintf/lib/extsprintf.js\",util:\"/Users/f/pjs/dhive/node_modules/util/util.js\"}],\"/Users/f/pjs/dhive/node_modules/vm-browserify/index.js\":[function(_dereq_,module,exports){var indexOf=function(xs,item){if(xs.indexOf)return xs.indexOf(item);for(var i=0;i<xs.length;i++)if(xs[i]===item)return i;return-1},Object_keys=function(obj){if(Object.keys)return Object.keys(obj);var res=[];for(var key in obj)res.push(key);return res},forEach=function(xs,fn){if(xs.forEach)return xs.forEach(fn);for(var i=0;i<xs.length;i++)fn(xs[i],i,xs)},defineProp=function(){try{return Object.defineProperty({},\"_\",{}),function(obj,name,value){Object.defineProperty(obj,name,{writable:!0,enumerable:!1,configurable:!0,value:value})}}catch(e){return function(obj,name,value){obj[name]=value}}}(),globals=[\"Array\",\"Boolean\",\"Date\",\"Error\",\"EvalError\",\"Function\",\"Infinity\",\"JSON\",\"Math\",\"NaN\",\"Number\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"String\",\"SyntaxError\",\"TypeError\",\"URIError\",\"decodeURI\",\"decodeURIComponent\",\"encodeURI\",\"encodeURIComponent\",\"escape\",\"eval\",\"isFinite\",\"isNaN\",\"parseFloat\",\"parseInt\",\"undefined\",\"unescape\"];function Context(){}Context.prototype={};var Script=exports.Script=function(code){if(!(this instanceof Script))return new Script(code);this.code=code};Script.prototype.runInContext=function(context){if(!(context instanceof Context))throw new TypeError(\"needs a 'context' argument.\");var iframe=document.createElement(\"iframe\");iframe.style||(iframe.style={}),iframe.style.display=\"none\",document.body.appendChild(iframe);var win=iframe.contentWindow,wEval=win.eval,wExecScript=win.execScript;!wEval&&wExecScript&&(wExecScript.call(win,\"null\"),wEval=win.eval),forEach(Object_keys(context),function(key){win[key]=context[key]}),forEach(globals,function(key){context[key]&&(win[key]=context[key])});var winKeys=Object_keys(win),res=wEval.call(win,this.code);return forEach(Object_keys(win),function(key){(key in context||-1===indexOf(winKeys,key))&&(context[key]=win[key])}),forEach(globals,function(key){key in context||defineProp(context,key,win[key])}),document.body.removeChild(iframe),res},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function(context){var ctx=Script.createContext(context),res=this.runInContext(ctx);return context&&forEach(Object_keys(ctx),function(key){context[key]=ctx[key]}),res},forEach(Object_keys(Script.prototype),function(name){exports[name]=Script[name]=function(code){var s=Script(code);return s[name].apply(s,[].slice.call(arguments,1))}}),exports.isContext=function(context){return context instanceof Context},exports.createScript=function(code){return exports.Script(code)},exports.createContext=Script.createContext=function(context){var copy=new Context;return\"object\"==typeof context&&forEach(Object_keys(context),function(key){copy[key]=context[key]}),copy}},{}],\"/Users/f/pjs/dhive/node_modules/whatwg-fetch/dist/fetch.umd.js\":[function(_dereq_,module,exports){var factory;factory=function(exports){\"use strict\";var support_searchParams=\"URLSearchParams\"in self,support_iterable=\"Symbol\"in self&&\"iterator\"in Symbol,support_blob=\"FileReader\"in self&&\"Blob\"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),support_formData=\"FormData\"in self,support_arrayBuffer=\"ArrayBuffer\"in self;if(support_arrayBuffer)var viewClasses=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],isArrayBufferView=ArrayBuffer.isView||function(obj){return obj&&-1<viewClasses.indexOf(Object.prototype.toString.call(obj))};function normalizeName(name){if(\"string\"!=typeof name&&(name=String(name)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name))throw new TypeError(\"Invalid character in header field name\");return name.toLowerCase()}function normalizeValue(value){return\"string\"!=typeof value&&(value=String(value)),value}function iteratorFor(items){var iterator={next:function(){var value=items.shift();return{done:void 0===value,value:value}}};return support_iterable&&(iterator[Symbol.iterator]=function(){return iterator}),iterator}function Headers(headers){this.map={},headers instanceof Headers?headers.forEach(function(value,name){this.append(name,value)},this):Array.isArray(headers)?headers.forEach(function(header){this.append(header[0],header[1])},this):headers&&Object.getOwnPropertyNames(headers).forEach(function(name){this.append(name,headers[name])},this)}function consumed(body){if(body.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));body.bodyUsed=!0}function fileReaderReady(reader){return new Promise(function(resolve,reject){reader.onload=function(){resolve(reader.result)},reader.onerror=function(){reject(reader.error)}})}function readBlobAsArrayBuffer(blob){var reader=new FileReader,promise=fileReaderReady(reader);return reader.readAsArrayBuffer(blob),promise}function bufferClone(buf){if(buf.slice)return buf.slice(0);var view=new Uint8Array(buf.byteLength);return view.set(new Uint8Array(buf)),view.buffer}function Body(){return this.bodyUsed=!1,this._initBody=function(body){(this._bodyInit=body)?\"string\"==typeof body?this._bodyText=body:support_blob&&Blob.prototype.isPrototypeOf(body)?this._bodyBlob=body:support_formData&&FormData.prototype.isPrototypeOf(body)?this._bodyFormData=body:support_searchParams&&URLSearchParams.prototype.isPrototypeOf(body)?this._bodyText=body.toString():support_arrayBuffer&&support_blob&&body&&DataView.prototype.isPrototypeOf(body)?(this._bodyArrayBuffer=bufferClone(body.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):support_arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(body)||isArrayBufferView(body))?this._bodyArrayBuffer=bufferClone(body):this._bodyText=body=Object.prototype.toString.call(body):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof body?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):support_searchParams&&URLSearchParams.prototype.isPrototypeOf(body)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},support_blob&&(this.blob=function(){var rejected=consumed(this);if(rejected)return rejected;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?consumed(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(readBlobAsArrayBuffer)}),this.text=function(){var blob,reader,promise,rejected=consumed(this);if(rejected)return rejected;if(this._bodyBlob)return blob=this._bodyBlob,promise=fileReaderReady(reader=new FileReader),reader.readAsText(blob),promise;if(this._bodyArrayBuffer)return Promise.resolve(function(buf){for(var view=new Uint8Array(buf),chars=new Array(view.length),i=0;i<view.length;i++)chars[i]=String.fromCharCode(view[i]);return chars.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},support_formData&&(this.formData=function(){return this.text().then(decode)}),this.json=function(){return this.text().then(JSON.parse)},this}Headers.prototype.append=function(name,value){name=normalizeName(name),value=normalizeValue(value);var oldValue=this.map[name];this.map[name]=oldValue?oldValue+\", \"+value:value},Headers.prototype.delete=function(name){delete this.map[normalizeName(name)]},Headers.prototype.get=function(name){return name=normalizeName(name),this.has(name)?this.map[name]:null},Headers.prototype.has=function(name){return this.map.hasOwnProperty(normalizeName(name))},Headers.prototype.set=function(name,value){this.map[normalizeName(name)]=normalizeValue(value)},Headers.prototype.forEach=function(callback,thisArg){for(var name in this.map)this.map.hasOwnProperty(name)&&callback.call(thisArg,this.map[name],name,this)},Headers.prototype.keys=function(){var items=[];return this.forEach(function(value,name){items.push(name)}),iteratorFor(items)},Headers.prototype.values=function(){var items=[];return this.forEach(function(value){items.push(value)}),iteratorFor(items)},Headers.prototype.entries=function(){var items=[];return this.forEach(function(value,name){items.push([name,value])}),iteratorFor(items)},support_iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);var methods=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function Request(input,options){var method,upcased,body=(options=options||{}).body;if(input instanceof Request){if(input.bodyUsed)throw new TypeError(\"Already read\");this.url=input.url,this.credentials=input.credentials,options.headers||(this.headers=new Headers(input.headers)),this.method=input.method,this.mode=input.mode,this.signal=input.signal,body||null==input._bodyInit||(body=input._bodyInit,input.bodyUsed=!0)}else this.url=String(input);if(this.credentials=options.credentials||this.credentials||\"same-origin\",!options.headers&&this.headers||(this.headers=new Headers(options.headers)),this.method=(upcased=(method=options.method||this.method||\"GET\").toUpperCase(),-1<methods.indexOf(upcased)?upcased:method),this.mode=options.mode||this.mode||null,this.signal=options.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&body)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(body)}function decode(body){var form=new FormData;return body.trim().split(\"&\").forEach(function(bytes){if(bytes){var split=bytes.split(\"=\"),name=split.shift().replace(/\\+/g,\" \"),value=split.join(\"=\").replace(/\\+/g,\" \");form.append(decodeURIComponent(name),decodeURIComponent(value))}}),form}function Response(bodyInit,options){options=options||{},this.type=\"default\",this.status=void 0===options.status?200:options.status,this.ok=200<=this.status&&this.status<300,this.statusText=\"statusText\"in options?options.statusText:\"OK\",this.headers=new Headers(options.headers),this.url=options.url||\"\",this._initBody(bodyInit)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},Body.call(Request.prototype),Body.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var response=new Response(null,{status:0,statusText:\"\"});return response.type=\"error\",response};var redirectStatuses=[301,302,303,307,308];Response.redirect=function(url,status){if(-1===redirectStatuses.indexOf(status))throw new RangeError(\"Invalid status code\");return new Response(null,{status:status,headers:{location:url}})},exports.DOMException=self.DOMException;try{new exports.DOMException}catch(err){exports.DOMException=function(message,name){this.message=message,this.name=name;var error=Error(message);this.stack=error.stack},exports.DOMException.prototype=Object.create(Error.prototype),exports.DOMException.prototype.constructor=exports.DOMException}function fetch(input,init){return new Promise(function(resolve,reject){var request=new Request(input,init);if(request.signal&&request.signal.aborted)return reject(new exports.DOMException(\"Aborted\",\"AbortError\"));var xhr=new XMLHttpRequest;function abortXhr(){xhr.abort()}xhr.onload=function(){var rawHeaders,headers,options={status:xhr.status,statusText:xhr.statusText,headers:(rawHeaders=xhr.getAllResponseHeaders()||\"\",headers=new Headers,rawHeaders.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach(function(line){var parts=line.split(\":\"),key=parts.shift().trim();if(key){var value=parts.join(\":\").trim();headers.append(key,value)}}),headers)};options.url=\"responseURL\"in xhr?xhr.responseURL:options.headers.get(\"X-Request-URL\");var body=\"response\"in xhr?xhr.response:xhr.responseText;resolve(new Response(body,options))},xhr.onerror=function(){reject(new TypeError(\"Network request failed\"))},xhr.ontimeout=function(){reject(new TypeError(\"Network request failed\"))},xhr.onabort=function(){reject(new exports.DOMException(\"Aborted\",\"AbortError\"))},xhr.open(request.method,request.url,!0),\"include\"===request.credentials?xhr.withCredentials=!0:\"omit\"===request.credentials&&(xhr.withCredentials=!1),\"responseType\"in xhr&&support_blob&&(xhr.responseType=\"blob\"),request.headers.forEach(function(value,name){xhr.setRequestHeader(name,value)}),request.signal&&(request.signal.addEventListener(\"abort\",abortXhr),xhr.onreadystatechange=function(){4===xhr.readyState&&request.signal.removeEventListener(\"abort\",abortXhr)}),xhr.send(void 0===request._bodyInit?null:request._bodyInit)})}fetch.polyfill=!0,self.fetch||(self.fetch=fetch,self.Headers=Headers,self.Request=Request,self.Response=Response),exports.Headers=Headers,exports.Request=Request,exports.Response=Response,exports.fetch=fetch,Object.defineProperty(exports,\"__esModule\",{value:!0})},\"object\"==typeof exports&&void 0!==module?factory(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],factory):factory(this.WHATWGFetch={})},{}],\"/Users/f/pjs/dhive/src/chain/account.ts\":[function(_dereq_,module,exports){\"use strict\";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,\"__esModule\",{value:!0});var crypto_1=_dereq_(\"../crypto\"),Authority=function(){function Authority(_ref){var weight_threshold=_ref.weight_threshold,account_auths=_ref.account_auths,key_auths=_ref.key_auths;!function(instance){if(!(instance instanceof Authority))throw new TypeError(\"Cannot call a class as a function\")}(this),this.weight_threshold=weight_threshold,this.account_auths=account_auths,this.key_auths=key_auths}var Constructor,staticProps;return Constructor=Authority,staticProps=[{key:\"from\",value:function(value){return value instanceof Authority?value:\"string\"==typeof value||value instanceof crypto_1.PublicKey?new Authority({account_auths:[],key_auths:[[value,1]],weight_threshold:1}):new Authority(value)}}],null&&_defineProperties(Constructor.prototype,null),_defineProperties(Constructor,staticProps),Authority}();exports.Authority=Authority},{\"../crypto\":\"/Users/f/pjs/dhive/src/crypto.ts\"}],\"/Users/f/pjs/dhive/src/chain/asset.ts\":[function(_dereq_,module,exports){\"use strict\";function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}Object.defineProperty(exports,\"__esModule\",{value:!0});var assert=_dereq_(\"assert\"),Asset=function(){function Asset(amount,symbol){_classCallCheck(this,Asset),this.amount=amount,this.symbol=symbol}return _createClass(Asset,[{key:\"getPrecision\",value:function(){switch(this.symbol){case\"TESTS\":case\"TBD\":case\"HIVE\":case\"HBD\":case\"SBD\":case\"STEEM\":return 3;case\"VESTS\":return 6}}},{key:\"steem_symbols\",value:function(){switch(this.symbol){case\"HIVE\":return Asset.from(this.amount,\"STEEM\");case\"HBD\":return Asset.from(this.amount,\"SBD\");default:return this}}},{key:\"toString\",value:function(){return\"\".concat(this.amount.toFixed(this.getPrecision()),\" \").concat(this.symbol)}},{key:\"add\",value:function(amount){var other=Asset.from(amount,this.symbol);return assert(this.symbol===other.symbol,\"can not add with different symbols\"),new Asset(this.amount+other.amount,this.symbol)}},{key:\"subtract\",value:function(amount){var other=Asset.from(amount,this.symbol);return assert(this.symbol===other.symbol,\"can not subtract with different symbols\"),new Asset(this.amount-other.amount,this.symbol)}},{key:\"multiply\",value:function(factor){var other=Asset.from(factor,this.symbol);return assert(this.symbol===other.symbol,\"can not multiply with different symbols\"),new Asset(this.amount*other.amount,this.symbol)}},{key:\"divide\",value:function(divisor){var other=Asset.from(divisor,this.symbol);return assert(this.symbol===other.symbol,\"can not divide with different symbols\"),new Asset(this.amount/other.amount,this.symbol)}},{key:\"toJSON\",value:function(){return this.toString()}}],[{key:\"fromString\",value:function(string,expectedSymbol){var arr,i,_string$split2=(arr=string.split(\" \"),i=2,function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(arr)){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}}(arr,i)||function(o,minLen){if(o){if(\"string\"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return\"Object\"===n&&o.constructor&&(n=o.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}(arr,i)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),amountString=_string$split2[0],symbol=_string$split2[1];if(![\"HIVE\",\"VESTS\",\"HBD\",\"TESTS\",\"TBD\",\"SBD\",\"STEEM\"].includes(symbol))throw new Error(\"Invalid asset symbol: \".concat(symbol));if(expectedSymbol&&symbol!==expectedSymbol)throw new Error(\"Invalid asset, expected symbol: \".concat(expectedSymbol,\" got: \").concat(symbol));var amount=Number.parseFloat(amountString);if(!Number.isFinite(amount))throw new Error(\"Invalid asset amount: \".concat(amountString));return new Asset(amount,symbol)}},{key:\"from\",value:function(value,symbol){if(value instanceof Asset){if(symbol&&value.symbol!==symbol)throw new Error(\"Invalid asset, expected symbol: \".concat(symbol,\" got: \").concat(value.symbol));return value}if(\"number\"==typeof value&&Number.isFinite(value))return new Asset(value,symbol||\"STEEM\");if(\"string\"==typeof value)return Asset.fromString(value,symbol);throw new Error(\"Invalid asset '\".concat(String(value),\"'\"))}},{key:\"min\",value:function(a,b){return assert(a.symbol===b.symbol,\"can not compare assets with different symbols\"),a.amount<b.amount?a:b}},{key:\"max\",value:function(a,b){return assert(a.symbol===b.symbol,\"can not compare assets with different symbols\"),a.amount>b.amount?a:b}}]),Asset}();exports.Asset=Asset;var Price=function(){function Price(base,quote){_classCallCheck(this,Price),this.base=base,this.quote=quote,assert(0!==base.amount&&0!==quote.amount,\"base and quote assets must be non-zero\"),assert(base.symbol!==quote.symbol,\"base and quote can not have the same symbol\")}return _createClass(Price,[{key:\"toString\",value:function(){return\"\".concat(this.base,\":\").concat(this.quote)}},{key:\"convert\",value:function(asset){if(asset.symbol===this.base.symbol)return assert(0<this.base.amount),new Asset(asset.amount*this.quote.amount/this.base.amount,this.quote.symbol);if(asset.symbol===this.quote.symbol)return assert(0<this.quote.amount),new Asset(asset.amount*this.base.amount/this.quote.amount,this.base.symbol);throw new Error(\"Can not convert \".concat(asset,\" with \").concat(this))}}],[{key:\"from\",value:function(value){return value instanceof Price?value:new Price(Asset.from(value.base),Asset.from(value.quote))}}]),Price}();exports.Price=Price},{assert:\"/Users/f/pjs/dhive/node_modules/assert/assert.js\"}],\"/Users/f/pjs/dhive/src/chain/misc.ts\":[function(_dereq_,module,exports){(function(Buffer){\"use strict\";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,\"__esModule\",{value:!0});var asset_1=_dereq_(\"./asset\"),HexBuffer=function(){function HexBuffer(buffer){!function(instance){if(!(instance instanceof HexBuffer))throw new TypeError(\"Cannot call a class as a function\")}(this),this.buffer=buffer}var Constructor,staticProps;return staticProps=[{key:\"from\",value:function(value){return value instanceof HexBuffer?value:new HexBuffer(value instanceof Buffer?value:\"string\"==typeof value?Buffer.from(value,\"hex\"):Buffer.from(value))}}],_defineProperties((Constructor=HexBuffer).prototype,[{key:\"toString\",value:function(argument_0){var encoding=0<arguments.length&&void 0!==argument_0?argument_0:\"hex\";return this.buffer.toString(encoding)}},{key:\"toJSON\",value:function(){return this.toString()}}]),_defineProperties(Constructor,staticProps),HexBuffer}();exports.HexBuffer=HexBuffer,exports.getVestingSharePrice=function(props){var totalVestingFund=asset_1.Asset.from(props.total_vesting_fund_hive),totalVestingShares=asset_1.Asset.from(props.total_vesting_shares);return 0===totalVestingFund.amount||0===totalVestingShares.amount?new asset_1.Price(new asset_1.Asset(1,\"VESTS\"),new asset_1.Asset(1,\"HIVE\")):new asset_1.Price(totalVestingShares,totalVestingFund)},exports.getVests=function(account){var subtract_delegated=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],add_received=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],vests=asset_1.Asset.from(account.vesting_shares),vests_delegated=asset_1.Asset.from(account.delegated_vesting_shares),vests_received=asset_1.Asset.from(account.received_vesting_shares),withdraw_rate=asset_1.Asset.from(account.vesting_withdraw_rate),already_withdrawn=(Number(account.to_withdraw)-Number(account.withdrawn))/1e6,withdraw_vests=Math.min(withdraw_rate.amount,already_withdrawn);return vests=vests.subtract(withdraw_vests),subtract_delegated&&(vests=vests.subtract(vests_delegated)),add_received&&(vests=vests.add(vests_received)),vests.amount}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./asset\":\"/Users/f/pjs/dhive/src/chain/asset.ts\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/src/chain/serializer.ts\":[function(_dereq_,module,exports){(function(Buffer){\"use strict\";function _createForOfIteratorHelper(o){if(\"undefined\"==typeof Symbol||null==o[Symbol.iterator]){if(Array.isArray(o)||(o=_unsupportedIterableToArray(o))){var i=0,F=function(){};return{s:F,n:function(){return i>=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(_e2){throw _e2},f:F}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var it,err,normalCompletion=!0,didErr=!1;return{s:function(){it=o[Symbol.iterator]()},n:function(){var step=it.next();return normalCompletion=step.done,step},e:function(_e3){didErr=!0,err=_e3},f:function(){try{normalCompletion||null==it.return||it.return()}finally{if(didErr)throw err}}}}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(arr)){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}}(arr,i)||_unsupportedIterableToArray(arr,i)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _unsupportedIterableToArray(o,minLen){if(o){if(\"string\"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return\"Object\"===n&&o.constructor&&(n=o.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}Object.defineProperty(exports,\"__esModule\",{value:!0});function VoidSerializer(){throw new Error(\"Void can not be serialized\")}function StringSerializer(buffer,data){buffer.writeVString(data)}function Int16Serializer(buffer,data){buffer.writeInt16(data)}function Int64Serializer(buffer,data){buffer.writeInt64(data)}function UInt16Serializer(buffer,data){buffer.writeUint16(data)}function UInt32Serializer(buffer,data){buffer.writeUint32(data)}function UInt64Serializer(buffer,data){buffer.writeUint64(data)}function BooleanSerializer(buffer,data){buffer.writeByte(data?1:0)}function StaticVariantSerializer(itemSerializers){return function(buffer,data){var _data=_slicedToArray(data,2),id=_data[0],item=_data[1];buffer.writeVarint32(id),itemSerializers[id](buffer,item)}}function AssetSerializer(buffer,data){var asset=asset_1.Asset.from(data).steem_symbols(),precision=asset.getPrecision();buffer.writeInt64(Math.round(asset.amount*Math.pow(10,precision))),buffer.writeUint8(precision);for(var i=0;i<7;i++)buffer.writeUint8(asset.symbol.charCodeAt(i)||0)}function DateSerializer(buffer,data){buffer.writeUint32(Math.floor(new Date(data+\"Z\").getTime()/1e3))}function PublicKeySerializer(buffer,data){null===data||\"string\"==typeof data&&data.endsWith(\"1111111111111111111111111111111114T1Anm\")?buffer.append(Buffer.alloc(33,0)):buffer.append(crypto_1.PublicKey.from(data).key)}function BinarySerializer(size){return function(buffer,data){var len=(data=misc_1.HexBuffer.from(data)).buffer.length;if(size){if(len!==size)throw new Error(\"Unable to serialize binary. Expected \".concat(size,\" bytes, got \").concat(len))}else buffer.writeVarint32(len);buffer.append(data.buffer)}}function FlatMapSerializer(keySerializer,valueSerializer){return function(buffer,data){buffer.writeVarint32(data.length);var _step,_iterator=_createForOfIteratorHelper(data);try{for(_iterator.s();!(_step=_iterator.n()).done;){var _step$value=_slicedToArray(_step.value,2),key=_step$value[0],value=_step$value[1];keySerializer(buffer,key),valueSerializer(buffer,value)}}catch(err){_iterator.e(err)}finally{_iterator.f()}}}function ArraySerializer(itemSerializer){return function(buffer,data){buffer.writeVarint32(data.length);var _step2,_iterator2=_createForOfIteratorHelper(data);try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var item=_step2.value;itemSerializer(buffer,item)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}}function ObjectSerializer(keySerializers){return function(buffer,data){var _step3,_iterator3=_createForOfIteratorHelper(keySerializers);try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _step3$value=_slicedToArray(_step3.value,2),key=_step3$value[0],serializer=_step3$value[1];try{serializer(buffer,data[key])}catch(error){throw error.message=\"\".concat(key,\": \").concat(error.message),error}}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}}function OptionalSerializer(valueSerializer){return function(buffer,data){data?(buffer.writeByte(1),valueSerializer(buffer,data)):buffer.writeByte(0)}}function OperationDataSerializer(operationId,definitions){var objectSerializer=ObjectSerializer(definitions);return function(buffer,data){buffer.writeVarint32(operationId),objectSerializer(buffer,data)}}var crypto_1=_dereq_(\"../crypto\"),asset_1=_dereq_(\"./asset\"),misc_1=_dereq_(\"./misc\"),VariableBinarySerializer=BinarySerializer(),AuthoritySerializer=ObjectSerializer([[\"weight_threshold\",UInt32Serializer],[\"account_auths\",FlatMapSerializer(StringSerializer,UInt16Serializer)],[\"key_auths\",FlatMapSerializer(PublicKeySerializer,UInt16Serializer)]]),BeneficiarySerializer=ObjectSerializer([[\"account\",StringSerializer],[\"weight\",UInt16Serializer]]),PriceSerializer=ObjectSerializer([[\"base\",AssetSerializer],[\"quote\",AssetSerializer]]),ProposalUpdateSerializer=ObjectSerializer([[\"end_date\",DateSerializer]]),SignedBlockHeaderSerializer=ObjectSerializer([[\"previous\",BinarySerializer(20)],[\"timestamp\",DateSerializer],[\"witness\",StringSerializer],[\"transaction_merkle_root\",BinarySerializer(20)],[\"extensions\",ArraySerializer(VoidSerializer)],[\"witness_signature\",BinarySerializer(65)]]),ChainPropertiesSerializer=ObjectSerializer([[\"account_creation_fee\",AssetSerializer],[\"maximum_block_size\",UInt32Serializer],[\"hbd_interest_rate\",UInt16Serializer]]),OperationSerializers={};OperationSerializers.account_create=OperationDataSerializer(9,[[\"fee\",AssetSerializer],[\"creator\",StringSerializer],[\"new_account_name\",StringSerializer],[\"owner\",AuthoritySerializer],[\"active\",AuthoritySerializer],[\"posting\",AuthoritySerializer],[\"memo_key\",PublicKeySerializer],[\"json_metadata\",StringSerializer]]),OperationSerializers.account_create_with_delegation=OperationDataSerializer(41,[[\"fee\",AssetSerializer],[\"delegation\",AssetSerializer],[\"creator\",StringSerializer],[\"new_account_name\",StringSerializer],[\"owner\",AuthoritySerializer],[\"active\",AuthoritySerializer],[\"posting\",AuthoritySerializer],[\"memo_key\",PublicKeySerializer],[\"json_metadata\",StringSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.account_update=OperationDataSerializer(10,[[\"account\",StringSerializer],[\"owner\",OptionalSerializer(AuthoritySerializer)],[\"active\",OptionalSerializer(AuthoritySerializer)],[\"posting\",OptionalSerializer(AuthoritySerializer)],[\"memo_key\",PublicKeySerializer],[\"json_metadata\",StringSerializer]]),OperationSerializers.account_witness_proxy=OperationDataSerializer(13,[[\"account\",StringSerializer],[\"proxy\",StringSerializer]]),OperationSerializers.account_witness_vote=OperationDataSerializer(12,[[\"account\",StringSerializer],[\"witness\",StringSerializer],[\"approve\",BooleanSerializer]]),OperationSerializers.cancel_transfer_from_savings=OperationDataSerializer(34,[[\"from\",StringSerializer],[\"request_id\",UInt32Serializer]]),OperationSerializers.change_recovery_account=OperationDataSerializer(26,[[\"account_to_recover\",StringSerializer],[\"new_recovery_account\",StringSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.claim_account=OperationDataSerializer(22,[[\"creator\",StringSerializer],[\"fee\",AssetSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.claim_reward_balance=OperationDataSerializer(39,[[\"account\",StringSerializer],[\"reward_hive\",AssetSerializer],[\"reward_hbd\",AssetSerializer],[\"reward_vests\",AssetSerializer]]),OperationSerializers.comment=OperationDataSerializer(1,[[\"parent_author\",StringSerializer],[\"parent_permlink\",StringSerializer],[\"author\",StringSerializer],[\"permlink\",StringSerializer],[\"title\",StringSerializer],[\"body\",StringSerializer],[\"json_metadata\",StringSerializer]]),OperationSerializers.comment_options=OperationDataSerializer(19,[[\"author\",StringSerializer],[\"permlink\",StringSerializer],[\"max_accepted_payout\",AssetSerializer],[\"percent_hbd\",UInt16Serializer],[\"allow_votes\",BooleanSerializer],[\"allow_curation_rewards\",BooleanSerializer],[\"extensions\",ArraySerializer(StaticVariantSerializer([ObjectSerializer([[\"beneficiaries\",ArraySerializer(BeneficiarySerializer)]])]))]]),OperationSerializers.convert=OperationDataSerializer(8,[[\"owner\",StringSerializer],[\"requestid\",UInt32Serializer],[\"amount\",AssetSerializer]]),OperationSerializers.create_claimed_account=OperationDataSerializer(23,[[\"creator\",StringSerializer],[\"new_account_name\",StringSerializer],[\"owner\",AuthoritySerializer],[\"active\",AuthoritySerializer],[\"posting\",AuthoritySerializer],[\"memo_key\",PublicKeySerializer],[\"json_metadata\",StringSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.custom=OperationDataSerializer(15,[[\"required_auths\",ArraySerializer(StringSerializer)],[\"id\",UInt16Serializer],[\"data\",VariableBinarySerializer]]),OperationSerializers.custom_binary=OperationDataSerializer(35,[[\"required_owner_auths\",ArraySerializer(StringSerializer)],[\"required_active_auths\",ArraySerializer(StringSerializer)],[\"required_posting_auths\",ArraySerializer(StringSerializer)],[\"required_auths\",ArraySerializer(AuthoritySerializer)],[\"id\",StringSerializer],[\"data\",VariableBinarySerializer]]),OperationSerializers.custom_json=OperationDataSerializer(18,[[\"required_auths\",ArraySerializer(StringSerializer)],[\"required_posting_auths\",ArraySerializer(StringSerializer)],[\"id\",StringSerializer],[\"json\",StringSerializer]]),OperationSerializers.decline_voting_rights=OperationDataSerializer(36,[[\"account\",StringSerializer],[\"decline\",BooleanSerializer]]),OperationSerializers.delegate_vesting_shares=OperationDataSerializer(40,[[\"delegator\",StringSerializer],[\"delegatee\",StringSerializer],[\"vesting_shares\",AssetSerializer]]),OperationSerializers.delete_comment=OperationDataSerializer(17,[[\"author\",StringSerializer],[\"permlink\",StringSerializer]]),OperationSerializers.escrow_approve=OperationDataSerializer(31,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"agent\",StringSerializer],[\"who\",StringSerializer],[\"escrow_id\",UInt32Serializer],[\"approve\",BooleanSerializer]]),OperationSerializers.escrow_dispute=OperationDataSerializer(28,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"agent\",StringSerializer],[\"who\",StringSerializer],[\"escrow_id\",UInt32Serializer]]),OperationSerializers.escrow_release=OperationDataSerializer(29,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"agent\",StringSerializer],[\"who\",StringSerializer],[\"receiver\",StringSerializer],[\"escrow_id\",UInt32Serializer],[\"hbd_amount\",AssetSerializer],[\"hive_amount\",AssetSerializer]]),OperationSerializers.escrow_transfer=OperationDataSerializer(27,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"hbd_amount\",AssetSerializer],[\"hive_amount\",AssetSerializer],[\"escrow_id\",UInt32Serializer],[\"agent\",StringSerializer],[\"fee\",AssetSerializer],[\"json_meta\",StringSerializer],[\"ratification_deadline\",DateSerializer],[\"escrow_expiration\",DateSerializer]]),OperationSerializers.feed_publish=OperationDataSerializer(7,[[\"publisher\",StringSerializer],[\"exchange_rate\",PriceSerializer]]),OperationSerializers.limit_order_cancel=OperationDataSerializer(6,[[\"owner\",StringSerializer],[\"orderid\",UInt32Serializer]]),OperationSerializers.limit_order_create=OperationDataSerializer(5,[[\"owner\",StringSerializer],[\"orderid\",UInt32Serializer],[\"amount_to_sell\",AssetSerializer],[\"min_to_receive\",AssetSerializer],[\"fill_or_kill\",BooleanSerializer],[\"expiration\",DateSerializer]]),OperationSerializers.limit_order_create2=OperationDataSerializer(21,[[\"owner\",StringSerializer],[\"orderid\",UInt32Serializer],[\"amount_to_sell\",AssetSerializer],[\"fill_or_kill\",BooleanSerializer],[\"exchange_rate\",PriceSerializer],[\"expiration\",DateSerializer]]),OperationSerializers.recover_account=OperationDataSerializer(25,[[\"account_to_recover\",StringSerializer],[\"new_owner_authority\",AuthoritySerializer],[\"recent_owner_authority\",AuthoritySerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.report_over_production=OperationDataSerializer(16,[[\"reporter\",StringSerializer],[\"first_block\",SignedBlockHeaderSerializer],[\"second_block\",SignedBlockHeaderSerializer]]),OperationSerializers.request_account_recovery=OperationDataSerializer(24,[[\"recovery_account\",StringSerializer],[\"account_to_recover\",StringSerializer],[\"new_owner_authority\",AuthoritySerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.reset_account=OperationDataSerializer(37,[[\"reset_account\",StringSerializer],[\"account_to_reset\",StringSerializer],[\"new_owner_authority\",AuthoritySerializer]]),OperationSerializers.set_reset_account=OperationDataSerializer(38,[[\"account\",StringSerializer],[\"current_reset_account\",StringSerializer],[\"reset_account\",StringSerializer]]),OperationSerializers.set_withdraw_vesting_route=OperationDataSerializer(20,[[\"from_account\",StringSerializer],[\"to_account\",StringSerializer],[\"percent\",UInt16Serializer],[\"auto_vest\",BooleanSerializer]]),OperationSerializers.transfer=OperationDataSerializer(2,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"amount\",AssetSerializer],[\"memo\",StringSerializer]]),OperationSerializers.transfer_from_savings=OperationDataSerializer(33,[[\"from\",StringSerializer],[\"request_id\",UInt32Serializer],[\"to\",StringSerializer],[\"amount\",AssetSerializer],[\"memo\",StringSerializer]]),OperationSerializers.transfer_to_savings=OperationDataSerializer(32,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"amount\",AssetSerializer],[\"memo\",StringSerializer]]),OperationSerializers.transfer_to_vesting=OperationDataSerializer(3,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"amount\",AssetSerializer]]),OperationSerializers.vote=OperationDataSerializer(0,[[\"voter\",StringSerializer],[\"author\",StringSerializer],[\"permlink\",StringSerializer],[\"weight\",Int16Serializer]]),OperationSerializers.withdraw_vesting=OperationDataSerializer(4,[[\"account\",StringSerializer],[\"vesting_shares\",AssetSerializer]]),OperationSerializers.witness_update=OperationDataSerializer(11,[[\"owner\",StringSerializer],[\"url\",StringSerializer],[\"block_signing_key\",PublicKeySerializer],[\"props\",ChainPropertiesSerializer],[\"fee\",AssetSerializer]]),OperationSerializers.witness_set_properties=OperationDataSerializer(42,[[\"owner\",StringSerializer],[\"props\",FlatMapSerializer(StringSerializer,VariableBinarySerializer)],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.account_update2=OperationDataSerializer(43,[[\"account\",StringSerializer],[\"owner\",OptionalSerializer(AuthoritySerializer)],[\"active\",OptionalSerializer(AuthoritySerializer)],[\"posting\",OptionalSerializer(AuthoritySerializer)],[\"memo_key\",OptionalSerializer(PublicKeySerializer)],[\"json_metadata\",StringSerializer],[\"posting_json_metadata\",StringSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.create_proposal=OperationDataSerializer(44,[[\"creator\",StringSerializer],[\"receiver\",StringSerializer],[\"start_date\",DateSerializer],[\"end_date\",DateSerializer],[\"daily_pay\",AssetSerializer],[\"subject\",StringSerializer],[\"permlink\",StringSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.update_proposal_votes=OperationDataSerializer(45,[[\"voter\",StringSerializer],[\"proposal_ids\",ArraySerializer(Int64Serializer)],[\"approve\",BooleanSerializer],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.remove_proposal=OperationDataSerializer(46,[[\"proposal_owner\",StringSerializer],[\"proposal_ids\",ArraySerializer(Int64Serializer)],[\"extensions\",ArraySerializer(VoidSerializer)]]),OperationSerializers.update_proposal=OperationDataSerializer(47,[[\"proposal_id\",UInt64Serializer],[\"creator\",StringSerializer],[\"daily_pay\",AssetSerializer],[\"subject\",StringSerializer],[\"permlink\",StringSerializer],[\"extensions\",ArraySerializer(StaticVariantSerializer([VoidSerializer,ProposalUpdateSerializer]))]]),OperationSerializers.collateralized_convert=OperationDataSerializer(48,[[\"owner\",StringSerializer],[\"requestid\",UInt32Serializer],[\"amount\",AssetSerializer]]),OperationSerializers.recurrent_transfer=OperationDataSerializer(49,[[\"from\",StringSerializer],[\"to\",StringSerializer],[\"amount\",AssetSerializer],[\"memo\",StringSerializer],[\"recurrence\",UInt16Serializer],[\"executions\",UInt16Serializer],[\"extensions\",ArraySerializer(VoidSerializer)]]);function OperationSerializer(buffer,operation){var serializer=OperationSerializers[operation[0]];if(!serializer)throw new Error(\"No serializer for operation: \".concat(operation[0]));try{serializer(buffer,operation[1])}catch(error){throw error.message=\"\".concat(operation[0],\": \").concat(error.message),error}}var TransactionSerializer=ObjectSerializer([[\"ref_block_num\",UInt16Serializer],[\"ref_block_prefix\",UInt32Serializer],[\"expiration\",DateSerializer],[\"operations\",ArraySerializer(OperationSerializer)],[\"extensions\",ArraySerializer(StringSerializer)]]);exports.Types={Array:ArraySerializer,Asset:AssetSerializer,Authority:AuthoritySerializer,Binary:BinarySerializer,Boolean:BooleanSerializer,Date:DateSerializer,FlatMap:FlatMapSerializer,Int16:Int16Serializer,Int32:function(buffer,data){buffer.writeInt32(data)},Int64:Int64Serializer,Int8:function(buffer,data){buffer.writeInt8(data)},Object:ObjectSerializer,Operation:OperationSerializer,Optional:OptionalSerializer,Price:PriceSerializer,PublicKey:PublicKeySerializer,StaticVariant:StaticVariantSerializer,String:StringSerializer,Transaction:TransactionSerializer,UInt16:UInt16Serializer,UInt32:UInt32Serializer,UInt64:UInt64Serializer,UInt8:function(buffer,data){buffer.writeUint8(data)},Void:VoidSerializer}}).call(this,_dereq_(\"buffer\").Buffer)},{\"../crypto\":\"/Users/f/pjs/dhive/src/crypto.ts\",\"./asset\":\"/Users/f/pjs/dhive/src/chain/asset.ts\",\"./misc\":\"/Users/f/pjs/dhive/src/chain/misc.ts\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/src/client.ts\":[function(_dereq_,module,exports){(function(Buffer){\"use strict\";function _typeof(obj){return(_typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&\"function\"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?\"symbol\":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,\"__esModule\",{value:!0});var assert=_dereq_(\"assert\"),verror_1=_dereq_(\"verror\"),version_1=_dereq_(\"./version\"),blockchain_1=_dereq_(\"./helpers/blockchain\"),broadcast_1=_dereq_(\"./helpers/broadcast\"),database_1=_dereq_(\"./helpers/database\"),hivemind_1=_dereq_(\"./helpers/hivemind\"),rc_1=_dereq_(\"./helpers/rc\"),utils_1=_dereq_(\"./utils\");exports.VERSION=version_1.default,exports.DEFAULT_CHAIN_ID=Buffer.from(\"beeab0de00000000000000000000000000000000000000000000000000000000\",\"hex\"),exports.DEFAULT_ADDRESS_PREFIX=\"STM\";var Client=function(){function Client(address){var options=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};!function(instance){if(!(instance instanceof Client))throw new TypeError(\"Cannot call a class as a function\")}(this),options.rebrandedApi,this.currentAddress=Array.isArray(address)?address[0]:address,this.address=address,this.options=options,this.chainId=options.chainId?Buffer.from(options.chainId,\"hex\"):exports.DEFAULT_CHAIN_ID,assert.equal(this.chainId.length,32,\"invalid chain id\"),this.addressPrefix=options.addressPrefix||exports.DEFAULT_ADDRESS_PREFIX,this.timeout=options.timeout||6e4,this.backoff=options.backoff||defaultBackoff,this.failoverThreshold=options.failoverThreshold||3,this.consoleOnFailover=options.consoleOnFailover||!1,this.database=new database_1.DatabaseAPI(this),this.broadcast=new broadcast_1.BroadcastAPI(this),this.blockchain=new blockchain_1.Blockchain(this),this.rc=new rc_1.RCAPI(this),this.hivemind=new hivemind_1.HivemindAPI(this)}var Constructor,staticProps;return staticProps=[{key:\"testnet\",value:function(options){var opts={};return options&&((opts=utils_1.copy(options)).agent=options.agent),opts.addressPrefix=\"STM\",opts.chainId=\"beeab0de00000000000000000000000000000000000000000000000000000000\",new Client(\"https://testnet.openhive.network\",opts)}}],_defineProperties((Constructor=Client).prototype,[{key:\"call\",value:function(api,method,argument_2){var thisArg,_arguments,P,generator,params=2<arguments.length&&void 0!==argument_2?argument_2:[];return thisArg=this,P=_arguments=void 0,generator=regeneratorRuntime.mark(function _callee(){var request,body,opts,fetchTimeout,_yield$utils_1$retryi,response,currentAddress,formatValue,data,message,top,topData,unformattedData;return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return request=\"bridge\"===api?{id:0,jsonrpc:\"2.0\",method:api+\".\"+method,params:params}:{id:\"0\",jsonrpc:\"2.0\",method:\"call\",params:[api,method,params]},body=JSON.stringify(request,function(key,value){return value&&\"object\"===_typeof(value)&&\"Buffer\"===value.type?Buffer.from(value.data).toString(\"hex\"):value}),opts={body:body,cache:\"no-cache\",headers:{Accept:\"application/json, text/plain, */*\",\"Content-Type\":\"application/json\"},method:\"POST\",mode:\"cors\"},void 0===(\"undefined\"==typeof self?\"undefined\":_typeof(self))&&(opts.headers={\"User-Agent\":\"dhive/\".concat(version_1.default)}),this.options.agent&&(opts.agent=this.options.agent),\"network_broadcast_api\"===api||method.startsWith(\"broadcast_transaction\")||(fetchTimeout=function(tries){return 500*(tries+1)}),_context.next=8,utils_1.retryingFetch(this.currentAddress,this.address,opts,this.timeout,this.failoverThreshold,this.consoleOnFailover,this.backoff,fetchTimeout);case 8:if(_yield$utils_1$retryi=_context.sent,response=_yield$utils_1$retryi.response,(currentAddress=_yield$utils_1$retryi.currentAddress)!==this.currentAddress&&(this.currentAddress=currentAddress),response.error)throw formatValue=function(value){switch(_typeof(value)){case\"object\":return JSON.stringify(value);default:return String(value)}},data=response.error.data,message=response.error.message,data&&data.stack&&0<data.stack.length&&(top=data.stack[0],topData=utils_1.copy(top.data),message=top.format.replace(/\\$\\{([a-z_]+)\\}/gi,function(match,key){var rv=match;return topData[key]&&(rv=formatValue(topData[key]),delete topData[key]),rv}),0<(unformattedData=Object.keys(topData).map(function(key){return{key:key,value:formatValue(topData[key])}}).map(function(item){return\"\".concat(item.key,\"=\").concat(item.value)})).length&&(message+=\" \"+unformattedData.join(\" \"))),new verror_1.VError({info:data,name:\"RPCError\"},message);_context.next=18;break;case 18:return assert.equal(response.id,request.id,\"got invalid response id\"),_context.abrupt(\"return\",response.result);case 20:case\"end\":return _context.stop()}},_callee,this)}),new(P=P||Promise)(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):((value=result.value)instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}},{key:\"updateOperations\",value:function(){}}]),_defineProperties(Constructor,staticProps),Client}();exports.Client=Client;var defaultBackoff=function(tries){return Math.min(Math.pow(10*tries,2),1e4)}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./helpers/blockchain\":\"/Users/f/pjs/dhive/src/helpers/blockchain.ts\",\"./helpers/broadcast\":\"/Users/f/pjs/dhive/src/helpers/broadcast.ts\",\"./helpers/database\":\"/Users/f/pjs/dhive/src/helpers/database.ts\",\"./helpers/hivemind\":\"/Users/f/pjs/dhive/src/helpers/hivemind.ts\",\"./helpers/rc\":\"/Users/f/pjs/dhive/src/helpers/rc.ts\",\"./utils\":\"/Users/f/pjs/dhive/src/utils.ts\",\"./version\":\"/Users/f/pjs/dhive/lib/version.js\",assert:\"/Users/f/pjs/dhive/node_modules/assert/assert.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",verror:\"/Users/f/pjs/dhive/node_modules/verror/lib/verror.js\"}],\"/Users/f/pjs/dhive/src/crypto.ts\":[function(_dereq_,module,exports){(function(Buffer){\"use strict\";function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}Object.defineProperty(exports,\"__esModule\",{value:!0});var assert=_dereq_(\"assert\"),bs58=_dereq_(\"bs58\"),ByteBuffer=_dereq_(\"bytebuffer\"),crypto_1=_dereq_(\"crypto\"),secp256k1=_dereq_(\"secp256k1\"),verror_1=_dereq_(\"verror\"),serializer_1=_dereq_(\"./chain/serializer\"),client_1=_dereq_(\"./client\"),utils_1=_dereq_(\"./utils\");function ripemd160(input){return crypto_1.createHash(\"ripemd160\").update(input).digest()}function sha256(input){return crypto_1.createHash(\"sha256\").update(input).digest()}function doubleSha256(input){return sha256(sha256(input))}function encodePublic(key,prefix){var checksum=ripemd160(key);return prefix+bs58.encode(Buffer.concat([key,checksum.slice(0,4)]))}function encodePrivate(key){assert.equal(key.readUInt8(0),128,\"private key network id mismatch\");var checksum=doubleSha256(key);return bs58.encode(Buffer.concat([key,checksum.slice(0,4)]))}function decodePrivate(encodedKey){var buffer=bs58.decode(encodedKey);assert.deepEqual(buffer.slice(0,1),exports.NETWORK_ID,\"private key network id mismatch\");var checksum=buffer.slice(-4),key=buffer.slice(0,-4),checksumVerify=doubleSha256(key).slice(0,4);return assert.deepEqual(checksumVerify,checksum,\"private key checksum mismatch\"),key}function isCanonicalSignature(signature){return!(128&signature[0]||0===signature[0]&&!(128&signature[1])||128&signature[32]||0===signature[32]&&!(128&signature[33]))}exports.NETWORK_ID=Buffer.from([128]);var PublicKey=function(){function PublicKey(key){var prefix=1<arguments.length&&void 0!==arguments[1]?arguments[1]:client_1.DEFAULT_ADDRESS_PREFIX;_classCallCheck(this,PublicKey),this.key=key,this.prefix=prefix,assert(secp256k1.publicKeyVerify(key),\"invalid public key\")}return _createClass(PublicKey,[{key:\"verify\",value:function(message,signature){return secp256k1.verify(message,signature.data,this.key)}},{key:\"toString\",value:function(){return encodePublic(this.key,this.prefix)}},{key:\"toJSON\",value:function(){return this.toString()}},{key:\"inspect\",value:function(){return\"PublicKey: \".concat(this.toString())}}],[{key:\"fromString\",value:function(wif){var _decodePublic=function(encodedKey){var prefix=encodedKey.slice(0,3);assert.equal(prefix.length,3,\"public key invalid prefix\"),encodedKey=encodedKey.slice(3);var buffer=bs58.decode(encodedKey),checksum=buffer.slice(-4),key=buffer.slice(0,-4),checksumVerify=ripemd160(key).slice(0,4);return assert.deepEqual(checksumVerify,checksum,\"public key checksum mismatch\"),{key:key,prefix:prefix}}(wif);return new PublicKey(_decodePublic.key,_decodePublic.prefix)}},{key:\"from\",value:function(value){return value instanceof PublicKey?value:PublicKey.fromString(value)}}]),PublicKey}();exports.PublicKey=PublicKey;var PrivateKey=function(){function PrivateKey(key){_classCallCheck(this,PrivateKey),this.key=key,assert(secp256k1.privateKeyVerify(key),\"invalid private key\")}return _createClass(PrivateKey,[{key:\"sign\",value:function(message){var rv,attempts=0;do{var options={data:sha256(Buffer.concat([message,Buffer.alloc(1,++attempts)]))};rv=secp256k1.sign(message,this.key,options)}while(!isCanonicalSignature(rv.signature));return new Signature(rv.signature,rv.recovery)}},{key:\"createPublic\",value:function(prefix){return new PublicKey(secp256k1.publicKeyCreate(this.key),prefix)}},{key:\"toString\",value:function(){return encodePrivate(Buffer.concat([exports.NETWORK_ID,this.key]))}},{key:\"inspect\",value:function(){var key=this.toString();return\"PrivateKey: \".concat(key.slice(0,6),\"...\").concat(key.slice(-6))}}],[{key:\"from\",value:function(value){return\"string\"==typeof value?PrivateKey.fromString(value):new PrivateKey(value)}},{key:\"fromString\",value:function(wif){return new PrivateKey(decodePrivate(wif).slice(1))}},{key:\"fromSeed\",value:function(seed){return new PrivateKey(sha256(seed))}},{key:\"fromLogin\",value:function(username,password,argument_2){return PrivateKey.fromSeed(username+(2<arguments.length&&void 0!==argument_2?argument_2:\"active\")+password)}}]),PrivateKey}();exports.PrivateKey=PrivateKey;var Signature=function(){function Signature(data,recovery){_classCallCheck(this,Signature),this.data=data,this.recovery=recovery,assert.equal(data.length,64,\"invalid signature\")}return _createClass(Signature,[{key:\"recover\",value:function(message,prefix){return new PublicKey(secp256k1.recover(message,this.data,this.recovery),prefix)}},{key:\"toBuffer\",value:function(){var buffer=Buffer.alloc(65);return buffer.writeUInt8(this.recovery+31,0),this.data.copy(buffer,1),buffer}},{key:\"toString\",value:function(){return this.toBuffer().toString(\"hex\")}}],[{key:\"fromBuffer\",value:function(buffer){assert.equal(buffer.length,65,\"invalid signature\");var recovery=buffer.readUInt8(0)-31;return new Signature(buffer.slice(1),recovery)}},{key:\"fromString\",value:function(string){return Signature.fromBuffer(Buffer.from(string,\"hex\"))}}]),Signature}();function transactionDigest(transaction){var chainId=1<arguments.length&&void 0!==arguments[1]?arguments[1]:client_1.DEFAULT_CHAIN_ID,buffer=new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY,ByteBuffer.LITTLE_ENDIAN);try{serializer_1.Types.Transaction(buffer,transaction)}catch(cause){throw new verror_1.VError({cause:cause,name:\"SerializationError\"},\"Unable to serialize transaction\")}buffer.flip();var transactionData=Buffer.from(buffer.toBuffer());return sha256(Buffer.concat([chainId,transactionData]))}exports.Signature=Signature,exports.cryptoUtils={decodePrivate:decodePrivate,doubleSha256:doubleSha256,encodePrivate:encodePrivate,encodePublic:encodePublic,isCanonicalSignature:isCanonicalSignature,isWif:function(privWif){try{var bufWif=new Buffer(bs58.decode(privWif)),privKey=bufWif.slice(0,-4),checksum=bufWif.slice(-4),newChecksum=sha256(privKey);return newChecksum=(newChecksum=sha256(newChecksum)).slice(0,4),checksum.toString()===newChecksum.toString()}catch(e){return!1}},ripemd160:ripemd160,sha256:sha256,signTransaction:function(transaction,keys){var digest=transactionDigest(transaction,2<arguments.length&&void 0!==arguments[2]?arguments[2]:client_1.DEFAULT_CHAIN_ID),signedTransaction=utils_1.copy(transaction);signedTransaction.signatures||(signedTransaction.signatures=[]),Array.isArray(keys)||(keys=[keys]);var _step,_iterator=function(o){if(\"undefined\"==typeof Symbol||null==o[Symbol.iterator]){if(Array.isArray(o)||(o=function(o){if(o){if(\"string\"==typeof o)return _arrayLikeToArray(o,void 0);var n=Object.prototype.toString.call(o).slice(8,-1);return\"Object\"===n&&o.constructor&&(n=o.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,void 0):void 0}}(o))){var i=0,F=function(){};return{s:F,n:function(){return i>=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(_e){throw _e},f:F}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var it,err,normalCompletion=!0,didErr=!1;return{s:function(){it=o[Symbol.iterator]()},n:function(){var step=it.next();return normalCompletion=step.done,step},e:function(_e2){didErr=!0,err=_e2},f:function(){try{normalCompletion||null==it.return||it.return()}finally{if(didErr)throw err}}}}(keys);try{for(_iterator.s();!(_step=_iterator.n()).done;){var signature=_step.value.sign(digest);signedTransaction.signatures.push(signature.toString())}}catch(err){_iterator.e(err)}finally{_iterator.f()}return signedTransaction},transactionDigest:transactionDigest}}).call(this,_dereq_(\"buffer\").Buffer)},{\"./chain/serializer\":\"/Users/f/pjs/dhive/src/chain/serializer.ts\",\"./client\":\"/Users/f/pjs/dhive/src/client.ts\",\"./utils\":\"/Users/f/pjs/dhive/src/utils.ts\",assert:\"/Users/f/pjs/dhive/node_modules/assert/assert.js\",bs58:\"/Users/f/pjs/dhive/node_modules/bs58/index.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\",bytebuffer:\"/Users/f/pjs/dhive/node_modules/bytebuffer/dist/bytebuffer.js\",crypto:\"/Users/f/pjs/dhive/node_modules/crypto-browserify/index.js\",secp256k1:\"/Users/f/pjs/dhive/node_modules/secp256k1/elliptic.js\",verror:\"/Users/f/pjs/dhive/node_modules/verror/lib/verror.js\"}],\"/Users/f/pjs/dhive/src/helpers/blockchain.ts\":[function(_dereq_,module,exports){\"use strict\";function _createForOfIteratorHelper(o){if(\"undefined\"==typeof Symbol||null==o[Symbol.iterator]){if(Array.isArray(o)||(o=function(o){if(o){if(\"string\"==typeof o)return _arrayLikeToArray(o,void 0);var n=Object.prototype.toString.call(o).slice(8,-1);return\"Object\"===n&&o.constructor&&(n=o.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,void 0):void 0}}(o))){var i=0,F=function(){};return{s:F,n:function(){return i>=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(_e){throw _e},f:F}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var it,err,normalCompletion=!0,didErr=!1;return{s:function(){it=o[Symbol.iterator]()},n:function(){var step=it.next();return normalCompletion=step.done,step},e:function(_e2){didErr=!0,err=_e2},f:function(){try{normalCompletion||null==it.return||it.return()}finally{if(didErr)throw err}}}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function __awaiter(thisArg,_arguments,P,generator){return new(P=P||Promise)(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):((value=result.value)instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __asyncGenerator(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i,g=generator.apply(thisArg,_arguments||[]),q=[];return i={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),i[Symbol.asyncIterator]=function(){return this},i;function verb(n){g[n]&&(i[n]=function(v){return new Promise(function(a,b){1<q.push([n,v,a,b])||resume(n,v)})})}function resume(n,v){try{(r=g[n](v)).value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}catch(e){settle(q[0][3],e)}var r}function fulfill(value){resume(\"next\",value)}function reject(value){resume(\"throw\",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}}function __asyncValues(o){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i,m=o[Symbol.asyncIterator];return m?m.call(o):(o=\"function\"==typeof __values?__values(o):o[Symbol.iterator](),i={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){!function(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}(resolve,reject,(v=o[n](v)).done,v.value)})}}}var __await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)};Object.defineProperty(exports,\"__esModule\",{value:!0});var BlockchainMode,utils_1=_dereq_(\"./../utils\");!function(BlockchainMode){BlockchainMode[BlockchainMode.Irreversible=0]=\"Irreversible\",BlockchainMode[BlockchainMode.Latest=1]=\"Latest\"}(BlockchainMode=exports.BlockchainMode||(exports.BlockchainMode={}));var Blockchain=function(){function Blockchain(client){!function(instance){if(!(instance instanceof Blockchain))throw new TypeError(\"Cannot call a class as a function\")}(this),this.client=client}return _defineProperties(Blockchain.prototype,[{key:\"getCurrentBlockNum\",value:function(argument_0){var mode=0<arguments.length&&void 0!==argument_0?argument_0:BlockchainMode.Irreversible;return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee(){var props;return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.client.database.getDynamicGlobalProperties();case 2:props=_context.sent,_context.t0=mode,_context.next=_context.t0===BlockchainMode.Irreversible?6:_context.t0===BlockchainMode.Latest?7:8;break;case 6:return _context.abrupt(\"return\",props.last_irreversible_block_num);case 7:return _context.abrupt(\"return\",props.head_block_number);case 8:case\"end\":return _context.stop()}},_callee,this)}))}},{key:\"getCurrentBlockHeader\",value:function(mode){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee2(){return regeneratorRuntime.wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.t0=this.client.database,_context2.next=3,this.getCurrentBlockNum(mode);case 3:return _context2.t1=_context2.sent,_context2.abrupt(\"return\",_context2.t0.getBlockHeader.call(_context2.t0,_context2.t1));case 5:case\"end\":return _context2.stop()}},_callee2,this)}))}},{key:\"getCurrentBlock\",value:function(mode){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee3(){return regeneratorRuntime.wrap(function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.t0=this.client.database,_context3.next=3,this.getCurrentBlockNum(mode);case 3:return _context3.t1=_context3.sent,_context3.abrupt(\"return\",_context3.t0.getBlock.call(_context3.t0,_context3.t1));case 5:case\"end\":return _context3.stop()}},_callee3,this)}))}},{key:\"getBlockNumbers\",value:function(options){return __asyncGenerator(this,arguments,regeneratorRuntime.mark(function getBlockNumbers_1(){var interval,current,seen;return regeneratorRuntime.wrap(function(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return interval=3,options?\"number\"==typeof options&&(options={from:options}):options={},_context4.next=4,__await(this.getCurrentBlockNum(options.mode));case 4:if(current=_context4.sent,void 0!==options.from&&options.from>current)throw new Error(\"From can't be larger than current block num (\".concat(current,\")\"));_context4.next=7;break;case 7:seen=void 0!==options.from?options.from:current;case 8:case 9:if(seen<current)return _context4.next=12,__await(seen++);_context4.next=20;break;case 12:return _context4.next=14,_context4.sent;case 14:if(void 0!==options.to&&seen>options.to)return _context4.next=17,__await(void 0);_context4.next=18;break;case 17:return _context4.abrupt(\"return\",_context4.sent);case 18:_context4.next=9;break;case 20:return _context4.next=22,__await(utils_1.sleep(1e3*interval));case 22:return _context4.next=24,__await(this.getCurrentBlockNum(options.mode));case 24:current=_context4.sent,_context4.next=8;break;case 27:case\"end\":return _context4.stop()}},getBlockNumbers_1,this)}))}},{key:\"getBlockNumberStream\",value:function(options){return utils_1.iteratorStream(this.getBlockNumbers(options))}},{key:\"getBlocks\",value:function(options){return __asyncGenerator(this,arguments,regeneratorRuntime.mark(function getBlocks_1(){var e_1,_a,_b,_c,num;return regeneratorRuntime.wrap(function(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:_context5.prev=0,_b=__asyncValues(this.getBlockNumbers(options));case 2:return _context5.next=4,__await(_b.next());case 4:if((_c=_context5.sent).done){_context5.next=17;break}return num=_c.value,_context5.t0=__await,_context5.next=10,__await(this.client.database.getBlock(num));case 10:return _context5.t1=_context5.sent,_context5.next=13,(0,_context5.t0)(_context5.t1);case 13:return _context5.next=15,_context5.sent;case 15:_context5.next=2;break;case 17:_context5.next=22;break;case 19:_context5.prev=19,_context5.t2=_context5.catch(0),e_1={error:_context5.t2};case 22:if(_context5.prev=22,_context5.prev=23,_c&&!_c.done&&(_a=_b.return))return _context5.next=27,__await(_a.call(_b));_context5.next=27;break;case 27:if(_context5.prev=27,e_1)throw e_1.error;_context5.next=30;break;case 30:return _context5.finish(27);case 31:return _context5.finish(22);case 32:case\"end\":return _context5.stop()}},getBlocks_1,this,[[0,19,22,32],[23,,27,31]])}))}},{key:\"getBlockStream\",value:function(options){return utils_1.iteratorStream(this.getBlocks(options))}},{key:\"getOperations\",value:function(options){return __asyncGenerator(this,arguments,regeneratorRuntime.mark(function getOperations_1(){var e_2,_a,_b,_c,num,operations,_iterator,_step,operation;return regeneratorRuntime.wrap(function(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:_context6.prev=0,_b=__asyncValues(this.getBlockNumbers(options));case 2:return _context6.next=4,__await(_b.next());case 4:if((_c=_context6.sent).done){_context6.next=31;break}return num=_c.value,_context6.next=9,__await(this.client.database.getOperations(num));case 9:operations=_context6.sent,_iterator=_createForOfIteratorHelper(operations),_context6.prev=11,_iterator.s();case 13:if((_step=_iterator.n()).done){_context6.next=21;break}return operation=_step.value,_context6.next=17,__await(operation);case 17:return _context6.next=19,_context6.sent;case 19:_context6.next=13;break;case 21:_context6.next=26;break;case 23:_context6.prev=23,_context6.t0=_context6.catch(11),_iterator.e(_context6.t0);case 26:return _context6.prev=26,_iterator.f(),_context6.finish(26);case 29:_context6.next=2;break;case 31:_context6.next=36;break;case 33:_context6.prev=33,_context6.t1=_context6.catch(0),e_2={error:_context6.t1};case 36:if(_context6.prev=36,_context6.prev=37,_c&&!_c.done&&(_a=_b.return))return _context6.next=41,__await(_a.call(_b));_context6.next=41;break;case 41:if(_context6.prev=41,e_2)throw e_2.error;_context6.next=44;break;case 44:return _context6.finish(41);case 45:return _context6.finish(36);case 46:case\"end\":return _context6.stop()}},getOperations_1,this,[[0,33,36,46],[11,23,26,29],[37,,41,45]])}))}},{key:\"getOperationsStream\",value:function(options){return utils_1.iteratorStream(this.getOperations(options))}}]),Blockchain}();exports.Blockchain=Blockchain},{\"./../utils\":\"/Users/f/pjs/dhive/src/utils.ts\"}],\"/Users/f/pjs/dhive/src/helpers/broadcast.ts\":[function(_dereq_,module,exports){(function(global,Buffer){\"use strict\";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function __awaiter(thisArg,_arguments,P,generator){return new(P=P||Promise)(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):((value=result.value)instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}Object.defineProperty(exports,\"__esModule\",{value:!0});var assert=_dereq_(\"assert\"),account_1=_dereq_(\"../chain/account\"),asset_1=_dereq_(\"../chain/asset\"),crypto_1=_dereq_(\"./../crypto\"),BroadcastAPI=function(){function BroadcastAPI(client){!function(instance){if(!(instance instanceof BroadcastAPI))throw new TypeError(\"Cannot call a class as a function\")}(this),this.client=client,this.expireTime=6e4}return _defineProperties(BroadcastAPI.prototype,[{key:\"comment\",value:function(_comment,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee(){var op;return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return op=[\"comment\",_comment],_context.abrupt(\"return\",this.sendOperations([op],key));case 2:case\"end\":return _context.stop()}},_callee,this)}))}},{key:\"commentWithOptions\",value:function(comment,options,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee2(){var ops;return regeneratorRuntime.wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return ops=[[\"comment\",comment],[\"comment_options\",options]],_context2.abrupt(\"return\",this.sendOperations(ops,key));case 2:case\"end\":return _context2.stop()}},_callee2,this)}))}},{key:\"vote\",value:function(_vote,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee3(){var op;return regeneratorRuntime.wrap(function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return op=[\"vote\",_vote],_context3.abrupt(\"return\",this.sendOperations([op],key));case 2:case\"end\":return _context3.stop()}},_callee3,this)}))}},{key:\"transfer\",value:function(data,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee4(){var op;return regeneratorRuntime.wrap(function(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return op=[\"transfer\",data],_context4.abrupt(\"return\",this.sendOperations([op],key));case 2:case\"end\":return _context4.stop()}},_callee4,this)}))}},{key:\"json\",value:function(data,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee5(){var op;return regeneratorRuntime.wrap(function(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return op=[\"custom_json\",data],_context5.abrupt(\"return\",this.sendOperations([op],key));case 2:case\"end\":return _context5.stop()}},_callee5,this)}))}},{key:\"createTestAccount\",value:function(options,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee6(){var username,metadata,creator,prefix,owner,active,posting,memo_key,ownerKey,activeKey,postingKey,fee,delegation,chainProps,creationFee,claim_op,create_op,ops,delegate_op;return regeneratorRuntime.wrap(function(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if(assert(global.hasOwnProperty(\"it\"),\"helper to be used only for mocha tests\"),username=options.username,metadata=options.metadata,creator=options.creator,prefix=this.client.addressPrefix,!options.password){_context6.next=13;break}ownerKey=crypto_1.PrivateKey.fromLogin(username,options.password,\"owner\").createPublic(prefix),owner=account_1.Authority.from(ownerKey),activeKey=crypto_1.PrivateKey.fromLogin(username,options.password,\"active\").createPublic(prefix),active=account_1.Authority.from(activeKey),postingKey=crypto_1.PrivateKey.fromLogin(username,options.password,\"posting\").createPublic(prefix),posting=account_1.Authority.from(postingKey),memo_key=crypto_1.PrivateKey.fromLogin(username,options.password,\"memo\").createPublic(prefix),_context6.next=21;break;case 13:if(!options.auths){_context6.next=20;break}owner=account_1.Authority.from(options.auths.owner),active=account_1.Authority.from(options.auths.active),posting=account_1.Authority.from(options.auths.posting),memo_key=crypto_1.PublicKey.from(options.auths.memoKey),_context6.next=21;break;case 20:throw new Error(\"Must specify either password or auths\");case 21:if(fee=options.fee,delegation=options.delegation,delegation=asset_1.Asset.from(delegation||0,\"VESTS\"),0<(fee=asset_1.Asset.from(fee||0,\"TESTS\")).amount)return _context6.next=27,this.client.database.getChainProperties();_context6.next=31;break;case 27:if(chainProps=_context6.sent,creationFee=asset_1.Asset.from(chainProps.account_creation_fee),fee.amount!==creationFee.amount)throw new Error(\"Fee must be exactly \"+creationFee.toString());_context6.next=31;break;case 31:return claim_op=[\"claim_account\",{creator:creator,extensions:[],fee:fee}],create_op=[\"create_claimed_account\",{active:active,creator:creator,extensions:[],json_metadata:metadata?JSON.stringify(metadata):\"\",memo_key:memo_key,new_account_name:username,owner:owner,posting:posting}],ops=[claim_op,create_op],0<delegation.amount&&(delegate_op=[\"delegate_vesting_shares\",{delegatee:username,delegator:creator,vesting_shares:delegation}],ops.push(delegate_op)),_context6.abrupt(\"return\",this.sendOperations(ops,key));case 36:case\"end\":return _context6.stop()}},_callee6,this)}))}},{key:\"updateAccount\",value:function(data,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee7(){var op;return regeneratorRuntime.wrap(function(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:return op=[\"account_update\",data],_context7.abrupt(\"return\",this.sendOperations([op],key));case 2:case\"end\":return _context7.stop()}},_callee7,this)}))}},{key:\"delegateVestingShares\",value:function(options,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee8(){var op;return regeneratorRuntime.wrap(function(_context8){for(;;)switch(_context8.prev=_context8.next){case 0:return op=[\"delegate_vesting_shares\",options],_context8.abrupt(\"return\",this.sendOperations([op],key));case 2:case\"end\":return _context8.stop()}},_callee8,this)}))}},{key:\"sendOperations\",value:function(operations,key){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee9(){var props,ref_block_num,ref_block_prefix,expiration,tx,result;return regeneratorRuntime.wrap(function(_context9){for(;;)switch(_context9.prev=_context9.next){case 0:return _context9.next=2,this.client.database.getDynamicGlobalProperties();case 2:return props=_context9.sent,ref_block_num=65535&props.head_block_number,ref_block_prefix=Buffer.from(props.head_block_id,\"hex\").readUInt32LE(4),expiration=new Date(new Date(props.time+\"Z\").getTime()+this.expireTime).toISOString().slice(0,-5),tx={expiration:expiration,extensions:[],operations:operations,ref_block_num:ref_block_num,ref_block_prefix:ref_block_prefix},_context9.next=10,this.send(this.sign(tx,key));case 10:return result=_context9.sent,assert(!1===result.expired,\"transaction expired\"),_context9.abrupt(\"return\",result);case 13:case\"end\":return _context9.stop()}},_callee9,this)}))}},{key:\"sign\",value:function(transaction,key){return crypto_1.cryptoUtils.signTransaction(transaction,key,this.client.chainId)}},{key:\"send\",value:function(transaction){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee10(){return regeneratorRuntime.wrap(function(_context10){for(;;)switch(_context10.prev=_context10.next){case 0:return _context10.abrupt(\"return\",this.call(\"broadcast_transaction_synchronous\",[transaction]));case 1:case\"end\":return _context10.stop()}},_callee10,this)}))}},{key:\"call\",value:function(method,params){return this.client.call(\"condenser_api\",method,params)}}]),BroadcastAPI}();exports.BroadcastAPI=BroadcastAPI}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},_dereq_(\"buffer\").Buffer)},{\"../chain/account\":\"/Users/f/pjs/dhive/src/chain/account.ts\",\"../chain/asset\":\"/Users/f/pjs/dhive/src/chain/asset.ts\",\"./../crypto\":\"/Users/f/pjs/dhive/src/crypto.ts\",assert:\"/Users/f/pjs/dhive/node_modules/assert/assert.js\",buffer:\"/Users/f/pjs/dhive/node_modules/buffer/index.js\"}],\"/Users/f/pjs/dhive/src/helpers/database.ts\":[function(_dereq_,module,exports){\"use strict\";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function __awaiter(thisArg,_arguments,P,generator){return new(P=P||Promise)(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):((value=result.value)instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}Object.defineProperty(exports,\"__esModule\",{value:!0});var asset_1=_dereq_(\"../chain/asset\"),DatabaseAPI=function(){function DatabaseAPI(client){!function(instance){if(!(instance instanceof DatabaseAPI))throw new TypeError(\"Cannot call a class as a function\")}(this),this.client=client}return _defineProperties(DatabaseAPI.prototype,[{key:\"call\",value:function(method,params){return this.client.call(\"condenser_api\",method,params)}},{key:\"getDynamicGlobalProperties\",value:function(){return this.call(\"get_dynamic_global_properties\")}},{key:\"getChainProperties\",value:function(){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee(){return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.abrupt(\"return\",this.call(\"get_chain_properties\"));case 1:case\"end\":return _context.stop()}},_callee,this)}))}},{key:\"getState\",value:function(path){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee2(){return regeneratorRuntime.wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.abrupt(\"return\",this.call(\"get_state\",[path]));case 1:case\"end\":return _context2.stop()}},_callee2,this)}))}},{key:\"getCurrentMedianHistoryPrice\",value:function(){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee3(){return regeneratorRuntime.wrap(function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.t0=asset_1.Price,_context3.next=3,this.call(\"get_current_median_history_price\");case 3:return _context3.t1=_context3.sent,_context3.abrupt(\"return\",_context3.t0.from.call(_context3.t0,_context3.t1));case 5:case\"end\":return _context3.stop()}},_callee3,this)}))}},{key:\"getVestingDelegations\",value:function(account,argument_1,argument_2){var from=1<arguments.length&&void 0!==argument_1?argument_1:\"\",limit=2<arguments.length&&void 0!==argument_2?argument_2:1e3;return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee4(){return regeneratorRuntime.wrap(function(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return _context4.abrupt(\"return\",this.call(\"get_vesting_delegations\",[account,from,limit]));case 1:case\"end\":return _context4.stop()}},_callee4,this)}))}},{key:\"getConfig\",value:function(){return this.call(\"get_config\")}},{key:\"getBlockHeader\",value:function(blockNum){return this.call(\"get_block_header\",[blockNum])}},{key:\"getBlock\",value:function(blockNum){return this.call(\"get_block\",[blockNum])}},{key:\"getOperations\",value:function(blockNum,argument_1){var onlyVirtual=1<arguments.length&&void 0!==argument_1&&argument_1;return this.call(\"get_ops_in_block\",[blockNum,onlyVirtual])}},{key:\"getDiscussions\",value:function(by,query){return this.call(\"get_discussions_by_\".concat(by),[query])}},{key:\"getAccounts\",value:function(usernames){return this.call(\"get_accounts\",[usernames])}},{key:\"getTransaction\",value:function(txId){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee5(){return regeneratorRuntime.wrap(function(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return _context5.abrupt(\"return\",this.call(\"get_transaction\",[txId]));case 1:case\"end\":return _context5.stop()}},_callee5,this)}))}},{key:\"getAccountHistory\",value:function(account,from,limit,operation_bitmask){var params=[account,from,limit];if(operation_bitmask&&Array.isArray(operation_bitmask)){if(2!==operation_bitmask.length)throw Error(\"operation_bitmask should be generated by the helper function\");params=params.concat(operation_bitmask)}return this.call(\"get_account_history\",params)}},{key:\"verifyAuthority\",value:function(stx){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee6(){return regeneratorRuntime.wrap(function(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:return _context6.abrupt(\"return\",this.call(\"verify_authority\",[stx]));case 1:case\"end\":return _context6.stop()}},_callee6,this)}))}},{key:\"getVersion\",value:function(){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee7(){return regeneratorRuntime.wrap(function(_context7){for(;;)switch(_context7.prev=_context7.next){case 0:return _context7.abrupt(\"return\",this.call(\"get_version\",[]));case 1:case\"end\":return _context7.stop()}},_callee7,this)}))}}]),DatabaseAPI}();exports.DatabaseAPI=DatabaseAPI},{\"../chain/asset\":\"/Users/f/pjs/dhive/src/chain/asset.ts\"}],\"/Users/f/pjs/dhive/src/helpers/hivemind.ts\":[function(_dereq_,module,exports){\"use strict\";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,\"__esModule\",{value:!0});var HivemindAPI=function(){function HivemindAPI(client){!function(instance){if(!(instance instanceof HivemindAPI))throw new TypeError(\"Cannot call a class as a function\")}(this),this.client=client}return _defineProperties(HivemindAPI.prototype,[{key:\"call\",value:function(method,params){return this.client.call(\"bridge\",method,params)}},{key:\"getRankedPosts\",value:function(options){return this.call(\"get_ranked_posts\",options)}},{key:\"getAccountPosts\",value:function(options){return this.call(\"get_account_posts\",options)}},{key:\"getCommunity\",value:function(options){return this.call(\"get_community\",options)}},{key:\"listAllSubscriptions\",value:function(account){return this.call(\"list_all_subscriptions\",account)}},{key:\"getAccountNotifications\",value:function(options){return this.call(\"account_notifications\",options)}},{key:\"listCommunities\",value:function(options){return this.call(\"list_communities\",options)}}]),HivemindAPI}();exports.HivemindAPI=HivemindAPI},{}],\"/Users/f/pjs/dhive/src/helpers/rc.ts\":[function(_dereq_,module,exports){\"use strict\";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,\"value\"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function __awaiter(thisArg,_arguments,P,generator){return new(P=P||Promise)(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):((value=result.value)instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}Object.defineProperty(exports,\"__esModule\",{value:!0});var misc_1=_dereq_(\"../chain/misc\"),RCAPI=function(){function RCAPI(client){!function(instance){if(!(instance instanceof RCAPI))throw new TypeError(\"Cannot call a class as a function\")}(this),this.client=client}return _defineProperties(RCAPI.prototype,[{key:\"call\",value:function(method,params){return this.client.call(\"rc_api\",method,params)}},{key:\"findRCAccounts\",value:function(usernames){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee(){return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return _context.next=2,this.call(\"find_rc_accounts\",{accounts:usernames});case 2:return _context.abrupt(\"return\",_context.sent.rc_accounts);case 3:case\"end\":return _context.stop()}},_callee,this)}))}},{key:\"getResourceParams\",value:function(){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee2(){return regeneratorRuntime.wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return _context2.next=2,this.call(\"get_resource_params\",{});case 2:return _context2.abrupt(\"return\",_context2.sent.resource_params);case 3:case\"end\":return _context2.stop()}},_callee2,this)}))}},{key:\"getResourcePool\",value:function(){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee3(){return regeneratorRuntime.wrap(function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:return _context3.next=2,this.call(\"get_resource_pool\",{});case 2:return _context3.abrupt(\"return\",_context3.sent.resource_pool);case 3:case\"end\":return _context3.stop()}},_callee3,this)}))}},{key:\"getRCMana\",value:function(username){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee4(){var rc_account;return regeneratorRuntime.wrap(function(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return _context4.next=2,this.findRCAccounts([username]);case 2:return rc_account=_context4.sent[0],_context4.abrupt(\"return\",this.calculateRCMana(rc_account));case 4:case\"end\":return _context4.stop()}},_callee4,this)}))}},{key:\"getVPMana\",value:function(username){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee5(){var account;return regeneratorRuntime.wrap(function(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:return _context5.next=2,this.client.call(\"condenser_api\",\"get_accounts\",[[username]]);case 2:return account=_context5.sent[0],_context5.abrupt(\"return\",this.calculateVPMana(account));case 4:case\"end\":return _context5.stop()}},_callee5,this)}))}},{key:\"calculateRCMana\",value:function(rc_account){return this._calculateManabar(Number(rc_account.max_rc),rc_account.rc_manabar)}},{key:\"calculateVPMana\",value:function(account){var max_mana=misc_1.getVests(account)*Math.pow(10,6);return this._calculateManabar(max_mana,account.voting_manabar)}},{key:\"_calculateManabar\",value:function(max_mana,_ref){var current_mana=_ref.current_mana,last_update_time=_ref.last_update_time,delta=Date.now()/1e3-last_update_time;current_mana=Number(current_mana)+delta*max_mana/432e3;var percentage=Math.round(current_mana/max_mana*1e4);return!isFinite(percentage)||percentage<0?percentage=0:1e4<percentage&&(percentage=1e4),{current_mana:current_mana,max_mana:max_mana,percentage:percentage}}}]),RCAPI}();exports.RCAPI=RCAPI},{\"../chain/misc\":\"/Users/f/pjs/dhive/src/chain/misc.ts\"}],\"/Users/f/pjs/dhive/src/index-browser.ts\":[function(_dereq_,module,exports){\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0}),_dereq_(\"core-js/features/array/from\"),_dereq_(\"core-js/features/map\"),_dereq_(\"core-js/features/number\"),_dereq_(\"core-js/features/promise\"),_dereq_(\"core-js/features/symbol\"),_dereq_(\"core-js/features/symbol/async-iterator\"),_dereq_(\"regenerator-runtime/runtime\"),_dereq_(\"whatwg-fetch\"),function(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}(_dereq_(\"./index\"))},{\"./index\":\"/Users/f/pjs/dhive/src/index.ts\",\"core-js/features/array/from\":\"/Users/f/pjs/dhive/node_modules/core-js/features/array/from.js\",\"core-js/features/map\":\"/Users/f/pjs/dhive/node_modules/core-js/features/map/index.js\",\"core-js/features/number\":\"/Users/f/pjs/dhive/node_modules/core-js/features/number/index.js\",\"core-js/features/promise\":\"/Users/f/pjs/dhive/node_modules/core-js/features/promise/index.js\",\"core-js/features/symbol\":\"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/index.js\",\"core-js/features/symbol/async-iterator\":\"/Users/f/pjs/dhive/node_modules/core-js/features/symbol/async-iterator.js\",\"regenerator-runtime/runtime\":\"/Users/f/pjs/dhive/node_modules/regenerator-runtime/runtime.js\",\"whatwg-fetch\":\"/Users/f/pjs/dhive/node_modules/whatwg-fetch/dist/fetch.umd.js\"}],\"/Users/f/pjs/dhive/src/index.ts\":[function(_dereq_,module,exports){\"use strict\";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}Object.defineProperty(exports,\"__esModule\",{value:!0});var utils=_dereq_(\"./utils\");exports.utils=utils,__export(_dereq_(\"./helpers/blockchain\")),__export(_dereq_(\"./helpers/database\")),__export(_dereq_(\"./helpers/rc\")),__export(_dereq_(\"./chain/account\")),__export(_dereq_(\"./chain/asset\")),__export(_dereq_(\"./chain/misc\")),__export(_dereq_(\"./chain/serializer\")),__export(_dereq_(\"./client\")),__export(_dereq_(\"./crypto\"))},{\"./chain/account\":\"/Users/f/pjs/dhive/src/chain/account.ts\",\"./chain/asset\":\"/Users/f/pjs/dhive/src/chain/asset.ts\",\"./chain/misc\":\"/Users/f/pjs/dhive/src/chain/misc.ts\",\"./chain/serializer\":\"/Users/f/pjs/dhive/src/chain/serializer.ts\",\"./client\":\"/Users/f/pjs/dhive/src/client.ts\",\"./crypto\":\"/Users/f/pjs/dhive/src/crypto.ts\",\"./helpers/blockchain\":\"/Users/f/pjs/dhive/src/helpers/blockchain.ts\",\"./helpers/database\":\"/Users/f/pjs/dhive/src/helpers/database.ts\",\"./helpers/rc\":\"/Users/f/pjs/dhive/src/helpers/rc.ts\",\"./utils\":\"/Users/f/pjs/dhive/src/utils.ts\"}],\"/Users/f/pjs/dhive/src/utils.ts\":[function(_dereq_,module,exports){\"use strict\";function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function __awaiter(thisArg,_arguments,P,generator){return new(P=P||Promise)(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):((value=result.value)instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})}function __asyncValues(o){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i,m=o[Symbol.asyncIterator];return m?m.call(o):(o=\"function\"==typeof __values?__values(o):o[Symbol.iterator](),i={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){!function(resolve,reject,d,v){Promise.resolve(v).then(function(v){resolve({value:v,done:d})},reject)}(resolve,reject,(v=o[n](v)).done,v.value)})}}}Object.defineProperty(exports,\"__esModule\",{value:!0});var cross_fetch_1=_dereq_(\"cross-fetch\"),stream_1=_dereq_(\"stream\"),timeoutErrors=[\"timeout\",\"ENOTFOUND\",\"ECONNREFUSED\",\"database lock\"];function waitForEvent(emitter,eventName){return new Promise(function(resolve,reject){emitter.once(eventName,resolve)})}function sleep(ms){return new Promise(function(resolve){setTimeout(resolve,ms)})}exports.waitForEvent=waitForEvent,exports.sleep=sleep,exports.iteratorStream=function(iterator){var stream=new stream_1.PassThrough({objectMode:!0});return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee(){var e_1,_a,iterator_1,iterator_1_1,item;return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:_context.prev=0,iterator_1=__asyncValues(iterator);case 2:return _context.next=4,iterator_1.next();case 4:if((iterator_1_1=_context.sent).done){_context.next=12;break}if(item=iterator_1_1.value,stream.write(item)){_context.next=10;break}return _context.next=10,waitForEvent(stream,\"drain\");case 10:_context.next=2;break;case 12:_context.next=17;break;case 14:_context.prev=14,_context.t0=_context.catch(0),e_1={error:_context.t0};case 17:if(_context.prev=17,_context.prev=18,iterator_1_1&&!iterator_1_1.done&&(_a=iterator_1.return))return _context.next=22,_a.call(iterator_1);_context.next=22;break;case 22:if(_context.prev=22,e_1)throw e_1.error;_context.next=25;break;case 25:return _context.finish(22);case 26:return _context.finish(17);case 27:case\"end\":return _context.stop()}},_callee,null,[[0,14,17,27],[18,,22,26]])})).then(function(){stream.end()}).catch(function(error){stream.emit(\"error\",error),stream.end()}),stream},exports.copy=function(object){return JSON.parse(JSON.stringify(object))},exports.retryingFetch=function(currentAddress,allAddresses,opts,timeout,failoverThreshold,consoleOnFailover,backoff,fetchTimeout){return __awaiter(this,void 0,void 0,regeneratorRuntime.mark(function _callee2(){var start,tries,round,response;return regeneratorRuntime.wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:start=Date.now(),round=tries=0;case 3:return _context2.prev=3,fetchTimeout&&(opts.timeout=fetchTimeout(tries)),_context2.next=7,cross_fetch_1.default(currentAddress,opts);case 7:if((response=_context2.sent).ok){_context2.next=10;break}throw new Error(\"HTTP \".concat(response.status,\": \").concat(response.statusText));case 10:return _context2.next=12,response.json();case 12:return _context2.t0=_context2.sent,_context2.t1=currentAddress,_context2.abrupt(\"return\",{response:_context2.t0,currentAddress:_context2.t1});case 17:if(_context2.prev=17,_context2.t2=_context2.catch(3),!(0!==timeout&&Date.now()-start>timeout)){_context2.next=39;break}if(_context2.t2&&_context2.t2.code||!Array.isArray(allAddresses)){_context2.next=24;break}currentAddress=failover(currentAddress,allAddresses,currentAddress,consoleOnFailover),_context2.next=39;break;case 24:if(!(0<timeoutErrors.filter(function(fe){return _context2.t2&&_context2.t2.code&&_context2.t2.code.includes(fe)}).length&&Array.isArray(allAddresses)&&1<allAddresses.length)){_context2.next=37;break}if(!(round<failoverThreshold)){_context2.next=33;break}start=Date.now(),tries=-1,0<failoverThreshold&&round++,currentAddress=failover(currentAddress,allAddresses,currentAddress,consoleOnFailover),_context2.next=35;break;case 33:throw _context2.t2.message=\"[\".concat(_context2.t2.code,\"] tried \").concat(failoverThreshold,\" times with \").concat(allAddresses.join(\",\")),_context2.t2;case 35:_context2.next=39;break;case 37:throw _context2.t2;case 39:return _context2.next=41,sleep(backoff(tries++));case 41:_context2.next=3;break;case 42:case\"end\":return _context2.stop()}},_callee2,null,[[3,17]])}))};var failover=function(url,urls){var index=urls.indexOf(url);return urls.length===index+1?urls[0]:urls[index+1]},ByteBuffer=_dereq_(\"bytebuffer\"),serializer_1=_dereq_(\"./chain/serializer\");function serialize(serializer,data){var buffer=new ByteBuffer(ByteBuffer.DEFAULT_CAPACITY,ByteBuffer.LITTLE_ENDIAN);return serializer(buffer,data),buffer.flip(),buffer.toString(\"hex\")}exports.buildWitnessUpdateOp=function(owner,props){for(var data={extensions:[],owner:owner,props:[]},_i=0,_Object$keys=Object.keys(props);_i<_Object$keys.length;_i++){var key=_Object$keys[_i],type=void 0;switch(key){case\"key\":case\"new_signing_key\":type=serializer_1.Types.PublicKey;break;case\"account_subsidy_budget\":case\"account_subsidy_decay\":case\"maximum_block_size\":type=serializer_1.Types.UInt32;break;case\"hbd_interest_rate\":type=serializer_1.Types.UInt16;break;case\"url\":type=serializer_1.Types.String;break;case\"hbd_exchange_rate\":type=serializer_1.Types.Price;break;case\"account_creation_fee\":type=serializer_1.Types.Asset;break;default:throw new Error(\"Unknown witness prop: \".concat(key))}data.props.push([key,serialize(type,props[key])])}return data.props.sort(function(a,b){return a[0].localeCompare(b[0])}),[\"witness_set_properties\",data]};var JSBI=_dereq_(\"jsbi\");exports.operationOrders={vote:0,comment:1,transfer:2,transfer_to_vesting:3,withdraw_vesting:4,limit_order_create:5,limit_order_cancel:6,feed_publish:7,convert:8,account_create:9,account_update:10,witness_update:11,account_witness_vote:12,account_witness_proxy:13,pow:14,custom:15,report_over_production:16,delete_comment:17,custom_json:18,comment_options:19,set_withdraw_vesting_route:20,limit_order_create2:21,claim_account:22,create_claimed_account:23,request_account_recovery:24,recover_account:25,change_recovery_account:26,escrow_transfer:27,escrow_dispute:28,escrow_release:29,pow2:30,escrow_approve:31,transfer_to_savings:32,transfer_from_savings:33,cancel_transfer_from_savings:34,custom_binary:35,decline_voting_rights:36,reset_account:37,set_reset_account:38,claim_reward_balance:39,delegate_vesting_shares:40,account_create_with_delegation:41,witness_set_properties:42,account_update2:43,create_proposal:44,update_proposal_votes:45,remove_proposal:46,update_proposal:47,collateralized_convert:48,recurrent_transfer:49,fill_convert_request:50,author_reward:51,curation_reward:52,comment_reward:53,liquidity_reward:54,interest:55,fill_vesting_withdraw:56,fill_order:57,shutdown_witness:58,fill_transfer_from_savings:59,hardfork:60,comment_payout_update:61,return_vesting_delegation:62,comment_benefactor_reward:63,producer_reward:64,clear_null_account_balance:65,proposal_pay:66,sps_fund:67,hardfork_hive:68,hardfork_hive_restore:69,delayed_voting:70,consolidate_treasury_balance:71,effective_comment_vote:72,ineffective_delete_comment:73,sps_convert:74,expired_account_notification:75,changed_recovery_account:76,transfer_to_vesting_completed:77,pow_reward:78,vesting_shares_split:79,account_created:80,fill_collateralized_convert_request:81,system_warning:82,fill_recurrent_transfer:83,failed_recurrent_transfer:84},exports.makeBitMaskFilter=function(allowedOperations){return allowedOperations.reduce(redFunction,[JSBI.BigInt(0),JSBI.BigInt(0)]).map(function(value){return JSBI.notEqual(value,JSBI.BigInt(0))?value.toString():null})};var redFunction=function(_ref,allowedOperation){var arr,i,_ref2=(i=2,function(arr){if(Array.isArray(arr))return arr}(arr=_ref)||function(arr,i){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(arr)){var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}}(arr,i)||function(o,minLen){if(o){if(\"string\"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return\"Object\"===n&&o.constructor&&(n=o.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(n):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}(arr,i)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),low=_ref2[0],high=_ref2[1];return allowedOperation<64?[JSBI.bitwiseOr(low,JSBI.leftShift(JSBI.BigInt(1),JSBI.BigInt(allowedOperation))),high]:[low,JSBI.bitwiseOr(high,JSBI.leftShift(JSBI.BigInt(1),JSBI.BigInt(allowedOperation-64)))]}},{\"./chain/serializer\":\"/Users/f/pjs/dhive/src/chain/serializer.ts\",bytebuffer:\"/Users/f/pjs/dhive/node_modules/bytebuffer/dist/bytebuffer.js\",\"cross-fetch\":\"/Users/f/pjs/dhive/node_modules/cross-fetch/dist/browser-ponyfill.js\",jsbi:\"/Users/f/pjs/dhive/node_modules/jsbi/dist/jsbi-umd.js\",stream:\"/Users/f/pjs/dhive/node_modules/stream-browserify/index.js\"}]},{},[\"/Users/f/pjs/dhive/src/index-browser.ts\"])(\"/Users/f/pjs/dhive/src/index-browser.ts\")});\n//# sourceMappingURL=dhive.js.map","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import 'bootstrap/dist/css/bootstrap.min.css'","\nvar content = require(\"!!../../../css-loader/index.js!./bootstrap.min.css\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../css-loader/index.js!./bootstrap.min.css\", function() {\n\t\tvar newContent = require(\"!!../../../css-loader/index.js!./bootstrap.min.css\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\n * Bootstrap v4.6.0 (https://getbootstrap.com/)\\n * Copyright 2011-2021 The Bootstrap Authors\\n * Copyright 2011-2021 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\\n */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",Roboto,\\\"Helvetica Neue\\\",Arial,\\\"Noto Sans\\\",\\\"Liberation Sans\\\",sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"Noto Color Emoji\\\";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\\\"Liberation Mono\\\",\\\"Courier New\\\",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",Roboto,\\\"Helvetica Neue\\\",Arial,\\\"Noto Sans\\\",\\\"Liberation Sans\\\",sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"Noto Color Emoji\\\";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex=\\\"-1\\\"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\\\"Liberation Mono\\\",\\\"Courier New\\\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:\\\"\\\\2014\\\\A0\\\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") right .75rem center/8px 10px no-repeat,#fff url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\\\") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\\\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") right .75rem center/8px 10px no-repeat,#fff url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\\\") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\\\"\\\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\\\"\\\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\\\"\\\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\\\"\\\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\\\"\\\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\\\"\\\";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\\\"\\\";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\\\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\\\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\\\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\\\"1\\\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:\\\"Browse\\\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:\\\"Browse\\\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\\\"\\\";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\\\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:\\\"/\\\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:\\\"\\\"}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",Roboto,\\\"Helvetica Neue\\\",Arial,\\\"Noto Sans\\\",\\\"Liberation Sans\\\",sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"Noto Color Emoji\\\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\\\"\\\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",Roboto,\\\"Helvetica Neue\\\",Arial,\\\"Noto Sans\\\",\\\"Liberation Sans\\\",sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"Noto Color Emoji\\\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:\\\"\\\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\\\"\\\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\\\"\\\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\\\")}.carousel-control-next-icon{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\\\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:\\\"\\\"}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\\\"\\\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\\\"\\\";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\\\"Liberation Mono\\\",\\\"Courier New\\\",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\\\" (\\\" attr(title) \\\")\\\"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}\", \"\"]);\n\n// exports\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n","/**\n * This is the main configuration file for the Hive developer Javascript tutorials\n *\n * In this configuration file we use 'address' to refer to what in many other contexts are called\n * user,\n * author,\n * account,\n * account name\n *\n * Address is a fairly accurate term, and hasn't been overloaded, it also has at-least exactly the properties of addresses on other blockchains.\n *\n */\n\nexport const TestnetHive = {\n accounts: [\n {\n address: 'demo',\n privActive: '5Jtbfge4Pk5RyhgzvmZhGE5GeorC1hbaHdwiM7pb5Z5CZz2YKUC',\n },\n {\n address: 'demo1',\n privActive: '5Ju3fhTY25Tsseyk4c1PUpH2bTLC8eLbdFRjytmnvU9ZLEQBmsf',\n },\n {\n address: 'demo2',\n privActive: '5JZDEAXjANq9isYa66g9tYbeuo4wWXhwXPfujwt9s4DaK4b38R9',\n },\n {\n address: 'demo3',\n privActive: '5J6bzy9TM3kBRibXmFi7ZvThrWGMN3epg7aCXLKazTLsJnmw6Mq',\n },\n {\n address: 'demo4',\n privActive: '5KQQKVHJBpygcBrqKF6TLQSBX5zHbPRgNEAuojb6fK2C94NX3kJ',\n },\n {\n address: 'demo5',\n privActive: '5K7QWGuAAX27yvQRPBMBDA4BbXVpdtmALxoM8CoRdZAsPew5hJd',\n },\n ],\n url: 'http://127.0.0.1:8090',\n net: {\n addressPrefix: 'TST',\n chainId:\n '18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e',\n },\n};\n\nexport const TestnetAlt = {\n accounts: [\n {\n address: 'demo01',\n privPosting: '5KNckabfv4i793ymx4NWrTLDQZMjhgQTJbPSTroeBY4Bh5Eg6Tm',\n privActive: '5HxTntgeoLm4trnTz94YBsY6MpAap1qRVXEKsU5n1v2du1gAgVH',\n },\n {\n address: 'demo02',\n privPosting: '5KHUais1mfUn7A3M6pLZw1WF1v6WetFGCB1YDNctcPizLyCT1vW',\n privActive: '5KgMKfnTQTzrmZP3RxrQs3CEckHTPXxFzJWHV3cJjetmXwLUWZj',\n },\n ],\n url: 'http://127.0.0.1:8090',\n net: {\n addressPrefix: 'TST',\n chainId:\n '18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e',\n },\n};\n\nexport const PublicTestnetHive = {\n url: 'https://testnet.openhive.network',\n net: {\n addressPrefix: 'TST',\n chainId:\n '18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e',\n },\n};\n\nexport const Testnet = TestnetHive;\n\nexport const Mainnet = {\n accounts: [],\n url: 'https://api.hive.blog',\n net: {\n addressPrefix: 'STM',\n chainId:\n 'beeab0de00000000000000000000000000000000000000000000000000000000',\n },\n};\n\nexport default {};\n","import { Client, PrivateKey } from '@hiveio/dhive';\nimport { PublicTestnetHive as NetConfig } from '../../configuration'; //A Hive Testnet. Replace 'Testnet' with 'Mainnet' to connect to the main Hive blockchain.\n\nlet opts = { ...NetConfig.net };\n\n//connect to a hive node, tesetnet in this case\nconst client = new Client(NetConfig.url, opts);\n\nwindow.submitAcc = async () => {\n const accSearch = document.getElementById('username').value;\n\n const _account = await client.database.call('get_accounts', [[accSearch]]);\n console.log(`_account:`, _account);\n\n const availHIVE = _account[0].balance\n const availHBD = _account[0].hbd_balance \n\n const balance = `Available balance: ${availHIVE} and ${availHBD} <br/>`;\n document.getElementById('accBalance').innerHTML = balance;\n\n //create random number for requestid paramter\n var x = Math.floor(Math.random() * 10000000);\n document.getElementById(\"requestID\").value = x\n}\n\n//submit convert function executes when you click \"Convert\" button\nwindow.submitConvert = async () => {\n //get all values from the UI\n //get account name\n const username = document.getElementById('username').value;\n //get private active key\n const privateKey = PrivateKey.fromString(\n document.getElementById('privateKey').value\n );\n //get convert amount\n const quantity = document.getElementById('quantity').value;\n //create correct format\n const convert = quantity.concat(' TESTS'); // HIVE = mainnet symbol; TESTS = testnet symbol\n //assign integer value of ID\n const requestid = parseInt(document.getElementById('requestID').value);\n\n //create convert operation\n const op = [\n 'collateralized_convert',\n { owner: username, amount: convert, requestid: requestid },\n ];\n \n //broadcast the conversion\n client.broadcast.sendOperations([op], privateKey).then(\n function(result) {\n console.log(\n 'included in block: ' + result.block_num,\n 'expired: ' + result.expired\n );\n document.getElementById('convertResultContainer').style.display =\n 'flex';\n document.getElementById('convertResult').className =\n 'form-control-plaintext alert alert-success';\n document.getElementById('convertResult').innerHTML = 'Success';\n },\n function(error) {\n console.error(error);\n document.getElementById('convertResultContainer').style.display =\n 'flex';\n document.getElementById('convertResult').className =\n 'form-control-plaintext alert alert-danger';\n document.getElementById('convertResult').innerHTML =\n error.jse_shortmsg;\n }\n );\n};\n\nwindow.onload = async () => {\n const account = NetConfig.accounts[0];\n document.getElementById('username').value = account.address;\n document.getElementById('privateKey').value = account.privActive;\n};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/tutorials/javascript/37_convert_hive_to_hbd/public/index.html b/tutorials/javascript/37_convert_hive_to_hbd/public/index.html new file mode 100755 index 0000000000000000000000000000000000000000..a884cf2a17c5528d0c0dbc1828bb749ba14fd5b2 --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/public/index.html @@ -0,0 +1,93 @@ +<html> + <head> + <title>Convert HIVE to HBD</title> + <script src="bundle.js"></script> + </head> + <body> + <div class="container" id="content"> + <h4>Convert HIVE to HBD</h4> + <form> + <div class="form-group row"> + <label for="username" class="col-sm-2 col-form-label"> + Username + </label> + <div class="col-sm-10"> + <input + id="username" + type="text" + class="form-control" + /> + <br><input + id="submitSearch" + type="button" + value="Search" + onclick="submitAcc()" + class="btn btn-primary" + /><br> + <div class="col-form-label" id="accBalance"></div> + </div> + </div> + + <div class="form-group row"> + <label for="privateKey" class="col-sm-2 col-form-label"> + Private active key + </label> + <div class="col-sm-10"> + <input + type="password" + class="form-control" + id="privateKey" + /> + </div> + </div> + <div class="form-group row"> + <label for="quantity" class="col-sm-2 col-form-label"> + Convert amount (3 decimals) + </label> + <div class="col-sm-10"> + <input + type="text" + class="form-control" + id="quantity" + /> + </div> + </div> + <div class="form-group row"> + <label for="requestID" class="col-sm-2 col-form-label"> + Request ID + </label> + <div class="col-sm-10"> + <input + type="text" + class="form-control" + id="requestID" + /> + </div> + </div> + <div class="form-group row"> + <div class="offset-sm-2 col-sm-10"> + <input + id="transferBtn" + type="button" + value="Convert" + onclick="submitConvert()" + class="btn btn-primary" + /> + </div> + </div> + <div + class="form-group row" + id="convertResultContainer" + style="display: none;" + > + <label for="convertResult" class="col-sm-2 col-form-label"> + Transfer result + </label> + <div class="col-sm-10"> + <div id="convertResult" class="form-control-plaintext" /> + </div> + </div> + </form> + </div> + </body> +</html> diff --git a/tutorials/javascript/37_convert_hive_to_hbd/public/style.scss b/tutorials/javascript/37_convert_hive_to_hbd/public/style.scss new file mode 100755 index 0000000000000000000000000000000000000000..22aede5966dbc0906677ee2eaea013901e8ab34b --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/public/style.scss @@ -0,0 +1 @@ +import 'bootstrap/dist/css/bootstrap.min.css' \ No newline at end of file diff --git a/tutorials/javascript/37_convert_hive_to_hbd/webpack.config.js b/tutorials/javascript/37_convert_hive_to_hbd/webpack.config.js new file mode 100755 index 0000000000000000000000000000000000000000..b71dbe6895cddb61830200ad866d5f51b60ff3e2 --- /dev/null +++ b/tutorials/javascript/37_convert_hive_to_hbd/webpack.config.js @@ -0,0 +1,20 @@ +var path = require('path'); +module.exports = { + entry: ['./public/app.js', './public/style.scss'], + output: { + path: path.resolve(__dirname, 'public'), + filename: 'bundle.js', + }, + devtool: 'source-map', + module: { + rules: [ + { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }, + ], + }, + performance: { + hints: process.env.NODE_ENV === 'production' ? 'warning' : false, + }, +}; \ No newline at end of file diff --git a/tutorials/javascript/configuration.js b/tutorials/javascript/configuration.js index e0e6dbf7b5661d00667fa5825591fc62d7ea18be..9843b46d859dca94df32fa9279f7d932c20e6cef 100644 --- a/tutorials/javascript/configuration.js +++ b/tutorials/javascript/configuration.js @@ -67,6 +67,15 @@ export const TestnetAlt = { }, }; +export const PublicTestnetHive = { + url: 'https://testnet.openhive.network', + net: { + addressPrefix: 'TST', + chainId: + '18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e', + }, +}; + export const Testnet = TestnetHive; export const Mainnet = { diff --git a/tutorials/python/10_submit_post/index.py b/tutorials/python/10_submit_post/index.py index a7e8292c17d8a6b92971c7e5a2cfa3c8ceb78ada..5b6203dd84548c7a7499f5a8e52c102b5ea51099 100755 --- a/tutorials/python/10_submit_post/index.py +++ b/tutorials/python/10_submit_post/index.py @@ -22,7 +22,8 @@ for i in range(1, taglimit+1): #random generator to create post permlink permlink = ''.join(random.choices(string.digits, k=10)) -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet tx = TransactionBuilder(blockchain_instance=client) tx.appendOps(Comment(**{ "parent_author": '', @@ -40,4 +41,3 @@ signed_tx = tx.sign() broadcast_tx = tx.broadcast(trx_id=True) print("Post created successfully: " + str(broadcast_tx)) - diff --git a/tutorials/python/11_submit_comment_reply/index.py b/tutorials/python/11_submit_comment_reply/index.py index e27c1319b71bd546b812258b3fa298eb1ca05f66..0a001afd86d03587693bceec2e5000090bfc1902 100755 --- a/tutorials/python/11_submit_comment_reply/index.py +++ b/tutorials/python/11_submit_comment_reply/index.py @@ -15,7 +15,8 @@ body = input('Post Body: ') #random generator to create post permlink permlink = ''.join(random.choices(string.digits, k=10)) -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet tx = TransactionBuilder(blockchain_instance=client) tx.appendOps(Comment(**{ "parent_author": parent_author, @@ -32,4 +33,3 @@ signed_tx = tx.sign() broadcast_tx = tx.broadcast(trx_id=True) print("Comment created successfully: " + str(broadcast_tx)) - diff --git a/tutorials/python/12_edit_content_patching/index.py b/tutorials/python/12_edit_content_patching/index.py index 8052054449b9ddc3f8bcfd42d070eb7c79a78d3d..214133d0e4231ab766d4253bc27ccf15ceebb12f 100755 --- a/tutorials/python/12_edit_content_patching/index.py +++ b/tutorials/python/12_edit_content_patching/index.py @@ -11,7 +11,8 @@ from diff_match_patch import diff_match_patch post_author = input('Please enter the AUTHOR of the post you want to edit: ') #connect node -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet #check valid post_author try: @@ -24,7 +25,7 @@ post_permlink = input('Please enter the PERMLINK of the post you want to edit: ' #get details of selected post try: - details = beem.comment.Comment(post_author + '/' + post_permlink) + details = beem.comment.Comment(post_author + '/' + post_permlink, blockchain_instance=client) except: print('Oops. Looks like ' + post_author + '/' + post_permlink + ' doesn\'t exist on this chain!') exit() @@ -79,4 +80,3 @@ signed_tx = tx.sign() broadcast_tx = tx.broadcast(trx_id=True) print('\n' + 'Content of the post has been successfully updated: ' + str(broadcast_tx)) - diff --git a/tutorials/python/14_reblogging_post/index.py b/tutorials/python/14_reblogging_post/index.py index b1ed53e6771fabab5ce023e1df33cdbbe5e285eb..efc7c70c0e2642071d1f6876f07250e787eeec49 100755 --- a/tutorials/python/14_reblogging_post/index.py +++ b/tutorials/python/14_reblogging_post/index.py @@ -9,9 +9,10 @@ from beem.comment import Comment from beem.transactionbuilder import TransactionBuilder from beembase.operations import Custom_json -hive = Hive(['http://127.0.0.1:8090']) +# hive = Hive(['https://testnet.openhive.network']) # Public Testnet +hive = Hive(['http://127.0.0.1:8090']) # Local Testnet q = Query(limit=5, tag="") -d = Discussions() +d = Discussions(blockchain_instance=hive) #author list from hot post list posts = d.get_discussions('hot', q, limit=5) @@ -48,4 +49,3 @@ signed_tx = tx.sign() broadcast_tx = tx.broadcast(trx_id=True) print("Reblogged successfully: " + str(broadcast_tx)) - diff --git a/tutorials/python/17_vote_on_content/index.py b/tutorials/python/17_vote_on_content/index.py index 31bf311a37eb9881177fb45186053bbbcd7875f7..7ddf919f7fc4a121c4aff6888e313f91ef79066d 100755 --- a/tutorials/python/17_vote_on_content/index.py +++ b/tutorials/python/17_vote_on_content/index.py @@ -11,7 +11,8 @@ voter = input('Please enter your username (voter): ') # connect node # If using mainnet, try with demo account: cdemo, posting key: 5JEZ1EiUjFKfsKP32b15Y7jybjvHQPhnvCYZ9BW62H1LDUnMvHz -client = Hive('http://127.0.0.1:8090') +# client = Hive('https://testnet.openhive.network') # Public Testnet +client = Hive('http://127.0.0.1:8090') # Local Testnet # capture variables author = input('Author of post/comment that you wish to vote for: ') @@ -21,8 +22,8 @@ permlink = input('Permlink of the post/comment you wish to vote for: ') # noinspection PyInterpreter print('checking vote status - getting current post votes') identifier = ('@' + author + '/' + permlink) -author_account = Account(author) -result = ActiveVotes(identifier) +author_account = Account(author, blockchain_instance=client) +result = ActiveVotes(identifier, blockchain_instance=client) print(len(result), ' votes retrieved') if result: @@ -61,4 +62,3 @@ if option == 'Add/Change vote': else: print('Voting has been cancelled') - diff --git a/tutorials/python/18_follow_a_user/index.py b/tutorials/python/18_follow_a_user/index.py index f082e2feac8f42b14a676f8ffcd04c9c6ee5e50f..ebe887a4ff149aaaa45f6e2789c7b2554a0f5974 100755 --- a/tutorials/python/18_follow_a_user/index.py +++ b/tutorials/python/18_follow_a_user/index.py @@ -17,7 +17,8 @@ if author == account: exit() # connect node and private posting key, demo account being used: cdemo, posting key: 5JEZ1EiUjFKfsKP32b15Y7jybjvHQPhnvCYZ9BW62H1LDUnMvHz -hive = beem.Hive('http://127.0.0.1:8090') +# hive = beem.Hive('https://testnet.openhive.network') # Public Testnet +hive = beem.Hive('http://127.0.0.1:8090') # Local Testnet author = Account(author, blockchain_instance=hive) account = Account(account, blockchain_instance=hive) @@ -76,4 +77,3 @@ signed_tx = tx.sign() broadcast_tx = tx.broadcast(trx_id=True) print(option + ' ' + author.name + ": " + str(broadcast_tx)) - diff --git a/tutorials/python/21_transfer_hive_and_hbd/index.py b/tutorials/python/21_transfer_hive_and_hbd/index.py index acc3c592312116d32605f7e04d57cdb10ac9c137..2eb088b3c5c7ea102f8b2f5004eda2bbf11a4859 100755 --- a/tutorials/python/21_transfer_hive_and_hbd/index.py +++ b/tutorials/python/21_transfer_hive_and_hbd/index.py @@ -7,8 +7,11 @@ from beem.account import Account account = input('Enter username: ') wif_active_key = getpass.getpass('Active Key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # get account balance for HIVE and HBD account = Account(account, blockchain_instance=client) @@ -60,4 +63,3 @@ total_base = account['balance'] total_debt = account['hbd_balance'] print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_base) + '\n' + str(total_debt) + '\n') - diff --git a/tutorials/python/22_witness_listing_and_voting/index.py b/tutorials/python/22_witness_listing_and_voting/index.py index 445c5ba8314f573930be34bf9f430967063bbaec..b2422710e9e81481e2f9d2ba76f64cd033895caa 100755 --- a/tutorials/python/22_witness_listing_and_voting/index.py +++ b/tutorials/python/22_witness_listing_and_voting/index.py @@ -9,8 +9,11 @@ from beem.witness import Witness, WitnessesVotedByAccount account = input('Enter username: ') wif_active_key = getpass.getpass('Active Key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # check valid user account = Account(account, blockchain_instance=client) @@ -50,4 +53,3 @@ else : exit() account.disapprovewitness(witness_unvote) print('\n' + witness_unvote + ' has been removed from your voted for list') - diff --git a/tutorials/python/23_claim_rewards/index.py b/tutorials/python/23_claim_rewards/index.py index 9ee857f1aaffbcdebc846e4ba476a644488ee15c..454f3daa6c66da3e1cbdc2f8ba57cf22507ec09e 100755 --- a/tutorials/python/23_claim_rewards/index.py +++ b/tutorials/python/23_claim_rewards/index.py @@ -8,8 +8,11 @@ from beem.account import Account account = input('Enter username: ') wif_posting_key = getpass.getpass('Enter private POSTING key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node -client = Hive('http://127.0.0.1:8090', keys=[wif_posting_key]) +client = Hive(node_url, keys=[wif_posting_key]) # get account reward balances account = Account(account, blockchain_instance=client) @@ -73,4 +76,3 @@ print('\t' + str(reward_hive) + '\n' + '\t' + str(reward_hbd) + '\n' + '\t' + str(reward_vests) ) - diff --git a/tutorials/python/24_power_up_hive/index.py b/tutorials/python/24_power_up_hive/index.py index 7b35c3d568602956a1d4a8bc9adf8517dceb7df6..6c8a401676c1d02af167a1edd832d5110aeb3bbe 100755 --- a/tutorials/python/24_power_up_hive/index.py +++ b/tutorials/python/24_power_up_hive/index.py @@ -8,8 +8,11 @@ from beem.account import Account account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # check valid user and get account balance account = Account(account, blockchain_instance=client) @@ -53,4 +56,3 @@ print('\n' + str(amount) + ' ' + symbol + ' has been powered up successfully to account.refresh() balance = account['balance'] print('New balance: ' + str(balance)) - diff --git a/tutorials/python/25_power_down/index.py b/tutorials/python/25_power_down/index.py index ca1520eb1051aa687c2056c52b82c9dcfe28e99e..d5bdd4deba93bf9ee613a2120450518fc555a260 100755 --- a/tutorials/python/25_power_down/index.py +++ b/tutorials/python/25_power_down/index.py @@ -9,8 +9,11 @@ from beem.amount import Amount account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # get account balance for vesting shares account = Account(account, blockchain_instance=client) @@ -69,4 +72,3 @@ if (amount_vests == to_withdraw_vests): exit() print('Insufficient funds available') - diff --git a/tutorials/python/27_delegate_power/index.py b/tutorials/python/27_delegate_power/index.py index fc8e98cbf826ac45bf356379fe7c09a46800fb47..8b6a64cdf7d33e5297e8d76f04efffbc948232b5 100755 --- a/tutorials/python/27_delegate_power/index.py +++ b/tutorials/python/27_delegate_power/index.py @@ -8,8 +8,11 @@ from beem.amount import Amount account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # check valid user account = Account(account, blockchain_instance=client) @@ -73,4 +76,3 @@ else: account.delegate_vesting_shares(delegatee.name, amount_vests) print('Success.') - diff --git a/tutorials/python/30_grant_posting_permission/index.py b/tutorials/python/30_grant_posting_permission/index.py index 3feab65f641796d8df6cbf247775830562216875..df279aeb3d4fd89ae17425a7f222372ac124629c 100755 --- a/tutorials/python/30_grant_posting_permission/index.py +++ b/tutorials/python/30_grant_posting_permission/index.py @@ -7,8 +7,11 @@ from beem.account import Account account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') -# connect to production server with active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +# connect with active key +client = Hive(node_url, keys=[wif_active_key]) # check valid user account = Account(account, blockchain_instance=client) @@ -48,4 +51,3 @@ if (option == 'ALLOW'): else: account.disallow(foreign=foreign.name, permission='posting', threshold=1) print('posting permission for ' + foreign.name + ' has been removed') - diff --git a/tutorials/python/31_grant_active_permission/index.py b/tutorials/python/31_grant_active_permission/index.py index 66201e2aa6473d541709f6e205ae6796bf97d654..466b86cfbbae41de6780988c567c85ebae67a688 100755 --- a/tutorials/python/31_grant_active_permission/index.py +++ b/tutorials/python/31_grant_active_permission/index.py @@ -7,8 +7,11 @@ from beem.account import Account account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') -# connect to production server with active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +# connect with active key +client = Hive(node_url, keys=[wif_active_key]) # check valid user account = Account(account, blockchain_instance=client) @@ -48,4 +51,3 @@ if (option == 'ALLOW'): else: account.disallow(foreign=foreign.name, permission='active', threshold=1) print('active permission for ' + foreign.name + ' has been removed') - diff --git a/tutorials/python/32_convert_hbd_to_hive/index.py b/tutorials/python/32_convert_hbd_to_hive/index.py index 084875af659886f214f434807bfd280c6716c16f..b4b943e7196fb0e1b81ba0084ceef5d90399c5a5 100755 --- a/tutorials/python/32_convert_hbd_to_hive/index.py +++ b/tutorials/python/32_convert_hbd_to_hive/index.py @@ -7,8 +7,11 @@ from beem.account import Account account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # get account balance for HIVE and HBD account = Account(account, blockchain_instance=client) @@ -35,4 +38,3 @@ total_hive = account['balance'] total_hbd = account['hbd_balance'] print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_hive) + '\n' + str(total_hbd)) - diff --git a/tutorials/python/33_transfer_hive_and_hbd_to_savings_balance/index.py b/tutorials/python/33_transfer_hive_and_hbd_to_savings_balance/index.py index 17d6bdf7bbad3b244172a90a86ccab6fb7527baa..8c0ce18a71dc0a60e2103bacd302d1760a91d514 100755 --- a/tutorials/python/33_transfer_hive_and_hbd_to_savings_balance/index.py +++ b/tutorials/python/33_transfer_hive_and_hbd_to_savings_balance/index.py @@ -8,8 +8,11 @@ import random account = input('Enter username: ') wif_active_key = getpass.getpass('Enter private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # connect node and private active key -client = Hive('http://127.0.0.1:8090', keys=[wif_active_key]) +client = Hive(node_url, keys=[wif_active_key]) # check for valid account and get account balance for HIVE and HBD account = Account(account, blockchain_instance=client) @@ -68,4 +71,3 @@ savings_debt = account['savings_hbd_balance'] print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_base) + '\n' + str(total_debt) + '\n') print('CURRENT SAVINGS BALANCE:' + '\n' + str(savings_base) + '\n' + str(savings_debt) + '\n') - diff --git a/tutorials/python/34_password_key_change/index.py b/tutorials/python/34_password_key_change/index.py index 784eb6384694bda4524c8f505a992db388ab952a..b265ae05e69962f9c597e2c8af77c91a5d28cf31 100755 --- a/tutorials/python/34_password_key_change/index.py +++ b/tutorials/python/34_password_key_change/index.py @@ -18,7 +18,10 @@ wif_old_owner_key = str( PasswordKey(account, old_password, "owner").get_private_key() ) -client = Hive('http://127.0.0.1:8090', keys=[wif_old_owner_key]) +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +client = Hive(node_url, keys=[wif_old_owner_key]) account = Account(account, blockchain_instance=client) new_public_keys = {} @@ -65,4 +68,3 @@ signed_tx = tx.sign() broadcast_tx = tx.broadcast(trx_id=True) print("Account updated successfully: " + str(broadcast_tx)) - diff --git a/tutorials/python/35_account_recovery/index.py b/tutorials/python/35_account_recovery/index.py index 97f9224eb845e95e4d1c143341c8f6f77ac1ddec..38a18fd3003e0a5b9b1c71a829cdb4b30de3f143 100755 --- a/tutorials/python/35_account_recovery/index.py +++ b/tutorials/python/35_account_recovery/index.py @@ -13,8 +13,10 @@ new_password = getpass.getpass('new password for account: ') recovery_account = input('account owner (recovery account name): ') recovery_account_private_key = getpass.getpass('account owner private ACTIVE key: ') +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet -client = Hive('http://127.0.0.1:8090', keys=[recovery_account_private_key]) +client = Hive(node_url, keys=[recovery_account_private_key]) account = Account(account, blockchain_instance=client) recovery_account = Account(recovery_account, blockchain_instance=client) @@ -95,8 +97,11 @@ op_account_update_data = { "json_metadata": "" } +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # recover account initialisation and transmission -client = Hive('http://127.0.0.1:8090', keys=[recovery_account_private_key]) +client = Hive(node_url, keys=[recovery_account_private_key]) op_recover_account = beembase.operations.Recover_account(**op_recover_account_data) @@ -113,8 +118,11 @@ result = tb.broadcast() print('result') print(result) +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + # update account keys initialisation and transmission -client = Hive('http://127.0.0.1:8090', keys=[new_account_owner_private_key]) +client = Hive(node_url, keys=[new_account_owner_private_key]) op_account_update = beembase.operations.Account_update(**op_account_update_data) @@ -130,4 +138,3 @@ result = tb.broadcast() print('result') print(result) - diff --git a/tutorials/python/37_convert_hive_to_hbd/README.md b/tutorials/python/37_convert_hive_to_hbd/README.md new file mode 100755 index 0000000000000000000000000000000000000000..dce5048a9cb877a8c0d0ab8a5913f9b2c56ad7e6 --- /dev/null +++ b/tutorials/python/37_convert_hive_to_hbd/README.md @@ -0,0 +1 @@ +See: https://developers.hive.io/tutorials-python/convert_hive_to_hbd.html diff --git a/tutorials/python/37_convert_hive_to_hbd/index.py b/tutorials/python/37_convert_hive_to_hbd/index.py new file mode 100755 index 0000000000000000000000000000000000000000..62bd3c7a48fdaa2332e20aa054c753d29e25ff06 --- /dev/null +++ b/tutorials/python/37_convert_hive_to_hbd/index.py @@ -0,0 +1,41 @@ +from pick import pick +import getpass +from beem import Hive +from beem.account import Account + +# capture user information +account = input('Enter username: ') +wif_active_key = getpass.getpass('Enter private ACTIVE key: ') + +# node_url = 'https://testnet.openhive.network' # Public Testnet +node_url = 'http://127.0.0.1:8090' # Local Testnet + +# connect node and private active key +client = Hive(node_url, keys=[wif_active_key]) + +# get account balance for HIVE and HBD +account = Account(account, blockchain_instance=client) +total_hbd = account['hbd_balance'] +total_hive = account['balance'] + +print('CURRENT ACCOUNT BALANCE:' + '\n' + str(total_hbd) + '\n' + str(total_hive) + '\n') + +# get recipient name +convert_amount = float(input('Enter the amount of HIVE to convert to HBD: ') or '0') + +if (convert_amount <= 0): + print("Must be greater than zero.") + exit() + +# parameters: amount, request_id +account.collateralized_convert(convert_amount) + +print('\n' + format(convert_amount, '.3f') + ' HIVE has been converted to HBD') + +# get remaining account balance for HBD and HIVE +account.refresh() +total_hbd = account['hbd_balance'] +total_hive = account['balance'] + +print('\n' + 'REMAINING ACCOUNT BALANCE:' + '\n' + str(total_hbd) + '\n' + str(total_hive)) + diff --git a/tutorials/python/37_convert_hive_to_hbd/requirements.txt b/tutorials/python/37_convert_hive_to_hbd/requirements.txt new file mode 100755 index 0000000000000000000000000000000000000000..e514a9c54face2d01b4e2fa4888298e4b4df51a9 --- /dev/null +++ b/tutorials/python/37_convert_hive_to_hbd/requirements.txt @@ -0,0 +1 @@ +beem diff --git a/tutorials/ruby/10_submit_post/submit_a_new_post.rb b/tutorials/ruby/10_submit_post/submit_a_new_post.rb index c824786d40d7b03c729811ea9b227e3bcb0825ca..750ccbd5d689f6aebb4f8e36936c63023ab55280 100755 --- a/tutorials/ruby/10_submit_post/submit_a_new_post.rb +++ b/tutorials/ruby/10_submit_post/submit_a_new_post.rb @@ -4,7 +4,7 @@ require 'bundler/setup' Bundler.require options = { - url = 'https://testnet.openhive.network', + url: 'https://testnet.openhive.network', wif: '5JrvPrQeBBvCRdjv29iDvkwn3EQYZ9jqfAHzrCyUvfbEbRkrYFC' } tx = Radiator::Transaction.new(options) diff --git a/tutorials/ruby/32_convert_hbd_to_hive/Gemfile b/tutorials/ruby/32_convert_hbd_to_hive/Gemfile new file mode 100644 index 0000000000000000000000000000000000000000..c1aab45adefa6235fa9bd529f354d31bc97678d4 --- /dev/null +++ b/tutorials/ruby/32_convert_hbd_to_hive/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'radiator' diff --git a/tutorials/ruby/32_convert_hbd_to_hive/Gemfile.lock b/tutorials/ruby/32_convert_hbd_to_hive/Gemfile.lock new file mode 100644 index 0000000000000000000000000000000000000000..b1c4aeb6f0188dcb2c873c4012c17ef0e959749b --- /dev/null +++ b/tutorials/ruby/32_convert_hbd_to_hive/Gemfile.lock @@ -0,0 +1,63 @@ +GEM + remote: https://rubygems.org/ + specs: + awesome_print (1.9.2) + base58 (0.2.3) + bindata (2.4.10) + bitcoin-ruby (0.0.20) + eventmachine + ffi + scrypt + connection_pool (2.2.5) + eventmachine (1.2.7) + ffi (1.15.3) + ffi-compiler (1.0.1) + ffi (>= 1.0.0) + rake + hashie (4.1.0) + hive-ruby (1.0.3) + base58 (~> 0.2, >= 0.2.3) + bindata (~> 2.4, >= 2.4.4) + bitcoin-ruby (~> 0.0, = 0.0.20) + ffi (~> 1.9, >= 1.9.23) + hashie (>= 3.5) + json (~> 2.1, >= 2.1.0) + logging (~> 2.2, >= 2.2.0) + json (2.5.1) + little-plugger (1.1.4) + logging (2.3.0) + little-plugger (~> 1.1) + multi_json (~> 1.14) + multi_json (1.15.0) + net-http-persistent (4.0.1) + connection_pool (~> 2.2) + radiator (0.4.8) + awesome_print (~> 1.7, >= 1.7.0) + bitcoin-ruby (= 0.0.20) + ffi (~> 1.9, >= 1.9.18) + hashie (>= 3.5) + hive-ruby (~> 1.0, >= 1.0.2) + json (~> 2.0, >= 2.0.2) + logging (~> 2.2, >= 2.2.0) + net-http-persistent (>= 2.5.2) + steem-ruby (~> 0.9, >= 0.9.5) + rake (13.0.3) + scrypt (3.0.7) + ffi-compiler (>= 1.0, < 2.0) + steem-ruby (0.9.6) + base58 (~> 0.2, >= 0.2.3) + bindata (~> 2.4, >= 2.4.4) + bitcoin-ruby (~> 0.0, >= 0.0.18) + ffi (~> 1.9, >= 1.9.23) + hashie (~> 4.1, >= 3.5.7) + json (~> 2.1, >= 2.1.0) + logging (~> 2.2, >= 2.2.0) + +PLATFORMS + ruby + +DEPENDENCIES + radiator + +BUNDLED WITH + 2.1.4 diff --git a/tutorials/ruby/32_convert_hbd_to_hive/convert_hbd_to_hive.rb b/tutorials/ruby/32_convert_hbd_to_hive/convert_hbd_to_hive.rb new file mode 100644 index 0000000000000000000000000000000000000000..dcaa2527370abfb8db573e142745d8fbdecca018 --- /dev/null +++ b/tutorials/ruby/32_convert_hbd_to_hive/convert_hbd_to_hive.rb @@ -0,0 +1,26 @@ +require 'rubygems' +require 'bundler/setup' + +Bundler.require + +options = { + url: 'https://testnet.openhive.network', + wif: '5JrvPrQeBBvCRdjv29iDvkwn3EQYZ9jqfAHzrCyUvfbEbRkrYFC' +} +tx = Radiator::Transaction.new(options) + +tx.operations << { + type: :convert, + owner: 'social', + requestid: 1234, + amount: '10.000 TBD' # <- Testnet: TBD; Mainnet: HBD +} + +response = tx.process(true) + +if !!response.error + puts response.error.message +else + puts JSON.pretty_generate response +end + diff --git a/unused/community.md b/unused/community.md deleted file mode 100644 index 730409b98355cfb787280b1ac851deadaac3b5b6..0000000000000000000000000000000000000000 --- a/unused/community.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Community -position: 4 ---- - -#### Hivedata - -Mongo database for accessing steem data. - -``` -Host: mongo0.hivedata.com -Port: 27017 - -Database: Hive -Username: steemit -Password: steemit -``` - -Official site: [hivedata](http://www.steemsql.com/) - - -#### HiveSQL - -Microsoft SQL database for accessing steem data - -Official site: [steemsql](http://www.steemsql.com/) \ No newline at end of file diff --git a/unused/docker.md b/unused/docker.md index 8346dc8de25469bb0998846cf5cfd79d4b379b13..68d035ac6ffec2f5ed0975f77badc2ef7c4589a1 100644 --- a/unused/docker.md +++ b/unused/docker.md @@ -33,8 +33,8 @@ that uses ca. 14GB of memory and growing: #### Seed Nodes A list of some seed nodes to get you started can be found in -[doc/seednodes.txt](doc/seednodes.txt). +[seednodes.txt](https://gitlab.syncad.com/hive/hive/-/blob/master/doc/seednodes.txt). This same file is baked into the docker images and can be overridden by setting `HIVED_SEED_NODES` in the container environment at `docker run` -time to a whitespace delimited list of seed nodes (with port). \ No newline at end of file +time to a whitespace delimited list of seed nodes (with port).